jQuery(function($) {
	cargaBuscador();
})

function cargaBuscador() {
	cambiaTipo($("input[name='tr']:checked").attr("value"), false);
	$("#dt1").change(function() {
		$("#pdt2 option").remove();
		$("#dt2").load("ajax/carga_subdestino.php?dt="+$(this).attr("value"));	
		if ($(this).val()=="MAH" || $(this).val()==3) {
			$("input[name='ps'][value='NLE']").parent().hide();
		} else {
			$("input[name='ps'][value='NLE']").parent().show();
		}
	});	
	$("#btnBaleariaSup").click(function(){
		$("#formBalearia").submit();		
	});
	if ($("#antNoLogin").attr("value")==1) {
	     var minfecha = "+0d";
	} else {
	     var minfecha = "+4d";
	}
	$("#fi").datepicker({ minDate: minfecha, dateFormat: 'dd/mm/yy', numberOfMonths: 2,
		onSelect: function() { actualizaNoches(); } 
	});	
	$("#no").change(function() { actualizaNoches(); });
	actualizaNoches();
	$("#busqRapida").submit(function() {
		var datos = $(this).serialize();
		if (($("#triggerTB").val()!=$("select[name='tb']").val()) || ($("#triggerFI").val()!=$("input[name='fi']").val()) || $("#triggerN").val()!=$("select[name='n']").val()) {
			datos += "&fbarco=1";
		}
		window.location = $(this).attr("action")+datos;
		return false;
	});
	$("input[name='tr']").click(function() {
		cambiaTipo($(this).attr("value"), true);
	});
	$("select.hayNino").change(function() {
		var valor = $(this).attr("value");
		var nombre = $(this).attr("name");
		var numero = nombre.substring(3, nombre.length-7);
		var numerot = nombre.substr(3, nombre.length-10);
		var oc = numero.split("_");
		var nino = oc[1];
		$(".edades", $(this).parent()).remove();
		if (valor>0) {
			var txt = '<div class="edades">';
			for (var t=0; t<valor; t++) {
				txt += '<span><b class="tipoHab">'+(t+1)+'ª habitación</b>:</span><br />';
				for (var i=0; i<nino; i++) {
					txt += '<span class="edadHab">Edad niño '+(i+1)+'</span>: <input type="text" class="vrequerido vnumero" name="oc['+numerot+'][edad][]" /><br />';
				}
			}
			txt += "</div>";
			$(this).after(txt);		
		}
	});
	$("#buscar").click(function() {
        var cant = 0;
        var alerta = "";
        jQuery(".vmenosuno").each(function() {
        	var texto = jQuery(this).attr("value");
        	if (texto>0) {
        		cant++;
        	}
        });
        if (cant==0) {
        	alerta = "Debe reservar al menos una habitación";
        } 
        $(".edades input").each(function() {
        	if ($(this).val()=="") {
        		var cadena = eliminaHTML($(this).parent().html());
        		cadena = cadena.replace(":", "");
        		cadena = cadena.replace("Edad", ", edad ");
        		alerta += "\nDebe introducir la edad del niño para la "+cadena;
        	}
        });
        if (alerta) {
        	alert(alerta);
        	return false;
        }
	});	
	$("input[name='barco_ida'], input[name='barco_vuelta']").click(function() {
		marca($(this));
	});
	$(".tooltip").hover(function(e){
		$("body").append("<div id=\"infotip\">"+$(".info",this).html()+"</div>");
		posicion(e);
		$("#infotip").fadeIn();
	}, function() {
		$("#infotip").remove();
	});
	$(".tooltip").mousemove(function(e) {
		posicion(e);
	});	
	marca(null);
}

function posicion(e) {
	var height = $("#infotip").height();
	var width = $("#infotip").width();
	var x = e.pageX-(width/2);
	var termina = $(window).width()-(e.pageX+(width/2));
	if (termina<0) {
		x = x+termina-20;
	}	
	var y = e.pageY-height-30;
	$("#infotip").css("top",(y)+"px").css("left",(x)+"px");			
}

function marca(este) {
	var primero = $("input[name='barco_ida']:checked").attr("id")>0 ? parseFloat($("input[name='barco_ida']:checked").attr("id")) : 0;
	var segundo = $("input[name='barco_vuelta']:checked").attr("id")>0 ? parseFloat($("input[name='barco_vuelta']:checked").attr("id")) : 0;
	var valor = primero+segundo;
	$("table tr").removeClass("fila3");
	$("input[name='barco_ida']:checked").parents("tr").addClass("fila3");
	$("input[name='barco_vuelta']:checked").parents("tr").addClass("fila3");
	$("#prDisplay").html("Precio barco seleccionado: <span>"+valor+"&euro;</span>");	
	if (este && $("#hayVehiculo").attr("value")!=0) {
		var ida = $("input[name='barco_ida']:checked").attr("value");
		var vuelta = $("input[name='barco_vuelta']:checked").attr("value");
		var lugar = "resultado.php"+window.location.search+"&barco_ida="+ida+"&barco_vuelta="+vuelta;
		window.location = lugar;
	}
}

function eliminaHTML(cadena) {
	var expresion = /<(?:.|\s)*?>/g;
	return cadena.replace(expresion, "");
}

function cambiaTipo(valor, us) {
	if (valor==1) {
		$("#ferry").fadeOut();
		$("select[name='tb']").removeClass("vrequerido");
		$("input[name='ps']").removeClass("vrequerido");
	} else {
		$("#ferry").fadeIn();
		$("select[name='tb']").addClass("vrequerido");
		$("input[name='ps']").addClass("vrequerido");
	}
	if (us) {
		$.history.add("tr="+valor);
	} else {
		$("input[name='tr'][value='"+valor+"']").attr("checked","ckecked");
	}
}

function actualizaNoches() {
	fecha = $("#fi").attr("value");
	noches = $("#no").attr("value");
	if (fecha && noches) {
		var t = fecha.split("/");
		var ano = parseInt(t[2], 10);
		var mes = parseInt(t[1], 10);
		var dia = parseInt(t[0], 10);
		var nfecha = new Date();		
		nfecha.setFullYear(ano, mes-1, dia);
		nfecha.setDate(nfecha.getDate()+parseInt(noches));
		var dia = nfecha.getDate();
		var mes = parseInt(nfecha.getMonth())+1;
		if (dia<10) {
			dia = "0"+dia;
		}
		if (mes<10) {
			mes = "0"+mes;
		}
		var ff = dia+"/"+mes+"/"+nfecha.getFullYear();
		$("#ff_texto").html(ff);
		$("#ff").attr("value", ff);
	}
}
