// JavaScript Document
$(document).ready(function()
{  

	$("#selector_pasajeros").slideDown('slow');
	
	cambiar_tipobusqueda($("input[name='tipo_busqueda']").val());
	cambiar_tipoVuelo($("input[name='tipoVuelo']:checked").val());
	

	$("input[name='TipoBusqueda']").click(
		   function()
		   {	
				cambiar_tipobusqueda($(this).val());				
				//$("form[name='frmTipoBusqueda']").submit();	
			});	

	$("input[name='tipoVuelo']").click(
		   function()
		   {	
				cambiar_tipoVuelo($(this).val());				
				//$("form[name='frmTipoBusqueda']").submit();	
			});	
	
	
	//Completo los combos con los valores correspondientees
	cmb_moneda_list(); 					//Relleno combo moneda
	cmb_adultos_list(); 				//Relleno combo adultos
	cmb_menores_list();					//Relleno combo menores
	cmb_edad_menores_list();			//Relleno combo con edades de menores
	cmb_habitaciones_list();			//Relleno combo habitaciones
	
	$("input[name='ciudad']").focus(function() {
		if( this.value == this.defaultValue ) {
			this.value = "";
		}
	}).blur(function() {
		if( !this.value.length ) {
			this.value = this.defaultValue;
		}
	});

	$("#btn_enviar").click(
		   function()
		   {	
			   $("form[name='frm_buscador']").submit();
		   });
	
	
	
	

	// Autocompletar ciudades	
	$("input[name='ciudad']").autocomplete("/nucleo/booking/frontoffice/ajax/ciudad_autocompletar.asp", {
		minChars: 3,
		width: 310,
		delay:100,
		mustMatch: false, // true, the autocompleter will only allow results that are presented by the backend. Note that illegal values result in an empty input box.
		formatItem: function(row) {
			return row[0] + " (<strong>" + row[1] + "</strong>)";
		},
		formatResult: function(row) {
			return row[0].replace(/(<.+?>)/gi, '');
		}
	});	
	
	$("input[name='ciudad']").result(function(event, data, formatted) {
	if (data)
		 $("input[name='idciudad']").attr('value',data[2]);
	});	
	// ************ fin autocompleta ciudades 
	
	
	// Autocompletar alojamiento nombre
	$("input[name='alojamientoinput']").autocomplete("/nucleo/booking/frontoffice/ajax/alojamiento_autocompletar.asp", {
		minChars: 2,
		width: 310,
		delay:200,
		mustMatch: false, // true, the autocompleter will only allow results that are presented by the backend. Note that illegal values result in an empty input box.
		formatItem: function(row) {
			return row[0] + " (<strong>" + row[2] + "," +  row[3] + "</strong>)";
		},
		formatResult: function(row) {
			return row[0].replace(/(<.+?>)/gi, '');
		}
	});	
	
	
	$("input[name='alojamientoinput']").result(function(event, data, formatted) {
	if (data)
		 $("input[name='idalojamiento']").attr('value',data[1]);
		 $("input[name='ciudad']").attr('value',data[2]);		 
	});	
	
	
	$("#btn_buscar_hotel_nombre").click(
		   function()
		   {	
			   $("form[name='frm_buscador']").attr('action','/nucleo/es/hotel-reservas-paso0.asp');
		   	   $("input[name='ciudad']").removeClass("required");
			   $(".lbl_alojamiento_nombre").show('slow');
			   $(".lbl_ciudad_denominacion").hide('slow');
			   
			   $("input[name='alojamientoinput']").addClass("required");
			   $("#btn_buscar_hotel_ciudad").show('slow');
			   $("#btn_buscar_hotel_nombre").hide('slow');
		   });

	$("#btn_buscar_hotel_ciudad").click(
		   function()
		   {	
		   	   $("form[name='frm_buscador']").attr('action','/nucleo/es/ciudades-hoteles.asp');
		   	   $("input[name='alojamientoinput']").removeClass("required");
			   $(".lbl_alojamiento_nombre").hide('slow');
			   $(".lbl_ciudad_denominacion").show('slow');
			   
			   $("input[name='ciudad']").addClass("required");
			   $("#btn_buscar_hotel_ciudad").hide('slow');
			   $("#btn_buscar_hotel_nombre").show('slow');
		   });
	
	
	
	//busqueda avanzada
	$(".lbl_alojamiento_nombre").hide();
	$("#btn_buscar_hotel_ciudad").hide();	
	
	// selector de pasajeros	
	$("#lbl_adultos_2").hide();
	$("#lbl_adultos_3").hide();
	
	$(".hab1").hide();
	$("#lbl_menores_2").hide();
	$("#lbl_menores_3").hide();
	$("#habitacion_2").hide();
	$("#habitacion_3").hide();
	
	$("#selector_edades_menores").hide();
	$("#lbl_menor_edad_1_1").hide();
	$("#lbl_menor_edad_2_1").hide();
	$("#lbl_menor_edad_3_1").hide();	

	

	actualizar_menores();
	selector_completar();				//Relleno con la consulta previa si existe un Session("IdTentConsulta")
	
	
	$("select[name='cRom']").change(
		function()
		{	
			$(".hab1").show();
			var cmb_habitaciones = $("select[name='cRom']").attr('value');
			actualizar_habitaciones(cmb_habitaciones);	
		});
	
	
	$("#cmb_menores_1").change(
		function()
		{
			var cant_menores_1 = $("#cmb_menores_1").attr('value');
			actualizar_cant_menores_1(cant_menores_1);	

		});
	
	$("#cmb_menores_2").change(
		function()
		{
			var cant_menores_2 = $("#cmb_menores_2").attr('value');
			actualizar_cant_menores_2(cant_menores_2);	

		});
	
	$("#cmb_menores_3").change(
		function()
		{
			var cant_menores_3 = $("#cmb_menores_3").attr('value');
			actualizar_cant_menores_3(cant_menores_3);


		});	
	
	$("#cmb_menores_1_paq").change(
		function()
		{
			var cant_menores_1 = $(this).val();
			actualizar_cant_menores_portada_paquetes(cant_menores_1);	

		});

	//Calendarios 
	
	$('#fecha_partida').datepicker({
		beforeShowDay: $.datepicker.Today,							   
		//beforeShow: customRange,
		showOn: 'both', 
		buttonImage: 'http://www.clubdereservaciones.com/nucleo/booking/frontoffice/images/icon_calendar.gif', 
		buttonImageOnly: true, 
		firstDay: 1});  
	
	$('.dateRange').datepicker({
		beforeShowDay: $.datepicker.Today,							   
		beforeShow: customRange,
		showOn: 'both', 
		buttonImage: 'http://www.clubdereservaciones.com/nucleo/booking/frontoffice/images/icon_calendar.gif', 
		buttonImageOnly: true,
		onSelect: validateData,
		firstDay: 1});  
	
	
	function customRange(input) { 
	
		var _date1 = 0;
		if(input.name == 'date2' && $("input[name='date1']").val()  != ""){
			_date1 = $("input[name='date1']").datepicker('getDate');
			_date1 = _date1.setDate(_date1.getDate()+1);
			_date1 = new Date(_date1);
		}
		
		return {
			
			minDate: _date1//, 
			//maxDate: (input.name == 'date1' ? $("input[name='date2']").datepicker('getDate') : null)
		};
	}
	
	function validateData(dateText, inst) {
		
		if( $(inst.input).attr("name") == 'date1' && $("input[name='date2']").val() != "" ){
			_date1 = new Date(dateText);
			_date2 = $("input[name='date2']").datepicker('getDate');
			_date2 = new Date(_date2);
			if( _date1 >= _date2 ) $("input[name='date2']").val("");
		}
	}
	
	//Valido el formulario
	$("form[name='frm_buscador']").validate();

	//Fin Valido el formulario	
	$("#cmb_menores_1").change();
	
	//cambio los comobos de menores(que ya fueron cargados) segun el att cantidad
	$(".cmb_edad_menores").each( function(){
		if($(this).attr("cantidad")){
			$(this).val($(this).attr("cantidad"));
		}
	});
	
	//si el numero de menores es mayor a 2 se muestra leyenda
	if ($(".mostrar-leyenda").get(0))
		mostrarLeyenda();
	
});

function cambiar_tipoVuelo(tipoVuelo){
	
	
	switch(tipoVuelo){
		 case "Sencillo":
		 
		 	
			$("input[name='date2']").removeClass('required');
			$("input[name='date2']").removeClass('validate-date');
			$(".lbl_date2").hide();
			
			break;

		
		case "Redondo":
		
			$("input[name='date2']").addClass('required');
			$("input[name='date2']").addClass('validate-date');	
			$(".lbl_date2").show();
			
			break;
		
	}

}


function cambiar_tipobusqueda(TipoBusqueda){
		
	var idioma_front;
	idioma_front =  $("input[name='idioma_front']").val();


	switch(TipoBusqueda){
		 case "paquete":
		 
		 	$(".lbl_tipoVuelo").hide();
		 	$(".lbl_aereo_origen").show();
			//$("input[name='date2']").attr('value','null');
			$("input[name='date2']").removeClass('required');
			$("input[name='date2']").removeClass('validate-date');
			$(".CantHabitaciones").hide();
			$(".lbl_date2").hide();
			$("form[name='frm_buscador']").attr('action','/'+ idioma_front + '/paquetes/');
			
			break;

		
		case "hotel":
		
			
			$(".lbl_tipoVuelo").hide();
			$(".lbl_aereo_origen").hide();
			//$("input[name='date2']").attr('value','');
			$("input[name='date2']").addClass('required');
			$("input[name='date2']").addClass('validate-date');	
			$(".CantHabitaciones").show();
			$(".lbl_date2").show();
			$("form[name='frm_buscador']").attr('action',$("input[name='alojamiento_path_link']").val());
			
			break;
		
		case "aereo":
			$(".lbl_tipoVuelo").show();
			$(".lbl_aereo_origen").show();
			//$("input[name='date2']").attr('value','');
			$("input[name='date2']").addClass('required');
			$("input[name='date2']").addClass('validate-date');
			$(".lbl_date2").show();
			$(".CantHabitaciones").hide();
			$("form[name='frm_buscador']").attr('action','/'+ idioma_front + '/aereos/');
			
			break;
		
	}

	//alert(TipoBusqueda);

}

function actualizar_menores(){
	for (var j=1; j <= 3; j++){
		for (var i=1; i <= 6; i++){
			$("#cmb_menor_edad_" + j + "_" + i).hide();
		}	
	}
}

function cmb_moneda_list(){
	// Completo los select
	$("#cmb_moneda").addOption({4:"Dolares"}, false);
	$("#cmb_moneda").addOption({3:"Euros"}, false);	
	$("#cmb_moneda").addOption({9:"Pesos Argentinos"}, false);
	$("#cmb_moneda").addOption({13:"Pesos Mexicanos"}, false);
	$("#cmb_moneda").addOption({14:"Reales Brasileros"}, false);
	$("#cmb_moneda").addOption({49:"Yen Japones"}, false);
	
}


function cmb_adultos_list(){
	// Completo los select
	$("select[name='cAdu']").addOption({1:"1 adulto"}, false);
	$("select[name='cAdu']").addOption({2:"2 adultos"}, true);
	$("select[name='cAdu']").addOption({3:"3 adultos"}, false);
	$("select[name='cAdu']").addOption({4:"4 adultos"}, false);
	$("select[name='cAdu']").addOption({5:"5 adultos"}, false);
	$("select[name='cAdu']").addOption({6:"6 adultos"}, false);
}

function cmb_menores_list(){
	// Completo los select
	$(".cmb_menores").addOption({0:"0 niños"}, true);
	$(".cmb_menores").addOption({1:"1 niño"}, false);
	$(".cmb_menores").addOption({2:"2 niños"}, false);
	$(".cmb_menores").addOption({3:"3 niños"}, false);
	//$(".cmb_menores").addOption({4:"4 niños"}, false);
}

function cmb_edad_menores_list(){
	// Completo los select
	$(".cmb_edad_menores").addOption({1:"1 año"}, false);
	$(".cmb_edad_menores").addOption({2:"2 años"}, false);
	$(".cmb_edad_menores").addOption({3:"3 años"}, false);
	$(".cmb_edad_menores").addOption({4:"4 años"}, false);
	$(".cmb_edad_menores").addOption({5:"5 años"}, false);
	$(".cmb_edad_menores").addOption({6:"6 años"}, false);
	$(".cmb_edad_menores").addOption({7:"7 años"}, false);
	$(".cmb_edad_menores").addOption({8:"8 años"}, false);
	$(".cmb_edad_menores").addOption({9:"9 años"}, false);	
	$(".cmb_edad_menores").addOption({10:"10 años"}, false);
	$(".cmb_edad_menores").addOption({11:"11 años"}, false);
	$(".cmb_edad_menores").addOption({12:"12 años"}, false);
	$(".cmb_edad_menores").addOption({13:"13 años"}, false);
	$(".cmb_edad_menores").addOption({14:"14 años"}, false);
	$(".cmb_edad_menores").addOption({15:"15 años"}, false);
	$(".cmb_edad_menores").addOption({16:"16 años"}, false);
	$(".cmb_edad_menores").addOption({17:"17 años"}, false);
	$(".cmb_edad_menores").addOption({18:"18 años"}, false);
}



function cmb_habitaciones_list(){
	// Completo los select
	$("select[name='cRom']").addOption({1:"1 hab."}, true);
	$("select[name='cRom']").addOption({2:"2 hab."}, false);
	$("select[name='cRom']").addOption({3:"3 hab."}, false);
}


function selector_completar(){
	
	 $.ajax({
	   type: "POST",
	   url: "/nucleo/booking/frontoffice/ajax/selector_completar.asp",
	   dataType: "json",
	   data: "",
	   success: function(data){

		   if (data.rows[0].ciudad != null){
			   $("input[name='ciudad']").attr('value',data.rows[0].ciudad);
			   $("input[name='idciudad']").attr('value',data.rows[0].idciudad);
		   }
		   
		   
		   $("input[name='date1']").attr('value',data.rows[0].date1);
		   $("input[name='date2']").attr('value',data.rows[0].date2);
		   $("select[name='cRom']").selectOptions("" + data.rows[0].crom, true);
		   $("#cmb_adultos_1").selectOptions("" + data.rows[0].cadu1, true);
		   $("#cmb_adultos_2").selectOptions("" + data.rows[0].cadu2, true);
		   $("#cmb_adultos_3").selectOptions("" + data.rows[0].cadu3, true);
		   $("#cmb_menores_1").selectOptions("" + data.rows[0].ckdr1, true);
		   $("#cmb_menores_2").selectOptions("" + data.rows[0].ckdr2, true);
		   $("#cmb_menores_3").selectOptions("" + data.rows[0].ckdr3, true);
		   
		   $("#cmb_menor_edad_1_1").selectOptions("" + data.rows[0].ages1, true);
		   $("#cmb_menor_edad_1_2").selectOptions("" + data.rows[0].ages2, true);
		   $("#cmb_menor_edad_1_3").selectOptions("" + data.rows[0].ages3, true);
		   $("#cmb_menor_edad_1_4").selectOptions("" + data.rows[0].ages4, true);
		   $("#cmb_menor_edad_1_5").selectOptions("" + data.rows[0].ages5, true);
		   $("#cmb_menor_edad_1_6").selectOptions("" + data.rows[0].ages6, true);
		   
		   $("#cmb_menor_edad_2_1").selectOptions("" + data.rows[0].ageb1, true);
		   $("#cmb_menor_edad_2_2").selectOptions("" + data.rows[0].ageb2, true);
		   $("#cmb_menor_edad_2_3").selectOptions("" + data.rows[0].ageb3, true);
		   $("#cmb_menor_edad_2_4").selectOptions("" + data.rows[0].ageb4, true);
		   $("#cmb_menor_edad_2_5").selectOptions("" + data.rows[0].ageb5, true);
		   $("#cmb_menor_edad_2_6").selectOptions("" + data.rows[0].ageb6, true);		   
		   
		   $("#cmb_menor_edad_3_1").selectOptions("" + data.rows[0].agec1, true);
		   $("#cmb_menor_edad_3_2").selectOptions("" + data.rows[0].agec2, true);
		   $("#cmb_menor_edad_3_3").selectOptions("" + data.rows[0].agec3, true);
		   $("#cmb_menor_edad_3_4").selectOptions("" + data.rows[0].agec4, true);		   
		   $("#cmb_menor_edad_3_5").selectOptions("" + data.rows[0].agec5, true);
		   $("#cmb_menor_edad_3_6").selectOptions("" + data.rows[0].agec6, true);	
		   
			$("#cmb_moneda").selectOptions("" + data.rows[0].pasajero_idmoneda, true);
		   
		   //$("#selector_edades_menores").show();
		   actualizar_cant_menores_1(data.rows[0].ckdr1);	
		   actualizar_cant_menores_2(data.rows[0].ckdr2);	
		   actualizar_cant_menores_3(data.rows[0].ckdr3);	
		   actualizar_habitaciones(data.rows[0].crom);

	   		}
			
	 });
	 
}

function actualizar_habitaciones(cmb_habitaciones){

	for (var i=1; i <= 3; i++){
		if (i <= cmb_habitaciones) {
			$("#lbl_adultos_" + i).show();
			$("#lbl_menores_" + i).show();
			$("#habitacion_" + i).show();
			
			//$("#lbl_menor_edad_" + i + "_1").show();					
		}
		else{
			$("#lbl_adultos_" + i).hide();			
			$("#lbl_menores_" + i).hide();
			$("#lbl_menor_edad_" + i + "_1").hide();
			$("#habitacion_" + i).hide();
		}
	}
}



function actualizar_cant_menores_1(cant_menores_1){

	if (cant_menores_1 > 0){
		$("#selector_edades_menores").show();
		$("#lbl_menor_edad_1_1").show();
		
	}
	else{
		
		$("#lbl_menor_edad_1_1").hide();
		$("#selector_edades_menores").hide();
	}
	
	for (var i=1; i <= 4; i++){
		if (i <= cant_menores_1) {
			$("#cmb_menor_edad_1_" + i).show();
		}
		else{
			$("#cmb_menor_edad_1_" + i).hide();
		}
	}
}


function actualizar_cant_menores_2(cant_menores_2){

if (cant_menores_2 > 0){
		$("#lbl_menor_edad_2_1").show();
		$("#selector_edades_menores").show();
	}
	else{
		$("#lbl_menor_edad_2_1").hide();
		//$("#selector_edades_menores").hide();
	}
		
	for (var i=1; i <= 4; i++){
		if (i <= cant_menores_2) {
			$("#cmb_menor_edad_2_" + i).show();					
		}
		else{
			$("#cmb_menor_edad_2_" + i).hide();
		}
	}
}


function actualizar_cant_menores_3(cant_menores_3){
	
	if (cant_menores_3 > 0){
		$("#lbl_menor_edad_3_1").show();
		$("#selector_edades_menores").show();
	}
	else{
		$("#lbl_menor_edad_3_1").hide();
		//$("#selector_edades_menores").hide();
	}
	
	for (var i=1; i <= 4; i++){
		if (i <= cant_menores_3) {
			$("#cmb_menor_edad_3_" + i).show();
		}
		else{
			$("#cmb_menor_edad_3_" + i).hide();	
		}
	}
}

function actualizar_cant_menores_portada_paquetes(cant_menores_1){

	if (cant_menores_1 > 0){
		$("#selector_edades_menores_paq").show();
		$("#lbl_menor_edad_1_1_paq").show();
		
	}
	else{
		
		$("#lbl_menor_edad_1_1_paq").hide();
		$("#selector_edades_menores_paq").hide();
	}
	
	for (var i=1; i <= 4; i++){
		if (i <= cant_menores_1) {
			$("#cmb_menor_edad_1_" + i + "_paq").show();
		}
		else{
			$("#cmb_menor_edad_1_" + i + "_paq").hide();
		}
	}
}

function validarDatosMenores(){
	var resp = true;
	if( $("#cmb_menores_1").val() > 0  ){
		$(".cmb_edad_menores").each(function(){
			if( $(this).val() == 0 && $(this).css("display") == 'inline' && resp ){
				alert("Debe seleccionar las edades de los Menores");
				resp =  false;
			}
		});
	}
	
	return resp;	
}

//muestra leyenda de cantidad de menores
function mostrarLeyenda(){
	
	var mensaje = "<strong>Cada paquete puede incluir un máximo de 2 menores.</strong><br/> " +
                "Los paquetes mostrados son para "+ $("select[name='cAdultos'] option[selected]").html() +" y 2 menores.<br/>"+
                "Usted podrá indicar la cantidad de paquetes en la pantalla de descripción."
	$("div.leyenda").html(mensaje);
	$("div.leyenda").slideDown();
	
}