// JScript File
var divEdades = 'buscador_hotel_edades';
var oFechaVH_I, oFechaVH_V;
var formFechaIdaVH = null;
var formFechaVueltaVH = null;
var literalsVH = new Array();

function getIdioma() {
    try{
        return (idioma == undefined)? 'es': idioma;
    }catch(e){ 
        return 'es';
    }
}

function validaEntero(objecte, defaultValue){ 
     //intento convertir a entero. 
     //si era un entero no le afecta, si no lo era lo intenta convertir 
     valor = parseInt(objecte.value, 10) 

      //Compruebo si es un valor numérico 
      if (isNaN(valor)) {             
            //alert('Número incorrecto');
            objecte.value = defaultValue;      
      }
} 
    
function cargaFechaVH(){
    var frm = $("#formPeticionTH").get(0);
    var idioma = getIdioma();
    
    oFechaVH_I = new dateObject("oFechaVH_I");
    oFechaVH_I.idioma = idioma;
    oFechaVH_I.appendFullYearToMonth = true;
	oFechaVH_I.daysObject = frm.diaIda;
	oFechaVH_I.monthsObject = frm.mesIda;
	oFechaVH_I.onChangeFunction = "ponFechaIdaVH()";
	oFechaVH_I.tipoDia = 2
	
	oFechaVH_I.day = parseInt(fidaVH.substring(0,2),10);
	oFechaVH_I.month = parseInt(fidaVH.substring(3,5),10);
	oFechaVH_I.year = parseInt(fidaVH.substring(6,10),10);
				
	oFechaVH_V = new dateObject("oFechaVH_V");
	oFechaVH_V.idioma = idioma;
	oFechaVH_V.appendFullYearToMonth = true;
	oFechaVH_V.daysObject = frm.diaVuelta;
	oFechaVH_V.monthsObject = frm.mesVuelta;
	oFechaVH_V.onChangeFunction = "ponFechaVueltaVH()";
	oFechaVH_V.tipoDia = 2
	
	oFechaVH_V.day = parseInt(fvueltaVH.substring(0,2),10);
	oFechaVH_V.month = parseInt(fvueltaVH.substring(3,5),10);			
	oFechaVH_V.year = parseInt(fvueltaVH.substring(6,10),10);
	
	oFechaVH_I.load();
	oFechaVH_V.load();	
		
	frm.fechaIdaTH.value = oFechaVH_I.takeDate(1);
	frm.fechaVueltaTH.value = oFechaVH_V.takeDate(1);		
}

function ponFechaIdaVH(){
	$("#formPeticionTH").get(0).fechaIdaTH.value = oFechaVH_I.takeDate(1);
	
	if (oFechaVH_V.getDate() <= oFechaVH_I.getDate()){
		ponFechaVueltaVH();
	}	
}

function ponFechaVueltaVH(){
	if (oFechaVH_V.getDate() <= oFechaVH_I.getDate()){
		var diaIda = parseInt(oFechaVH_I.day, 10);
		var diaVuelta = parseInt(oFechaVH_V.day, 10);
        if (diaVuelta < diaIda){
			oFechaVH_V.month = ((parseInt(oFechaVH_I.month) % 12) + 1);
			if (parseInt(oFechaVH_V.month, 10) < parseInt(oFechaVH_I.month, 10)) 
				oFechaVH_V.year = parseInt(oFechaVH_I.year) + 1;
			else
				oFechaVH_V.year = oFechaVH_I.year;
        }else{
			oFechaVH_V.month = oFechaVH_I.month; 
			oFechaVH_V.year = oFechaVH_I.year; 
			if (diaIda == diaVuelta)
				oFechaVH_V.add(2);
        }
        
        oFechaVH_V.load();
	}
        
    $("#formPeticionTH").get(0).fechaVueltaTH.value = oFechaVH_V.takeDate(1);			
}

function mostraCalendarVH2(evt,x,y){
	if (!evt) 
		evt = window.event;
		
    mostraCalendarAbsoluteVH2(evt.clientX + (10 + x), evt.clientY - (10 + y))
}

function mostraCalendarAbsoluteVH2(x,y){
    var strFechaIda, strFechaVuelta;

    formFechaIdaVH = $("#formPeticionTH").get(0).fechaIdaTH;
    formFechaVueltaVH = $("#formPeticionTH").get(0).fechaVueltaTH;

    strFechaIda = formFechaIdaVH.value;
    strFechaVuelta = formFechaVueltaVH.value;

    if (strFechaIda == "")
        strFechaIda = fechaInicioVH;
 
    vcalendarVH2.ggPosX = x;
    vcalendarVH2.ggPosY = y;
    
    if (strFechaVuelta == "") 
	    vcalendarVH2.show_calendar('formFechaIdaVH', strFechaIda, null);
    else
        vcalendarVH2.show_calendar('formFechaVueltaVH', strFechaIda, null);
}

function mostraCalendarVH1(evt,x,y){
	if (!evt) 
		evt = window.event;
		
	mostraCalendarAbsoluteVH1(evt.clientX + (10 + x), evt.clientY - (10 + y))
}

function mostraCalendarAbsoluteVH1(x,y){
    formFechaIdaVH = $("#formPeticionTH").get(0).fechaIdaTH;
	
	vcalendarVH1.ggPosX = x;
	vcalendarVH1.ggPosY = y;
	vcalendarVH1.show_calendar('formFechaIdaVH', fechaInicioVH, null);
}

function desdeCalendarVH1(obj){			
	$("#formPeticionTH").get(0).fechaIdaTH.value = obj;
	
	oFechaVH_I.day = parseInt(obj.substring(0,2),10);
	oFechaVH_I.month = parseInt(obj.substring(3,5),10);
	oFechaVH_I.year = parseInt(obj.substring(6,10),10);
	oFechaVH_I.load();
	/*calculaFechaVueltaVH();
	ponFechaVueltaVH();*/
}

function desdeCalendarVH2(obj){
	$("#formPeticionTH").get(0).fechaVueltaTH.value = obj;	
	
	oFechaVH_V.day = parseInt(obj.substring(0,2),10);
	oFechaVH_V.month = parseInt(obj.substring(3,5),10);
	oFechaVH_V.year = parseInt(obj.substring(6,10),10);
	oFechaVH_V.load();			
}

function calculaFechaVueltaVH(){
	var dAux = new dateObject("dAux");
	dAux.day = oFechaVH_I.day; 
	dAux.month = oFechaVH_I.month;
	dAux.year = oFechaVH_I.year;
	dAux.add(3);
	oFechaVH_V.day = dAux.day; 
	oFechaVH_V.month = dAux.month;
	oFechaVH_V.year = dAux.year;
	oFechaVH_V.load();
}

function comprovaFormTH(){
    var msg = "";			
    var frm = $("#formPeticionTH").get(0);

    var origen = frm.origenTH.value;
    var destino = frm.destinoTH.value;
    var fechaIda = frm.fechaIdaTH.value;
    var fechaVuelta = frm.fechaVueltaTH.value;
    
    var ahora = strToDate(fechaInicioVH, 1); 
    var dataMax = strToDate(fechaMaxVH, 1);
    var ida = strToDate(fechaIda, 1);
    var vueltaMax = addDays(ida, 30)
    var vuelta = strToDate(fechaVuelta, 1);

    var numHab = parseInt(frm.PDnumHabTH.value,10);
	var msg = "";
	
    if ((origen == "")||(origen == strOrigenVH))
        msg += "\n- " + literalsVH[0];
    else{
        if (origen.length < 3)
            msg += "\n - " + literalsVH[1];
    }  
    
    if ((destino == "")||(destino == strDestinoVH))
        msg += "\n- " + literalsVH[2];
    else{
        if (destino.length < 3)
            msg += "\n- " + literalsVH[3];
    }
       
    // Comprobamos que la ida y la vuelta sean diferentes
    if (origen.toLowerCase() == destino.toLowerCase())
        msg += "\n- " + literalsVH[4];
       
    //Comprovamos la fecha de ida
    if (ida < ahora)
        msg += "\n- " + literalsVH[5] + " " + dateToStr(ahora,1);	
    if (vuelta < ida)
        msg += "\n- " + literalsVH[6];
    if (fechaIda == fechaVuelta)
		msg += "\n- " + literalsVH[15];
    if (vuelta > dataMax)
        msg += "\n- " + literalsVH[9];
    if (vuelta > vueltaMax) 
		msg += "\n- " + literalsVH[18];
      
    var numPax = 0;
    switch (numHab){
    case 1:
        numPax = parseInt(frm.PDnumPaxTH0.value);
    break;
    case 2:
        numPax = parseInt(frm.PDnumPaxTH1.value) + parseInt(frm.PDnumPaxTH2.value);
    break;
    case 3:
        numPax = parseInt(frm.PDnumPaxTH1.value) + parseInt(frm.PDnumPaxTH2.value) + parseInt(frm.PDnumPaxTH3.value);
    break;
    }  

    if ((numPax) > 9)
            msg += "\n- " + literalsVH[12];  

    // Filtramos caracteres raros
    frm.origenTH.value = origen.replace("'","");
    frm.destinoTH.value = destino.replace("'","");
	//alert(frm.origenTH.value);
	//alert(frm.destinoTH.value);
	
    if (msg != ""){
		msg = literalsVH[17] + ":\n" + msg;
	    alert(msg);
        return false;
    }else{	    
        return true;
    }
}

function initFormTH(){
   
    cargaFechaVH();
    vcalendarVH1.ggPosX = 545;
    vcalendarVH1.ggPosY = 50;
	vcalendarVH1.returnFunction = "desdeCalendarVH1";
    vcalendarVH1.txtCerrar = literalsVH[10];
    vcalendarVH1.txt = "";
    
    vcalendarVH2.ggPosX = 545;
    vcalendarVH2.ggPosY = 50;
	vcalendarVH2.returnFunction = "desdeCalendarVH2";
    vcalendarVH2.txtCerrar = literalsVH[10];
    vcalendarVH2.txt = "";
}

function cambioOrigenTH(){
    var frm = $("#formPeticionTH").get(0);
    frm.codOrigen.value = "";
}
    
function cambioDestinoTH(){
    var frm = $("#formPeticionTH").get(0);
    frm.codDestino.value = "";
    frm.destinoRef.value = ""
}

// Funciones de la parte de hotel
function creaEdadesVH(){
	var frm =$('#formPeticionTH').get(0);
	var i=1;
	
	//edad ninos
	if ( frm.ninos.value > 0 ){ 
		while (i<= (eval(frm.ninos.value)))
			addEdadVHNen(i++);
		
		$("#" + divEdades).get(0).style.display = "";
	}else{
		$("#" + divEdades).get(0).style.display = "none";
	}
}

function addEdadVH(edad, index){
    var nueva_edad = document.createElement( 'input' ); 
    nueva_edad.type = 'hidden'; 
    nueva_edad.value = edad; 
	nueva_edad.name ='edad_'+index.toString();
	nueva_edad.id ='edad_'+index.toString();

	var busc = $("#" + divEdades).get(0);
	busc.appendChild(nueva_edad);
}

function addEdadVHNen(index)
{
    var nueva_edad = document.createElement( 'select' ); 
	nueva_edad.name ='edad_'+index.toString();
	nueva_edad.id ='edad_'+index.toString();

	for (j=2; j<12; j++) {
		insertOptionVH(nueva_edad,j.toString(),j);
	}
	
	//nueva_edad.appendChild(newOpt);
	var busc = $("#" + divEdades).get(0);
	busc.appendChild(nueva_edad);
}

function insertOptionVH(sel, text, value)
{
	var opt = document.createElement('option');
	opt.text = text;
	opt.value = value;
	
	try{
		sel.add(opt,null); // standards compliant
	}catch(ex){
		sel.add(opt); // IE only
	}
}
function stringEdades(){
    var str = "";
    for (i = 1; i < 100; i++) {
        if (i == 30) {
            str += "<option value='" + i + "' selected>" + i + "</option>";
        } else {
            str += "<option value='" + i + "'>" + i + "</option>";
        }
    }
    return str;
}
function addEdadesPD(sel) {
    if ($(sel).attr("edadesCreadas") != 1) {
        $(sel).empty();
        $(sel).append(stringEdades());
        $(sel).attr("edadesCreadas", 1);
        return;
    }
}

function actualizaHabitacionesPD_TH()
{
    
    var form = $("#formPeticionTH").get(0);

    actualizaPersonasPD_TH(0);
    actualizaPersonasPD_TH(1);
    
    if (form.PDnumHabTH.value>1)
    {
        $("#PDhabTH").hide();
        actualizaPersonasPD_TH(0);
        $("#PDhabTH1").show();
        actualizaPersonasPD_TH(1); 
        $("#PDhabTH2").show();
       actualizaPersonasPD_TH(2);
   } else {
        $("#PDhabTH").show();
        $("#PDhabTH1").hide();
        $("#PDhabTH2").hide();
    }
    if (form.PDnumHabTH.value>2)
    {
        $("#PDhabTH3").show();
        actualizaPersonasPD_TH(3);
    }else{
        $("#PDhabTH3").hide();
    }
}


function actualizarH(){
    var numHab = parseInt(document.getElementById("PDnumHabTH").value);
	if (numHab > 1){
	    document.getElementById("PDhabMultiple").value = "1";
	}else{
	    document.getElementById("PDhabMultiple").value = "0";
	}
	actualizaPax();
}

function actualizaPax(){
	var numHab = parseInt(document.getElementById("PDnumHabTH").value);
	var mensaje;
	var numPax;
	var numAdu;
	var numNin;
	var numBeb;
	var edad;
	var nAdultos = 0;
	var nNinos = 0;
	var nBebes = 0;
	if (numHab > 1){
	    for (i = 1; i <= numHab; i++){
		    numAdu = 0;
		    numNin = 0;
		    numBeb = 0;
		    numPax = document.getElementById("PDnumPaxTH" + i).value;
		    for (j = 1; j <= numPax; j++){
			    edad = parseInt(document.getElementById("PDedadTH_" + i + "_" + j).value);
	
			    if (edad >= 12){
				    nAdultos += 1;
				    numAdu += 1;
			    }else{
				    if (edad < 2){
					    nBebes += 1;
					    numBeb += 1;
				    }else{
					    nNinos += 1;
					    numNin += 1;
				    }
			    }
		    }
		    document.getElementById("PDnumAdu" + i).value = numAdu;
		    document.getElementById("PDnumNin" + i).value = numNin;
		    document.getElementById("PDnumBeb" + i).value = numBeb;
    		
		    document.getElementById("PDadultos").value = nAdultos;
		    document.getElementById("PDninos").value = nNinos;
		    document.getElementById("PDbebes").value = nBebes;
	    }
	}else{
		numPax = document.getElementById("PDnumPaxTH0").value;
		numAdu = 0;
		numNin = 0;
		numBeb = 0;
    	for (j = 1; j <= numPax; j++){
		    edad = parseInt(document.getElementById("PDedadTH_0_" + j).value);
		    if (edad >= 12){
			    numAdu += 1;
		    }else{
			    if (edad < 2){
				    numBeb += 1;
			    }else{
				    numNin += 1;
			    }
		    }
	    }
	    document.getElementById("PDnumAdu0").value = numAdu;
	    document.getElementById("PDnumNin0").value = numNin;
	    document.getElementById("PDnumBeb0").value = numBeb;
		
	    document.getElementById("PDadultos").value = numAdu;
	    document.getElementById("PDninos").value = numNin;
	    document.getElementById("PDbebes").value = numBeb;
	}
}

function actualizaPersonasPD_TH(numHab){

    var pax = $("#PDnumPaxTH" + numHab).get(0).value;
    
    var max = parseInt(pax);

    //if (numHab != 0) {
        for (var i = 1; i <= max; i++) {
            addEdadesPD("#PDedadTH_" + numHab + "_" + i);
            $("#PDedadTH_" + numHab + "_" + i).show();
        }
        
        max = max + 1;
    
        for (var i = max; i <= 6; i++) {
            $("#PDedadTH_" + numHab + "_" + i).hide();
        }
}


//Funciones para abrir frame de busqueda de estaciones
function abreFrameAyudaTH(e){
    if ($("#atrayuda").length == 0 ){
	    $('<iframe name="atrayuda" id="atrayuda" scrolling="auto"  frameborder="1"></iframe>').appendTo('body');
    }
    $("#atrayuda").css("top",e.pageY);
    //Dependiendo del espacio abrimos a la derecha o izquierda
    var x = e.pageX;
    if ( x > 500 ) {x = x - 200;}
    $("#atrayuda").css("left",x);	
    $("#atrayuda").show();
}

function ayudaBuscadorTH() {
	$("#atrImagenAyudaOrigenTH").click(function(e) { abreFrameAyudaTH(e) });
	$("#atrImagenAyudaDestinoTH").click(function(e) { abreFrameAyudaTH(e)});
}
//Click imagen buscador
$(document).ready(function() { ayudaBuscadorTH(); })
