var is_gecko = /gecko/i.test(navigator.userAgent);
var is_ie    = /MSIE/.test(navigator.userAgent);
var global_add_history = null;

var cal_pickup_date;
var cal_dropoff_date;

function completefocus() {
    document.getElementById('autocomplete').value = '';
    document.getElementById('autocomplete').style.color = 'black';
    Event.stopObserving('autocomplete', 'focus', completefocus);
}

/* Autocompletado */
function autocomplete_completado(input_field, selected_item) {

    if (selected_item) {
        ofi_pickup = getElementTextNSAttrib("", "value", selected_item, 0);
    }

    ofi_pickup_name = input_field.value;
    //Trucos chungos!!! niños no lo hagan en casa
    var data = {
        //selectedIndex : selected_item.value
        selectedIndex : ofi_pickup
    };

    var eventor = {
        target : data
    };

    clearDev();
    preparaDivs('1');
    cargaLista(eventor, 'categorias', null);
    cargaLista(eventor, 'zonas_dev', input_field.value);
    preparaDivs('2','yes');
    ClearSearch();

}

/* Calendarios */
function CargaCalendarios(date_pickup,date_dropoff) {
/*document.getElementById('main').style.width = viewportwidth - 18 + 'px';*/
	//Pickup
	function dateChangedpickup(calendar) {
		if (calendar.dateClicked) {
			ClearSearch();
			var y = calendar.date.getFullYear();
			var m = calendar.date.getMonth();     // integer, 0..11
			var d = calendar.date.getDate();      // integer, 1..31
			m = m+1;
			var fecha = d + "-" + m + "-" + y;
			document.getElementById("cbo_ddesde").value = fecha;
			var newdate = new Date(cal_pickup_date.date.getTime());
			newdate.setDate(newdate.getDate()+7);
			cal_dropoff_date.setDate(newdate);
			var y = cal_dropoff_date.date.getFullYear();
			var m = cal_dropoff_date.date.getMonth();     // integer, 0..11
			var d = cal_dropoff_date.date.getDate();      // integer, 1..31
			m = m+1;
			var fecha = d + "-" + m + "-" + y;
			document.getElementById("cbo_dhasta").value = fecha;
		};
	};
	var MINUTE = 60 * 1000;
	var HOUR = 60 * MINUTE;
	var DAY = 24 * HOUR;
	var WEEK = 7 * DAY;
	
	var fecha;
	if (date_pickup == null) {
		fecha = new Date();	fecha.setDate(fecha.getDate()+3);
	} else {
		fecha = date_pickup;
	}
	
	var cal_pickup_div = document.getElementById("calendar_pickup_date");
	cal_pickup_div.innerHTML = '';
	var cal_pickup_date = new Calendar(true, fecha, dateChangedpickup);
	cal_pickup_date.weekNumbers = false;
	cal_pickup_date.electric = false;
	cal_pickup_date.getDateStatus = function(date) {
		//Se puede reservar para el mismo dia
		var today = new Date();
		return ((date.getTime() - today.getTime()) / DAY) < (-1);
	}
	
	cal_pickup_date.ifFormat = "%d-%m-%Y";
	cal_pickup_date.create(cal_pickup_div);
	cal_pickup_date.show();
	
	//Dropoff
	function dateChangeddropoff(calendar) {
		if (calendar.dateClicked) {
		ClearSearch();
			var y = calendar.date.getFullYear();
			var m = calendar.date.getMonth();     // integer, 0..11
			var d = calendar.date.getDate();      // integer, 1..31
			m = m+1;
			var fecha = d + "-" + m + "-" + y;
			document.getElementById("cbo_dhasta").value = fecha;
		};
	};
	
	var MINUTE = 60 * 1000;
	var HOUR = 60 * MINUTE;
	var DAY = 24 * HOUR;
	var WEEK = 7 * DAY;

	var fecha;
	if (date_dropoff == null) {
		fecha = new Date();	fecha.setDate(fecha.getDate()+10);
	} else {
		fecha = date_dropoff;
	}

	var cal_dropoff_div = document.getElementById("calendar_dropoff_date");
	cal_dropoff_div.innerHTML = '';
	var cal_dropoff_date = new Calendar(true, fecha, dateChangeddropoff);
	cal_dropoff_date.weekNumbers = false;
	cal_dropoff_date.electric = false;
	cal_dropoff_date.getDateStatus = function(date) {
		//Se puede reservar del mismo dia para el mismo dia
		return ((date.getTime() - cal_pickup_date.date.getTime()) / DAY) < (0);
	}
	cal_dropoff_date.ifFormat = "%d-%m-%Y";
	cal_dropoff_date.create(cal_dropoff_div);
	cal_dropoff_date.show();
}
/* Fin Calendarios */


/** Our callback to receive history change events. */
function historyChange(newLocation, historyData) {
//alert(newLocation.substring(0,4));
	if (newLocation.substring(0,4) == "sea_" && historyData != null) {
		
		document.getElementById('offers').style.display = 'none';
		preparaDivs('1');

		//document.getElementById('div_car_pickup_zones').innerHTML = historyData.div_car_pickup_zones;
		//document.getElementById('cbo_zonas_recogida').selectedIndex = historyData.div_car_pickup_zones_index;

		//document.getElementById('div_car_pickup_ofis').innerHTML = historyData.div_car_pickup_ofis;
		//document.getElementById('cbo_ofis_recogida').selectedIndex = historyData.div_car_pickup_ofis_index;
        ofi_pickup = historyData.ofi_pickup;
        ofi_pickup_name = historyData.ofi_pickup_name;
		document.getElementById('autocomplete').value = ofi_pickup_name;
		document.getElementById('cbo_ddesde').value = historyData.cbo_ddesde;
		document.getElementById('div_car_pickup_time').innerHTML = historyData.div_car_pickup_time;
		document.getElementById('cbo_hdesde').selectedIndex = historyData.div_car_pickup_time_index;

		document.getElementById('div_car_dropoff_zones').innerHTML = historyData.div_car_dropoff_zones;
		document.getElementById('cbo_zonas_dev').selectedIndex = historyData.div_car_dropoff_zones_index;
		document.getElementById('div_car_dropoff_ofis').innerHTML = historyData.div_car_dropoff_ofis;
		document.getElementById('cbo_ofis_dev').selectedIndex = historyData.div_car_dropoff_ofis_index;
		document.getElementById('cbo_dhasta').value = historyData.cbo_dhasta;
		document.getElementById('div_car_dropoff_time').innerHTML = historyData.div_car_dropoff_time;
		document.getElementById('cbo_hhasta').selectedIndex = historyData.div_car_dropoff_time_index;

		var arrayddesde = historyData.cbo_ddesde.split('-');
		var date_pickup = new Date(arrayddesde[2],arrayddesde[1]-1,arrayddesde[0]);
		var arraydhasta = historyData.cbo_dhasta.split('-');
		var date_dropoff = new Date(arraydhasta[2],arraydhasta[1]-1,arraydhasta[0]);
		CargaCalendarios(date_pickup,date_dropoff);
		preparaDivs('2');
		var eventor = {
			target : document.getElementById('cbo_ofis_recogida')
		};

		var id_cat = 'div_car_category_item_' + historyData.cat;
		cargaLista(eventor, 'categorias', null, id_cat);
		//document.getElementById(id_cat).onclick();

	}

}

function trim(cadena)
{
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==" ")
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return cadena;
}

function setSelectionRange(input, start, end) {
	if (is_gecko) {
		input.setSelectionRange(start, end);
	} else {
		// assumed IE
		var range = input.createTextRange();
		range.collapse(true);
		range.moveStart("character", start);
		range.moveEnd("character", end - start);
		range.select();
	}
};

var strSearchPrincipal;
var MostrandoDatos = false;
var ElemMouseover = '';
var busc_spain = false;
var busquedaActual = null;
var global_categoria;

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function cargaIdiomas() {
	//document.getElementById('tag_find').innerHTML = lng_find;
	document.getElementById('tag_titulo_recogida').innerHTML = lng_titulo_recogida;
	document.getElementById('tag_zona_recogida').innerHTML = lng_zona_recogida;
	//document.getElementById('tag_destino_recogida').innerHTML = lng_destino_recogida;
	document.getElementById('tag_desdehora').innerHTML = lng_desdehora;
	document.getElementById('tag_desdefecha').innerHTML = lng_desdefecha;
	document.getElementById('tag_titulo_dev').innerHTML = lng_titulo_dev;
	document.getElementById('tag_zona_dev').innerHTML = lng_zona_dev;
	document.getElementById('tag_destino_dev').innerHTML = lng_destino_dev;
	document.getElementById('tag_hastahora').innerHTML = lng_hastahora;
	document.getElementById('tag_hastafecha').innerHTML = lng_hastafecha;
	var fecha = new Date();
	fecha.setDate(fecha.getDate()+3);
	document.getElementById('cbo_ddesde').value = fecha.print("%d-%m-%Y");
	fecha.setDate(fecha.getDate()+7);
	document.getElementById('cbo_dhasta').value = fecha.print("%d-%m-%Y");
	//document.getElementById('cbo_zonas_recogida').style.background = '#a0ffa0';
	
	/*
	var apuntador = document.getElementById('apuntador');
	apuntador.innerHTML = lng_step1;
	Position.prepare();
	var new_x = Position.page(document.getElementById('cbo_zonas_recogida'))[0];
	var new_y = Position.page(document.getElementById('cbo_zonas_recogida'))[1];
	apuntador.style.top = new_y+20+Position.deltaY+'px';
	apuntador.style.left = new_x+Position.deltaX+'px';
	document.getElementById('front_right2').style.display = 'none';
	new Effect.Appear('apuntador',{duration:0.5}, { queue: 'front'});
	*/
	
}

function preparaDivs(paso,show_info) {
	//document.getElementById('main').style.width = "900px";
	switch (paso) {
	    case '0' :
	    /*
	        document.getElementById('autocomplete').style.borderLeft='2px solid yellow';
	        document.getElementById('autocomplete').style.borderTop='2px solid yellow';
	        document.getElementById('autocomplete').style.borderRight='2px solid yellow';
	        document.getElementById('autocomplete').style.borderBottom='2px solid yellow';
	        document.getElementById('autocomplete').style.backgroundColor='#fffffb';
	        */
	        if (document.getElementById('dispo')) {
	            document.getElementById('infocar').style.display = '';
	            }
	        else {
	            if (document.getElementById('infocar')) {
	            document.getElementById('infocar').style.display = 'none';
	            }
	        }
		case '1' :
		    if (document.getElementById('dispo')) {
	            document.getElementById('infocar').style.display = '';
	            }
	        else {
	            if (document.getElementById('infocar')) {
	            document.getElementById('infocar').style.display = 'none';
	            }
	        }
		    document.getElementById('div_car_dropoff_ofis').style.display = 'none';
			break;
		case '1sub' :
		    if (document.getElementById('dispo')) {
	            document.getElementById('infocar').style.display = '';
	            }
	        else {
	            if (document.getElementById('infocar')) {
	            document.getElementById('infocar').style.display = 'none';
	            }
	        }
			break;
		case '2' :
                 
				//Añadido para esconder el AboutUs cuando comienza la búsqueda
				if (document.getElementById('tablaAbout')) {
					document.getElementById('tblTexto').style.display = 'none';
					//document.getElementById('Publi').style.display = 'none';
					document.getElementById('tblFotos').style.display = 'none';
					document.getElementById('Calendarios').style.marginTop ='100px';
					window.scroll(0,0);
					}
				if (document.getElementById('login_panel_misreservas') != null) {
					document.getElementById('login_panel_misreservas').style.display = 'none';
				};
				if (document.getElementById('div_car_dropoff').style.display == 'none') {
/*
					document.getElementById('div_car_dropoff_zones').style.paddingTop ='1px';
					document.getElementById('div_car_dropoff_zones').style.paddingBottom ='1px';
					document.getElementById('div_car_dropoff_ofis').style.paddingTop ='1px';
					document.getElementById('div_car_dropoff_ofis').style.paddingBottom ='1px';
					document.getElementById('div_car_dropoff_date').style.paddingTop ='1px';
					document.getElementById('div_car_dropoff_date').style.paddingBottom ='1px';
					document.getElementById('div_car_dropoff_time').style.paddingTop ='1px';
					document.getElementById('div_car_dropoff_time').style.paddingBottom ='1px';
					document.getElementById('div_car_pickup').style.height ='auto';
					document.getElementById('div_car_dropoff').style.height ='auto';
*/
					document.getElementById('front_right').style.display = 'none';

					document.getElementById('front_big').style.display = 'none';
					document.getElementById("front_big").innerHTML="";
					document.getElementById('pos_contents').style.display = 'none';
					document.getElementById('apuntador2').style.display = 'none';
					//new Effect.Appear('div_car_dropoff',{duration:1}, { queue: 'end'});
					document.getElementById('div_car_dropoff').style.display = 'block';
					document.getElementById('div_car_category').style.display = 'block';

					var pastillasder = document.getElementById('front_right2');
					if (document.getElementById('oculta1')) {
					    document.getElementById('oculta1').style.display = 'none';
					    document.getElementById('oculta2').style.display = 'none';

					    //new Effect.Appear('front_right2',{duration:3}, { queue: 'end'});
					    pastillasder.style.display = 'block';
					    document.getElementById('muestra1').style.height = 20 + 'px'
					    document.getElementById('muestra2').style.height = 80 + 'px'
					    document.getElementById('muestra3').style.height = 20 + 'px'
					    document.getElementById('muestra4').style.height = 80 + 'px'
					    document.getElementById('muestra5').style.height = 20 + 'px'
					    document.getElementById('muestra6').style.height = 80 + 'px'
					}

					if (show_info == 'yes') {
					/*
						var apuntador = document.getElementById('apuntador');
						apuntador.innerHTML = lng_step4;
						Position.prepare();
						var new_x = Position.page(document.getElementById('cbo_hdesde'))[0];
						var new_y = Position.page(document.getElementById('cbo_hdesde'))[1];
						apuntador.style.display = 'none';
						apuntador.style.top = new_y+Position.deltaY+60+'px';
						apuntador.style.left = new_x+Position.deltaX+500+'px';
					*/
					}
					if (document.getElementById('loginbox') != null) {
						document.getElementById('loginbox').style.display = 'none';
					};
				};
			break;
	}
};

// reusable generic function, modified to include real asyncronous behaviour by MASH
function loadXMLDoc(url, elemento, modo, txtSelect, id_seleccionado) {

	var req = getXmlHttpRequestObject();
	if (modo == 'search') {
		if (busquedaActual != null) {
			busquedaActual.abort();
		};
		busquedaActual = req;
	}
	
	var result = "";
	req.onreadystatechange = function() {
		
		if (req.readyState == 4) {
			if (req.status == 200) {
				switch(modo) {
					case 'list' :
					    document.getElementById(elemento).style.display = 'block';
						clearList(elemento);
						buildList(elemento, req, txtSelect, id_seleccionado);
						break;
					case 'SimpleData' :
						var result = "";
						var bgColor = "";
						var items = req.responseXML.getElementsByTagName("item");
						result = '<table width="100%">';
						for (var i = 0; i < items.length; i++) {
								if (Mod(i,2) > 0) {
									bgColor = '#fafafa';
								} else {
									bgColor = '#ffffff';
								};
							result = result + '<tr style="background-color:'+bgColor+'"><td valign="top"><strong>' + getElementTextNSAttrib("","label",items[i],0) +': </strong></td><td valign="top">'+ getElementTextNSAttrib("","data",items[i],0)+'</td></tr>';
						};
						result = result + '</table>';
						//return overlib(elemento+' '+ElemMouseover);
						// Si el Elemento tiene onmouseover hacemos el tooltip, si no nada
						if ((ElemMouseover == elemento) && !(MostrandoDatos)) {
							return overlib(result);
						}
						break;
					case 'search' :
						document.getElementById('searching').style.display = 'none';
						//document.getElementById('loginbox').style.display = 'none';
						buidSearchResults(req,txtSelect);
						break;
					case 'searchPricesCat' :
						for (var i = 0; i < items.length; i++) {
							var categoria_siglas = getElementTextNSAttrib("", "t_catego", items[i], 0).toUpperCase();
							var categoria_siglas
							var categoria_precio = getElementTextNSAttrib("", "precio", items[i], 0);
							var div = document.createElement("div");
							var txt_precio = document.createTextNode( categoria_precio );
							var span = document.createElement("span");
							var txt_from = document.createTextNode( lng_from );
//							var txt_euros = document.createTextNode('&euro;');
							span.style.fontWeight = 'normal';
							span.style.fontSize = '10px';
							span.appendChild(txt_from);
							div.appendChild(span);
							div.appendChild(txt_precio);
//							div.appendChild(txt_euros);
							document.getElementById(categoria_siglas).style.display = 'none';
							clearDiv(categoria_siglas);
							document.getElementById(categoria_siglas).appendChild(div);
							new Effect.Appear(categoria_siglas,{duration:0.5}, { queue: 'front'});
							new Effect.Bounce(categoria_siglas, {height:120}, { queue: 'end'});
						};
						break;
					case 'categorias' :
						cargaCategorias(req, txtSelect);
						break;
					case 'horarios' :
						//alert(req);
						cargaHorario(req, txtSelect);
						break;
					case 'pastillas' :
						//alert(req.responseText);
						document.getElementById('front_big').innerHTML = req.responseText;
						//document.getElementById('front_big').innerHTML = '<br/>Error loading<br/>';
						/*
						var items = req.responseXML.getElementsByTagName("item");
						for (var i = 0; i < items.length; i++) {
							document.getElementById('front_big').innerHTML = document.getElementById('front_big').innerHTML + getElementTextNSAttrib("", "data", items[i], 0);
						};
						*/
						break;
					case 'login' :
						var items = req.responseXML.getElementsByTagName("item");
						if (items.length > 0) {
							global_email = getElementTextNSAttrib("","email",items[0],0);
							var fenac = getElementTextNSAttrib("","fenac",items[0],9);
							global_fenac = fenac.replace(/\//g, "-");
							global_fenac = global_fenac.substring(0,10)
							global_bc = getElementTextNSAttrib("","buencliente",items[0],9);
							
							var random = randomString('asdfghjkllqwertyuiozxcvbn',6)
							window.location=window.location.href + "?key=" + random + "&email=" + global_email + "&fenac=" + global_fenac;
							//window.location.reload();
							//window.location.href=window.location.href + "?email=" + global_email + "&fenac=" + global_fenac;
							document.getElementById('apuntador3').innerHTML = '<div style="margin: 20px; color:green">Redirecting</div>';
							
						/*
							var numero_cli = getElementTextNSAttrib("","numero_cli",items[0],0);
							var sexo = getElementTextNSAttrib("","sexo",items[0],0);
							var nombre = getElementTextNSAttrib("","nombre",items[0],0);
							var dni = getElementTextNSAttrib("","nif",items[0],0);
							var fenac = getElementTextNSAttrib("","fenac",items[0],9);
							var email = getElementTextNSAttrib("","email",items[0],0);
							var telefono = getElementTextNSAttrib("","telefono",items[0],0);
							var pais = getElementTextNSAttrib("","naciodomi",items[0],0);
							var telefono2  = getElementTextNSAttrib("","tel2",items[0],0);
							var fax = getElementTextNSAttrib("","fax",items[0],0);
							var direccion = getElementTextNSAttrib("","direccion",items[0],0);
							var poblacion = getElementTextNSAttrib("","poblacion",items[0],0);
							var cp = getElementTextNSAttrib("","cp",items[0],0);
							var feexpe = getElementTextNSAttrib("","feexpe",items[0],9);
							var luexpe = getElementTextNSAttrib("","luexpe",items[0],0);
							var permiso = getElementTextNSAttrib("","permiso",items[0],0);
							document.getElementById('pide_iden_loading').innerHTML = '<br/>'+dni+'<br/>';
						
							document.getElementById('pide_iden_spanok').innerHTML = '';
							document.getElementById('pide_iden_spancancel').innerHTML = '';
							document.getElementById('pide_iden_loading').innerHTML = '';
							var apuntador = document.getElementById('apuntador3');
							apuntador.hide();

							if (global_email != null) {
								document.getElementById('loginbox').style.display = 'block';
							} else {
								if (document.getElementById('loginbox') != null) {
									document.getElementById('loginbox').style.display = 'none';
								};
							}
							
							document.getElementById('login_btn_entrar').innerHTML = "Welcome " + nombre;
							document.getElementById('login_btn_entrar').className = "login_btn_entrar_logged";

							//validaSearch(global_categoria);
						*/
						

						} else {
							document.getElementById('pide_iden_loading').innerHTML = '<br/><span style="color:red">Error loading</span><br/>';
							/*
							var apuntador = document.getElementById('apuntador3');
							apuntador.hide();
							global_fenac = global_fenac.replace(/\//g, "-");
							global_fenac = global_fenac.substring(0,10);
							//validaSearch(global_categoria);
							if (document.getElementById('loginbox') != null) {
								document.getElementById('loginbox').style.display = 'none';
							};
							*/
						};
						break;
					case 'modi' :
						    if (elemento == 'cbo_categoriamodi')
						    {
        						clearList(elemento);
	        					buildList(elemento, req, txtSelect, id_seleccionado);
						    }
						    else if (elemento == 'div_car_category_list')
						    {
						        buidSearchResultss(req,txtSelect);
						    }						    
  						    else if (elemento == 'div_modelo_modi')
						    {
						        DatosPrecioModifica(req);
						    }						    
  						    else if (elemento == 'div_disponibilidad')
						    {
						        DatosDisponibilidad(req);
						    }						    

						    break;

				}

			} else {
				//alert("There was a problem retrieving the XML data:\n" + req.statusText);
			}
		}
	}
	// branch for native XMLHttpRequest object
	if (window.ActiveXObject) {
		req.open("GET", url, true);
		req.send();
	// branch for IE/Windows ActiveX version
	} else {
		req.open("GET", url, true);
		req.send(null);
	}
}


function cargaFechahasta() {
	var ddesde = document.getElementById('cbo_ddesde').value;
	//Convertimos las Fechas
	var ddesde_array=ddesde.split("-");
	fecha = new Date(ddesde_array[2],(ddesde_array[1]-1),ddesde_array[0]);
	fecha.setDate(fecha.getDate()+7);
	document.getElementById('cbo_dhasta').value = fecha.print("%d-%m-%Y");
}

function cargaHorahasta() {
	if (document.getElementById('div_car_dropoff').style.display == 'none') {
		document.getElementById('cbo_hhasta').selectedIndex = document.getElementById('cbo_hdesde').selectedIndex;
	}
}

function descargaCategorias() {
		var items;
		switch(lng) {
			case '1' :
				items = getElementsByClass("div_car_category_td_selected_es");
				break;
			case '2' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '3' :
				items = getElementsByClass("div_car_category_td_selected_de");
				break;
			case '4' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '5' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '6' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			};
		for (var i = 0; i < items.length; i++) {
			switch(lng) {
				case '1' :
					items[i].className = "div_car_category_td_es";
					break;
				case '2' :
					items[i].className = "div_car_category_td_en";
					break;
				case '3' :
					items[i].className = "div_car_category_td_de";
					break;
				case '4' :
					items[i].className = "div_car_category_td_en";
					break;
				case '5' :
					items[i].className = "div_car_category_td_en";
					break;
				case '6' :
					items[i].className = "div_car_category_td_en";
					break;
				};
		};
}

function cargaCategoriasHelper(elem,category) {
	elem.onmouseover = function () 	{
		/*new Effect.Highlight(elem,{duration:0.5});*/
	}
	elem.onclick = function () 
	{
	    if (modifica=='0')
		{
    	    document.getElementById('offers').style.display = 'none';
		    //defaultStatus = defaultStatus + global_add_history + "-";
		    if (global_add_history == true) {
			    global_add_history = null;
		    } else {
			    global_add_history = null;
			    var datos = {
				    cat : category,
				    cbo_ddesde : document.getElementById('cbo_ddesde').value,
				    div_car_pickup_time : document.getElementById('div_car_pickup_time').innerHTML,
				    div_car_pickup_time_index : document.getElementById('cbo_hdesde').selectedIndex,
                    ofi_pickup : ofi_pickup,
                    ofi_pickup_name : ofi_pickup_name,
				    div_car_dropoff_zones : document.getElementById('div_car_dropoff_zones').innerHTML,
				    div_car_dropoff_zones_index : document.getElementById('cbo_zonas_dev').selectedIndex,
				    div_car_dropoff_ofis : document.getElementById('div_car_dropoff_ofis').innerHTML,
				    div_car_dropoff_ofis_index : document.getElementById('cbo_ofis_dev').selectedIndex,
				    cbo_dhasta : document.getElementById('cbo_dhasta').value,
				    div_car_dropoff_time : document.getElementById('div_car_dropoff_time').innerHTML,
				    div_car_dropoff_time_index : document.getElementById('cbo_hhasta').selectedIndex
			    }
    /*
				    div_car_pickup_zones : document.getElementById('div_car_pickup_zones').innerHTML,
				    div_car_pickup_zones_index : document.getElementById('cbo_zonas_recogida').selectedIndex,
				    div_car_pickup_ofis : document.getElementById('div_car_pickup_ofis').innerHTML,
				    div_car_pickup_ofis_index : document.getElementById('cbo_ofis_recogida').selectedIndex,
    */
			    var bookmark = 'sea_' + randomString('asdfghjkllqwertyuiozxcvbn',6);
			    dhtmlHistory.add(bookmark,datos);
		    }
		
		    descargaCategorias();
		    switch(lng) {
			    case '1' :
				    elem.className = "div_car_category_td_selected_es";
				    break;
			    case '2' :
				    elem.className = "div_car_category_td_selected_en";
				    break;
			    case '3' :
				    elem.className = "div_car_category_td_selected_de";
				    break;
			    case '4' :
				    elem.className = "div_car_category_td_selected_en";
				    break;
			    case '5' :
				    elem.className = "div_car_category_td_selected_en";
				    break;
			    case '6' :
				    elem.className = "div_car_category_td_selected_en";
				    break;
			    };

		    /*new Effect.Fade('apuntador',{duration:0.5}, { queue: 'front'});*/
		    ScrollMash(280);
		    global_categoria = category;
		    if ( ( global_email == null ) || ( global_fenac == null ) || (global_bc == null) ) {
			    //alert('eo');
			    PideIdentificacion();
		    } else {
			    validaSearch(category);
		    }
	    //alert ( "all your base are belong to us " + data )
	   	}
	   	else
	   	{
	   	    var catmodi = category + 'M';
	   	    traepreciosmodi(catmodi);
	   	}
	};
};

function cargaCategorias(req,idSelected) {
	var div = document.getElementById('div_car_category_list');
	// Recorre el XML y selecciona los elementos marcados con <item>
	var items = req.responseXML.getElementsByTagName("item");
	// Vaciando!!
	div.innerHTML = '';
	// Añade los elementos del XML a la lista, sacandolo de la plantilla:
	// <item label="texto" data="value"/>
	//http://www.amigoautos.es/Images/Cars/renault%20scenic_sm.gif
	var table_cat = document.createElement("table");
	table_cat.className = "div_car_category_table";
	table_cat.id = "div_car_category_table";
	table_cat.setAttribute('cellPadding','0');
	table_cat.setAttribute('cellSpacing','0');
	table_cat.cellPadding = '0';
	table_cat.cellSpacing = '0';
	var tbody_cat = document.createElement("tbody");
	var tr_cat = document.createElement("tr");
	tr_cat.id = "div_car_category_table_trcars";
	for (var i = 0; i < items.length; i++) {

		var categoria_siglas = getElementTextNSAttrib("", "data", items[i], 0);
		var categoria_label = getElementTextNSAttrib("", "label", items[i], 0);
		
		var td_cat = document.createElement("td");
		
		
		var div_price = document.createElement("div");
		div_price.className = 'div_car_category_price';
		div_price.id = categoria_siglas;
		td_cat.appendChild(div_price);

		var img_car = document.createElement("img");
		switch(categoria_siglas) {
			case 'AAA' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/ford-ka_sm.gif'
				break;
			case 'BBB' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/renault%20megane_sm.gif'
				break;
			case 'CCC' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/citro%C3%ABn%20c5%201.8_sm.gif'
				break;
			case 'DDD' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/ford%20focus%20sw_sm.gif'
				break;
			case 'EEE' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/ford%20mondeo%20aut_sm.gif'
				break;
			case 'FFF' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/vw%20sharan_sm.gif'
				break;
			case 'GGG' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/renault%20megane%20cabrio_sm.gif'
				break;
			case 'HHH' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/ford%20connect_sm.gif'
				break;
			//Esto es para mostrar la flota completa de un destino
			case 'IFT' :
				img_car.src = 'http://www.amigoautos.es/Images/Cars/fleet_sm.gif'
				break;
			}
	
	    var div_cat = document.createElement("div");
	    
		if (i == 0) {
			div_cat.id = "car_first_category";
	    }
		div_cat.id = "div_car_category_item_" + categoria_siglas;
	    
	    div_cat.className = "div_car_category_item";
	    
	    div_cat.style.cursor = 'hand';
	    cargaCategoriasHelper(div_cat,categoria_siglas);
		var txt_cat = document.createTextNode(categoria_label);
		var div_txt_cat = document.createElement("div");
		div_txt_cat.style.height = "15px";
		div_txt_cat.appendChild(txt_cat);
		div_txt_cat.className = "div_car_category_text";

		var div_car = document.createElement("div");
		div_car.appendChild(img_car);
		div_cat.appendChild(div_car);
		div_cat.appendChild(div_txt_cat);

		switch(lng) {
			case '1' :
				div_cat.className = "div_car_category_td_es";
				break;
			case '2' :
				div_cat.className = "div_car_category_td_en";
				break;
			case '3' :
				div_cat.className = "div_car_category_td_de";
				break;
			case '4' :
				div_cat.className = "div_car_category_td_en";
				break;
			case '5' :
				div_cat.className = "div_car_category_td_en";
				break;
			case '6' :
				div_cat.className = "div_car_category_td_en";
				break;
			};

		td_cat.appendChild(div_cat);
		tr_cat.appendChild(td_cat);
		
	}
	div.appendChild(table_cat);
	table_cat.appendChild(tbody_cat);
	tbody_cat.appendChild(tr_cat);
	if (idSelected != null) {
		global_add_history = true;
		document.getElementById(idSelected).onclick();
	}
	//new Effect.Highlight(img_car,{duration:0.5});
	//document.getElementById('offers').style.display = 'none';
}

// Carga el parametro seleccionado en el combo de zonas y
// lo pasa a loadXMLDoc para que carge las listas
function cargaLista(evt, modo, text, id_selected) {
	//Diferentes navegadores...
	evt = (evt) ? evt : ((window.event) ? window.event : null);
	if (evt) {
		//Diferentes navegadores 2, el regreso
		var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		if (elem == null) {
			elem = evt;
		}
		if (elem) {
			try {
				if (elem.selectedIndex != '') {
					//var strSublic = '';
					//alert(sublic);
					if (sublic) {
						strSublic = '&sublic='+sublic;
					}
					switch (modo) {
						case 'ofis_recogida' :
							if ( (elem.options[elem.selectedIndex].style.background.substring(0,7) == 'rgb(224') || (elem.options[elem.selectedIndex].style.background == '#e0e0e0' ) ){
								clearList('cbo_ofis_recogida');
								document.getElementById('cbo_ofis_recogida').disabled=true;
								break;
							};
							var seleccionado = elem.options[elem.selectedIndex].value;
							var strSearch = libURL + '?lang='+lng+'&modo=2&zona='+seleccionado+strSublic;
							var numsel = elem.selectedIndex;
							loadXMLDoc(strSearch, 'cbo_ofis_recogida', 'list', text, id_selected);
							document.getElementById('cbo_ofis_recogida').disabled = false;
							break;
						case 'zonas_dev' :
							//alert(strSearch);
							//Si seleccionamos españa podemos hacer One Way solo hacia zonas diferentes a la original
							/*
							Esto ya no es asi : Trucos Chungos
							var seleccionado = document.getElementById('cbo_zonas_recogida').value;
							*/
							var seleccionado = elem.selectedIndex;
							busc_spain = false;
							/*
							if ((Number(seleccionado) >= 1) && (Number(seleccionado) <= 14)) {
								busc_spain = true;
							} else if ((Number(seleccionado) >= 20) && (Number(seleccionado) <= 23)) {
								busc_spain = true;
							} else if ((Number(seleccionado) >= 25) && (Number(seleccionado) <= 33)) {
								busc_spain = true;
							} else if (Number(seleccionado) == 36) {
								busc_spain = true;
							} else if ((Number(seleccionado) >= 38) && (Number(seleccionado) <= 40)) {
								busc_spain = true;
							} else if ((Number(seleccionado) >= 52) && (Number(seleccionado) <= 54)) {
								busc_spain = true;
							} else {
							    busc_spain = false;
							}
							*/
							var strSearch = libURL + '?lang='+lng+'&modo=18&odesde='+seleccionado+strSublic;
							clearList('cbo_zonas_dev');
							loadXMLDoc(strSearch, 'cbo_zonas_dev', 'list', text);
							document.getElementById('cbo_zonas_dev').disabled = false;
							clearList('cbo_ofis_dev');
							document.getElementById('cbo_ofis_dev').disabled = true;
							break;
						case 'ofis_dev' :
							if (document.getElementById('cbo_zonas_dev').value != '') {
								if ( (elem.options[elem.selectedIndex].style.background.substring(0,7) == 'rgb(224') || (elem.options[elem.selectedIndex].style.background == '#e0e0e0' ) ){
									clearList('cbo_ofis_dev');
									document.getElementById('cbo_ofis_dev').disabled=true;
									break;
								};

							    var seleccionado = elem.options[elem.selectedIndex].value;
							    //var seleccionado = elem.selectedIndex;
							    
								var strSearch = libURL + '?lang='+lng+'&modo=2&zona='+seleccionado+strSublic;
								loadXMLDoc(strSearch, 'cbo_ofis_dev', 'list', text);
								document.getElementById('cbo_ofis_dev').disabled = false;
							}
							break;
						case 'categorias' :
							/*
							Esto ya no es asi : Trucos Chungos
							var seleccionado = elem.options[elem.selectedIndex].value;
							*/
							var seleccionado = elem.selectedIndex;
							
							var strSearch = libURL + '?lang='+lng+'&modo=3&ofi='+seleccionado+strSublic;
							//loadXMLDoc(strSearch, 'cbo_cat', 'list', text);
							//document.getElementById('cbo_cat').disabled = false;
							loadXMLDoc(strSearch, null, 'categorias', id_selected);
							break;
					}
				}
			}
			catch (e) {
				alert ("Error");
				return;
			}
		}
	}
}

function ClearSearch() {
	if (busquedaActual != null) {
		busquedaActual.abort();
		var items;
		switch(lng) {
			case '1' :
				items = getElementsByClass("div_car_category_td_selected_es");
				break;
			case '2' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '3' :
				items = getElementsByClass("div_car_category_td_selected_de");
				break;
			case '4' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '5' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			case '6' :
				items = getElementsByClass("div_car_category_td_selected_en");
				break;
			};
		for (var i = 0; i < items.length; i++) {
			switch(lng) {
				case '1' :
					items[i].className = "div_car_category_td_es";
					break;
				case '2' :
					items[i].className = "div_car_category_td_en";
					break;
				case '3' :
					items[i].className = "div_car_category_td_de";
					break;
				case '4' :
					items[i].className = "div_car_category_td_en";
					break;
				case '5' :
					items[i].className = "div_car_category_td_en";
					break;
				case '6' :
					items[i].className = "div_car_category_td_en";
					break;
			};
		};
		document.getElementById('searching').style.display = 'none';
		document.getElementById('info_results').style.display = 'block';
		document.getElementById('info_results').innerHTML = lng_dosearchagain;
	};
};

function clearDev() {
	clearList('cbo_zonas_dev');
	document.getElementById('cbo_zonas_dev').disabled = true;
	clearList('cbo_ofis_dev');
	document.getElementById('cbo_ofis_dev').disabled = true;
}		  

function cargaOfisdev(event) {

	var zonahasta = document.getElementById('cbo_zonas_dev').value;
	/*
	if (busc_spain == true) {
		if (zonahasta != '') {
			document.getElementById('cbo_ofis_dev').disabled = false;
			document.getElementById('div_car_dropoff_ofis').style.display = 'block';
			cargaLista(event, 'ofis_dev', lng_select);
		} else {
			clonaUnaOfi();
		}
	} else {
	*/
		if (zonahasta != '') {
			document.getElementById('cbo_ofis_dev').disabled = false;
			document.getElementById('div_car_dropoff_ofis').style.display = 'block';
			cargaLista(event, 'ofis_dev', lng_select);
		} else {
			clearList('cbo_ofis_dev');
			//clonaOfis();
			document.getElementById('cbo_ofis_dev').disabled = false;
			document.getElementById('div_car_dropoff_ofis').style.display = 'none';
		}
    /*
	}
	*/
}

/*
IMPORTANTE:
	El tema va asi:
	Para Las zonas de españa (cargaLista -> zonas_dev, busc_spain==true), solo se puede hacer la
	devolucion en una zona diferente a la de recogida, o en la misma oficina de recogida. Por lo
	que al cargar los 2 combos de devolucion se clona en ofi_devolucion el valor que haya en ofi_recogida
	(clonaUnaOfi), y aparte se añaden el resto de zonas a las que se puede hacer one way, con sus
	respectivas oficinas. Para las zonas del extranjero (cargaLista -> zonas_dev, busc_spain==false),
	al cargar los 2 combos de devolucion se clona en ofi_devolucion el contenido completo del select
	ofi_recogida (clonaOfis), y aparte se añaden el resto de zonas a las que se puede hacer one way,
	con sus respectivas oficinas.
*/

function clonaOfis() {
	p_prime = document.getElementById('cbo_ofis_recogida').cloneNode(true);
	ofis_nodes = document.getElementById('cbo_ofis_recogida').childNodes;
	for (var i = 0; i < ofis_nodes.length; i++) {
		nodo = ofis_nodes[i].cloneNode(true);
		document.getElementById('cbo_ofis_dev').appendChild(nodo);
	}
	indice = document.getElementById('cbo_ofis_recogida').selectedIndex;
	document.getElementById('cbo_ofis_dev').selectedIndex = indice;
}

function clonaUnaOfi() {
			clearList('cbo_ofis_dev');
			document.getElementById('cbo_ofis_dev').disabled = false;
			var selectOrig = document.getElementById('autocomplete');
			var select = document.getElementById('cbo_ofis_dev');
			//appendToSelect( select, document.createTextNode( getElementTextNSAttrib("", "data", items[i], 0) ), document.createTextNode( getElementTextNSAttrib("", "label", items[i], 0) ) );
			//appendToSelect( select, document.createTextNode(selectOrig.value), document.createTextNode(selectOrig.options[selectOrig.selectedIndex].text));
			appendToSelect( select, document.createTextNode(selectOrig.value), document.createTextNode(selectOrig.value));
}

function clearDiv(div) {
	var div = document.getElementById(div);
	if(div.hasChildNodes()) {
		while (div.childNodes.length > 0) {
			div.removeChild( div.firstChild );
		}
	}
}

// empty Topics select list content
function clearList(lista) {
	var select = document.getElementById(lista);
	if(select.hasChildNodes()) {
		while (select.length > 0) {
			select.remove(0);
		}
	}
}

// add item to select element the less
// elegant, but compatible way.
function appendToSelect(select, value, content) {

	var color = '#000000';
	var bgcolor = '#ffffff';
	var paddingTop = '0px';
	var paddingBottom = '0px';
	var paddingLeft = '3px';
	var marginTop = '0px';
	var disabled = false;

	if ( !(content.data.substring(0,3) == '...') && !(select.length == 0) && ( (select == document.getElementById('cbo_zonas_recogida')) || (select == document.getElementById('cbo_zonas_dev')) ) ) {
		bgcolor = '#e0e0e0';
		marginTop = '2px';
		paddingTop = '1px';
		paddingBottom = '1px';
		disabled = true;
	};

	if ( (content.data.substring(0,3) == '...') && ( (select == document.getElementById('cbo_zonas_recogida')) || (select == document.getElementById('cbo_zonas_dev')) ) ) {
		content.data = content.data.substring(3,content.data.length);
		bgcolor = '#ffffff';
		paddingLeft = '10px';
	};

    opt = document.createElement("option");
    opt.value = value.data;    
    opt.appendChild(content);
    
    //var strContent = opt.innerHTML;

	opt.style.color = color;
	opt.style.background = bgcolor;
	opt.style.paddingLeft = paddingLeft;
	opt.style.paddingTop = paddingTop;
	opt.style.paddingBottom = paddingBottom;
	opt.style.marginTop = marginTop;
	opt.disabled = disabled;
	//opt.isDisabled = disabled;
    select.appendChild(opt);

};

function clearInfo(x) {
	div = document.getElementById(x);
	div.style.display = 'none';
	div.innerHTML = '';
}

// fill Topics select list with items from
// the current XML document
function buildList(lista, req, text, id_seleccionado) {
	var select = document.getElementById(lista);
	// Recorre el XML y selecciona los elementos marcados con <item>
	var items = req.responseXML.getElementsByTagName("item");
	// Añade un primer elemento a la lista con un texto indicativo
	
	//appendToSelect( select, document.createTextNode(""), document.createTextNode(text));        
	
	if ((select != document.getElementById('cbo_horasalidamodi')) && (select != document.getElementById('cbo_horaretornomodi')) && (select != document.getElementById('cbo_ofiretorno')) && (select != document.getElementById('cboofiretornoprol')) && (select != document.getElementById('cbohorasalidaprol')) && (select != document.getElementById('cbohoraretornoprol')))
    {
	    appendToSelect( select, document.createTextNode(""), document.createTextNode(text));        
    }

	/*
	var bgColor = '#ffffff';
	if ( (lista == 'cbo_hdesde' ) || (lista == 'cbo_hhasta') ) {
		for (var i = 0; i < items.length; i++) {
			if (Mod(i,2) > 0) {
				bgColor = '#fbfbfb';
			} else {
				bgColor = '#ffffff';
			};
		};
	};
	*/

	// Añade los elementos del XML a la lista, sacandolo de la plantilla:
	// <item label="texto" data="value"/>
	var texto = "";

	for (var i = 0; i < items.length; i++) {
		//alert(getElementTextNSAttrib("", "label", items[i], 0));
		
        var texto = getElementTextNSAttrib("", "label", items[i], 0);
        if (lista == "cbo_zonas_dev") {
	        if (items.length == "1") {
	            texto = '...' + lng_otrasofis + texto.substring(3,texto.length);
	        }
	    }
		var data = getElementTextNSAttrib("", "data", items[i], 0);
		appendToSelect( select, document.createTextNode( data ), document.createTextNode( texto ) );
	}
	/*
	if ( document.getElementById('cbo_ofis_dev').length > 1 ) {
		var selObj = document.getElementById('cbo_ofis_dev');
		selObj.selectedIndex = document.getElementById('cbo_ofis_recogida').selectedIndex;
	}
	*/
	//mini-hacks
	
	if (select == document.getElementById('cbo_zonas_recogida')) {
		//new Effect.Appear('div_car_pickup',{duration:0.5}, { queue: 'end'});
		document.getElementById('cbo_zonas_recogida').style.display = 'block';
	}
	
	if (id_seleccionado != null) {
		if (select == document.getElementById('cbo_zonas_recogida')) {
			for (var i=0; i < select.length; i++) {
				if (select.options[i].value == trim(id_seleccionado)) {
					select.selectedIndex = i;
				}
			}
			clearInfo('info_opciones');
			cargaLista(select, 'ofis_recogida', lng_select, 1);
			preparaDivs('1');
		} else {
	           if ((select != document.getElementById('cbo_horasalidamodi')) && (select != document.getElementById('cbo_horaretornomodi')) && (select != document.getElementById('cbohorasalidaprol')) && (select != document.getElementById('cbohoraretornoprol')))
               {
	                select.selectedIndex = id_seleccionado;
               }
               else
		       {
		            select.value = id_seleccionado;
		       }
		        		     
			//select.selectedIndex = id_seleccionado;
		}
		if (select == document.getElementById('cbo_ofis_recogida')) {
			cargaLista(select, 'categorias', null);
			document.getElementById('cbo_ofis_recogida').style.background = '#ffffff';
			cargaLista(select, 'zonas_dev', 'select...');
			cargaOfisdev();
			preparaDivs('2');
			/*
			var pastillasder = document.getElementById('front_big');
			document.getElementById('front_big').style.display = 'block';
			//new Effect.Appear('front_big',{duration:3}, { queue: 'end'});
			pastillasder.style.top = '115px';
			pastillasder.style.left = new_x+Position.deltaX+625+'px';
			*/
		}
	}

}

function clearErrors(div) {
	div = document.getElementById('info_results');
	div.style.display = 'none';
	div.innerHTML = '';
}

function clearInfoResults() {
	var div = document.getElementById('div_car_lastsearch');
	div.style.display = 'none';
	div.innerHTML = '';
}

function buildInfoResults (t_dias) {
    var ofiSel = ofi_pickup_name;
	//var ofiSel = document.getElementById('cbo_ofis_recogida');
	//ofiSel = ofiSel.options[ofiSel.selectedIndex].text;
	//var znaSel = document.getElementById('cbo_zonas_recogida');
	//znaSel = znaSel.options[znaSel.selectedIndex].text;
	var znadevSel = document.getElementById('cbo_zonas_dev');
	var ofidevSel = document.getElementById('cbo_ofis_dev');
	if (znadevSel.options[znadevSel.selectedIndex].value == '') {
		znadevSel = '';
		ofidevSel = ofiSel;
	} else {
		//znadevSel = znadevSel.options[znadevSel.selectedIndex].text;
		znadevSel = '';
		ofidevSel = ofidevSel.options[ofidevSel.selectedIndex].text;
	};
	//var catSel = document.getElementById('cbo_cat');
	//catSel = catSel.options[catSel.selectedIndex].text;
	var ddesde = document.getElementById('cbo_ddesde').value;
	var dhasta = document.getElementById('cbo_dhasta').value;	
	var hdesde = document.getElementById('cbo_hdesde').value;
	var hhasta = document.getElementById('cbo_hhasta').value;	
	var div = document.getElementById('div_car_lastsearch');
	//Convertimos las Fechas
	var ddesde_array=ddesde.split("-");
	var hdesde_array=hdesde.split(":");
	fecha_desde = new Date(ddesde_array[2],(ddesde_array[1]-1),ddesde_array[0],hdesde_array[0],hdesde_array[1],0,0);
	var dhasta_array=dhasta.split("-");
	var hhasta_array=hhasta.split(":");
	fecha_hasta = new Date(dhasta_array[2],(dhasta_array[1]-1),dhasta_array[0],hhasta_array[0],hhasta_array[1],0,0);
	/*
	var numhoras = ( ( (fecha_hasta - fecha_desde) / 1000 ) / 60 ) / 60;
	//alert (numhoras);
	var numdias = numhoras / 24;
	// Bastaria con redondear a la alta
	//numdias = Math.ceil(numdias)
	// Pues no que es a la baja!!!
	numdias = Math.floor(numdias)
	if (numdias == "0") {
		numdias = 1;
	}
	*/
	document.getElementById('front_right2').style.display = 'none';
	// hay exactamente 86.400.000 milisegundos en un dia !!no se te olvide, joven programador!!!;
	div.innerHTML = '';
	div.innerHTML = div.innerHTML + '<h2>'+lng_lastsearch+'</h2>';
	div.innerHTML = div.innerHTML + '<h3>'+lng_resdesde+'</h3>';
	//div.innerHTML = div.innerHTML + '<h4><strong>'+lng_lugar+'</strong></h4><div>&nbsp;'+znaSel+', '+ofiSel+'</div>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_lugar+'</strong></h4><div>'+ofiSel+'</div>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_resfecha+'</strong></h4><div>'+ddesde+'</div>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_reshora+'</strong></h4><div>'+hdesde+'</div>';
	div.innerHTML = div.innerHTML + '<br/><h3>'+lng_reshasta+'</h3>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_lugar+'</strong></h4><div>'+ofidevSel+'</div>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_resfecha+'</strong></h4><div>'+dhasta+'</div>';
	div.innerHTML = div.innerHTML + '<h4><strong>'+lng_reshora+'</strong></h4><div>'+hhasta+'</div>';
	div.innerHTML = div.innerHTML + '<br/><h3>'+lng_numdias+' '+t_dias+'</h3>';
	//new Effect.Appear(div,{duration:0.5});
	div.style.display = 'block';
}

function Mod(a, b) { return a-Math.floor(a/b)*b; } 

function Capitalize(obj) {
	newVal = '';
	val = obj.split(' ');
	for (var c=0; c < val.length; c++) {
		newVal += val[c].substring(0,1).toUpperCase() +
		val[c].substring(1,val[c].length) + ' ';
	}
	obj = newVal;
	return obj;
}


function muestraDatos(strSearch,elemento,cadena) {
	ElemMouseover = elemento;
	if (cadena) {
		return overlib(strSearch);
	} else {
		loadXMLDoc(strSearch, elemento, 'SimpleData', 'xxx');
	}
}

function borraDatos() {
	ElemMouseover = false;
	MostrandoDatos = false;
	document.getElementById('overDiv').style.visibility = "hidden";
	return nd();
}

function buidSearchResults(req,cat) 
{
	var div = document.getElementById('info_results');
	//var div = document.getElementById('info_results_modi');
	
	div.className = "none";
	//Recorre el XML y selecciona los elementos marcados con <item>
	var items = req.responseXML.getElementsByTagName("item");
	var datosCabecera_conImg;
	var datosCabecera_bottom_conImg;
	var datosCabecera_singImg;
	var datosCabecera_bottom_Img;
	if (items.length == 0) {
		bgColor = '#fff3f3';
		div.innerHTML = div.innerHTML + '<table id="searching_results_nodisponible" border="0" cellspacing="0" cellpadding="0" class="searching_results_nodisponible"><tr><td>'+lng_nodisponibles+'</td></tr></table>';
		//new Effect.Appear('searching_results_nodisponible',{duration:0.5});
		document.getElementById('searching_results_nodisponible').style.display = 'block';
	} else {
		datosCabecera_conImg = '<table id="searching_results_head" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head"><tr><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_partner+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_coche+'</h4></th><th align="center" width="25%"><h4>'+lng_go+'</h4></th></tr></table>';
		datosCabecera_bottom_conImg = '<table id="searching_results_bottom" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head_bottom"><tr><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_partner+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_coche+'</h4></th><th align="center" width="25%"><h4>'+lng_go+'</h4></th></tr></table>';
		//datosCabecera_sinImg = '<table id="searching_results_head" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head"><tr><th class="searching_results_cars_head_th" align="center" width="33%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="33%"><h4>'+lng_coche+'</h4></th><th align="center" width="33%"><h4>'+lng_go+'</h4></th></tr></table>';
		//datosCabecera_bottom_sinImg = '<table id="searching_results_bottom" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head_bottom"><tr><th class="searching_results_cars_head_th" align="center" width="33%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="33%"><h4>'+lng_coche+'</h4></th><th align="center" width="33%"><h4>'+lng_go+'</h4></th></tr></table>';
		datosCabecera_sinImg = '<table id="searching_results_head" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head"><tr><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_partner+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_coche+'</h4></th><th align="center" width="25%"><h4>'+lng_go+'</h4></th></tr></table>';
		datosCabecera_bottom_sinImg = '<table id="searching_results_bottom" border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_head_bottom"><tr><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_partner+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_precio+'</h4></th><th class="searching_results_cars_head_th" align="center" width="25%"><h4>'+lng_coche+'</h4></th><th align="center" width="25%"><h4>'+lng_go+'</h4></th></tr></table>';
	}
	for (var i = 0; i < items.length; i++) {
		var t_dias = getElementTextNSAttrib("", "t_dias", items[i], 0);
	    if (i == 0) {
	        buildInfoResults(t_dias);
	    }
		if (Mod(i,2) > 0) {
			bgColor = '#fbfbfb';
			//bgColor = '#ffffee';
		} else {
			bgColor = '#ffffff';
			//bgColor = '#fffff0';
		};
		var t_codofi = getElementTextNSAttrib("", "t_codofi", items[i], 0);
		var t_codofiret = getElementTextNSAttrib("", "t_ofiret", items[i], 0);
		var t_codgrp = getElementTextNSAttrib("", "t_codgrp", items[i], 0);
		var t_grpsub = getElementTextNSAttrib("", "t_grpsub", items[i], 0);
		var t_tarifa = getElementTextNSAttrib("", "t_tarifa", items[i], 0);

		var t_codvehi = getElementTextNSAttrib("", "t_codvehi", items[i], 0);
		var t_request = getElementTextNSAttrib("", "t_request", items[i], 0);
		var nameCar = getElementTextNSAttrib("", "t_modelo", items[i], 0);
		var grupoCar = getElementTextNSAttrib("", "t_grupo", items[i], 0);
		var t_dtoweb = getElementTextNSAttrib("", "t_dtoweb", items[i], 0);
		var t_total = getElementTextNSAttrib("", "t_total", items[i], 0);
		var t_totaldiv = getElementTextNSAttrib("", "t_totaldiv", items[i], 0);
		var t_ofivir = getElementTextNSAttrib("", "t_ofivir", items[i], 0);
		var t_ofiviret = getElementTextNSAttrib("", "t_ofiviret", items[i], 0);
		var t_codofitarifa = getElementTextNSAttrib("", "t_codofitarifa", items[i], 0);
		var t_showimg = getElementTextNSAttrib("", "t_showimg", items[i], 0);
		var t_acriss = getElementTextNSAttrib("", "t_acriss", items[i], 0);
		
		if (i == 0) {
			if (t_showimg == '1') {
				div.innerHTML = div.innerHTML + datosCabecera_conImg;
			} else {
				div.innerHTML = div.innerHTML + datosCabecera_sinImg;
			};
		}
		if ( (t_total == '9999,00') || (t_total == '9999.00') ) {
			bgColor = '#fff3f3';
			var infofechas_array=grupoCar.split("-");
			var desdeinfofechas_array=infofechas_array[0].split("_");
			var hastainfofechas_array=infofechas_array[1].split("_");
			var infofechas = desdeinfofechas_array[0]+'/'+desdeinfofechas_array[1] +' '+lng_al+' '+hastainfofechas_array[0]+'/'+hastainfofechas_array[1];
			var infoClosedofi = '<span style="font-size:12px; font-weight:bold;color:#ff3333">'+lng_closedofi+'</span><br/>'+lng_openfrom+' '+infofechas+'<br/>'+lng_sugerenciabuscar;
			var logoSrc = '<img onmouseover="muestraDatos('+"'"+strSearch+"','"+i+"b'"+');" onmouseout="borraDatos();" style="border:none;" src="'+libImg +'LogPartn/'+getElementTextNSAttrib("", "t_sublic", items[i], 0) + '_sm.gif"/>';
			var infoSublic = '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" style="font-size:10px;color:#a0a0a0;" valign="bottom">'+lng_inforaton+'</td></tr><tr><td align="center" valign="top">'+logoSrc+'</td></tr></table>';
			div.innerHTML = div.innerHTML + '<table border="0" cellspacing="0" cellpadding="0" style="overflow:hidden;border-bottom: 1px solid #e0e0e0; text-align:center; background-color: '+bgColor+'; padding:0;margin:0;"><tr onMouseOver="className='+"'"+'marcado'+"'"+'" onMouseOut="className='+"'"+'none'+"'"+'"><td style="border-right: 1px solid #f0f0f0" width="149px" align="center">'+infoSublic+'</td><td style="border-right: 1px solid #f0f0f0;" align="center">'+infoClosedofi+'</td></tr></table>';
		} else {
			if (t_request != '0') {
				t_request = '';
				//t_request = '<tr><td align="center" style="font-weight:bold;color:#ff0000" >'+lng_onrequest+' <a href="javascript:void(0);" onmouseover="muestraDatos('+"'"+lng_infoRequest+"',null,true"+');" onmouseout="borraDatos();">'+lng_moreinfo+'</a></td></tr>';
			} else {
				t_request = '';
			}
			var strSearch = libURL + '?lang='+lng+'&modo=6&vehi=' + t_codvehi;
			var imgCar = '<img onmouseover="muestraDatos('+"'"+strSearch+"','"+i+"a'"+');" onmouseout="borraDatos();" style="border:none;margin:0px;padding:0px;" src="'+libImg +'Cars/'+getElementTextNSAttrib("", "t_modelo", items[i], 0) + '_lg.gif"/>';
			//var infoCar = '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" style="text-align:center;font-size:10px;color:#a0a0a0;padding-top:5px;">'+lng_inforaton+'</td></tr><tr><td align="center">'+imgCar+'</td></tr>'+t_request+'<tr><td align="center" style="font-size:11px;padding-bottom:5px;"><strong>'+lng_grupo+' '+t_acriss.toUpperCase()+' - '+Capitalize(nameCar)+'<span style="font-size:9px; color:#999999">'+lng_equiv+'</span></strong></td></tr></table>';
			var infoCar = '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" style="text-align:center;font-size:10px;color:#a0a0a0;padding-top:5px;">'+lng_inforaton+'</td></tr><tr><td align="center">'+imgCar+'</td></tr>'+t_request+'<tr><td align="center" style="font-size:11px;padding-bottom:5px;"><strong>'+Capitalize(nameCar)+'<span style="font-size:9px; color:#999999">'+lng_equiv+'</span></strong></td></tr></table>';
			var img_descuento = '';
			switch (t_dtoweb) {
				case '5,00' :
					img_descuento = '<tr><td align="center"><img src="'+libStyles+'_img/5descuento.gif"/></td></tr>';
					break;
			}
			if (lng == '2') {
				var datosPrecio = '<table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold">'+img_descuento+'<tr><td align="center"><span class="precio">'+t_total+' &euro; </span></td></tr><tr><td align="center" class="precio_sm">'+t_totaldiv+' &pound; <span class="precio_aprox">aprox</span></td></tr></table>';
			} else {
				var datosPrecio = '<table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold">'+img_descuento+'<tr><td align="center"><span class="precio">'+t_total+' &euro; </span></td></tr></table>';
			}
			var strSearch = libURL + '?lang='+lng+'&modo=4'+'&ofi='+t_codofi;
			var img_logo = getElementTextNSAttrib("", "t_sublic", items[i], 0);
			switch (img_logo) {
			//Quitamos Herz -> sublicencia 39 ...
				case '39' :
					img_logo = '39bis';
					break;
			}
			var logoSrc;
			var infoSublic;
			var btn_GO = '<img border="0" src="'+libStyles+'_img/btn_go.gif"/>';
			var enlace_GO = 'javascript:ConfirmaHorarioOficina('+'\''+libURL+strSearchPrincipal+'&idofi='+t_codofi+'&idofiret='+t_codofiret+'&grp='+t_codgrp+'&grpsub='+t_grpsub+'&vehi='+t_codvehi+'&modo=13'+'\',\''+libDest+strSearchPrincipal+'&idofi='+t_codofi+'&idofiret='+t_codofiret+'&grp='+t_codgrp+'&grpsub='+t_grpsub+'&vehi='+t_codvehi+'&cat='+cat+'&ofivir='+t_ofivir+'&ofiviret='+t_ofiviret+'&ofitarifa='+t_codofitarifa+'&email='+global_email+'&fenac='+global_fenac+'\''+')';
			if (t_showimg == '1') {
				var logoSrc = '<img onmouseover="muestraDatos('+"'"+strSearch+"','"+i+"b'"+');" onmouseout="borraDatos();" style="border:none;" src="'+libImg +'LogPartn/'+img_logo+'_sm.gif"/>';
				var infoSublic = '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" style="text-align:center;font-size:10px;color:#a0a0a0;" valign="bottom">'+lng_inforaton+'</td></tr><tr><td align="center" valign="top">'+logoSrc+'</td></tr></table>';
				//var fila_GO = '<table border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_list" style="text-align:center;background-color: '+bgColor+';"><tr onMouseOver="className='+"'"+'marcado'+"'"+'" onMouseOut="className='+"'"+'none'+"'"+'"><td width="190px" align="center">'+infoSublic+'</td><td align="center">'+datosPrecio+'</td><td align="center" width="220px" >'+infoCar+'</td><td align="center" width="120px">'+'<a href="'+enlace_GO+'"><img border="0" src="'+libStyles+'_img/btn_go.gif"/></a>'+'</td></tr></table>';
				var fila_GO = '<table border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_list" style="text-align:center;background-color: '+bgColor+';"><tr onMouseOver="className='+"'"+'marcado'+"'"+'" onMouseOut="className='+"'"+'none'+"'"+'"><td width="25%" align="center">'+infoSublic+'</td><td align="center" width="25%" >'+datosPrecio+'</td><td align="center" width="25%" >'+infoCar+'</td><td align="center" width="25%">'+'<a href="'+enlace_GO+'"><img border="0" src="'+libStyles+'_img/btn_go.gif"/></a>'+'</td></tr></table>';
			} else {
				switch(lng) {
					case '1': {
						var logoSrc = '<img style="border:none;" src="'+libImg +'LogPartn/amigoautos_ES_sm.gif"/>';
						break;
						}
					case '2': {	
						var logoSrc = '<img style="border:none;" src="'+libImg +'LogPartn/amigoautos_sm.gif"/>';
						break;
						}
					case '3': {
						var logoSrc = '<img style="border:none;" src="'+libImg +'LogPartn/amigoautos_DE_sm.gif"/>';
						break;
						}
					default: {
						var logoSrc = '<img style="border:none;" src="'+libImg +'LogPartn/amigoautos_sm.gif"/>';
						break;
						}
						}

				var infoSublic = '<table border="0" cellspacing="0" cellpadding="0" align="center"><tr><td align="center" valign="top">'+logoSrc+'</td></tr></table>';
				var fila_GO = '<table border="0" cellspacing="0" cellpadding="0" class="searching_results_cars_list" style="text-align:center;background-color: '+bgColor+';"><tr onMouseOver="className='+"'"+'marcado'+"'"+'" onMouseOut="className='+"'"+'none'+"'"+'"><td width="25%" align="center">'+infoSublic+'</td><td align="center" width="25%" >'+datosPrecio+'</td><td align="center" width="25%" >'+infoCar+'</td><td align="center" width="25%">'+'<a href="'+enlace_GO+'"><img border="0" src="'+libStyles+'_img/btn_go.gif"/></a>'+'</td></tr></table>';
			}
			div.innerHTML = div.innerHTML + fila_GO;
		}
		if (i == (items.length - 1) ) {
			if (t_showimg == '1') {
				div.innerHTML = div.innerHTML + datosCabecera_bottom_conImg;
			} else {
				div.innerHTML = div.innerHTML + datosCabecera_bottom_sinImg;
			};
		}
	}
	/*
	if (items.length == 0) {
	} else {
		div.innerHTML = div.innerHTML + datosCabecera_bottom_conImg;
	}
	*/
	div.style.display = 'block';
	/* Busqueda de preciossss superiores
						var cat_list = new Array('AAA','BBB','CCC','DDD','EEE','FFF','GGG','HHH');
						for (var i = 0; i < cat_list.length; i++) {
							clearDiv(cat_list[i]);
							if (cat != cat_list[i]) {
								doPriceCatSearch(null,null,null,null,cat_list[i],null,null,null,null);
							};
						};
	*/
	var cat_list = new Array('AAA','BBB','CCC','DDD','EEE','FFF','GGG','HHH');
	for (var i = 0; i < cat_list.length; i++) {
		clearDiv(cat_list[i]);
		if (cat_list[i] == cat) {
/* Mostramos el grupo anterior
			if (i > 0) {
				doPriceCatSearch(null,null,null,null,cat_list[i-1],null,null,null,null);
			}
*/
/* Mostramos el grupo siguiente
			if (i < cat_list.length) {
				doPriceCatSearch(null,null,null,null,cat_list[i+1],null,null,null,null);
			};
*/
/* Mostramos dos grupos siguientes
			if (i < cat_list.length-1) {
				doPriceCatSearch(null,null,null,null,cat_list[i+2],null,null,null,null);
			};
*/
		};
	};
pageTracker._trackEvent('coches', 'busqueda', 'ofertas devueltas');
}


/**************************************************************/
if ( typeof(Xaprb) === 'undefined' ) {
   Xaprb = new Object();
}

/* The Xaprb.InputMask object acts as the namespace for input masking
 * functionality.
 */
Xaprb.InputMask = {
   masks: {
      date_iso: {
         format: '    -  -  ',
         regex:  /\d/
      },
      date_us: {
         format: '__/__/____',
         regex:  /\d/
      },
      time: {
         format: '  :  :  ',
         regex:  /\d/
      },
      phone: {
         format: '(   )   -    ',
         regex:  /\d/
      },
      ssn: {
         format: '   -  -    ',
         regex:  /\d/
      },
      visa: {
         format: '    -    -    -    ',
         regex:  /\d/
      }
   },


   /* This is triggered when the key is pressed in the form input.  It is
    * bound to the element, so 'this' is the input element.
    */
   applyMask: function(event) {
   //alert(this.className);
   
      var match = /mask_(\w+)/.exec(this.className);
      if ( match.length == 2 && Xaprb.InputMask.masks[match[1]] ) {
         var mask = Xaprb.InputMask.masks[match[1]];
         var key  = Xaprb.InputMask.getKey(event);
         var element = this;
         var keycode = event.keyCode;
         //alert(keycode);

         if ( Xaprb.InputMask.isPrintable(key) ) {
			var ch;
			switch (key) {
				case 96 : ch = '0';	break;
				case 97 : ch = '1';	break;
				case 98 : ch = '2';	break;
				case 99 : ch = '3';	break;
				case 100 : ch = '4'; break;
				case 101 : ch = '5'; break;
				case 102 : ch = '6'; break;
				case 103 : ch = '7'; break;
				case 104 : ch = '8'; break;
				case 105 : ch = '9'; break;
				default : ch = String.fromCharCode(key); break;
			}
            var str     = this.value + ch;
            var pos     = getCursorPosition(this);
            //var element = document.getElementById("fec_nac");
            //var lang_datetime = 'es';
            var dec_dias = 0;
            var uni_dias = 1;
            var dec_meses = 3;
            var uni_meses = 4;
            var mil_anos = 6;
            var dec_anos = 7;
            var uni_anos = 8;
            if (lang_datetime == 'en') {
				dec_dias = 3;
				uni_dias = 4;
				dec_meses = 0;
				uni_meses = 1;
            }
            
            if (pos == dec_dias) {
				if ( (ch == '0') || (ch == '1') || (ch == '2') || (ch == '3') ) {
					insertintextbox(element,ch,pos);
				} else {
					insertintextbox(element,'0',pos);
					insertintextbox(element,ch,pos+1);
					pos = pos+1;
				}
            } else if (pos == uni_dias) {
				if (element.value.charAt(pos-1) == '_') {
					insertintextbox(element,'0',pos-1);
					insertintextbox(element,ch,pos);
				} else if (element.value.charAt(pos-1) == '3') {
					if ( (ch == '0') || (ch == '1') ) {
						insertintextbox(element,ch,pos);
					} else {
						insertintextbox(element,'1',pos);
					}
				} else if (element.value.charAt(pos-1) == '0') {
					if (ch == '0') {
						insertintextbox(element,'1',pos);
					} else {
						insertintextbox(element,ch,pos);
					}
				} else {
					insertintextbox(element,ch,pos);
				}
            } else if (pos == dec_meses) {
				if ( (ch == '0') || (ch == '1') ) {
					insertintextbox(element,ch,pos);
				} else {
					insertintextbox(element,'0',pos);
					insertintextbox(element,ch,pos+1);
					pos = pos+1;
				}
            } else if (pos == uni_meses) {
				if (element.value.charAt(pos-1) == '_') {
					insertintextbox(element,'0',pos-1);
					insertintextbox(element,ch,pos);
				} else if (element.value.charAt(pos-1) == '1') {
					if ( (ch == '0') || (ch == '1') || (ch == '2')) {
						insertintextbox(element,ch,pos);
					} else {
						insertintextbox(element,'2',pos);
					}
				} else if (element.value.charAt(pos-1) == '0') {
					if (ch == '0')  {
						insertintextbox(element,'1',pos);
					} else {
						insertintextbox(element,ch,pos);
					}
				} else {
					insertintextbox(element,ch,pos);
				}
            } else if (pos == mil_anos) {
				if ( (ch == '1') || (ch == '2') ) {
					insertintextbox(element,ch,pos);
				} else {
					insertintextbox(element,'1',pos);
				}
            } else {
				if (element.value.charAt(pos) == '/') {
					pos = pos + 1;
					if (pos == mil_anos) {
						if ( (ch == '1') || (ch == '2') ) {
							insertintextbox(element,ch,pos);
						} else {
							insertintextbox(element,'1',pos);
						}
					} else if (pos == dec_meses) {
						if ( (ch == '0') || (ch == '1') ) {
							insertintextbox(element,ch,pos);
						} else {
							insertintextbox(element,'0',pos);
							insertintextbox(element,ch,pos+1);
							pos = pos+1;
						}
					} else if (pos == dec_dias) {
						if ( (ch == '0') || (ch == '1') || (ch == '2') || (ch == '3') ) {
							insertintextbox(element,ch,pos);
						} else {
							insertintextbox(element,'0',pos);
							insertintextbox(element,ch,pos+1);
							pos = pos+1;
						}
					}
				} else {
					insertintextbox(element,ch,pos);
				}
            }

            Event.stop(event)

			if ( mask.format.charAt(pos+1) != '/' ) {
				pos = pos+1;
			} else {
				pos = pos+2;
			}
			setSelection(pos,mask.format,element); 

         } else if ( key == 0 ) {
			/*alert(keycode);*/
			if ( (keycode == 37) ) {
				/*setSelection(pos-1,mask.format);*/
				/*Event.stop(event);*/
			} else if (keycode == 39) {
				/*setSelection(pos+1,mask.format);*/
				/*Event.stop(event);*/
			} else if (keycode == 46) {
				Event.stop(event);
			}
		} else if ( key == 8 ) {
		//alert(key);
            var pos     = getCursorPosition(this);
            //var element = document.getElementById("fec_nac");
            //alert(mask.format.charAt(pos-1));
            if (mask.format.charAt(pos-1) == '_') {
				insertintextbox(element,'_',pos-1);
				setSelection(pos-1,mask.format,element); 
            } else if (mask.format.charAt(pos-1) == '/') {
				insertintextbox(element,'_',pos-2);
				setSelection(pos-2,mask.format,element); 
            }
			Event.stop(event);
		} else if ( key == 13 ) {//Enter
			//alert(document.getElementById('pide_iden_ok'));
			if ( document.getElementById('pide_iden_ok') != null ) {
				CompruebaIdentificacion()
				Event.stop(event);
			}
		} else if ( key == 27 ) {//Escape
			//alert(document.getElementById('pide_iden_cancel'));
			if ( document.getElementById('pide_iden_cancel') != null ) {
				CancelaIdentificacion();
			}		
        } else {
			Event.stop(event);
        }

		if (element != null) {
			var dia_chr = element.value.charAt(dec_dias) + element.value.charAt(uni_dias);
			var dia_num = parseInt(dia_chr);
			var mes_chr = element.value.charAt(dec_meses) + element.value.charAt(uni_meses);
			var mes_num = parseInt(mes_chr);
			var ano_chr = element.value.charAt(mil_anos) + element.value.charAt(dec_anos) + element.value.charAt(uni_anos);
			var ano_num = parseInt(ano_chr);
			if (mes_num == 2) {
				if ( dia_num > 29) {
					insertintextbox(element,'2',dec_dias);
					insertintextbox(element,'9',uni_dias);
				}
			}
			if (dia_num > 30) {
				if ( (mes_num == 4) || (mes_num == 6) || (mes_num == 9) || (mes_num == 11) ) {
					insertintextbox(element,'3',dec_dias);
					insertintextbox(element,'0',uni_dias);
				}
			}
		}
      }
   },

   /* Returns true if the key is a printable character.
    */
   isPrintable: function(key) {
   //alert(key)
      return ( (key >= 48 && key < 58) || (key >= 96 && key < 106));
   },

   /* Returns the key code associated with the event.
    */
   getKey: function(e) {
      return window.event ? window.event.keyCode
           : e            ? e.which
           :                0;
   }
};
/**************************************************************/

function insertintextbox(element,ch,pos) {
    var lodeantes = element.value.substring(0,pos)
    var lodedespues = element.value.substring(pos,element.value.length)
	if ( element.value.charAt(pos) != '/' ) {
		str = lodeantes + ch + lodedespues.substring(1,lodedespues.length);
	} else {
		str = lodeantes + lodedespues.substring(0,1) + ch + lodedespues.substring(2,lodedespues.length);
	}
	if (str.length == element.value.length) {
		element.value = str;
	}
	if(element == document.getElementById('fec_nac')) {
		permiteIdentificacion();
	}
}

function permiteIdentificacion() {
	var fec_nac = document.getElementById('fec_nac');
	var email = document.getElementById('email');
	var fec_nac_ok = null;
	var fec_nac_array = new Array();
	fec_nac_array[0] = fec_nac.value.substring(0,1);
	fec_nac_array[1] = fec_nac.value.substring(1,2);
	fec_nac_array[2] = fec_nac.value.substring(4,5);
	fec_nac_array[3] = fec_nac.value.substring(5,6);
	fec_nac_array[4] = fec_nac.value.substring(7,8);
	fec_nac_array[5] = fec_nac.value.substring(8,9);
	fec_nac_array[6] = fec_nac.value.substring(9,10);
	fec_nac_array[7] = fec_nac.value.substring(10,11);
	for (i=0;i<fec_nac_array.length;i++){
		if (fec_nac_array[i] == "_" ) {
			fec_nac_ok = "no";
		}
	}
	if (fec_nac.value.substring(7,8) != "9") {
		fec_nac_ok = "no";
	}
	if ( (email.value != "") && (email.value.indexOf('@') > -1 ) && (email.value.indexOf('.') > -1 ) && (fec_nac_ok == null) ) {
		document.getElementById('pide_iden_spanok').innerHTML = '<br/><INPUT TYPE="button" ID="pide_iden_cancel" VALUE="' + lng_cancelar + '" ONCLICK="CancelaIdentificacion()"/>&nbsp;<INPUT TYPE="button" ID="pide_iden_ok" VALUE="' + lng_go + '" ONCLICK="CompruebaIdentificacion()"/>';
		document.getElementById('pide_iden_spancancel').innerHTML = '';
		/*document.getElementById('pide_iden_ok').focus();*/
	} else {
		indicaIdentificacionSin();
	}
}

function CancelaIdentificacion() {
		if (document.getElementById('loginbox') != null) {
			document.getElementById('loginbox').style.display = 'block';
		};	
		document.getElementById('pide_iden_spanok').innerHTML = '';
		document.getElementById('pide_iden_spancancel').innerHTML = '';
		document.getElementById('pide_iden_loading').innerHTML = '';
		var apuntador = document.getElementById('apuntador3');
		apuntador.hide();
		descargaCategorias();
}

function indicaIdentificacionSin() {
		document.getElementById('pide_iden_spanok').innerHTML = '<br/><INPUT TYPE="button" ID="pide_iden_cancel" VALUE="' + lng_cancelar + '" ONCLICK="CancelaIdentificacion()"/>';
		//document.getElementById('pide_iden_spancancel').innerHTML = '<br/><p style="text-align:center;font-size:13px;">En caso contrario pulse aqui</p><div><INPUT TYPE="button" ID="pide_iden_cancelar" VALUE="No he reservado antes" ONCLICK=""/>';
		document.getElementById('pide_iden_spancancel').innerHTML = '';
}

function setSelection(position,mask,element) {
	//var element = document.getElementById("fec_nac");
	if (position) {
		pos = position;
	} else {
		pos = element.selectionStart;
	}
	if (mask) {
		if ( mask.charAt(pos) == '/' ) {
			pos = pos+1;
		}
	}
	var end;
	if ( pos == null ) {
		pos = 0;
		end = element.value.length;
	} else {
		end = pos+1;
	}
	setSelectionRange(element,pos,end);
	//element.selectionStart = pos;
	//element.selectionEnd = pos+1;
}

function getCursorPosition(o) {
	var s = 0;
	if (o.createTextRange) {
		var r = document.selection.createRange().duplicate();
		r.moveEnd('character', o.value.length)
		if (r.text == '') return o.value.length
		s = o.value.lastIndexOf(r.text)
	} else {
		s = o.selectionStart
	}
	return s
};

if ( typeof(EmailTextBox) === 'undefined' ) {
   EmailTextBox = new Object();
};

EmailTextBox.Control = {
	ControlaTeclas: function(event) {
		var key  = EmailTextBox.Control.getKey(event);
		if ( key == '13' ) {
			document.getElementById('fec_nac').select();
			Event.stop(event);
		}
	},
	getKey: function(e) {
		return window.event ? window.event.keyCode
			: e            ? e.which
			:                0;
	}
};

function CompruebaIdentificacion() {
	var email = document.getElementById('email').value;
	var fenac;
	if (lng == '2' ) {
		fenac = document.getElementById('fec_nac').value.substring(3,5)+'-'+document.getElementById('fec_nac').value.substring(0,2)+'-'+document.getElementById('fec_nac').value.substring(6,11);
	} else {
		fenac = document.getElementById('fec_nac').value.substring(0,2)+'-'+document.getElementById('fec_nac').value.substring(3,5)+'-'+document.getElementById('fec_nac').value.substring(6,11);
	};
	var strSearch = libURL + '?modo=7&email='+email+'&fenac='+fenac;
	//alert(strSearch);
	document.getElementById('pide_iden_loading').innerHTML = '<br/><img src="'+libStyles+'/_img/loader.gif'+'" style="BORDER: none; FLOAT:none;" ><br/><br/><div style="FONT-WEIGHT:bold;TEXT-ALIGN:center">'+ lng_buscando + '</div><br/>';
	global_fenac = fenac;
	global_email = email;
	loadXMLDoc(strSearch, null, 'login', null);
/*pide_iden_buttons*/
}

function PideIdentificacion() {
	var apuntador = document.getElementById('apuntador3');
	apuntador.innerHTML = '<div style="padding: 20px;"><p id="pide_iden_title" style="text-align:center;font-size:13px;">' + lng_logininfo + '</p><table align="center" style="font-weight:normal;" id="pide_iden_main"><tr><td style="text-align:center"><span>' + lng_email + '</span></td></tr><tr><td style="text-align:center"><input id="email" style="WIDTH: 180px;border:1px solid #ddd;text-align:center;" type="text" name="iden_email"/></td><tr><td style="text-align:center"><span>' + lng_fenac + '</span> <span> ( ' + lgn_fenacformat + ' ) </span></td></tr><tr><td style="text-align:center"><input id="fec_nac" onclick="setSelection(null,null,this);" class="mask_date_us" style="WIDTH: 75px;border:1px solid #eee;text-align:center;" type="text" name="fec_nac"/></td></tr></table><div id="pide_iden_spanok"></div><div id="pide_iden_spancancel"></div><div id="pide_iden_loading"></div></div></div>';

	//alert('identificacion');
	new DialogBox('apuntador3');
	var item = document.getElementById('fec_nac');
	item.value = '__/__/____';
	var email = document.getElementById('email');
	email.select();

	if (document.getElementById('loginbox') != null) {
		document.getElementById('loginbox').style.display = 'none';
	};

	Event.observe(email, 'keypress', EmailTextBox.Control.ControlaTeclas.bindAsEventListener(email), true);
	Event.observe(item, 'keypress', Xaprb.InputMask.applyMask.bindAsEventListener(item), true);
	Event.observe('email', 'keyup', permiteIdentificacion);

	indicaIdentificacionSin();

	//$('apuntador3').show();
	//$(apuntador3).show();
	//$(apuntador3).hide();

	//return true;
}


function ConfirmaHorarioOficina(strSearch,strURL) {
	var apuntador = document.getElementById('apuntador3');
	apuntador.innerHTML = lng_waitcomprobando;
	Position.prepare();
	//new Effect.Move(apuntador,{ x: 0+(document.body.offsetWidth/2), y: Position.deltaY+(document.body.offsetHeight/2), transition: Effect.Transitions.sinoidal, mode: 'absolute'}, { queue: 'end'});
	new Effect.Center('apuntador3');
	//new Effect.Appear('apuntador3',{duration:0.5}, { queue: 'front'});
	document.getElementById('apuntador3').style.display = 'block';
	loadXMLDoc(strSearch, strURL, 'horarios', strURL);
};

function cargaHorario(req,strURL) {
	var items = req.responseXML.getElementsByTagName("item");
	for (var i = 0; i < items.length; i++) {
		var rpta = getElementTextNSAttrib("", "rpta", items[i], 0);
		if (rpta == '1') {
			var apuntador = document.getElementById('apuntador3');
			document.location.href = strURL;
			apuntador.hide();
			//document.location.replace(strURL);
		} else {
			var apuntador = document.getElementById('apuntador3');
			apuntador.hide();

			var str_lv = getElementTextNSAttrib("", "lv", items[i], 0);
			var str_sa = getElementTextNSAttrib("", "sa", items[i], 0);
			var str_do = getElementTextNSAttrib("", "do", items[i], 0);			
			//var str_info = lng_oficerrada + lng_luvi + str_lv + lng_sa + str_sa + lng_dofes + str_do;
			/*
			var str_hora = getElementTextNSAttrib("", "hora", items[i], 0);
			var str_info;
			if (str_hora == 's')
			{
			*/
				str_info = lng_oficerrada + lng_luvi + str_lv + lng_sa + str_sa + lng_dofes + str_do;
				/*
			}
			else
			{
				str_info = lng_ofiretcerrada + lng_luvi + str_lv + lng_sa + str_sa + lng_dofes + str_do;
			}	
			*/		
			alert(str_info);
		}
	};
};

/*
function ConfirmaHorario(req, str) {
	//alert(req);
	//alert(str);
}
*/

function ScrollMash(scrollfinal) {
	window.scrollTo(0,scrollfinal)
	/*
	Position.prepare();
	for (var scrolli = Position.deltaY; scrolli < scrollfinal; scrolli++) {
		window.scrollBy(0, 10);
	}
	*/
}

function validaSearch(cat) {
//	window.scrollBy(0, 50);
	//var zona = document.getElementById('cbo_zonas_recogida').value;
	//var ofi = document.getElementById('cbo_ofis_recogida').value;
	var ofi = ofi_pickup;
	var zonahasta = document.getElementById('cbo_zonas_dev').value;
	var ofihasta = document.getElementById('cbo_ofis_dev').value;
//	var cat = document.getElementById('cbo_cat').value;
	var textoError = '';
	var ddesde = document.getElementById('cbo_ddesde').value;
	var hdesde = document.getElementById('cbo_hdesde').value;
	var dhasta = document.getElementById('cbo_dhasta').value;
	var hhasta = document.getElementById('cbo_hhasta').value;
	var fecha_desde;
	var fecha_hasta;
	clearErrors();
	var ok = true;
	if ( (ofihasta == "") && (document.getElementById('cbo_zonas_dev').selectedIndex != 0) ) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_ofi_hasta+'</p>';
	}
	/*
	if ((document.getElementById('cbo_ofis_recogida').disabled != true) && (!ofihasta)) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_ofi_hasta+'</p>';
	}
	if (!zona) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_zona+'</p>';
	}
	if ( (zona != '') && (!ofi) ) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_destino+'</p>';
	}
	*/

	if ( (ofi != '') && (!cat) ) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_categoria+'</p>';
	}
	
	if(!ddesde) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_nofechadesde+'</p>';
	} else {
		var ddesde_array=ddesde.split("-");
		var today = new Date();
		today.setDate(today.getDate()-1);
		fecha_desde = new Date(ddesde_array[2],(ddesde_array[1]-1),ddesde_array[0]);
		//alert (fecha_desde + "<" + today);
		if (fecha_desde < today) {
			ok = false;
			textoError = textoError + '<p style="font-size:12px">'+lng_error_malfechadesde+'</p>';
		}
	}
	if(!hdesde) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_nohoradesde+'</p>';
	}
	if(!dhasta) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_nofechahasta+'</p>';
	} else {
		var ddesde_array=ddesde.split("-");
		fecha_desde = new Date(ddesde_array[2],(ddesde_array[1]-1),ddesde_array[0]);
		var dhasta_array=dhasta.split("-");
		fecha_hasta = new Date(dhasta_array[2],(dhasta_array[1]-1),dhasta_array[0]);
		
		if (fecha_desde > fecha_hasta) {
			ok = false;
			textoError = textoError + '<p style="font-size:12px">'+lng_error_malfechahasta+'</p>';
		}
	}
	if(!hhasta) {
		ok = false;
		textoError = textoError + '<p style="font-size:12px">'+lng_error_nohorahasta+'</p>';
	}
	if(ddesde == dhasta) {
		var hdesde_array=hdesde.split(":");
		var hcompdesde=new Number(hdesde_array[0]+hdesde_array[1]);
		var hhasta_array=hhasta.split(":");
		var hcomphasta=new Number(hhasta_array[0]+hhasta_array[1]);
		if (hcomphasta <= hcompdesde) {
			ok = false;
			textoError = textoError + '<p style="font-size:12px">'+lng_error_malfechahasta+'</p>';
		}
	} 
	//Aqui comprobamor
	if (ok) {
		document.getElementById('info_results').style.display = 'none';
		document.getElementById('div_car_lastsearch').style.display = 'none';
		document.getElementById('searching').style.display = 'block';
		//new Effect.Appear('searching',{duration:0.5});
/*		
		var cat_list = new Array('AAA','BBB','CCC','DDD','EEE','FFF','GGG','HHH');
		for (var i = 0; i < cat_list.length; i++) {
			clearDiv(cat_list[i]);
			if (cat != cat_list[i]) {
				doPriceCatSearch(null,null,null,null,cat_list[i],null,null,null,null);
			};
		};
*/


//	alert(global_fenac);
		doSearch(null,null,null,null,cat,null,null,null,null);
	} else {
		clearInfoResults();
		div = document.getElementById('info_results');
		div.innerHTML = "";
		div.className = "errors";
		div.innerHTML = div.innerHTML + '<h4 style="font-size:12px">'+lng_error_titulo+'</h4>';
		div.innerHTML = div.innerHTML + textoError;
		div.style.display = 'block';
		//new Effect.Appear(div,{duration:0.5});
		//div.style.display = 'block';
	}

}

function randomString(sChrs,iLen) {
	var sRnd = '';
	for (var i=0; i < iLen; i++) {
		var randomPoz = Math.floor(Math.random() * sChrs.length);
		sRnd += sChrs.substring(randomPoz,randomPoz+1);
	}
	return sRnd;
}

function doPriceCatSearch(zona,ofi,zonahasta,ofihasta,cat,f_des,h_des,f_has,h_has) {
	if (!zona) { zona = document.getElementById('cbo_zonas_recogida').value; }
	if (!ofi) { ofi = document.getElementById('cbo_ofis_recogida').value; }
	if (!zonahasta) { zonahasta = document.getElementById('cbo_zonas_dev').value; }
	if (!ofihasta) { ofihasta = document.getElementById('cbo_ofis_dev').value; }
	//if (!cat) { cat = document.getElementById('cbo_cat').value; }
	if (!f_des) { f_des = document.getElementById('cbo_ddesde').value; }
	if (!h_des) { h_des = document.getElementById('cbo_hdesde').value; }
	if (!f_has) { f_has = document.getElementById('cbo_dhasta').value; }
	if (!h_has) { h_has = document.getElementById('cbo_hhasta').value; }
	if (!h_has) { h_has = document.getElementById('cbo_hhasta').value; }
	
		//Convertimos las Fechas
		var f_des_array=f_des.split("-");
		fecha_desde = new Date(f_des_array[2],(f_des_array[1]-1),f_des_array[0]);
		fecha_desde = fecha_desde.print("%Y-%m-%d")
		var f_has_array=f_has.split("-");
		fecha_hasta = new Date(f_has_array[2],(f_has_array[1]-1),f_has_array[0]);
		fecha_hasta = fecha_hasta.print("%Y-%m-%d")

	var strSublic = '';
	if (sublic) {
		strSublic = '&sublic='+sublic;
	}
	if (ofihasta) {
		ofihasta = ofihasta;
	} else {
		ofihasta = ofi;
	}
	var strSearch = libURL + '?lang='+lng+'&modo=12'+'&zona='+zona+'&ofi='+ofi+'&ofiret='+ofihasta+'&cat='+cat+'&f_des='+fecha_desde+'&h_des='+h_des+'&f_has='+fecha_hasta+'&h_has='+h_has+strSublic;
	strSearchPrincipal = '?lang='+lng+'&idzna='+zona+'&fdesde='+fecha_desde+'&hdesde='+h_des+'&fhasta='+fecha_hasta+'&hhasta='+h_has+strSublic;
	var div = document.getElementById('info_results');
	//div.innerHTML = div.innerHTML + strSearch;
	loadXMLDoc(strSearch, 'xxx', 'searchPricesCat', 'xxx');
}

function doSearch(zona,ofi,zonahasta,ofihasta,cat,f_des,h_des,f_has,h_has) {
	//if (!zona) { zona = document.getElementById('cbo_zonas_recogida').value; }
	//if (!ofi) { ofi = document.getElementById('cbo_ofis_recogida').value; }
	if (!ofi) { ofi = ofi_pickup; }
	if (!zonahasta) { zonahasta = document.getElementById('cbo_zonas_dev').value; }
	if (!ofihasta) { ofihasta = document.getElementById('cbo_ofis_dev').value; }
	//if (!cat) { cat = document.getElementById('cbo_cat').value; }
	if (!f_des) { f_des = document.getElementById('cbo_ddesde').value; }
	if (!h_des) { h_des = document.getElementById('cbo_hdesde').value; }
	if (!f_has) { f_has = document.getElementById('cbo_dhasta').value; }
	if (!h_has) { h_has = document.getElementById('cbo_hhasta').value; }
	if (!h_has) { h_has = document.getElementById('cbo_hhasta').value; }
	
		//Convertimos las Fechas
		var f_des_array=f_des.split("-");
		fecha_desde = new Date(f_des_array[2],(f_des_array[1]-1),f_des_array[0]);
		fecha_desde = fecha_desde.print("%Y-%m-%d")
		var f_has_array=f_has.split("-");
		fecha_hasta = new Date(f_has_array[2],(f_has_array[1]-1),f_has_array[0]);
		fecha_hasta = fecha_hasta.print("%Y-%m-%d")

	var strSublic = '';
	if (sublic) {
		strSublic = '&sublic='+sublic;
	}
	if (ofihasta) {
		ofihasta = ofihasta;
	} else {
		ofihasta = ofi;
	}
	var strhp_ktdn = '';
	if (hp_ktdn) {
		strhp_ktdn = '&hp_ktdn='+hp_ktdn;
	}
	var strSearch = libURL + '?lang='+lng+'&modo=5'+'&ofi='+ofi+'&ofiret='+ofihasta+'&cat='+cat+'&f_des='+fecha_desde+'&h_des='+h_des+'&f_has='+fecha_hasta+'&h_has='+h_has+'&email='+global_email+'&fenac='+global_fenac+'&bc='+global_bc+strSublic+strhp_ktdn;
	strSearchPrincipal = '?lang='+lng+'&idzna='+zona+'&fdesde='+fecha_desde+'&hdesde='+h_des+'&fhasta='+fecha_hasta+'&hhasta='+h_has+strSublic+strhp_ktdn;
	var div = document.getElementById('info_results');
	//div.innerHTML = div.innerHTML + strSearch;
	loadXMLDoc(strSearch, cat, 'search', cat);
	
	//var items = req.responseXML.getElementsByTagName("item");
}


//Modifica-Prolonga Reserva
function CargaOficinaRetorno(ofiret) 
{
   document.getElementById('cbo_ofiretorno').value = ofiret;
}

function Disponibilidad_Modifica()
{
    disponibilidad_modi = '0';
    var strSearch;
    fdesde_new = document.getElementById('txt_fechadesdemodi').value;
    fhasta_new = document.getElementById('txt_fechahastamodi').value;
    if (prolongacion == '1')
    {
        strSearch = libURL + '?lang='+lng+'&modo=23'+'&ofi='+ofisalida_modi+'&f_des='+fhasta_modi+'&f_has='+fhasta_new+'&grp='+grupo_modi_new;                    
    }
    else
    {
        strSearch = libURL + '?lang='+lng+'&modo=23'+'&ofi='+ofisalida_modi+'&f_des='+fdesde_new+'&f_has='+fhasta_new+'&grp='+grupo_modi_new;                    
    }        
    
    loadXMLDoc(strSearch, 'div_disponibilidad', 'modi');                    
}

function DatosDisponibilidad(req) 
{
	var items = req.responseXML.getElementsByTagName("item");
	
    sMsgHorario = lng_MsgDisponibilidad; 
    var msgHorario = '';
	if (items.length == 0) 
	{
	    disponibilidad_modi='1';
        msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
        document.getElementById('div_msghorario').style.display = 'block';
        document.getElementById('div_msghorario').innerHTML = msgHorario;
         document.getElementById('btmodificar').disabled = true;
         TraeNuevoPrecio();
	} 
	else
	{       
	    disponibilidad_modi = getElementTextNSAttrib("", "parada", items[0], 0);
	    if (disponibilidad_modi == '0')
	    {
	        document.getElementById('btmodificar').disabled = false;
	        TraeNuevoPrecio();
	    }
	    else
	    {	       	        
            document.getElementById('btmodificar').disabled = true;
            TraeNuevoPrecio();            
            msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
            document.getElementById('div_msghorario').style.display = 'block';
            document.getElementById('div_msghorario').innerHTML = msgHorario;	                
	    }	   
	}	
}

function CargaModeloModifica(modelo, precio, color, carga) 
{
    var ImgCar = 'http://www.amigoautos.es/Images/Cars/' + modelo + '_lg.gif';        
    var dias_modi_new = document.getElementById('TxtDias').value;
    
    if (parseInt(dias_modi_new) > 30 && carga != '0')
	{
	  sMsgHorario = lng_MsgHorarioMayor30Dias; 
      var msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
      document.getElementById('div_msghorario').style.display = 'block';
      document.getElementById('div_msghorario').innerHTML = msgHorario;
      
      document.getElementById('btmodificar').disabled = true;
      
	}
	else if ((disponibilidad_modi=='0') && (especial_modi != '1'))
	{
	    document.getElementById('btmodificar').disabled = false;
	}
	
	var datosPrecio;
	

	if (dias_modi==dias_modi_new)
	{
	    color = '0'; 
	}
	else
	{
	    color = '1'; 
	}
	
	if (color == '1')
	{
	    datosPrecio = '<div class="modelo_modi"><table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold"><tr><td colspan="2" align="center" style="font-size:16px;padding-top:15px;padding-bottom:5px;"><strong>'+ modelo + '<span style="font-size:9px; color:#999999">'+ lng_equiv + '</span></strong></td></tr><tr><td align="center"><img src="'+ ImgCar +'" style="FLOAT:none;BORDER:none;"></td><td align="center"><span class="precio_modi">' + precio + ' &euro; </span></td></tr></table></div>';  
	}
	else
	{
	    datosPrecio = '<div class="modelo_modi"><table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold"><tr><td colspan="2" align="center" style="font-size:16px;padding-top:15px;padding-bottom:5px;"><strong>'+ modelo + '<span style="font-size:9px; color:#999999">'+ lng_equiv + '</span></strong></td></tr><tr><td align="center"><img src="'+ ImgCar +'" style="FLOAT:none;BORDER:none;"></td><td align="center"><span class="precio">' + precio + ' &euro; </span></td></tr></table></div>';  
	}

    document.getElementById('div_modelo_modi').innerHTML = datosPrecio;    
}

function RestauraFechasOriginales()
{
    document.getElementById('TxtDias').value = dias_modi;
	document.getElementById('txt_fechadesdemodi').value=fdesde_modi;
	document.getElementById('txt_fechahastamodi').value=fhasta_modi;
	document.getElementById('cbo_horasalidamodi').value=hdesde_modi;
	document.getElementById('cbo_horaretornomodi').value=hhasta_modi;
}

function CargaModeloProlongacion(modelo, precio_modi, precio_prolongacion) 
{
    var itotal;
    var ImgCar = 'http://www.amigoautos.es/Images/Cars/' + modelo + '_lg.gif';        
    var datosPrecio;
    
    itotal = parseFloat(precio_modi.replace(',','.')) + parseFloat(precio_prolongacion.replace(',','.'));
    
     var ResOriginal = 'Original';
     var ResProlongacion = 'Prolong.';
     var ResTotal = 'Total:';
     var sSeparacion = '-------------------';

     var stotal;
     var iTotalDias;
     var sDiasOriginal;
     var sDiasProlongacion;
     var sDiasTotal;
     
     if (disponibilidad_modi=='1')
     {
        document.getElementById('btmodificar').disabled = true;             	        
     }

     if (parseInt(dias_prol) <= 30) 
	 {		       	
        stotal = "" + redondear(itotal, '2');
        stotal = stotal.replace('.',',');
        iTotalDias = parseInt(dias_modi) + parseInt(dias_prol);   
        sDiasOriginal = ' (' + dias_modi + ' dias):';   
        sDiasProlongacion = ' (' + dias_prol + ' dias):';
        sDiasTotal = ' (' + iTotalDias + ' dias):';             
	 }
     else 
	 {               
        stotal = "" + redondear(itotal, '2');
        stotal = stotal.replace('.',',');
        iTotalDias = parseInt(dias_modi) + parseInt(dias_prol);   
        sDiasOriginal = ' (' + dias_modi + ' dias):';   
        sDiasProlongacion = ' (' + dias_prol + ' dias):';
        sDiasTotal = ' (' + iTotalDias + ' dias):';          	
          
    	sMsgHorario = lng_MsgHorarioMayor30DiasProl; 
	    
        var msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
        document.getElementById('div_msghorario').style.display = 'block';
        document.getElementById('div_msghorario').innerHTML = msgHorario;
        
        document.getElementById('btmodificar').disabled = true;                       
    }
    
    datosPrecio = '<div class="modelo_modi"><table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold"><tr><td colspan="2" align="center" style="font-size:16px;padding-top:15px;padding-bottom:5px;"><strong>'+ modelo + '<span style="font-size:9px; color:#999999">' + lng_equiv + '</span></strong></td></tr><tr><td align="center"><img src="'+ ImgCar +'" style="FLOAT:none;BORDER:none;"></td><td align="right"><table><tr><td><span class="tit_precio_prol">' + ResOriginal + '</span></td><td><span class="tit_precio_prol">' + sDiasOriginal + '</span></td><td align="right"><span class="precio_prol">' + precio_modi + ' &euro; </span></td></tr><tr><td><span class="tit_precio_prol_modi">' + ResProlongacion + '</span></td><td><span class="tit_precio_prol_modi">' + sDiasProlongacion + '</span></td><td align="right"><span class="precio_prol_modi">' + precio_prolongacion + ' &euro; </span></td></tr><tr><td></td><td></td><td align="right"><span class="tit_precio_prol_total">' + sSeparacion + '</span></td></tr><tr><td><span class="tit_precio_prol_total">' + ResTotal + '</span></td><td><span class="tit_precio_prol_total">' + sDiasTotal + '</span></td><td align="right"><span class="precio_prol_total">' + stotal + ' &euro; </span></td></tr></table></td></tr></table></div>';
    document.getElementById('div_modelo_modi').innerHTML = datosPrecio;   
}

function TraeNuevoPrecio()
{    
    var fdesde_new = document.getElementById('txt_fechadesdemodi').value;
    var fhasta_new = document.getElementById('txt_fechahastamodi').value;
 
    var fecha_desde;   	
    var fecha_hasta;
	var ddesde_array=fdesde_new.split("/");
	var dhasta_array=fhasta_new.split("/");
    var today_sal = new Date();
    var today_ret = new Date();
    
	today_sal.setDate(today_sal.getDate()+3);	
	
	fecha_desde = new Date(ddesde_array[2],(ddesde_array[1]-1),ddesde_array[0]);
	fecha_hasta = new Date(dhasta_array[2],(dhasta_array[1]-1),dhasta_array[0]);
	
	
    var fecha_hasta_modi;    
	var dhasta_array_modi=fhasta_modi.split("/");
	fecha_hasta_modi = new Date(dhasta_array_modi[2],(dhasta_array_modi[1]-1),dhasta_array_modi[0]);
	
	var sMsgHorario;
	
	if (((fecha_desde < today_sal) || (fecha_hasta < fecha_desde)) && (prolongacion != '1'))
	{
	    if (fecha_desde < today_sal)
	    {
	    sMsgHorario = lng_MsgHorarioSal;
	    RestauraFechasOriginales();     
        }
        
       	if (fecha_hasta < fecha_desde) 
    	{
    	sMsgHorario = lng_MsgHorarioRet; 
	    //document.getElementById('txt_fechahastamodi').value=fhasta_modi;
	    RestauraFechasOriginales();
	    }
	    
        var msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
        document.getElementById('div_msghorario').style.display = 'block';
        document.getElementById('div_msghorario').innerHTML = msgHorario;
        
        CargaModeloModifica(modelo_modi,precio_modi,'0','0');
        document.getElementById('TxtDias').value = dias_modi;                     
	}
	else if ((fecha_hasta < fecha_hasta_modi ) && (prolongacion == '1'))
	{		       
       	if (fhasta_new < fhasta_modi )
    	{
	    RestauraFechasOriginales();
	    sMsgHorario = lng_MsgHorarioRetProl; 
	    }
	    
        var msgHorario = '<div id="msghorario"><span>'+ sMsgHorario + '</span></div>';
        document.getElementById('div_msghorario').style.display = 'block';
        document.getElementById('div_msghorario').innerHTML = msgHorario;
        
        dias_prol = '0';
        CargaModeloProlongacion(modelo_modi, precio_modi, dias_prol);
        document.getElementById('TxtDias').value = dias_modi;                       
	}
	else
	{
	    document.getElementById('div_msghorario').style.display = 'none';
        document.getElementById('div_msghorario').innerHTML = '';
        
		fdesde_new = document.getElementById('txt_fechadesdemodi').value;
        fhasta_new = document.getElementById('txt_fechahastamodi').value;
        var hdesde_new = document.getElementById('cbo_horasalidamodi').value;
        var hhasta_new = document.getElementById('cbo_horaretornomodi').value;	
                            
        if ((hdesde_modi != hdesde_new) || (hhasta_modi != hhasta_new) || (fdesde_modi != fdesde_new) || (fhasta_modi != fhasta_new))
        {
            var modelo = modelo_modi;
            var strSearch;
            if (prolongacion == '1')
	        {		       
                strSearch = libURL + '?lang='+lng+'&modo=21'+'&ofi='+ofisalida_modi+'&f_des='+fhasta_modi+'&h_des='+hhasta_modi+'&f_has='+fhasta_new+'&h_has='+hhasta_new+'&grp='+grupo_modi_new+'&bc='+bc_modi+'&ofit='+ofitarifa_modi;    
            }
            else
            {
                strSearch = libURL + '?lang='+lng+'&modo=21'+'&ofi='+ofisalida_modi+'&f_des='+fdesde_new+'&h_des='+hdesde_new+'&f_has='+fhasta_new+'&h_has='+hhasta_new+'&grp='+grupo_modi_new+'&bc='+bc_modi+'&ofit='+ofitarifa_modi;    
            }              
            
            loadXMLDoc(strSearch, 'div_modelo_modi', 'modi');                               
        }
        else if ((hdesde_modi == hdesde_new) && (hhasta_modi == hhasta_new) && (fdesde_modi == fdesde_new) && (fhasta_modi == fhasta_new))
        {
            document.getElementById('TxtDias').value = dias_modi;
            if (prolongacion == '1')
            {
                dias_prol = '0';
                CargaModeloProlongacion(modelo_modi, precio_modi, dias_prol);
            }
            else
            {
                CargaModeloModifica(modelo_modi,precio_modi,'0','0');
            }            
        }
	}		
}

function DatosPrecioModifica(req) 
{
	var items = req.responseXML.getElementsByTagName("item");

	if (items.length == 0) 
	{
		var precio = 'Consultar ';
        var ImgCar = 'http://www.amigoautos.es/Images/Cars/' + modelo_modi + '_lg.gif';
        var datosPrecio = '<table border="0" cellspacing="0" cellpadding="0" align="center" style="text-align:center; font-size:12px; font-weight:bold"><tr><td colspan="2" align="center" style="font-size:16px;padding-top:15px;padding-bottom:5px;"><strong>'+ modelo_modi + '<span style="font-size:9px; color:#999999">'+ lng_equiv + '</span></strong></td></tr><tr><td align="center"><img src="'+ ImgCar +'" style="FLOAT:none;BORDER:none;"></td><td align="center"><span class="precio">' + precio + ' &euro; </span></td></tr></table>';
        document.getElementById('div_modelo_modi').innerHTML = datosPrecio;
	} 
	else 
	{
	  	var dias_new;
        var precio_new;

	    if (prolongacion == '1')
	    {
	        dias_new = getElementTextNSAttrib("", "dias", items[0], 0);
	        dias_prol = dias_new;
	        document.getElementById('TxtDias').value = parseInt(dias_prol) + parseInt(dias_modi);
		    precio_new = getElementTextNSAttrib("", "importeiva", items[0], 0);	
		    CargaModeloProlongacion(modelo_modi, precio_modi, precio_new);	    
	    }
	    else
	    {
    	    dias_new = getElementTextNSAttrib("", "dias", items[0], 0);

	        if (dias_modi != dias_new)
	        {   	        
	    	    document.getElementById('TxtDias').value = dias_new;
		        precio_new = getElementTextNSAttrib("", "importeiva", items[0], 0);	
		        CargaModeloModifica(modelo_modi_new, precio_new,'1','1');
            }
            else if (dias_modi == dias_new)
            {
                document.getElementById('TxtDias').value = dias_modi;		    
		        CargaModeloModifica(modelo_modi_new, precio_modi,'0','0');
            }
	    }
	}
	
	/*	
	else if (prolongacion == '1')
	{
	    dias_new = getElementTextNSAttrib("", "dias", items[0], 0);
	    dias_prol = dias_new;
	    document.getElementById('TxtDias').value = parseInt(dias_prol) + parseInt(dias_modi);
		precio_new = getElementTextNSAttrib("", "importeiva", items[0], 0);	
		CargaModeloProlongacion(modelo_modi, precio_modi, precio_new);
	}	
	else 
	{			
	    dias_new = getElementTextNSAttrib("", "dias", items[0], 0);
	    document.getElementById('TxtDias').value = dias_new;
		precio_new = getElementTextNSAttrib("", "importeiva", items[0], 0);	
		CargaModeloModifica(modelo_modi_new, precio_new,'1','1');
	}
	*/
}

function CargaDatosModi() 
{
    document.getElementById('txt_fechadesdemodi').value = fdesde_modi;
    document.getElementById('txt_fechahastamodi').value = fhasta_modi;	
}

function recarga_fecharetornomodi() 
{
    alert('seleccione la fecha de retorno desde el calendario, gracias');
    document.getElementById('txt_fechahastamodi').value = fhasta_modi;	
}

function DeshabilitarObjetosModi()
{
    if (prolongacion == '1')
    {
        document.getElementById('cbo_ofiretorno').disabled = true;
        document.getElementById('txtofisalida').disabled = true;
        document.getElementById('txt_fechadesdemodi').disabled = true;
        document.getElementById('cbo_ddesde_trig').disabled = true;    
        document.getElementById('cbo_horasalidamodi').disabled = true;
        document.getElementById('TxtVuelo').disabled = true;        
        
        document.getElementById('div_terminoespecial').style.display = 'block';                     	    

        if (especial_modi == '1')
        {
            document.getElementById('txt_fechahastamodi').disabled = true;
            document.getElementById('cbo_dhasta_trig').disabled = true;    
            document.getElementById('cbo_horaretornomodi').disabled = true;
            document.getElementById('TxtDias').disabled = true;
            document.getElementById('btmodificar').disabled = true;    
            
            var msgHorario = '<div id="msghorario"><span>'+ lng_MsgGrupoEspecial + '</span></div>';
            document.getElementById('div_msghorario').style.display = 'block';
            document.getElementById('div_msghorario').innerHTML = msgHorario;            
        }
        if (especial_modi == '2')
        {
            document.getElementById('txt_fechahastamodi').disabled = true;
            document.getElementById('cbo_dhasta_trig').disabled = true;    
            document.getElementById('cbo_horaretornomodi').disabled = true;
            
            document.getElementById('TxtDias').disabled = true;
            document.getElementById('btmodificar').disabled = true;    
            
            var msgHorario = '<div id="msghorario"><span>'+ lng_MsgModiUrl + '</span></div>';
            document.getElementById('div_msghorario').style.display = 'block';
            document.getElementById('div_msghorario').innerHTML = msgHorario;            
        }    
    }
    else
    {
        if (especial_modi == '1')
        {
            document.getElementById('cbo_ofiretorno').disabled = true;
            document.getElementById('txtofisalida').disabled = true;
            document.getElementById('txt_fechadesdemodi').disabled = true;
            document.getElementById('cbo_ddesde_trig').disabled = true;    
            document.getElementById('cbo_horasalidamodi').disabled = true;
            document.getElementById('txt_fechahastamodi').disabled = true;
            document.getElementById('cbo_dhasta_trig').disabled = true;    
            document.getElementById('cbo_horaretornomodi').disabled = true;
        
            document.getElementById('btmodificar').disabled = true;                                   	    
            var msgHorario = '<div id="msghorario"><span>'+ lng_MsgGrupoEspecial + '</span></div>';
            document.getElementById('div_msghorario').style.display = 'block';
            document.getElementById('div_msghorario').innerHTML = msgHorario;            
        }    
    }     
}


function redondear(cantidad, decimales) 
{
    var cantidad = parseFloat(cantidad);
    var decimales = parseFloat(decimales);
    decimales = (!decimales ? 2 : decimales);
    return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
} 
