function disallowDate(date) {		
	var hoy = new Date();
	//ponemos la hora, minutos y segundos a 0
	hoy.setHours(0);
	hoy.setMinutes(0);
	hoy.setSeconds(0);
	
		// date is a JS Date object
	if ( (date.getFullYear() < hoy.getFullYear()) ||
        (date.getFullYear() == hoy.getFullYear() && date.getMonth() < hoy.getMonth())  ||
        (date.getFullYear() == hoy.getFullYear() && date.getMonth() == hoy.getMonth() && date.getDate() < hoy.getDate()) ) {									
	    return true; // disable							    
	}
	return false; // enable other dates
};
				
function eliminaCal(calendario) {
	calendar.hide();
	calendario.destroy();
}

function diasSel(){
	var diasL = 0;
	var diasH = 0;
	var arrivalDate = $('arrivalDate').value;
	var departureDate = $('departureDate').value;
	if((arrivalDate.length <= 0) || (departureDate.length <= 0)) return;
	
	aAriDate = arrivalDate.split("/");
	aDepDate = departureDate.split("/");
	
	if (isHighSeason(aAriDate[0], aAriDate[1])){
		if(isHighSeason(aDepDate[0], aDepDate[1])){
			diasH = restarFechas (aAriDate[0], aAriDate[1], aAriDate[2], aDepDate[0], aDepDate[1], aDepDate[2]);
		}else{
			diasH = restarFechas (aAriDate[0], aAriDate[1], aAriDate[2], 31, 9, aAriDate[2]);
			diasL = restarFechas ( 1, 10, aDepDate[2], aDepDate[0], aDepDate[1], aDepDate[2]);
		}
	}else{
		if (isHighSeason(aDepDate[0], aDepDate[1])) {
			diasH = restarFechas (1, 4, aDepDate[2], aDepDate[0], aDepDate[1], aDepDate[2]);
			diasL = restarFechas ( aAriDate[0], aAriDate[1], aAriDate[2], 31, 3, aAriDate[2]);
		} else {
			diasL = restarFechas (aAriDate[0], aAriDate[1], aAriDate[2], aDepDate[0], aDepDate[1], aDepDate[2]);
		}
	}
	if ($('diasL') !== null){ $('diasL').value = diasL; }
	if ($('diasH') !== null){ $('diasH').value = diasH; }
	//calcularTotalRent();
}

function restarFechas(dia1,mes1,ano1,dia2,mes2,ano2){
	fecha1=new Date(ano1,mes1-1,dia1);
	fecha2=new Date(ano2,mes2-1,dia2);
	var resta=(fecha2-fecha1)/1000/3600/24;
	return Math.ceil(resta);
}

// comprobamos si el dia y el mes se encuentra dentro de la fecha High
function isHighSeason(dia, mes){
	if(mes > 4 && mes < 9) return true;
	if(mes == 4 && dia >= 1) return true;
	if(mes == 9 && dia <= 31) return true;
	return false;		
}

function isLowSeason(dia, mes){
	return !isHighSeason(dia, mes);
}

function cambiaNumAdults(){
	var numAdults = Math.ceil($('totalAdults').value /2);
	var precio = numAdults * 15;
	$('precioToallas').innerHTML = precio;
	//$('numAdults').innerHTML = numAdults;
	//calcularTotalRent();
}

function calcularTotalRent(){
	var diasL = $('diasL').value;
	var diasH = $('diasH').value;
	var precioDias = (diasL / 7 ) * $('price_lowseason').value;
	precioDias = precioDias + (diasH / 7 ) * $('price_highseason').value;
	$('rental1').innerHTML = precioDias ;
	
	var numAdults = Math.ceil($('totalAdults').value /2);
	var precioToallas = numAdults * 15;
	var precioLimpieza = 55;
	
	var precio = precioDias + precioToallas + precioLimpieza;
	$('rentalTotal').innerHTML = precio;
	$('rentalTotalhid').value = precio;
	//calcularExtras();
}

/*
function calcularExtras(){
	var numAdults = $('totalAdults').value
	var pExtras = 0;
	var diasL = $('diasL').value;
	var diasH = $('diasH').value;

	var numBedrooms = $('numBedrooms').value;
	var pCleaning = numBedrooms * 18;
		
	$('extrasTotalhid').value = pExtras;
	calcularTotal();
}

function calcularTotal(){
	var pRental = $('rentalTotalhid').value;
	var pTotal = parseInt(pRental);
	$('totalReserv').innerHTML = pTotal;
}
*/
function getCalendar(year, pId, lang){
	var url = 'lib/calendar.php?year=' + year + '&pId=' + pId;
	jx.load(url, 
		function(data){
			var d = new Date();
			$('year').value = year;
			if(parseInt($('year').value) <= d.getFullYear()) {
				$('calendar_prev').hide();
			}
			else {
				$('calendar_prev').show();
			}
			$('yearNaviCalendar').innerHTML = year;
			$('cntCalendar').innerHTML = data;
		},
		'text','get');
}

function guardarReserva(){
	//concatenamos valores a la url
	var url = 'lib/reservation.php?action=set';
	url = url + '&proterties_id=' + $('proterties_id').value;
	url = url + '&firstName=' + $('firstName').value;
	url = url + '&lastName=' + $('lastName').value;
	url = url + '&telephone=' + $('telephone').value;
	url = url + '&email=' + $('email').value;
	url = url + '&address=' + $('address').value;
	url = url + '&country=' + $('country').value;
	url = url + '&arrivalDate=' + $('arrivalDate').value;
	url = url + '&departureDate=' + $('departureDate').value;
	url = url + '&arrival_time=' + $('arrival_time').value;
	url = url + '&departure_time=' + $('departure_time').value;	
	url = url + '&totalAdults=' + $('totalAdults').value;
	url = url + '&wishes=' + $('wishes').value;
	
	jx.load(url, 
		function(data){
			$('firstName').className = "";
			$('lastName').className = ""
			$('telephone').className = ""
			$('email').className = ""
			$('arrivalDate').className = ""
			$('departureDate').className = ""
			$('totalAdults').className = ""
			
			var cod = data;
			for (i=0;i<cod.length;i++){
				switch(parseInt(cod[i])){
					case 0:	alert("Thank you for your order"); break;
					case 2:	alert("Error: realizando reserva."); break;
					case 3:	$('firstName').className = "invalid"; break;
					case 4:	$('lastName').className = "invalid"; break;
					case 5:	$('telephone').className = "invalid"; break;
					case 6:	$('email').className = "invalid"; break;
					case 8:	$('arrivalDate').className = "invalid"; break;
					case 9:	$('departureDate').className = "invalid"; break;
					case 10: $('totalAdults').className = "invalid"; break;
				}
			} 
			if(cod.length != 0) window.location = "#step1";
			else{
				$('paso3').style.display="block";
				window.location = "#thanks";
			} 
		},
		'json','get');
}

function  inicializaDetails(){
		Calendar.setup({
			inputField : "departureDate",   // id of the input field
			button : "fechaIdaMiniCal",
			ifFormat   : "%d/%m/%Y",       // format of the input field
			showsTime  :    false,
			timeFormat :    "24",
			onClose: eliminaCal,
			disableFunc: disallowDate,
			singleClick : true
		});
		
		Calendar.setup({
			inputField : "arrivalDate",   
			button : "fechaVueltaMiniCal",
			ifFormat   : "%d/%m/%Y",       
			showsTime  :    false,
			timeFormat :    "24",
			onClose: eliminaCal,
			disableFunc: disallowDate,
			singleClick : true			
		});		
}
