//AJAX
var BusqExacta=1; //Nada mas entrar esta busqueda=1 para que se quede desambiguada

function BuscarHoteles(busquedaExacta,Procedencia){
	if (busquedaExacta=="-10") { busquedaExacta=BusqExacta; }
	Aux=Validar1();
	if (Aux=="") {
		if (Procedencia=='') {
			for (var i=1;i<=12;i++){
				document.getElementById("cboEdad"+i).style.visibility="hidden"; 
			}
		}
		Cancelar();
		document.getElementById('dBuscar').style.display='block';
		document.getElementById('capaFondo1').style.height="3000px";
		document.getElementById('capaFondo1').style.visibility='visible';
		var date = new Date();
		var Personas="";
		//Habrá que mostrar una capa de Buscando....
		if (Procedencia=='Detalle') { 
			CampoEnCapa();
			var Edades=document.getElementById('DispocboEdad1').value+'-'+document.getElementById('DispocboEdad2').value+'-'+document.getElementById('DispocboEdad3').value+'-'+document.getElementById('DispocboEdad4').value+'-'+document.getElementById('DispocboEdad5').value+'-'+document.getElementById('DispocboEdad6').value+'-'+document.getElementById('DispocboEdad7').value+'-'+document.getElementById('DispocboEdad8').value+'-'+document.getElementById('DispocboEdad9').value+'-'+document.getElementById('DispocboEdad10').value+'-'+document.getElementById('DispocboEdad11').value+'-'+document.getElementById('DispocboEdad12').value;
			var Habitaciones=document.getElementById('DispocboHabitaciones').value;
			for (i=1;i<=3;i++){
				if (i<=Habitaciones){
					Personas+=parseInt(document.getElementById('DispocboNumPersonas'+i).options[document.getElementById('DispocboNumPersonas'+i).selectedIndex].text)+'-';
				}
				else {
					Personas+=0+'-';
				}
			}
		} else {
			var Edades=document.getElementById('cboEdad1').value+'-'+document.getElementById('cboEdad2').value+'-'+document.getElementById('cboEdad3').value+'-'+document.getElementById('cboEdad4').value+'-'+document.getElementById('cboEdad5').value+'-'+document.getElementById('cboEdad6').value+'-'+document.getElementById('cboEdad7').value+'-'+document.getElementById('cboEdad8').value+'-'+document.getElementById('cboEdad9').value+'-'+document.getElementById('cboEdad10').value+'-'+document.getElementById('cboEdad11').value+'-'+document.getElementById('cboEdad12').value;
			var Habitaciones=document.getElementById('cboHabitaciones').value;
			for (i=1;i<=3;i++){
			if (i<=Habitaciones){
					Personas+=parseInt(document.getElementById('cboNumPersonas'+i).options[document.getElementById('cboNumPersonas'+i).selectedIndex].text)+'-';
				}
				else {
					Personas+=0+'-';
				}

			}
		}
		
		
		//insert IdPeticion
		g_Marsol=0; g_SolOle=0; //PONER A 1 CUANDO SE QUIERA OMITIR BUSCAR EN SOLOLE
		var URL = "Hoteles-Buscar1.php?FechaEntrada="+document.getElementById('FechaEntrada').value+"&FechaSalida="+document.getElementById('FechaSalida').value+"&NumNoches="+document.getElementById('cboNumNoches').value+"&TxtLugar="+document.getElementById('TxtLugar').value+"&NumPersonas="+Personas+"&Edades="+Edades+"&nocache="+date+"&Habitaciones="+Habitaciones+"&busquedaExacta="+busquedaExacta;
		xmlHttp = GetXmlHttpObject(StateChangeHandlerInsertPeticion);
		XmlHttp_Get(xmlHttp, URL);	
	}
	else
		alert(Aux);
}
var g_IdPeticion=0;
var g_Marsol=0;
var g_SolOle=0; //PONER A 1 CUANDO SE QUIERA OMITIR BUSCAR EN SOLOLE
//var g_Lat='';
//var g_Long='';
var xmlHttpMA;
var xmlHttpSO;
function StateChangeHandlerInsertPeticion(){
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
		if (xmlHttp.status == 200){
			//document.all.dBuscar.style.display='none';
			//xmlHttp.responseText = IdPeticion
			if (xmlHttp.responseText.length<20){
				var date = new Date();
				//llamar a las dos integraciones
				g_IdPeticion = xmlHttp.responseText;
				var URL = "Hoteles-BuscarSolOle.php?IdPeticion="+g_IdPeticion+"&nocache="+date;
				xmlHttpSO = GetXmlHttpObject(StateChangeHandlerFinSolOle);
				XmlHttp_Get(xmlHttpSO, URL);
				
				var URL = "Hoteles-BuscarMarsol.php?IdPeticion="+g_IdPeticion+"&nocache="+date;
				xmlHttpMA = GetXmlHttpObject(StateChangeHandlerFinMarsol);
				XmlHttp_Get(xmlHttpMA, URL);
			}else{
				Cancelar();
				document.getElementById('dBuscar').style.display='none';
				document.getElementById('dHotel').style.display='block';
				document.getElementById('capaFondo1').style.visibility='visible';
				document.getElementById('sHotel').innerHTML=xmlHttp.responseText;
			}
		}
	}
	/*else{
		document.getElementById('sAux').innerHTML='-'+xmlHttp.readyState;//+'/'+xmlHttp.status+'-';
        //gCapa.innerHTML = '<img src="img/cargando.gif" width="16px" height="16px"/>';
	}*/
}


function StateChangeHandlerFinMarsol(){
	if (xmlHttpMA.readyState == 4 || xmlHttpMA.readyState == 'complete') {
		if (xmlHttpMA.status == 200){
			//document.getElementById('sAuxMA').innerHTML="Fin Marsol";
			/*localizacion=xmlHttpMA.responseText.split('/');
			if (g_Lat=='' || g_Long=='' ){
			g_Lat=localizacion[0];
			g_Long=localizacion[1];
			}*/
			g_Marsol = 1;
			MostrarResultados();
		}else{
			alert();
		}
	}
	/*else{
		document.getElementById('sAuxMA').innerHTML='-'+xmlHttpMA.readyState;//+'/'+xmlHttpMA.status+'-';
        //gCapa.innerHTML = '<img src="img/cargando.gif" width="16px" height="16px"/>';
	}*/
}

function StateChangeHandlerFinSolOle(){
	if (xmlHttpSO.readyState == 4 || xmlHttpSO.readyState == 'complete') {
		if (xmlHttpSO.status == 200){
			//alert("Fin: "+xmlHttpSO.responseText)
			//document.getElementById('sAuxSO').innerHTML="Fin SolOle";
			/*localizacion=xmlHttpSO.responseText.split('/');
			if (g_Lat=='' || g_Long==''){
			g_Lat=localizacion[0];
			g_Long=localizacion[1];
			}*/
			g_SolOle = 1;
			MostrarResultados();
		}
	}
	/*else{
		document.getElementById('sAuxSO').innerHTML='-'+xmlHttpSO.readyState;//+'/'+xmlHttpSO.status+'-';
        //gCapa.innerHTML = '<img src="img/cargando.gif" width="16px" height="16px"/>';
	}*/
}


function MostrarResultados(){
	if (g_Marsol == 1 && g_SolOle==1){
		document.getElementById('dBuscar').style.display='none';
		if (g_IdPeticion==0) { alert("Lo sentimos  pero esta busqueda ha producido un error inesperado, por favor vuelva a intentarlo"); return; }
		if (HBoletin==""){ llegada="Hoteles-Resultados.php?IdPeticion="+g_IdPeticion; }
		else { llegada="Hoteles-Resultados.php?IdPeticion="+g_IdPeticion+"&HBoletin="+HBoletin; }
		window.location=llegada;//+"&Lat="+g_Lat+"&Long="+g_Long;
	}
}
function Validar1(){
	var val="";
	if (!isDate(document.getElementById('FechaEntrada').value)) {  return "La fecha de entrada es incorrecta"; }		if (!isDate(document.getElementById('FechaSalida').value)) {  return "La fecha de salida es incorrecta"; }		if (document.getElementById('TxtLugar').value.length<3 )	{	return "Debe introducir un destino de como minimo 3 letras";		}			//if (trim(document.Formulario.FechaEntrada.value)==""){alert('Introduzca  la fecha de entrada');return; }
	//if (trim(document.Formulario.FechaSalida.value)==""){alert('Introduzca  la fecha de salida');return; }
	return val;

}
function MostrarPersonas () {
var numHab=document.getElementById('cboHabitaciones').value;
var i;
if (numHab==1) { valores=1; } if (numHab==2) { valores=5; } if (numHab==3) { valores=9; }
for (i=2;i<=3;i++){ //La primera es siempre visible
	AuxCapa=document.getElementById('Personas'+i);
	AuxCbo=document.getElementById('cboNumPersonas'+i);
	
	if (AuxCapa.style.display=="none"){
		AuxCbo.selectedIndex=1;//Coger siempre dos personas
	}
	if (i<=numHab) { 
		document.getElementById('Personas'+i).style.display="block"; 
	}else{
		document.getElementById('Personas'+i).style.display="none";
	}
	MostrarEdades(i);
}
AuxdIcono=document.getElementById("dIconoHotel");
if (AuxdIcono!=undefined){
	if (numHab>1){
		document.getElementById("dIconoHotel").style.display="none";
	}else{
		document.getElementById("dIconoHotel").style.display="block";
	}
}
}
var Numpers1="";
var Numpers2="";
var Numpers3="";
function MostrarEdades(capa){
		switch (capa){
			case 1:
				Numpers1=document.getElementById('cboNumPersonas1').options[document.getElementById('cboNumPersonas1').selectedIndex].text;
				empieza=1;
				acaba=4;
				break;
			case 2:
				Numpers2=document.getElementById('cboNumPersonas2').options[document.getElementById('cboNumPersonas2').selectedIndex].text;
				empieza=5;
				acaba=8;
				break;
			case 3 :
				Numpers3=document.getElementById('cboNumPersonas3').options[document.getElementById('cboNumPersonas3').selectedIndex].text;
				empieza=9
				acaba=12;
				break;
		}
		for (i=empieza;i<=acaba;i++){
			cbo=document.getElementById('cboEdad'+i);
			if (i<=document.getElementById('cboNumPersonas'+capa).options[document.getElementById('cboNumPersonas'+capa).selectedIndex].value){
				cbo.style.visibility='visible';
			}else{
				cbo.style.visibility='hidden';
			}
		}
	
}
function LlenarEdades2(edades){
		edades=edades.split("-");
		for (i=1;i<=12;i++){
			
			for (j=0;j<=99;j++){
				var newOpt = document.getElementById('cboEdad'+i).appendChild(document.createElement('option'));
				newOpt.text = j;
				newOpt.value = j;
				if (edades[i-1]==j){newOpt.selected=true;}
			}
		}
}
function CalcularFechas(Origen){

	var entrada="";
	var result="";
	if (Origen==3){
		
		result=ComprobarFecha(document.getElementById('FechaSalida').value, Origen);
		if (result==""){
			if (!isDate(document.getElementById('FechaSalida').value)) { alert("La fecha de salida es incorrecta");}		else		{			
				document.getElementById('FechaEntrada').value=SumarFecha2(document.getElementById('FechaSalida').value, 0-document.getElementById('cboNumNoches').value);
			}
			ComprobarFecha(document.getElementById('FechaEntrada').value, Origen);
		}
	}else{
		result=ComprobarFecha(document.getElementById('FechaEntrada').value, Origen);
		if (result==""){
			if (!isDate(document.getElementById('FechaEntrada').value)) { alert("La fecha de entrada es incorrecta"); }		else		{	
				document.getElementById('FechaSalida').value=SumarFecha2(document.getElementById('FechaEntrada').value, document.getElementById('cboNumNoches').value);
			}
		
			ComprobarFecha(document.getElementById('FechaSalida').value, Origen);
		}
	}
	

}

function ComprobarFecha (entrada, Origen) {
	if (Origen==2 && document.getElementById('FechaSalida').value=="") { return "1";} //Para que no salga el alert cada vez que cambiamos el numero de noches
	var fecha=new Date();
	var diaentrada=entrada.substr(0,2);
	var mesentrada=entrada.substr(3,2);
	var anioentrada=entrada.substr(6,4);
	if (fecha.getFullYear()>anioentrada) { alert("La fecha no puede ser anterior o igual a la actual"); document.all.FechaEntrada.value=""; document.all.FechaSalida.value=""; return "1";}
	if (!(fecha.getFullYear()<anioentrada)) {
		if (fecha.getMonth()+1>mesentrada && fecha.getFullYear()>anioentrada ) { alert("La fecha no puede ser anterior o igual a la actual"); document.all.FechaEntrada.value=""; document.all.FechaSalida.value="";  return "1";}
		if (!(fecha.getMonth()+1<mesentrada))
		{
			if (fecha.getDate()>=diaentrada) { alert("La fecha no puede ser anterior o igual a la actual"); document.all.FechaEntrada.value=""; document.all.FechaSalida.value="";  return "1";}
		}
	}
	return "";
	}

var aFinMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 
function finMes(nMes, nAno){   return aFinMes[nMes - 1] + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);   }
function padNmb(nStr, nLen, sChr){    var sRes = String(nStr);    for (var i = 0; i < nLen - String(nStr).length; i++)			sRes = sChr + sRes;    	return sRes;   }    
function makeDateFormat(nDay, nMonth, nYear){    var sRes;    sRes = padNmb(nDay, 2, "0") + "/" + padNmb(nMonth, 2, "0") + "/" + padNmb(nYear, 4, "0");    return sRes;} 
function SumarFecha2(Fecha, Noches){   var nDia = parseInt(Fecha.substr(0, 2), 10);   var nMes = parseInt(Fecha.substr(3, 2), 10);   var nAno = parseInt(Fecha.substr(6, 4), 10); nDia +=parseInt(Noches); if (nDia>0){if (nDia > finMes(nMes, nAno))   	{				nDia =nDia-finMes(nMes, nAno);				nMes += 1;				if (nMes == 13)	{		 			nMes = 1;		 			nAno += 1;				}		}}else{	if (nMes == 1)	{		 		nMes = 12;		 		nAno =nAno-1;			}	else { nMes = nMes-1;} Dias=finMes(nMes, nAno); nDia=Dias+nDia; } fecha=makeDateFormat(nDia, nMes, nAno);   return fecha; }

function nuevabusqueda (Lugar,busquedaExacta) { document.getElementById('TxtLugar').value=Lugar;
document.getElementById('sHotel').visibility="hidden";
BuscarHoteles(busquedaExacta);
}

function Cancelar () {
		document.getElementById('dHotel').style.display='none';
		document.getElementById("capaFondo1").style.visibility="hidden"; 
		document.getElementById("capaBusqueda").style.display="none"; 
}

function Busqueda(personas, edades) {
	LlenarEdades2(edades);
	var Capa = document.getElementById("capaFondo1");  
	var htmlheight = document.body.scrollHeight;  
	var windowheight = window.innerHeight;  
	if ( htmlheight < windowheight ) { 
		Capa.style.height = windowheight + "px";
	}  else { 
		Capa.style.height = htmlheight + "px"; 
	} 
    MostrarAlEntrar(personas);
	//document.getElementById('capaFondo1').style.height="3000px";
	document.getElementById("capaFondo1").style.visibility="visible"; 
    document.getElementById("capaBusqueda").style.display="block"; 
	
}
function MostrarAlEntrar(personas1){
personashab=personas1.split("-");
for (var i=0;i<3;i++){
		var z=0;
		for (var j=1;j<=4;j++){
			var k=(i*4)+parseInt(j);
			if (personashab[i]>z){
				document.getElementById('cboEdad'+k).style.visibility="visible"; 
			}
			z++;
		}
	}
	for (i=0;i<3;i++){
		//alert(Numpers1+":"+Numpers2+":"+Numpers3);
		suma=parseInt(i)+parseInt(1);
		switch (suma){
			case 1: 
				personasselect1=Numpers1;
				if (personasselect1!=""){
					for (j=1;j<=4;j++){
						k=(i*4)+parseInt(j);	
						if (personasselect1>=j)
							document.getElementById('cboEdad'+k).style.visibility="visible";
						else
							document.getElementById('cboEdad'+k).style.visibility="hidden";	
					}
				}
				break;
			case 2:
				personasselect2=Numpers2;
				if (personasselect2!=""){
					for (j=1;j<=4;j++){
						k=(i*4)+parseInt(j);	
						if (personasselect2>=j)
							document.getElementById('cboEdad'+k).style.visibility="visible";
						else
							document.getElementById('cboEdad'+k).style.visibility="hidden";	
					}
				}
				break;
			case 3:
				personasselect3=Numpers3;
				if (personasselect3!=""){
					for (j=1;j<=4;j++){
						k=(i*4)+parseInt(j);	
						if (personasselect3>=j)
							document.getElementById('cboEdad'+k).style.visibility="visible";
						else
							document.getElementById('cboEdad'+k).style.visibility="hidden";	
					}
				}
				break;	
		}	
	}
}

function cerrarVentana(ventana,personas) { 
	
	if (ventana==1){
	   document.getElementById("capaFondo1").style.visibility="hidden"; 
		document.getElementById("capaVentana").style.visibility="hidden"; 
		document.getElementById("capaVentana").style.top="-3000px"; 
	}
	if (ventana==2) {
		 document.getElementById("capaFondo1").style.visibility="hidden"; 
		 document.getElementById("capaBusqueda").style.display="none"; 
		 for (var i=1;i<=12;i++){
			document.getElementById("cboEdad"+i).style.visibility="hidden"; 
		}
		
	}
}


function CambiarBusqExacta(){
	BusqExacta=0;
}
function CampoEnCapa(){
	document.getElementById('dFechaSalida').innerHTML=document.getElementById('FechaSalida').value; 
	document.getElementById('dFechaEntrada').innerHTML=document.getElementById('FechaEntrada').value; 
	document.getElementById('dCiudad').innerHTML=document.getElementById('TxtLugar').value; 
}
