var goes;

// Hack para firefox3
$(document).ready(function(){
	if($.browser.mozilla){
		z=$.browser.version.split('.');
		if(z[1]==9){
			$("#pesta h2").css('margin-right','21px');
			if($('#pesta a:visible').length<3){
				$("#pesta h2").css('width','257px');
			}
			$(".ofertasHome dd").css('margin-top','1px');
		}
	}

// Desglose pasajeros
	if(typeof(numpasajeros)!="undefined"){
		for(i=0;i<3;i++){
			if(numpasajeros[i]!=0){
				$(".desglosebox tbody tr").eq(i).show().find('.tipobillete').html(tipobillete[i]);
				$(".desglosebox tbody tr").eq(i).find('.numpasajeros').html(numpasajeros[i]);
			}
		}
		setDesglose();
	}

// si hay mensajes
	if(errorMessage!=''){showError(errorMessage);}

// Efecto campos formulario
	$("input").click(function(){if($(this).attr("title")==$(this).val())$(this).val("");});
	$("input").blur(function(){if(!$(this).val())$(this).val($(this).attr("title"));});
	$("#comment").click(function(){if($(this).attr("title")==$(this).val())$(this).val("");});
	$("#comment").blur(function(){if(!$(this).val())$(this).val($(this).attr("title"));});

// Efecto cambio de pestanyas.
	$("#pesta a").click(function(){
		$("#pesta a").removeClass("select");
		$(this).addClass("select");
		$("#modulo1 fieldset").css("display","none");
		$($(this).attr("href")).css("display","block");
		return false;
	});

// pestanyas seleccionadas por pagina
	q=document.location.toString().split('/');
	q=q[q.length-1].split('?');
	(q[0])?$("#menuPrincipal a[href='"+q[0]+"']").addClass('select'):$("#menuPrincipal a:eq(0)").addClass('select');
	z=$("#menuPrincipal a[href='"+q[0]+"']").text().toString().toLowerCase();
	(z)?z=$("#pesta a:contains('"+z+"')").addClass('select'):z=$("#pesta a:eq(0)").addClass('select');
	if(!z.text()){$("#pesta a:eq(0)").addClass('select');z=$("#pesta a:eq(0)");}
	$("#modulo1 fieldset").css("display","none");
	$(z.attr("href")).css("display","block");

// datePicker
	$('.date-pick').datePicker({numCals:numCalendars}).dpSetSelected(new Date().asString());
	tmpDate = new Date(new Date().setMonth(new Date().getMonth()+11));
	tmpDate = D2( tmpDate.getDate() ) + '/' + D2( tmpDate.getMonth() + 1 ) + '/' + tmpDate.getFullYear();
	$('.date-pick').datePicker({endDate:tmpDate});

	$('.date-pick').change(function(){
		t=$('.date-pick').index(this);
		var apa=$(this).parents().filter('fieldset');
		var dl=apa.find('.date-pick').length;
		var te=apa.find('.date-pick').index(this)+1;
		if(dl!=te){if(isValidDate($(this).val(),'DMY')){$('.date-pick').eq(t+1).val(addDay($(this).val()));}}
	});

// Radio button idaVuelta s??lo ida buscador Vuelos
	if($('input[@name="tipoVuelo"]:checked').val()=="idaVuelta"){
		$('#divFechaRegreso').show();
		$('#divFechaRegreso').addClass('validar');
	}else{
		$('#divFechaRegreso').removeClass('validar');
		$('#divFechaRegreso').hide();
	}
	$('input:radio[name=tipoVuelo]').click(function(){
		if($('input[@name="tipoVuelo"]:checked').val()=="idaVuelta"){
			$('#divFechaRegreso').show();
			$('#divFechaRegreso').addClass('validar');
		}else{
			$('#divFechaRegreso').removeClass('validar');
			$('#divFechaRegreso').hide();
		}
	});
	
// Checkbox idaVuelta minibuscadores
	if ($('input:checkbox[name=tipoVuelo]').is(":checked")){
		$('#divFechaRegresoText').show();
		$('#divFechaRegresoMini').show();
		$('#divFechaRegresoMini').addClass('validar');
	}else{
		$('#divFechaRegresoMini').removeClass('validar');
		$('#divFechaRegresoMini').hide();
		$('#divFechaRegresoText').hide();
	}
	$('input:checkbox[name=tipoVuelo]').click(function(){
		if ($('input:checkbox[name=tipoVuelo]').is(":checked")){
			$('#divFechaRegresoText').show();
			$('#divFechaRegresoMini').show();
			$('#divFechaRegresoMini').addClass('validar');
		}else{
			$('#divFechaRegresoMini').removeClass('validar');
			$('#divFechaRegresoMini').hide();
			$('#divFechaRegresoText').hide();
		}
	});
	
// Radio button idaVuelta s??lo ida buscador Vuelo+Hotel
	$('input:radio[name=tipoVueloVH]').click(function(){
		if($('input[@name="tipoVuelo"]:checked').val()=="idaVuelta"){
			$('#vuehot div[class="salidaregreso bottom"]').show();
			$('#vuehot div[class="salidaregreso bottom"]').addClass('validar');
		}else{
			$('#vuehot div[class="salidaregreso bottom"],#vuehot div[class="salidaregreso bottom validar"]').hide();
			$('#vuehot div[class="salidaregreso bottom validar"]').removeClass('validar');
		}
	});
	
// Select n??mero de ninyos
	$('#ninyo1,#ninyo2,#ninyo3,#ninyo4').hide();
	$('#numninyos').change(function(){
		$('#ninyo1,#ninyo2,#ninyo3,#ninyo4').hide();
		for(i=1;i<=($('#numninyos').val());i++){$('#ninyo'+i).show()}
	});

// Cambio de color al seleccionar un radiobutton + actualizacion de precios y detalles
	$(".horaVuelo li").click(function(){$(this).find('input').attr("checked","checked").trigger('click');});

	$('input:radio[name=ida],input:radio[name=vuelta]').click(function(){
		$(this).parent().parent().find('li').removeClass('select');
		$(this).parent().addClass('select');
		if($(this).hasClass('unique')){
			$('ul[class=horaVuelo]').eq(1).find('li').removeClass('select');
			$(".infoVuelta").fadeOut(200).css('backgroundColor','#fff');
		}else{
			if($(".infoVuelta").css('display')=='none' && $(this).attr('name')=='vuelta'){$(".infoVuelta").fadeIn(200).css('backgroundColor','#fff');}
			ac=$(this).parent().text().split(' ');
			$(".fecha"+$(this).attr('name')).html(ac[0]+' '+ac[1]);
			$(".salida"+$(this).attr('name')).html(ac[2]);
			$(".llegada"+$(this).attr('name')).html(ac[3]);
			$(".precio"+$(this).attr('name')).find("span").html($(this).val());
		}
		ct=parseFloat($('input:radio[name=ida]:checked').val())+parseFloat($('input:radio[name=vuelta]:checked').val());
		ct=ct.toFixed(2).replace(".",",");
		$(".costeTotal span").html(ct);
		setDesglose();
	});

// buscador autocomplete
	$("#autoorigen, #autodestino, #autoorigen2, #autodestino2, #autoorigen4, #autodestino4").autocomplete("jsp/suggest.jsp",{delay:100,width:160,minChars:2,max:20,mustMatch:true,autoFill:false,matchContains:true,extraParams:{type:'vuelos'}});
	$("#autoorigen3").autocomplete("jsp/suggest.jsp",{delay:100,width:160,minChars:2,max:20,mustMatch:true,autoFill:false,matchContains:true,extraParams:{type:'hoteles'}});
	
// click ofertas vuelos
	$(".ofertasVuelos a").click(function(){
		k=$(this).find("span").html().split("-");
		$("#autoorigen").val(jQuery.trim(k[0]));
		$("#autodestino").val(jQuery.trim(k[1]));
		//$("#vuelos input:eq(1)")[0].autocompleter.setValue(jQuery.trim(k[0]));
		//$("#vuelos input:eq(2)")[0].autocompleter.setValue(jQuery.trim(k[1]));
		$("#modulo1 fieldset").hide();
		$("#pesta a").removeClass("select");
		$("#pesta a:eq(0)").addClass("select");
		$("#vuelos").show();
		window.scrollTo(0,0);
		return false;
	});

//click ofertas hoteles	
	$(".ofertasHoteles a").click(function(){
		k=jQuery.trim($(this).find("span").html());
		kk=k.split('&nbsp; &nbsp;');
		$("#hoteles input:eq(1)").val(kk[0]);
		//$("#hoteles input:eq(2)").val(kk[1]);
		$("#modulo1 fieldset").hide();
		$("#pesta a").removeClass("select");
		$("#pesta a:eq(1)").addClass("select");
		$("#hoteles").show();
		window.scrollTo(0,0);
		return false;
	});
	
//click ofertas coches	
	$(".ofertasCoches a").click(function(){
		k=jQuery.trim($(this).find("span").html());
		kk=k.split('&nbsp; &nbsp;');
		$("#coches input:eq(1)").val(kk[0]);
		$("#modulo1 fieldset").hide();
		$("#pesta a").removeClass("select");
		$("#pesta a:eq(3)").addClass("select");
		$("#coches").show();
		window.scrollTo(0,0);
		return false;
	});
	
//click ofertas vuelohotel	
	$(".ofertasVueloHotel a").click(function(){
		k=$(this).find("span").html().split("-");
		$("#autoorigen2").val(jQuery.trim(k[0]));
		$("#autodestino2").val(jQuery.trim(k[1]));
		$("#modulo1 fieldset").hide();
		$("#pesta a").removeClass("select");
		$("#pesta a:eq(2)").addClass("select");
		$("#vuehot").show();
		window.scrollTo(0,0);
		return false;
	});

// todos los destinos tabla
	$(".destinosTabla").click(function(){
		toff=$(this).offset();
		goes="#"+$(this).prev().attr("id");
		$createIn = $('body');
		if($(".destinosTabla").hasClass('hoteles')){
			attrs = {'id':'destinosTabla','class':'hoteles'};
		}else{
			attrs = {'id':'destinosTabla'};
		}
			
		cssRules = {'top':toff.top-3,'left':toff.left,'height':'330px','overflow':'hidden'};
		$createIn.append($('<div></div>').attr(attrs).css(cssRules).focus());
		loadTable(0,'');
		$("#destinosTabla").bind('mouseleave',function(){destroyTable()});
		if($.browser.msie&&$.browser.version=='6.0')
			$('select').css('visibility','hidden');
	});


// desglose precio div
	$(".desglosebox").bgIframe();
	$(".desglosehover").mousemove(function(e){$(this).parents().next(".desglosebox").css({top:(e.pageY+15)+'px',left:(e.pageX-($(this).parents().next(".desglosebox").width()/2))+'px'});}); 
	$(".desglosehover").hover(function(){$(this).parents().next(".desglosebox").fadeIn(100);
	},function(){$(this).parents().next(".desglosebox").fadeOut(100);});


// extras checkbox
	$(".extras input").change(function(){
		if($(this).is(':checked')){
			a=(parseFloat($(".extrasum").html())+parseFloat($(this).val())).toFixed(2);
		}else{
			a=(parseFloat($(".extrasum").html())-parseFloat($(this).val())).toFixed(2);
		}
		a=a.replace(".",",");
		$(".extrasum").html(a);
	});
	
// validaci??n formularios
	$('form.validar').submit(function(){return $M.validarFormulario($(this));});
	$('form.validarSeleccion').submit(function(){return $M.validarFormularioSeleccion($(this));});

// cuadros texto	
	$(".tbox").click(function(){
		if($.browser.msie&&$.browser.version=='6.0'){
			$("#ilegal").css("opacity", "0.7").css('height',$(document).height()+'px').css("display", "block");
		}else{
			$("#ilegal").css("opacity", "0").css('height',$(document).height()+'px').css("display", "block").animate({opacity:"0.7"}, 500);
		}
		var txtTitle = $(this).attr('title');
		$(".rest-info").load("jsp/texto.jsp?t="+txtTitle, function(){
			ix=(parseInt($(document).width(),10)-parseInt($("#inneri").width(),10))/2;
			if($.browser.msie&&$.browser.version=='6.0'){
				$('body,html').css('overflow','hidden');
			}else{
				$("#inneri").css('position','fixed');
			}
			$("#inneri").css("left", ix+"px").css("bottom", "20%").css("display", "block").bgIframe();
			$(".rest-info").css("display", "block").bgIframe();
			return false;
		});
		return false;
	});
	$("#ilegal").click(function(){
		if($.browser.msie&&$.browser.version=='6.0'){
			$("#inneri,#ilegal,.resti-info").hide();
			$('body,html').css('overflow','');
		}else{
			$("#inneri,#ilegal,.resti-info").fadeOut(300);
		}
	});
});

$M = {
	esEmail : function(string){
		var loEs = string.match(/^.+@[^\.].*\.[a-z]{2,}$/);
		return loEs;
	},
	esFecha : function(string){
		//chequeo de formato
		var previo = string.match(/^(0[1-9]|1\d|2\d|3[0-2])\/(0[1-9]|1[0-2])\/\d{4}$/);
	  	if(previo!=null){
	    	var strSeparator = string.substring(2,3);
	    	//meses no Febrero.
	    	var arrayDate = string.split(strSeparator);
	    	var arrayLookup = {'01':31,'03':31,'04':30,'05':31,'06':30,'07':31,'08':31,'09':30,'10':31,'11':30,'12':31};
	
		    var intDay = parseInt(arrayDate[0],10);
		    var intMonth = parseInt(arrayDate[1],10);
		    var intYear = parseInt(arrayDate[2],10);
 			//check si d??a de mes es v??lido 
		    if (arrayLookup[arrayDate[1]] != null) {
		      	if (intDay <= arrayLookup[arrayDate[1]] && intDay != 0 && intYear > 1975 && intYear < 2050)
		        	return true;     
		    }
		    //check Febrero //bugfix de parseInt //bugfix a??o bisiesto
		    if (intMonth == 2) {
		      	var intYear = parseInt(arrayDate[2],10);
		      	if (intDay > 0 && intDay < 29) {
		        	return true;
		     	} else if (intDay == 29) {
		      		if ((intYear % 4 == 0) && (intYear % 100 != 0) || (intYear % 400 == 0)) {
		          		return true;// year div by 4 and ((not div by 100) or div by 400) ->ok
		        	}
		      	}
		    }
	  	}else {
	    	return false; 
	  	}
	  	return false; 
	},
	validarFormulario : function(t){
		
		var es_valido = true;
		var tipo = ($('#typeSrc').val() && $('#typeSrc').val().length>0)?('#'+$('#typeSrc').val()+' '):'';
		var labels_v = $(tipo+'label.validar,'+tipo+'div.validar,'+tipo+'li.validar',t);
		var input_pw = $('input.password',t);
		var condiciones = $(tipo+'label.condiciones',t);
		var fecha_min = new Date(fechaHoy.getTime()+ ((60 * 1000 * 60 * 24) * 1));
		var fecha_max = new Date(fechaHoy.getTime()+ ((60 * 1000 * 60 * 24) * 360));
		var fecha_inicio = '';
		var fecha_fin = '';
		var t_valor_prev = "";
		var numAdultos = parseInt($('#numPasajeros').val(),10);
		var numNinyos = parseInt($('#numNinyos').val(),10);
		var numBebes = parseInt($('#numBebes').val(),10);
		labels_v.each(function(){
			var tt = $(this);
			var t_valor = $('input,select',tt).val();
			var t_title = $('input,select',tt).attr('title');
			var t_valorpw = $('input.password',tt).val();
			if(t_valorpw!==undefined && t_valorpw.length>0 && t_valor_prev!='' && t_valorpw!=t_valor_prev){es_valido = false;tt.addClass('error');errorMessage = "Revisa las contraseñas introducidas ya que no coinciden";}else if(t_valorpw!==undefined){tt.removeClass('error');}
			t_valor_prev = (t_valorpw!==undefined && t_valorpw.length>0)?t_valorpw:t_valor_prev;
			if(t_valor==''||t_valor==t_title||(tt.hasClass('email')&&!($M.esEmail(t_valor)))||((tt.hasClass('fecha'))&&!($M.esFecha(t_valor)))){
				es_valido = false;
				if(tt.hasClass('m_label')){tt.addClass('error');}else{tt.addClass('error2');}
				if(tt.hasClass('email')&&!($M.esEmail(t_valor))){errorMessage = "Revisa el email introducido";}
				if((tt.hasClass('fecha'))&&!($M.esFecha(t_valor))){errorMessage = "Revisa las fechas introducidas (dd/mm/yyyy)";}
			} else if(t_valorpw===undefined){
				tt.removeClass('error');
				tt.removeClass('error2');
				if(tt.hasClass('fechaIni')){fecha_inicio=new Date(parseInt(t_valor.substring(6),10),(parseInt(t_valor.substring(3,5),10)-1),parseInt(t_valor.substring(0,2),10));};
				if(tt.hasClass('fechaFin')){fecha_fin=new Date(parseInt(t_valor.substring(6),10),(parseInt(t_valor.substring(3,5),10)-1),parseInt(t_valor.substring(0,2),10));};
			};
		});
		if(es_valido && errorMessage=='' && fecha_inicio!='' && fecha_fin!='' && (fecha_inicio.getTime()<fecha_min.getTime() || fecha_fin.getTime()>fecha_max.getTime() || fecha_fin.getTime()<fecha_inicio.getTime())){
			es_valido=false;
			errorMessage = "Revisa las fechas introducidas";
		}else if(!es_valido && errorMessage==''){
			errorMessage = "Es necesario que rellenes los campos obligatorios";
		}else if(condiciones.length>0 && $('input:checked',condiciones).length==0){
			es_valido = false;
			errorMessage = "Es necesario que aceptes las condiciones generales";
		} else if((numAdultos+numNinyos+numBebes)>9){
			es_valido = false;
			errorMessage = "El número máximo de pasajeros para una reserva es de 9";
		}
		if(errorMessage!=''){showError(errorMessage);errorMessage = '';}
		return es_valido;
	},
	validarFormularioSeleccion : function(t){
		var es_valido = true;
		var conjunto = $("#conjuntoSeleccionado").val();
		if($(".radioIda"+conjunto+"[@checked]").size()!=1){ es_valido = false; errorMessage="No ha seleccionado <em>vuelo de ida</em> para este conjunto.<br/>";  }
		if($(".radioVuelta"+conjunto).size() > 0){
			if($(".radioVuelta"+conjunto+"[@checked]").size()!=1){ es_valido = false; errorMessage+="No ha seleccionado <em>vuelo de vuelta</em> para este conjunto.";  }
		}
		if(errorMessage!=''){showError(errorMessage);errorMessage = '';}
		return es_valido;
	}
}

// desglose detalles
function setDesglose(){
	$('input:radio[name=ida]').each(function(e){if($(this).is(':checked'))aa=e;});
	$('input:radio[name=vuelta]').each(function(e){if($(this).is(':checked')){bb=e-1;}});
	s=0;
	for(i=0;i<3;i++){
		if(numpasajeros[i]!=0){
			a=detalleprecio[aa][0][i].toString().split('|');
			if(bb!=-1){b=detalleprecio[bb][1][i].toString().split('|');
			}else{
				var b=new Array();
				b[0]=0;
				b[1]=0;
			}
			c=(parseFloat(a[0])+parseFloat(b[0])).toFixed(2);
			d=(parseFloat(a[1])+parseFloat(b[1])).toFixed(2);
			e=((parseFloat(c)+parseFloat(d))*numpasajeros[i]).toFixed(2);
			f=$(".desglosebox tbody tr").eq(i);
			f.find('.desbill').html(c);
			f.find('.destas').html(d);
			f.find('.destot').html(e);
			s=(parseFloat(s)+parseFloat(e)).toFixed(2);
		}
	}
	$(".desglosebox .sumtot").html(s);
}


// funciones destinos tabla
function loadTable(typ,abc){
	var tmp='';
	if($("#destinosTabla").hasClass('hoteles')){tmp='h';}else{tmp='v';}//{TODO:typ:typ,tipo=tmp}
	$("#destinosTabla").load("jsp/destinotabla.jsp",{typ:typ,abc:abc},function(){
		if($(this).is(":hidden")){
			$("#destinosTabla").show(200);
		}else{
			$("#destinosTabla .destnav").unbind('click');
			$("#destinosTabla .destit").unbind('click');
			$("#destinosTabla .destabc").unbind('click');
		}
		$("#destinosTabla .destnav").bind('click',function(){loadTable($(this).attr("rel"),'');return false;});
		$("#destinosTabla .destabc").bind('click',function(){
			tt=$(this).attr('rel').split('|');
			loadTable(tt[0],tt[1]);return false;
		});
		$("#destinosTabla .destit").one('click',function(){
			$(goes)[0].autocompleter.setValue($(this).text());
			destroyTable();
			return false;
		});
		if(typ=='0'){
			$('#destinosTabla').width(400).height(330).css('overflow','hidden');
		}else{
			$('#destinosTabla').css('overflow','auto');
		}
		$(goes).get(0).blur();
	});
}

function destroyTable(){
	$("#destinosTabla .destnav").unbind('click');
	$("#destinosTabla .destabc").unbind('click');
	$("#destinosTabla .destit").unbind('click');
	$("#destinosTabla").hide(300,function(){$(this).remove();});
	$('select').css('visibility','visible');
	
}

// calendario en castellano (datePicker)
// date localization for locale 'es'
// generated by J???rn Zaefferer using Java's java.util.SimpleDateFormat
Date.dayNames = ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'];
Date.abbrDayNames = ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'];
Date.monthNames = ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];
Date.abbrMonthNames = ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'];
function D2(val){return(val) < 10 ? '0' + val : val;}

function addDay(d){
	var date = d.match( /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/ );
    var when = new Date( RegExp.$3, parseInt( RegExp.$2,10 ) - 1, RegExp.$1 );
	var then = new Date( when.getFullYear(), when.getMonth(), when.getDate() + 1 );
	return D2( then.getDate() ) + '/' + D2( then.getMonth() + 1 ) + '/' + then.getFullYear();
}

function minusDay(d){
	var date = d.match( /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/ );
    var when = new Date( RegExp.$3, parseInt( RegExp.$2,10 ) - 1, RegExp.$1 );
	var then = new Date( when.getFullYear(), when.getMonth(), when.getDate() - 1 );
	return D2( then.getDate() ) + '/' + D2( then.getMonth() + 1 ) + '/' + then.getFullYear();
}

function isValidDate(dateStr, format) {
   if (format == null) { format = "MDY"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "MDY"; }
   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || (format.indexOf("Y") == -1) ) { format = "MDY"; }
   if (format.substring(0, 1) == "Y") { // If the year is first
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}

function addMonth(d,month){
	t=new Date(d);
	if(d.getMonth()==11){
		t.setYear(d.getFullYear()+1);
		t.setMonth(0);
	}else{
		t.setMonth(d.getMonth()+month);
	}
	return t;
} 

// formulario efecto submit en buscadores
function setURL(idForm,tipo,idFecha,operacion){
//	hayWait='<img src="img/loadingAnimation.gif" alt="" />';
//	hayWait='<div id="cargandowaiting" class="cargandoFlash"></div><script type="text/javascript">var fo = new FlashObject("http://upload.mndtravel.es/mnddemo/151x281_concurso-cg.swf", "start", "", "100%", "6,0,29,0");fo.addParam("quality", "high");fo.addParam("menu", "false");fo.addParam("wmode", "opaque");fo.write("cargandowaiting");<\/script>';
	if(!hayWait){
		if (typeof document.body.style.maxHeight === "undefined") {//if IE 6
			$("body","html").css({height: "100%", width: "100%"});
			$("html").css("overflow","hidden");
			if (document.getElementById("TB_HideSelect") === null) {//iframe to hide select elements in ie6
				$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'></div><div id='TB_window'></div>");
				$("#TB_overlay").click(tb_remove);
			}
		}else{//all others
			if(document.getElementById("TB_overlay") === null){
				$("body").append("<div id='TB_overlay'></div><div id='TB_window'></div>");
				$("#TB_overlay").click(tb_remove);
			}
		}
		if(tb_detectMacXFF()){
			$("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png overlay so hide flash
		}else{
			$("#TB_overlay").addClass("TB_overlayBG");//use background and opacity
		}
		$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /></div>");//add loader to the page
		$('#TB_load').show();//show loader
	}else{
		$('select').hide();
		$('html').css('overflow','hidden');
		$('body').css('overflow','hidden').append('<div id="waitCont" style="z-index:1000;top:0px;left:0px;width:100%;height:100%;position:absolute;text-align:center;background:#fff;"></div>');
		$('#waitCont').append('<div id="WC" style="z-index:1002;position:relative;top:30%;background:#fff;"></div>');
		$('#WC').html(hayWait);
		$('#cargandowaiting').css('float','none');
	}

	$('#typeSrc').val(tipo);
	if(idFecha!=''){
		tmpDate=(operacion=="1")?addDay($(idFecha).val()):minusDay($(idFecha).val());
		$(idFecha).val(tmpDate);
	}
	link=$(idForm + " fieldset:visible input[type=hidden]:first").val();
	$(idForm).attr("action",link).submit();
}

function setURLNWS(idForm,tipo,link){
	$('#typeSrc').val(tipo);
	$(idForm).attr("action",link).submit();
}

function setURL2(){
	showError("Módulo temporalmente en mantenimiento. Disculpen las molestias");
}

// formulario seleccion
function setURLSelection(conjunto){
	$("#getLoad").trigger("click");
	link=$(".contenedorCombinados input[type=hidden]:first").val();
	$("#conjuntoSeleccionado").val(conjunto);
	$("#formCombinados").attr("action",link).submit();
}

// formulario seleccion
function setURLSelectionCar(conjunto,indice){
	$("#getLoad").trigger("click");
	link=$(".contenedorCombinados input[type=hidden]:first").val();
	$("#cocheKey").val(conjunto);
	var tmp = $("#s_puntorecogida"+indice).val()
	$('#puntoKey').val(tmp);
	$("#formCombinados").attr("action",link).submit();
}

function setURLLink(idForm,link){
	$('#msgEmail').hide();
	$(idForm).attr("action",link).submit()
}

function equalsValue(value1,value2){
	if(value1==value2){return true;}else{return false;}
}

function password(){
	$('#msgEmail').hide();
	$('#registro').attr("target","iframeEmail");
	$('#registro').attr("action","jsp/recoverpw.jsp").submit();
}

function login(){
	var md5pass = "";
	$('#msgEmail').hide();
	if(($('#password').val()!=null) && ($('#password').val()!="")){
		md5pass = hex_md5($('#password').val())
	}
	$('#password').val(md5pass);
	$('#registro').attr("target","_self");
	$('#registro').attr("action","my-travels.do").submit();
}

function confirmarReserva(){
	document.location.href='confirmation.do';
}

function sortPage(num,location){
	document.location = location+"op="+$("#orden"+num).val();
}

function numResultsPage(num,location){
	document.location = location+"rp="+$("#numResults"+num).val();
}

// Abrir popup
function ventanaSecundaria (URL){
window.open(URL,"ventana1","width=580, height=350, scrollbars=yes, menubar=no, location=no, resizable=no")
}

// mostrar pantalla de errores
function showError(msg){
	$("#warning ul li").html(msg);
	$("#getThick").trigger("click");
}