
function changeFecha (form) {
	var de = document.getElementById(form + ':entrada1');
	var me = document.getElementById(form + ':entrada2');
	var ds = document.getElementById(form + ':salida1');
	var ms = document.getElementById(form + ':salida2');
	var noches = document.getElementById(form + ':noches');
	
	var dev = parseInt(de.value);
	var dsv = parseInt(ds.value);
	var mev = me.value;
	var msv = ms.value;	
	var entrada = mev.split(" - ");
	var salida = msv.split(" - ");
	mev = parseInt(entrada[0]);
	msv = parseInt(salida[0]);
	var yev = parseInt(entrada[1]);
	var ysv = parseInt(salida[1]);
	
	var hoy = new Date();
	var ent = new Date(yev, mev, dev,hoy.getHours(),hoy.getMinutes(),59);
	var sal = new Date(ysv, msv, dsv,hoy.getHours(),hoy.getMinutes(),59);
	
	if (ent.getTime() < hoy.getTime()) ent = hoy;
	if (sal.getTime() <= ent.getTime()) {
		sal.setTime(ent.getTime());
		sal.setDate(sal.getDate() + 1);
	}
	
	var nv = Math.round((sal.getTime() -  ent.getTime()) / (1000 * 60 * 60 * 24)); 
	
	if (nv > 0) {
		noches.value = nv;
	} else {
		sal.setTime(ent.getTime());
		sal.setDate(sal.getDate() + 1);
	}
	
	generar_selects(de, me, ent);
	generar_selects(ds, ms, sal);
}

function changeNoches (form) {
	var de = document.getElementById(form + ':entrada1');
	var me = document.getElementById(form + ':entrada2');
	var ds = document.getElementById(form + ':salida1');
	var ms = document.getElementById(form + ':salida2');
	var noches = document.getElementById(form + ':noches');
	
	if (isNaN(noches.value) || noches.value <= 0) 
		noches.value = 1;
	else 
		noches.value = parseInt(noches.value);
	
	var dev = parseInt(de.value);
	var mev = me.value;
	var entrada = mev.split(" - ");
	mev = parseInt(entrada[0]);
	var yev = parseInt(entrada[1]);
	
	var hoy = new Date();
	var ent = new Date(yev, mev, dev,hoy.getHours(),hoy.getMinutes(),59);
	var sal = new Date();
	
	var val = Math.floor(ent.getTime() +  (noches.value * (1000 * 60 * 60 * 24)));
	sal.setTime(val); 
	noches.value = noches.value;
	
	generar_selects(ds, ms, sal);
}

function generar_selects(select1, select2, fecha) {
	while (select1.options.length > 0) {
		select1.options[0] = null;
	}
	
	for (i = 1; i <= lastDay(fecha.getMonth(), fecha.getFullYear()); i++) {
		var long = (i + '').length;
		var dia;
		if (long > 1) {
			dia = '' + i;
		} else {
			dia = '0' + i;
		}
		var opcion = new Option(dia, i);
		select1.options[i - 1] = opcion;
	}
	
	var s = fecha.getMonth() + " - " + fecha.getFullYear();
	select1.value = fecha.getDate();
	select2.value = s;
}

function lastDay(mes, anno) {
	mes = parseInt(mes);
	anno = parseInt(anno);
    switch (mes) {
   		case 0 : case 2 : case 4 : case 6 : case 7 : case 9 : case 11 : return 31;
		case 1 : return (anno % 4 == 0) ? 29 : 28;
 	}
 	return 30;
 }
 
 function show_rooms(select) {
	if (select.value == "1") {
 		document.getElementById('habitacion_2').style.display = "none";
 		document.getElementById('habitacion_3').style.display = "none";
 		document.getElementById('habitacion_4').style.display = "none";
	}else if (select.value == "2") {
 		document.getElementById('habitacion_2').style.display = "";
 		document.getElementById('habitacion_3').style.display = "none";
 		document.getElementById('habitacion_4').style.display = "none";
  	} else if (select.value == "3") {
 		document.getElementById('habitacion_2').style.display = "";
 		document.getElementById('habitacion_3').style.display = "";
 		document.getElementById('habitacion_4').style.display = "none";
 	} else if (select.value == "4"){
 		document.getElementById('habitacion_2').style.display = "";
 		document.getElementById('habitacion_3').style.display = "";
 		document.getElementById('habitacion_4').style.display = "";
 	}
 }
 
 function show_roomsOffers(select) {
		if (select.value == "1") {
	 		document.getElementById('offer_habitacion_2').style.display = "none";
	 		document.getElementById('offer_habitacion_3').style.display = "none";
	 		document.getElementById('offer_habitacion_4').style.display = "none";
		}else if (select.value == "2") {
	 		document.getElementById('offer_habitacion_2').style.display = "";
	 		document.getElementById('offer_habitacion_3').style.display = "none";
	 		document.getElementById('offer_habitacion_4').style.display = "none";
	  	} else if (select.value == "3") {
	 		document.getElementById('offer_habitacion_2').style.display = "";
	 		document.getElementById('offer_habitacion_3').style.display = "";
	 		document.getElementById('offer_habitacion_4').style.display = "none";
	 	} else if (select.value == "4"){
	 		document.getElementById('offer_habitacion_2').style.display = "";
	 		document.getElementById('offer_habitacion_3').style.display = "";
	 		document.getElementById('offer_habitacion_4').style.display = "";
	 	}
	 }
 
 function show_childrenAges(select){	 
	 var id = select.id.substring(select.id.lastIndexOf(':')+1, select.id.length);
	 if (select.value=="0"){
		 document.getElementById('edad_'+id+'_1').style.display = "none";
		 document.getElementById('edad_'+id+'_2').style.display = "none";
		 document.getElementById('edad_'+id+'_3').style.display = "none";
	 }else if (select.value=="1"){
		 document.getElementById('edad_'+id+'_1').style.display = "block";
		 document.getElementById('edad_'+id+'_2').style.display = "none";
		 document.getElementById('edad_'+id+'_3').style.display = "none";
	 }else if (select.value=="2"){
		 document.getElementById('edad_'+id+'_1').style.display = "block";
		 document.getElementById('edad_'+id+'_2').style.display = "block";
		 document.getElementById('edad_'+id+'_3').style.display = "none";
	 }else if (select.value=="3"){
		 document.getElementById('edad_'+id+'_1').style.display = "block";
		 document.getElementById('edad_'+id+'_2').style.display = "block";
		 document.getElementById('edad_'+id+'_3').style.display = "block";
	 }
		 
 }

 function show_childrenAgesOffers(select){	 
	 var id = select.id.substring(select.id.lastIndexOf(':')+1, select.id.length);
	 if (select.value=="0"){
		 document.getElementById('oedad_'+ id +'_1').style.display = "none";
		 document.getElementById('oedad_'+ id +'_2').style.display = "none";
		 document.getElementById('oedad_'+ id +'_3').style.display = "none";
	 }else if (select.value=="1"){
		 document.getElementById('oedad_'+ id +'_1').style.display = "block";
		 document.getElementById('oedad_'+ id +'_2').style.display = "none";
		 document.getElementById('oedad_'+ id +'_3').style.display = "none";
	 }else if (select.value=="2"){
		 document.getElementById('oedad_'+ id +'_1').style.display = "block";
		 document.getElementById('oedad_'+ id +'_2').style.display = "block";
		 document.getElementById('oedad_'+ id +'_3').style.display = "none";
	 }else if (select.value=="3"){
		 document.getElementById('oedad_'+ id +'_1').style.display = "block";
		 document.getElementById('oedad_'+ id +'_2').style.display = "block";
		 document.getElementById('oedad_'+ id +'_3').style.display = "block";
	 }
		 
 }
 
 function actualizar_dias(d, m, a) {
 	var dias = document.getElementById(d);
 	var meses = document.getElementById(m);
 	var annos = document.getElementById(a);
 
 
 	while (dias.options.length > 0) {
		dias.options[0] = null;
	}
	
	for (i = 1; i <= lastDay(meses.value, annos.value); i++) {
		opcion = new Option(i, i,"","");
		dias.options[i - 1] = opcion;
	}
 }
 
 function actualizar_hoteles(json) {
 	var hoteles = document.getElementById('abode:dfBookBox:hoteles');
 	var destinos = document.getElementById('abode:dfBookBox:destinos');
 	var id_destino = destinos.options[destinos.selectedIndex].value;
 	var encontrado = false;
 	var i = 0;
 	
 	while ( i < json.destinos.length && !encontrado) {
 		if (json.destinos[i].id_destino == id_destino) {
 			encontrado = true; 			
 		} else {
 			i++;
 		}
 	}
 	
 	if (encontrado) {
	 	while (hoteles.options.length > 0) {
			hoteles.options[0] = null;
		}
		
		var array_hoteles = json.destinos[i].hoteles;
		
		for (k = 0; k < array_hoteles.length; k++) {
			var opcion = new Option(array_hoteles[k].nom_hotel,array_hoteles[k].id_hotel, "","");
			hoteles.options[k] = opcion;
		}
	}
 }