// Funciones JS del Buscador de Vuelo y Hotel


//HOTELES

function fechaHotelVueltaHome() {
    fecha =document.getElementById("fechaEntrada").value;
    n = parseInt(document.getElementById("noches").value);
    var fArr = fecha.split("/");
    var d = fArr[0];
    var m = fArr[1]-1;
    var y = fArr[2];
    var fVuelta=new Date();
    fVuelta.setFullYear(y,m,d);
    fVuelta.setDate(fVuelta.getDate()+n);
    fVuelta = fVuelta.getDate() + "/" + (fVuelta.getMonth()+1) + "/" + fVuelta.getFullYear();
    document.getElementById("fechaVuelta").innerHTML=fVuelta + ", "+ GetDiaNombre(fVuelta);
}

function fechaComboHome() {
	if (hotel_combo_checkHome()) {

		fecha1 = document.getElementById("entradaD").value + "/" + document.getElementById("entradaM").value + "/" + document.getElementById("entradaY").value;
		fecha2 = document.getElementById("entradaM").value + "/" + document.getElementById("entradaD").value + "/" + document.getElementById("entradaY").value;
	document.getElementById("fechaEntrada").value= fecha1;
	
	    
		document.getElementById("fechaEntradaMos").innerHTML=fecha1 + ", "+ GetDiaNombre(fecha1);

fechaHotelVueltaHome();
		f =  new Date(fecha2);
		//ctl00_calendarioCtrl.SetSelectedDate(f,true)
	}

	submitCheckHome();
}


function hotel_combo_checkHome() {
	probarFecha = (document.getElementById("entradaD").value + "/" + document.getElementById("entradaM").value + "/" + document.getElementById("entradaY").value);
   
	var reg = /^((((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))|(((0[1-9]|[12]\d|3[01])(0[13578]|1[02])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|[12]\d|30)(0[13456789]|1[012])((1[6-9]|[2-9]\d)?\d{2}))|((0[1-9]|1\d|2[0-8])02((1[6-9]|[2-9]\d)?\d{2}))|(2902((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00))))$/;
  if (probarFecha.match(reg)) {
	
		f =  new Date(document.getElementById("entradaM").value + "/" + document.getElementById("entradaD").value + "/" + document.getElementById("entradaY").value);
        var fArr = document.getElementById("fechaHoy").value.split("/");
		hoy = new Date(fArr[1] + "/" + fArr[0] + "/" + fArr[2]);
	    diferenciaDias = Math.round((f - hoy)/(24*60*60*1000));
    
	    if(diferenciaDias < -1) {
			return false;
		} else {
			return true
        }
    } else {
    return false;
    } 
}

function cambiarHabitacionesHome(val) 
{
	for(var i =1;i<5;i++) 
	{
	    document.getElementById("cajahab" + i).style.visibility="hidden";
	    document.getElementById("cajahab" + i).style.display="none";
  
  		for(var x =1;x<4;x++) 
		{ 
		    document.getElementById("edad" + i + "-" + x).style.visibility="hidden";
		    document.getElementById("edad" + i + "-" + x).style.display="none";
        		    document.getElementById("habitacion-" + i).selectedIndex=0;
}
        document.getElementById("Habninos" + i).style.visibility="hidden";
        document.getElementById("habita" + i).style.display="none";
	    
	}
	for(i =1;i<=val;i++) 
	{
	         document.getElementById("habita" + i).style.visibility="visible";
	         document.getElementById("habita" + i).style.display="inline";
	         document.getElementById("habitacion-" + i).style.visibility="visible";
	         document.getElementById("habitacion-" + i).style.display="inline";
   document.getElementById("cajahab" + i).style.visibility="visible";
	    document.getElementById("cajahab" + i).style.display="";
	}
	submitCheckHome()
}

function cambiarOcupacionHome(which, val) 
{
	var n = val.split('-')[1]; //cuantos niños
    n = (!n ? 0 : parseInt(n));
    if (n == 0) 
    {
		for(var i =1;i<4;i++) 
		{ 
		    document.getElementById("edad" + which + "-" + i).style.visibility="hidden";
		    //document.getElementById("habitacion-" + i).options[document.getElementById("noches").selectedIndex].value.toString()
		}
	    document.getElementById("Habninos" + which).style.visibility="hidden";
	    document.getElementById('botonBuscar').className = "botonBusc"; 
	    
	 

    
    }
    else 
    {
	    document.getElementById("Habninos" + which ).style.visibility="visible";
	    document.getElementById("Habninos" + which ).style.display="inline-block";
	    
		for(var i =1;i<4;i++) 
		{ 
		    document.getElementById("edad" + which + "-" + i).style.visibility="hidden";
		}
		for(i=1;i<=n;i++) 
		{ 
		    document.getElementById("edad" + which + "-" + i).style.visibility="visible";
		    document.getElementById("edad" + which + "-" + i).style.display="inline";
		 
		}
		document.getElementById('botonBuscar').className = "botonBuscAbajo"; 
	} 
	
	
	submitCheckHome()
}

function validarHoteles2009() 
{    
    document.getElementById("layerError").style.visibility="hidden";
    document.getElementById("destinoAlert").style.visibility="hidden";
    document.getElementById("fechaAlert").style.visibility="hidden";
    document.getElementById("edadesAlert").style.visibility="hidden";
    document.getElementById("layerError").style.display="none";
    document.getElementById("destinoAlert").style.display="none";
    document.getElementById("fechaAlert").style.display="none";
    document.getElementById("edadesAlert").style.display="none";
	if(!hotel_poblacion_checkHome()) {	    
        document.getElementById("layerError").style.visibility="visible";
 	    document.getElementById("destinoAlert").style.visibility="visible";
 	    document.getElementById("layerError").style.display="";
 	    document.getElementById("destinoAlert").style.display="";
	    return;
    }
    if(!hotel_combo_checkHome()) {
 	    document.getElementById("layerError").style.visibility="visible";
 	    document.getElementById("fechaAlert").style.visibility="visible";
 	    document.getElementById("layerError").style.display="";
 	    document.getElementById("fechaAlert").style.display="";
		return;
    }
    if(!hotel_o_paquete_edad_checkHome()) {
 	    document.getElementById("layerError").style.visibility="visible";
 	    document.getElementById("edadesAlert").style.visibility="visible";
 	    document.getElementById("layerError").style.display="";
 	    document.getElementById("edadesAlert").style.display="";
		return;
    }

    var msg='';
	poblacion = $(".claseTXT").val();
	
	
	
    var fechahotel = cambiarFechaHotelHome(document.getElementById("fechaEntrada").value)
    var noches //= document.getElementById("noches").value;
    noches=document.getElementById("noches").options[document.getElementById("noches").selectedIndex].value.toString()
	//var categoria = document.getElementById("categoria").value;
	//var regimen =document.getElementById("regimen").value ;
	var habitaciones = document.getElementById("habitaciones").value;
    var ocupacion='';
	var edades='';
	var edadTempAux = "";
	
	for(var i=1;i<=habitaciones;i++) {
		//obtener ocupaciones y edades
		ocupacion += document.getElementById("habitacion-" + i).value + "/";
	var n = document.getElementById("habitacion-" + i).value.split("-")[1]; //cuantos ninos
	n = (!n ? 0 : parseInt(n));
		var ed=(n == 0 ? "--" : "");
	for(var j=1;j<=n;j++) {
			edadTempAux =document.getElementById("edad"+i+"-"+j).value + "-";
			//Si peta al cogerlo por JQuery, lo intentamos coger por el metodo tradicional que nunca falla
			if(edadTempAux == "undefined-") {
				edadTempAux = document.getElementById("edad" + i + "-" + j)[document.getElementById("edad" + i + "-" + j).selectedIndex].text + "-";
			}
			ed += edadTempAux;
		}
		ed = ed.substring(0,ed.length-1);
		edades += ed + "/";
	}
	
	
	ocupacion = ocupacion.substring(0,ocupacion.length-1);
	//loading2();
	//var url='/hoteles/Buscador/ResultadosHoteles.aspx?pob=' + poblacion + '&ocupa=' + ocupacion + '&edades=' + edades + '&numhab=' + habitaciones + '&fent=' + fechahotel + '&n=' + noches;
	var url='/disponibilidad/resultados.aspx?pob=' + poblacion + '&ocupa=' + ocupacion + '&edades=' + edades + '&numhab=' + habitaciones + '&fent=' + fechahotel + '&n=' + noches;
	url = "http://hoteles.muchoviaje.com" + url;
	document.location.href=url;
	return false;
}

function hotel_poblacion_checkHome() {

	poblacion = $(".claseTXT").val();


  	if (poblacion=="undefined")
  	{
        p = '';
    }
  	else
  	{
        p =poblacion;
  	}
    if (p == 'Elige tu destino...' || p =='' || p.charCodeAt(0) == 32)
    { 
        return  false;
    }
    else
    { 
        return  true;
    }
   
}


function hotel_o_paquete_edad_checkHome() {
    //segurar que los edades estan rellenados
 var allgood = true;
    for(var i=1;i<=document.getElementById("habitaciones").value;i++) {
				n =document.getElementById("habitacion-" + i).value.split("-")
				n= (n[1]? n[1] : 0);
				for(var j=1;j<=n;j++) {
					if(document.getElementById("edad" + i + "-" + j).selectedIndex == 0) { allgood = false; }
				}
            }
    return allgood;
}

function cambiarFechaHotelHome(fecha) {
	var iArr = fecha.split('/');
	y = yLength(iArr[2]);
	m = mLength(iArr[1]);
	d = mLength(iArr[0]);
	fecha = y + '-' + m + '-' + d;
	return fecha;
}

function GetDiaNombre(fecha) {
	m = fecha.match(/^(\d*)(\/?)(\d*)(\2)(\d\d)?(\d\d)$/);
	m[1] = mLength(m[1]);
	m[3] = mLength(m[3]);
	m[5] = yLength(m[5]);
	d =["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado","Domingo"];
	return d[new Date(m[5] + m[6] + "/" + m[3] + "/" + m[1]).getDay()];
}

function mLength(m) {
	m = (m.length == 1 ? "0" + m : m);
	return m;
}
function yLength(y) {
	y = (parseInt(y) < 100 ? "20" + y : y);
	return y;
}
//FIN HOTELES

//VUELOS

function validarVuelo(website) {

    var msg = '';
    var destino;
    var origen = $("#departure").attr("value");
    
    if (document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_ddlArrival").options[document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_ddlArrival").selectedIndex].value.toString()!=undefined)
    {
        //destino = $("#arrival").attr("value");
        destino = document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_ddlArrival").options[document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_ddlArrival").selectedIndex].value.toString()
    }
    else
    {
        destino = ""
    }
    
    if (document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_rbIdaVuelta").checked)
    {
       var ida = 0;
    }
    
    if (document.getElementById("ctl00_cphPrincipal_BuscadorVuelhotel_BuscadorVuelo_rbIda").checked)
    {
       var ida = 1;
    }
    
   //var ida = ($("#idaVuelta").fieldValue() ? '0' : '1');
    var fIda = $("#dateGo").attr("value");
    var fVuelta = $("#dateReturn").attr("value");
    var hIda = '';
    var hVuelta = '';
    var adultos = $("#FormAdults").fieldValue();
    var ninios = $("#FormChilds").fieldValue();
    var bebes = $("#FormInfants").fieldValue();
    
    if (origen!=undefined)
    {
	    if (origen == "" || origen == "Origen") 
	    {
		    msg+='Debes introducir un origen.\n'; 
	    }

	    if (destino!=undefined	)
        {
	        if ((origen.toLowerCase() == destino.toLowerCase()) && (origen != ""))
	        {
		        msg+='El destino y el origen no pueden ser los mismos.\n';
	        }

		    if (destino == "" || destino == "Destino") 
		    {
		        msg+='Debes introducir un destino.\n';
            }
	    }
        else
        {
	        msg+='Debes introducir un destino.\n';
        }

    }
    else
    {
        msg+='Debes introducir un origen.\n';
        if (destino!=undefined	)
        {
            if (destino == "" || destino == "Destino") 
            {
                msg+='Debes introducir un destino.\n';
            }
	    }
        else
        {
            msg+='Debes introducir un destino.\n';
        }
    }


	if (!msg=='')
	{
        alert(msg);
	} 
	else 
	{
	    //loading();
	    if (document.getElementById("layerError")!=undefined)
	    {
	        document.getElementById("layerError").style.visibility="hidden";
            document.getElementById("destinoAlert").style.visibility="hidden";
            document.getElementById("fechaAlert").style.visibility="hidden";
            document.getElementById("edadesAlert").style.visibility="hidden";
	    }

		var url='/billetesavion/aspx/vuelos.aspx?D=' + destino + '&O=' + origen + '&FECS=' + fIda + '&FECV=' + fVuelta + '&NA=' + adultos + '&NN=' + ninios + '&NB=' + bebes + '&IDA=' + ida + '&HS=' + hIda +'&HR=' + hVuelta;
		if(website==8)
        {
	        url = "http://reservas.40viajes.com" + url;
        }
        else
        {
	        url = "http://ofertas.muchoviaje.com" + url;
        }
            
         //alert(url);
         document.location = url;
	     return false;

	}

	//return false;
}
	


//Ventana Orígenes
function showFrecuentAirports(airport) {
	LayerAirportsName = airport;
	elementOrigin = document.getElementById('departure');
	
	left = GetLeft(elementOrigin);
	tope = GetTop(elementOrigin);

	var layer = document.getElementById('layerCities');
	layer.style.top = tope + "px";
	layer.style.left = left + "px";
	layer.style.display = "block";
}

/**
 * Devuelve las coordenadas X
 * @param object element Elemento de donde poder sacar las coordenadas
 */
function GetLeft(elementOrigin) {
    var curNode = elementOrigin;
    var left = 0;
    var wile = "";
    
    var nom = navigator.appName;
    if (nom == "Microsoft Internet Explorer")
    {
        wile = 'html'
    }
    else 
    {
        wile = 'body'
    }


    do {
        left += curNode.offsetLeft;
        curNode = curNode.offsetParent;
    } while(curNode.tagName.toLowerCase() != wile);

    return left;
}

/**
 * Devuelve las coordenadas Y
 * @param object element Elemento de donde poder sacar las coordenadas
 */
function GetTop(elementOrigin) {
    var curNode = elementOrigin;
    var top = 0;
    var wile = "";
    
    var nom = navigator.appName;
    if (nom == "Microsoft Internet Explorer")
    {
        wile = 'html'
    }
    else 
    {
        wile = 'body'
    }
    

    do {
        top += curNode.offsetTop;
        curNode = curNode.offsetParent;
    } while(curNode.tagName.toLowerCase() != wile);

    return top;
}

function buscarSoloIda(tipo) {
	if(tipo == "ida") {
		document.getElementById("buscadorDatosVuelta").style.display = "none";
	} else {
		document.getElementById("buscadorDatosVuelta").style.display = "block";
	}
}


//FIN VUELOS


function submitCheckHome() {
//alert('sumit');
//    //if(document.getElementById("hotelform").name) {
//    if (hotel_poblacion_checkHome() && hotel_o_paquete_edad_checkHome() && hotel_combo_checkHome())
//    { submitshowhide(true)}
//    else
//    {submitshowhide(false)}
//    //}
}
