function isIE6(){
      return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}

function checkDates(form, start, end){
	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 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,0,0,0);
	var sal = new Date(ysv, msv, dsv,0,0,0);
	
	var minDate = null;
	var maxDate = null;

	if (null != start && null != end) {
		var sDate = start.split("-");
		var eDate = end.split("-");
		if (sDate.length == 3 && eDate.length == 3) {
			minDate = new Date(sDate[0], (sDate[1]-1), sDate[2]);
			maxDate = new Date(eDate[0], (eDate[1]-1), eDate[2]);
		}
	}
	if (ent<minDate || ent>maxDate){
		alert ('fecha de entrada fuera de rango : ent:'+ent+" minDate : "+minDate+"  maxDate: "+maxDate);
		return false;
	}
	if (sal<minDate || sal>maxDate){
		alert ('fecha de salida fuera de rango : sal:'+sal+" minDate : "+minDate+"  maxDate: "+maxDate);
		return false;
	}
	return true;
	
}
function changeFecha (form, start, end, firstTime) {
	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()) {
		if (firstTime) {
			ent = hoy;
		} else {
			ent = new Date(yev, mev + 1, dev,hoy.getHours(),hoy.getMinutes(),59);
			firstTime = true;
		}
	}
	if (sal.getTime() <= ent.getTime()) {
		if (firstTime) {
			sal.setTime(ent.getTime());
			sal.setDate(sal.getDate() + 1);
		} else {
			sal = new Date(ysv, msv + 1, dsv,hoy.getHours(),hoy.getMinutes(),59);
		}
	}
	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, start, end);
	generar_selects(ds, ms, sal, start, end);
}



function changeNoches (form, start, end) {
	var ONE_DAY = 1000 * 60 * 60 * 24
	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)));
	var valDate = new Date(val);
	sal.setTime(val);
	noches.value = noches.value;

	if (null != end) {
		var eDate = end.split("-");
		if (eDate.length == 3) {
			maxDate = new Date(eDate[0], (eDate[1]-1), eDate[2]);
			if (maxDate.getTime() < val) {
				sal.setTime(maxDate.getTime());
				 // Convert both dates to milliseconds
			    var date1_ms = ent.getTime();
			    var date2_ms = sal.getTime();
			    // Calculate the difference in milliseconds
			    var difference_ms = Math.abs(date1_ms - date2_ms);
			    // Convert back to days and return
			    noches.value = Math.round(difference_ms/ONE_DAY);
			}
		}
	}

	generar_selects(ds, ms, sal, start, end);
}

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 generar_selects(select1, select2, fecha) {
	generar_selects(select1, select2, fecha, null, null);
}

function generar_selects(select1, select2, fecha, start, end) {

	var minDate = null;
	var maxDate = null;

	if (null != start && null != end) {
		var sDate = start.split("-");
		var eDate = end.split("-");
		if (sDate.length == 3 && eDate.length == 3) {
			minDate = new Date(sDate[0],  (sDate[1]-1), sDate[2]);
			maxDate = new Date(eDate[0],  (eDate[1]-1), eDate[2]);
		}
	}

	while (select1.options.length > 0) {
		select1.options[0] = null;
	}
	var fDay = 1;
	var lDay = lastDay(fecha.getMonth(), fecha.getFullYear());

	if (null != minDate) {
		if (minDate.getMonth() == fecha.getMonth() && minDate.getFullYear() == fecha.getFullYear()) {
			fDay = minDate.getDate();
		}
	}
	if (null != maxDate) {
		if (maxDate.getMonth() == fecha.getMonth() && maxDate.getFullYear() == fecha.getFullYear()) {
			lDay = maxDate.getDate();
		}
	}

	var j = 0;
	for (i = fDay; i <= lDay; i++) {
		var long = (i + '').length;
		var dia;
		if (long > 1) {
			dia = '' + i;
		} else {
			dia = '0' + i;
		}
		var opcion = new Option(dia, i);
		select1.options[j++] = opcion;
	}

	var s = fecha.getMonth() + " - " + fecha.getFullYear();
	select1.value = fecha.getDate();
	if (minDate!=null && maxDate!=null){
		while (select2.options.length > 0) {
			select2.options[0] = null;
		}
		var j = 0;
		var mesInicio = minDate.getMonth();
		var mesFin = maxDate.getMonth();
		if (mesFin<mesInicio){
			mesFin = mesFin+12;
		}
		while (mesInicio<=mesFin){
			m = mesInicio;
			y = minDate.getFullYear();
			if (m>12){
				m  = m-12;
				y = maxDate.getFullYear();
			}
			var opcion = new Option((m+1)+" - "+y, m+" - "+y);
			select2.options[j] = opcion;
			mesInicio++;
			j++;
		}
	}
	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;
 }

var max_edad_1=0;
var max_edad_2=0;
var max_edad_3=0;
var max_edad_4=0;

function show_rooms(select,style) {
	if (isIE6() && (style=='table-cell' || style=='table-row')){
		 style='block';
	}
	var form = select.id.substring(0, select.id.lastIndexOf(':')+1);
  	if (select.value == "2") {
 		document.getElementById('habitacion_2').style.display = style;
 		ocultar(3);
 		ocultar(4);
  	} else if(select.value == "3") {
  		document.getElementById('habitacion_2').style.display = style;
  		document.getElementById('habitacion_3').style.display = style;
  		ocultar(4);
  	} else if(select.value == "4") {
  		document.getElementById('habitacion_2').style.display = style;
  		document.getElementById('habitacion_3').style.display = style;
  		document.getElementById('habitacion_4').style.display = style;
 	} else if(select.value == "1") {
 		ocultar(2);
 		ocultar(3);
 		ocultar(4);
		max_edad_2=0;
		max_edad_3=0;
		max_edad_4=0;
 	}
 }

function ocultar(idx){
	document.getElementById('habitacion_'+idx).style.display = "none";
	document.getElementById('edad_ninos_'+idx+'_1').value = "0";
	document.getElementById('edad_ninos_'+idx+'_2').value = "0";
	document.getElementById('edad_ninos_'+idx+'_3').value = "0";
	document.getElementById('cant_ninos'+idx).value = "0";
	document.getElementById('edad_ninos'+idx+'_1').style.display = "none";
	document.getElementById('edad_ninos'+idx+'_2').style.display = "none";
	document.getElementById('edad_ninos'+idx+'_3').style.display = "none";	
}


 function show_childrenAges(select,style){
	
	 var id = select.id.substring(select.id.lastIndexOf(':')+1, select.id.length);
	 id = id.substring(id.indexOf('_')+1,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 = style;
		 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 = style;
		 document.getElementById('edad_'+ id +'_2').style.display = style;
		 document.getElementById('edad_'+ id +'_3').style.display = "none";
	 }else if (select.value=="3"){
		 document.getElementById('edad_'+ id +'_1').style.display = style;
		 document.getElementById('edad_'+ id +'_2').style.display = style;
		 document.getElementById('edad_'+ id +'_3').style.display = style;
	 }		 
 }

 
function show_childrenAgesFull(select,style){
	 if (isIE6() && (style=='table-cell' || style=='table-row')){
		 style='block';
	 }
	 show_childrenAges(select,style);
	 
	 var id = select.id.substring(select.id.lastIndexOf(':')+1, select.id.length);
	 id = id.substring(id.length-1, select.id.length);
	 
	 if(id==1){max_edad_1=select.value;}
	 else if(id==2) {max_edad_2=select.value;}
	 else if(id==3) {max_edad_3=select.value;}
	 else if(id==4) {max_edad_4=select.value;}

	 document.getElementById('etiqueta_edades_1').style.display = "none";
	 document.getElementById('etiqueta_edades_2').style.display = "none";
	 document.getElementById('etiqueta_edades_3').style.display = "none";
	 document.getElementById('etiqueta_edades_4').style.display = "none";
	 
	 for(i=1;i<=3;i++){
		 document.getElementById('edad_'+i).style.display = "none";
	 }
	 
	 if(max_edad_1 > 0)document.getElementById('etiqueta_edades_1').style.display = style;
	 if(max_edad_2 > 0)document.getElementById('etiqueta_edades_2').style.display = style;
	 if(max_edad_3 > 0)document.getElementById('etiqueta_edades_3').style.display = style;
	 if(max_edad_4 > 0)document.getElementById('etiqueta_edades_4').style.display = style;
	 
	 if(max_edad_1 > max_edad_2){
		 for(i=1;i<=max_edad_1;i++){
			 document.getElementById('edad_'+i).style.display = style;
		 }
	 }else  if(max_edad_1 <= max_edad_2){
		 for(i=1;i<=max_edad_2;i++){
			 document.getElementById('edad_'+i).style.display = style;
		 }
	 }
 }



 