﻿
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='';
	var poblacion = quitarTilde(document.getElementById('txtBusqueda').value);
    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='/Disponibilidad/Resultados.aspx?pob=' + poblacion + '&cat=' + categoria + '&ocupa=' + ocupacion + '&edades=' + edades + '&numhab=' + habitaciones + '&ureg=' + regimen + '&fent=' + fechahotel + '&n=' + noches;
    url = "http://reservas.40viajes.com/hoteles/" + url;
	document.location.href=url;
	return false;
}


function hotel_poblacion_checkHome() {

  	if (document.getElementById("txtBusqueda").value=="undefined")
  	{
        p = '';
    }
  	else
  	{
        p =document.getElementById("txtBusqueda").value;
  	}
    if (p == 'Elige tu destino...' || p =='' || p.charCodeAt(0) == 32)
    { 
        return  false;
    }
    else
    { 
        return  true;
    }
   
}

function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}
function trim( value ) {
	return LTrim(RTrim(value));
}
function GetDiaNombre(fecha) {
	//fecha tiene que estar en formato dd/mm/yy o d/m/yy o yyyy
	m = fecha.match(/^(\d*)(\/?)(\d*)(\2)(\d\d)?(\d\d)$/);
	m[1] = mLength(m[1]); // 6 -> 06 dia
	m[3] = mLength(m[3]); // 6 -> 06 mes
	m[5] = yLength(m[5]); // 07 -> 2007 anio
	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 yLength(y) {
	y = (parseInt(y) < 100 ? "20" + y : y);
	return y;
}
function mLength(m) {
	m = (m.length == 1 ? "0" + m : m);
	return m;
}

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 quitarTilde(str) {
	rep ={"á":"-aacute","é":"-eacute","í":"-iacute","ó":"-oacute","ú":"-uacute","Á":"-Aacute","É":"-Eacute","Í":"-Iacute","Ó":"-Oacute","Ú":"-Uacute","ñ":"-ntilde","Ñ":"-Ntilde"};
	for(var p in rep) {
		str=str.replace(p,rep[p]);
	}
	return str;
}

//funciones para probar si el formulario puede submit o no
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 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 loading2() {
    document.getElementById("global").style.visibility="hidden";
 	document.getElementById("Espera").style.visibility="visible";
    document.getElementById("Espera").style.display="inline";

}
function pop(pg,t,w,h) {
	window.open(pg,t,'scrollbars=yes,toolbar=no,status=no,resizable=no,width=' + w + ',height=' + h);
}
//manejar popups ej calendarios 
function ninosybebes(callback) {
	if(callback){
		hidepop();
	} else {
		//combo('none');
		load('includes/ninosybebes.aspx', 'formspop');//METER EN EL PROYECTOP ESTA PÁGINA
	}
}
function combo(disp) {
    //apagar o mostrar combos (en ie no puedes flotar elementos encima de un combo)
    for (var f = 0; f < document.forms.length; f++){
        for (var e = 0; e < document.forms[f].length; e++) {
			if(disp =="none") {
				if (document.forms[f].elements[e].options) document.forms[f].elements[e].style.visibility = "hidden";
			} else {
				if (document.forms[f].elements[e].options) document.forms[f].elements[e].style.visibility = "visible";
			}
        }
    }
}
function submitshowhide(val) {
    if(val) {
            document.getElementById("buscarDis").style.visibility="hidden";
            document.getElementById("buscar").style.visibility="visible";
            document.getElementById("buscar").style.display="";
    } else {
            document.getElementById("buscar").style.visibility="hidden";
            document.getElementById("buscarDis").style.visibility="visible";
            document.getElementById("buscarDis").style.display="";
    }
}

function prepDest(cual) {
    v = cual.value
    if (v == "Origen" || v=="Población" || v=="Destino") {
		cual.value="";
		submitshowhide(false);
    }
}

//funciones para probar si el formulario puede submit o no
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 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)}
//    //}
}
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";
	    
		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 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("hab" + i).style.display="none";
	    
	}
	for(i =1;i<=val;i++) 
	{
	         document.getElementById("hab" + i).style.visibility="visible";
	         document.getElementById("hab" + 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="inline";
	}
	submitCheckHome()
}
function fechaHotelCBHome(fecha) {
    if(fecha){
        document.getElementById("fechaEntrada").value= fecha;
        resetCombosHome();
        document.getElementById("fechaEntradaMos").innerText=fecha + ", "+ GetDiaNombre(fecha);
        fechaHotelVueltaHome();
    };
    hidepop();
	submitCheckHome();
}
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 load(src, dest) {
        //document.getElementById("dest").style.visibility="hidden";
       window.open(src,"xcvb",'scrollbars=yes,toolbar=no,status=no,resizable=no,width=300,height=300');
}
function hidepop() {
        combo('');
        document.getElementById("formspop").style.visibility="hidden";

}


