include('/lib/buscador/vuelos/aeropuertos.js');

function cambiaFechaVtaVuelos(){
	if($('txtFechaVueltaMini').value == ''){
		$('txtFechaVueltaMini').value=sumaDias($F('txtFechaIdaMini'),7);
	}
	if(ordenaFechas($('txtFechaVueltaMini').value,$('txtFechaIdaMini').value) == -1){
		$('txtFechaVueltaMini').value=sumaDias($F('txtFechaIdaMini'),7);
	}
}
		
function cambiaFechaSalidaHoteles(){
	if(ordenaFechas($('txtFechaSalidaHoteles').value,$('txtFechaEntradaHoteles').value) < 1){
		$('txtFechaSalidaHoteles').value=sumaDias($F('txtFechaEntradaHoteles'),7);
	}
}

function setOrigenIATA(li) {
	$('origenHidMini').value=li.id;
	var desc = li.select('*:[id=descIata]').reduce().innerHTML;
	var ciud = li.select('*:[id=ciudadIata]').reduce().innerHTML;
	var pais = li.select('*:[id=paisIata]').reduce().innerHTML;
	$('txtOrigenMini').value=desc + ', ' + ciud +' '+ pais;
	$('txtDestinoMini').focus();	
}

function setDestinoIATA(li) {	
	$('destinoHidMini').value=li.id;
	var desc = li.select('*:[id=descIata]').reduce().innerHTML;
	var ciud = li.select('*:[id=ciudadIata]').reduce().innerHTML;
	var pais = li.select('*:[id=paisIata]').reduce().innerHTML;
	$('txtDestinoMini').value=desc + ', ' + ciud +' '+ pais;
	$('rbtIdaVueltMini').focus();  		  				
}

function idaYVuelta(){
    if ($('rbtSoloIdaMini').checked) {
        $('txtFechaVueltaMini').value = '';
        $('txtFechaVueltaMini').disabled = true;
        $('imgCalendarioVuelta').style.visibility = "hidden";
    }
    else {
        $('txtFechaVueltaMini').disabled = false;
        $('imgCalendarioVuelta').style.visibility = "visible";
		cambiaFechaVtaVuelos();
    }
}



//realiza una nueva busqueda a partir de los datos del minibuscador
function nuevaBusqueda(){

    //campos minibuscador
    var origen = trim($('origenHidMini').value);
    var destino = trim($('destinoHidMini').value);
	var txtCiudadOrigen=trim($('txtOrigenMini').value);
	var txtCiudadDestino=trim($('txtDestinoMini').value);
    var fSalida = $F('txtFechaIdaMini').split('/');
    var diaSalida = parseInt(fSalida[0], 10);	
    var mesSalida = parseInt(fSalida[1], 10);		
    var anyoSalida = parseInt(fSalida[2],10);
    var fechaVuelta = $('txtFechaVueltaMini').value;
    var diaVuelta = fechaVuelta.substring(0, 2);
    var mesVuelta = fechaVuelta.substring(3, 5);
    var anyoVuelta = fechaVuelta.substring(6, 11);

	//Se comprueba si hay origen y destino seleccionados
	var hayOrigen = !origen.blank() || (!txtCiudadOrigen.blank() && (txtCiudadOrigen != 'Escribe Ciudad o Aeropuerto'));
	var hayDestino = !destino.blank() || (!txtCiudadDestino.blank() && (txtCiudadDestino != 'Escribe Ciudad o Aeropuerto'));
	var mostrarAeropuertos = hayOrigen && hayDestino && (destino.blank() || origen.blank());
	
    var soloIda;
    if ($('rbtSoloIdaMini').checked) {
        soloIda = 'Y';
    }
    else {
        soloIda = 'N';
    }
    //campos de busqueda de index	
    var numAdultos = 1;
    var numNinyos = 0;
    var numBebes = 0;
    var horaIda = '';
    var horaVuelta = '';
    var directos = '';
    
    //validamos
    var valido = true;
    var mensaje = '<center><ul>';
    //codigo HTML para mostrar los iconos 
    var imagenAlerta = '<img src="/images/iconos/warn.gif">';
    
	//comprobamos origen	
	if(!hayOrigen) {
		valido = false;		
		mensaje+='<li>Debe introducir un <strong>origen</strong> correcto.</li>';
	}
	
	//comprobamos destino
	if(!hayDestino){
		valido = false;
		mensaje+='<li>Debe introducir un <strong>destino</strong> correcto.</li>';
	}
	
	if(!origen.blank() && !destino.blank() && origen==destino){
		valido=false;
		mensaje+='<li>El <strong>origen</strong> y el <strong>destino</strong> deben ser distintos.</li>';
	}
    
    //comprobamos que haya fecha de ida
    //if (fechaSalida == '') {
    if (fSalida == '') {
        valido = false;
        mensaje += '<li>Debe introducir una <strong>fecha de ida</strong>.</li>';
    }
    
    //comprobamos que haya fecha de vuelta	
    if ((soloIda == 'N') && (fechaVuelta == '')) {
        valido = false;
        mensaje += '<li>Debe introducir una <strong>fecha de vuelta</strong>.</li>';
    }
    
    //comprobamos fechas
    //comprobamos años
    if (!($('rbtSoloIdaMini').checked)) {
		var fVuelta = fechaVuelta.split('/');
        var diaVuelta = parseInt(fVuelta[0], 10);
	    var mesVuelta = parseInt(fVuelta[1], 10);		
    	var anyoVuelta = parseInt(fVuelta[2]);
    		    	   	
        if (anyoSalida > anyoVuelta) {
            valido = false;
            mensaje += '<li>La <strong>fecha de vuelta</strong> no puede ser anterior a la <strong>fecha de salida.</strong></li>';
        }
        else {
            //años correctos, comprobamos meses
            if (anyoSalida == anyoVuelta && mesSalida > mesVuelta) {
                valido = false;
                mensaje += '<li>La <strong>fecha de vuelta</strong> no puede ser anterior a la <strong>fecha de salida.</strong></li>';
            }
            else {
                //años y meses correctos, comprobamos dias
                if (anyoSalida == anyoVuelta && mesSalida == mesVuelta && diaSalida > diaVuelta) {
                    valido = false;
                    mensaje += '<li>La <strong>fecha de vuelta</strong> no puede ser anterior a la <strong>fecha de salida.</strong></li>';
                }
            }
        }
    }
    else {
		 var diaVuelta = '';
	   	 var mesVuelta = '';		
    	 var anyoVuelta = '';
    }
    //comprobamos numero de pasajeros
    if ((parseInt(numAdultos) + parseInt(numNinyos)) > 9) {
        valido = false;
        mensaje += '<li>El <b>número total de pasajeros</b> no puede ser mayor que 9.</li>';
    }
    
    //si es solo ida quitamos la fecha de vuelta
    if (soloIda == "Y") {
        diaVuelta = '';
        mesVuelta = '';
        anyoVuelta = '';
    }
    
    mensaje += '</ul></center><br><center><a href="javascript:Modalbox.hide()">Cerrar</a></center>';
    if (valido == false) {
        Modalbox.show(mensaje, {
            title: '<center><div class="cabeceraAlerta">' + imagenAlerta + ' Atención, parámetros incorrectos.</div></center>',
            width: 400,
            transitions: true
        });
    }
    else {
		var eDreams;
		var rumbo;
		if ($('chk_EdreamsExterno') == null) {
			eDreams = 0;
		}
		else if($('chk_EdreamsExterno').checked){
			eDreams = 1;
		}
		else{
			eDreams = 0;
		}

		if ($('chk_RumboExterno') == null) {
			rumbo = 0;
		}
		else if($('chk_RumboExterno').checked){
			rumbo = 1;
		}
		else{
			rumbo = 0;
		}
		
        //finalmente montamos la query
		var query= new Hash();
		query.set('origen',origen);
		query.set('destino',destino);
		query.set('diaSalida',diaSalida);
		query.set('mesSalida',mesSalida);
		query.set('anyoSalida',anyoSalida);
		query.set('diaVuelta',diaVuelta);
		query.set('mesVuelta',mesVuelta);
		query.set('anyoVuelta',anyoVuelta);
		query.set('numAdultos',numAdultos);
		query.set('numBebes',numBebes);
		query.set('numNinyos',numNinyos);
		query.set('soloIda',soloIda);
		query.set('horaIda',horaIda);
		query.set('horaVuelta',horaVuelta);
		query.set('directos',directos);
		query.set('idOrigen', $F('ciudadOrigenHidMini'));
		query.set('idDestino', $F('ciudadDestinoHidMini'));
		query.set('txtCiudadOrigen', txtCiudadOrigen);
		query.set('txtCiudadDestino', txtCiudadDestino);
		query.set('eDreams',eDreams);
		query.set('rumbo',rumbo);
		query.set('nuevaVentana', 'true');

		if (mostrarAeropuertos) {
			llamaAeropuertosCercanos(query);
		}
		else {
			iniciarBusquedasExternas(query.toQueryString());
			var destino = "/vuelos/esperaResultados.php?" + query.toQueryString();
			//window.open(destino); // --> lo abre en otra ventana
			document.location.href = destino; // -> lo abre en la misma ventana
		}
    }
    
}

function iniciarBusquedasExternas(query){
	var h = screen.height;
	var popupsAbrir = new Array();
	var browser=navigator.appName;
	
	if($('chk_EdreamsExterno') != null){
		if($('chk_EdreamsExterno').checked){
			popupsAbrir.push('eDreams');
		}
	}
	if($('chk_RumboExterno') != null){
		if($('chk_RumboExterno').checked){
			popupsAbrir.push('rumbo');
		}
	}

	if(browser == "Microsoft Internet Explorer" && popupsAbrir.length > 1){
		var aux = popupsAbrir[0];
		popupsAbrir.clear();
		popupsAbrir.push(aux);
	}
	
	var w = parseInt(screen.width/popupsAbrir.length)-5;
	var x = 0;	
		
	for(var i=0 ; i < popupsAbrir.length ; i++) {
		var name = popupsAbrir[i];
		var tmp = (browser=="Firefox")?name:"_blank";
		var att = 'width=' + w + ',height=' + h + ',toolbar=1,scrollbars=1,screenX=' + x + ',screenY=0,';
		att += 'left=' + x + ',top=0,resizable=1';
		query += '&proveedor=' + name;
		popup = window.open("/vuelos/scrappers/busquedasExternas.php?" + query,tmp,att);
		x = x + w + 5;
		if (typeof(popup) != undefined ){
			popup.blur(); 			
		}
	} 			
    window.focus();	
   	return true;			
}


function nuevaBusquedaHotel(){		
		//cogemos los parametros de busqueda
        var ciudad = trim($F('txtCiudadHoteles'));               
        var fechaLlegada=trim($('txtFechaEntradaHoteles').value);
        var diaLlegada = parseInt(fechaLlegada.split('/')[0], 10);	
        var mesLlegada = parseInt(fechaLlegada.split('/')[1], 10);		
        var anyoLlegada = parseInt(fechaLlegada.split('/')[2],10);
        var fechaSalida=trim($('txtFechaSalidaHoteles').value);     
	    var diaSalida = parseInt(fechaSalida.split('/')[0], 10);	
	    var mesSalida = parseInt(fechaSalida.split('/')[1], 10);		
      	var anyoSalida = parseInt(fechaSalida.split('/')[2]);	
        var numAdultos = 1;                        
		var numNinyos = 0;                        
		var numHabitaciones = $('cmbNumHabitaMiniHoteles').value;  
		var categoria=$('cmbCategoriaMiniHoteles').value;  
				
		//validamos
		var valido=true;
		var mensaje='<center><ul>';
		//codigo HTML para mostrar los iconos 
		var imagenAlerta='<img src="/images/iconos/warn.gif" alt="">';
		
		//comprobamos ciudad
		if(ciudad==''){
			valido=false;
			mensaje+='<li>Debe introducir una <strong>ciudad<\/strong> correcta.<\/li>';
		}
		
		//comprobamos fechas
		//comprobamos años
		if (anyoLlegada > anyoSalida) {
			valido = false;
			mensaje += '<li>La <strong>fecha de salida<\/strong> no puede ser anterior a la <strong>fecha de entrada.<\/strong><\/li>';
		}
		else {
			//años correctos, comprobamos meses
			if ((anyoLlegada == anyoSalida) && (mesLlegada > mesSalida)) {
				valido = false;
				mensaje += '<li>La <strong>fecha de salida<\/strong> no puede ser anterior a la <strong>fecha de entrada.<\/strong><\/li>';
			}
			else {
				//años y meses correctos, comprobamos dias
				if (((anyoLlegada == anyoSalida) && (mesLlegada == mesSalida)) && (diaLlegada >= diaSalida)) {
					valido = false;
					mensaje += '<li>La <strong>fecha de salida<\/strong> no puede ser anterior o igual a la <strong>fecha de entrada.<\/strong><\/li>';
				}
			}
		}
		
		mensaje+='<\/ul><\/center><br><center><a href="javascript:Modalbox.hide()">Cerrar<\/a><\/center>';
		if(valido==false){
			Modalbox.show(mensaje, {title: '<center><div class="cabeceraAlerta">'+imagenAlerta+' Atención, parámetros incorrectos.<\/div><\/center>',width: 400, transitions:true}); 
		}else{
			//finalmente montamos la query			
       		var query='ciudad='+ciudad+'&diaLlegada='+diaLlegada+'&mesLlegada='+mesLlegada+'&anyoLlegada='+anyoLlegada+'&diaSalida='+diaSalida+'&mesSalida='+mesSalida+'&anyoSalida='+anyoSalida+'&numAdultos='+numAdultos+'&numNinyos='+numNinyos+'&numHabitaciones='+numHabitaciones+'&categoria='+categoria;
			var destino = "/hoteles/resultadosHoteles.php?"+query;
	        //window.open(destino);   // --> lo abre en otra ventana
			document.location.href = destino; // lo abre en la misma ventana
		}
    }
	
	function nuevaBusquedaViaje(){		
		//cogemos los parametros de busqueda
        var destino = trim($F('txtDestinoViajes'));
		var mesSalida = $('fechaMesViajes').value;
		var anyoSalida = $('fechaAnyoViajes').value;		
		
		//validamos
		var valido=true;
		var mensaje='<center><ul>';
		//codigo HTML para mostrar los iconos 
		var imagenAlerta='<img src="/images/iconos/warn.gif" alt="">';
		
		//comprobamos ciudad
		if(destino==''){
			valido=false;
			mensaje+='<li>Debe introducir una <strong>ciudad<\/strong> correcta.<\/li>';
		}
						
		mensaje+='<\/ul><\/center><br><center><a href="javascript:Modalbox.hide()">Cerrar<\/a><\/center>';
		if(valido==false){
			Modalbox.show(mensaje, {title: '<center><div class="cabeceraAlerta">'+imagenAlerta+' Atención, parámetros incorrectos.<\/div><\/center>',width: 400, transitions:true}); 
		}else{
			//finalmente montamos la query			
			var query='destino='+destino+'&mesSalida='+mesSalida+'&anyoSalida='+anyoSalida;
			var destino = "/viajes/resultadosViajes.php?"+query;
	        //window.open(destino);   // lo abre en otra ventana
			document.location.href = destino; // lo abre en la misma ventana
		}
    }


