/* Funzioni all'avvio -------------------------------------------------------------- */

	$(function(){

		$('#res-window').dialog({
			autoOpen: false,
			width: 680,
			buttons: {
				/* "Ok": function() { 
					$(this).dialog("close"); 
				}, */
				/*
				"Cancel": function() { 
					$(this).dialog("close"); 
				}
				*/ 
			}
		});	

	});

/* --------------------------------------------------------------------------------- */

/* Funzioni ------------------------------------------------------------------------ */

	function startReservation() {

		$.post("reservation/call/reservationStart.call.php",{ 
       			checkin: $("#checkin").val(),
       			checkout: $("#checkout").val(),
       			id: $("#selectedHomeId").val()
     		}, function(data) {

			$("#res-window").html(data);
			$('#res-window').dialog('option','title',$('#res-title').val());
			$('#res-window').dialog('option','modal',true);
			$('#res-window').dialog('open');

			tb_init('a.thickbox, area.thickbox, input.thickbox');
 		});
	}

	function cancelReservation() {

		$('#res-window').dialog('close');
		$("#res-window").html("");
		$("#res-window").empty();
	}

	function switchHomeSelection(id) {

		$.post("reservation/call/reservationChangeHome.call.php",{ 
       			id: id
     		}, function(data) {

			$("#res-window").html(data);

			tb_init('a.thickbox, area.thickbox, input.thickbox');
 		});
	}

	function moveAfter(type) {

		$.post("reservation/call/reservationMoveAfter.call.php",{ 
       			type: type,
			selected_checkin: $("#cal_checkin").val(),
			selected_checkout: $("#cal_checkout").val()
     		}, function(data) {

			$("#res-calendar-"+type).html(data);
 		});
	}

	function moveBefore(type) {

		$.post("reservation/call/reservationMoveBefore.call.php",{ 
       			type: type,
			selected_checkin: $("#cal_checkin").val(),
			selected_checkout: $("#cal_checkout").val()
     		}, function(data) {

			$("#res-calendar-"+type).html(data);
 		});
	}

	function requestGuests() {

		$.post("reservation/call/reservationGuests.call.php",{ 
       			adt: $("#res-adt").val(),
       			chd: $("#res-chd").val()
     		}, function(data) {

			$("#res-window").html(data);
 		});
	}

	function openCalendar(windowRef) {

		switch (windowRef) {

			case "checkin":

				$.get("reservation/call/getCalendar.call.php?date="+$("#checkin").val()+"&type=startdate", function(data) {

					$("#checkinCalendar").html(data);

					var offset = parseInt(document.getElementById('checkin').offsetTop+50);

					$("#checkinCalendar").css("top",offset+"px");
				});

				$("#checkinCalendar").slideDown("normal");
				break;

			case "checkout":

				var selectedDate = "";

				if ($("#checkout").val()=="") { selectedDate = $("#checkin").val(); } else { selectedDate = $("#checkout").val(); }

				$.get("reservation/call/getCalendar.call.php?date="+selectedDate+"&type=enddate", function(data) {

					$("#checkoutCalendar").html(data);

					var offset = parseInt(document.getElementById('checkout').offsetTop+50);

					$("#checkoutCalendar").css("top",offset+"px");
				});

				$("#checkoutCalendar").slideDown("normal");
				break;
		}
	}

	function changeCalendar(month,year,type) {

		switch (type) {

			case "startdate":

				$.get("reservation/call/getCalendar.call.php?month="+month+"&year="+year+"&type=startdate", function(data) {

					$("#checkinCalendar").html(data);
				});
				break;

			case "enddate":

				$.get("reservation/call/getCalendar.call.php?month="+month+"&year="+year+"&type=enddate", function(data) {

					$("#checkoutCalendar").html(data);
				});
				break;
		}
	}

	function setItem(labelArea,labelValue,inputField,inputValue,window,link) {

		switch (link) {

			case "startdate":
				
				$("#checkin").val(inputValue);
				$("#checkinCalendar").slideUp("fast");
				if ($("#checkin").val()!="" & $("#checkout").val()!="" & !verifyDate($("#checkin").val(),$("#checkout").val())) { alert($("#date-alert-msg").val()); $("#checkout").val($("#checkin").val()); }
				break;

			case "enddate":

				$("#checkout").val(inputValue);
				$("#checkoutCalendar").slideUp("fast");
				if ($("#checkin").val()!="" & $("#checkout").val()!="" & !verifyDate($("#checkin").val(),$("#checkout").val())) { alert($("#date-alert-msg").val()); $("#checkout").val($("#checkin").val()); }
				break;
		}
	}

	function verifyDate(data1,data2) {

		data1str = data1.substr(6)+data1.substr(3, 2)+data1.substr(0, 2);
		data2str = data2.substr(6)+data2.substr(3, 2)+data2.substr(0, 2);

		if (data2str-data1str<0) {
			return false;
		} else {
			return true;
		}
	}

	function isNotEmpty(fieldList,isHtmlEditor) {
	/* [OK] */
		var checkFields = fieldList.split("@");
		var check = true;

		if (isHtmlEditor) {

			tinyMCE.triggerSave();

		}

		for (i=0; i<checkFields.length; i++) {

			if (document.getElementById(checkFields[i]).value=="") {

				$("#"+checkFields[i]).addClass('iAlert');
				/* document.getElementById(checkFields[i]+'_alert').innerHTML = "<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' />"; */

				check = false;

			} else {

				$("#"+checkFields[i]).removeClass('iAlert');
				/* document.getElementById(checkFields[i]+'_alert').innerHTML = ""; */
			}
		}

		return check;
	}

	function checkEmailAddress(field) {
	/* [OK] */
		$.ajaxSetup({ async:false });

		var check = false;

		$.post("actions/isEmailAddress.action.php",{ 
       			email: $("#"+field).val()
     		}, function(data) { 

			if (data=="OK") {

				$("#"+field).removeClass('iAlert');
				/* $("#"+field+"_alert").html(""); */
				check = true;

			} else {

				$("#"+field).addClass('iAlert');
				/* $("#"+field+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">indirizzo e-mail non valido</span>"); */
				check = false;
			}
 		});

		$.ajaxSetup({ async:true });

		return check;
	}

	function checkSameValue(field1,field2,isMandatory) {
	/* [OK] */
		if (isMandatory) {

			if ($("#"+field1).val()=="" || $("#"+field2).val()=="") {

				$("#"+field1).addClass('iAlert');
				$("#"+field2).addClass('iAlert');
				/* $("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
				/* $("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
				return false;

			} else {

				if ($("#"+field1).val()!=$("#"+field2).val()) {

					$("#"+field1).addClass('iAlert');
					$("#"+field2).addClass('iAlert');
					/* $("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
					/* $("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
					return false;

				} else {

					$("#"+field1).removeClass('iAlert');
					$("#"+field2).removeClass('iAlert');
					/* $("#"+field1+"_alert").html(""); */
					/* $("#"+field2+"_alert").html(""); */
					return true;
				}
			}

		} else {

			if ($("#"+field1).val()!=$("#"+field2).val()) {

				$("#"+field1).addClass('iAlert');
				$("#"+field2).addClass('iAlert');
				/* $("#"+field1+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
				/* $("#"+field2+"_alert").html("<img src='img/layout/icoAlert.png' alt='Dato non valido' title='Dato non valido' class='noBorder' /> <span class=\"alert\">i campi non coincidono</span>"); */
				return false;

			} else {

				$("#"+field1).removeClass('iAlert');
				$("#"+field2).removeClass('iAlert');
				/* $("#"+field1+"_alert").html(""); */
				/* $("#"+field2+"_alert").html(""); */
				return true;
			}

		}
	}

	function ALLPEOPLE__confirmReservation() {

		if (confirm($("#confirm-msg").val())) {

			var formContent = "adt-cognome_1@adt-nome_1";
			var adt_guest = $("#adt-cognome_1").val()+"@-@"+$("#adt-nome_1").val();
			var chd_guest = "";

			if (parseInt($("#adt").val())>0) {

				var adt = parseInt($("#adt").val());

				for (i=2;i<=adt;i++) {

					formContent = formContent+"@adt-cognome_"+i+"@adt-nome_"+i;
					adt_guest = adt_guest+"@-----@"+$("#adt-cognome_"+i).val()+"@-@"+$("#adt-nome_"+i).val();
				}
			}

			if (parseInt($("#chd").val())>0) {

				var chd = parseInt($("#chd").val());

				for (i=1;i<=chd;i++) {

					formContent = formContent+"@chd-cognome_"+i+"@chd-nome_"+i;

					if (i==1) {

						chd_guest = chd_guest+$("#chd-cognome_"+i).val()+"@-@"+$("#chd-nome_"+i).val()+"@-@"+$("#chd-eta_"+i).val();

					} else {

						chd_guest = chd_guest+"@-----@"+$("#chd-cognome_"+i).val()+"@-@"+$("#chd-nome_"+i).val()+"@-@"+$("#chd-eta_"+i).val();
					}
				}
			}

			var sendForm = true;

			sendForm = isNotEmpty(formContent,false);

			if (sendForm) {

				$.post("reservation/actions/saveReservation.action.php",{
       					adt_guest: adt_guest, 
       					chd_guest: chd_guest,
       					note: $("#res-note").val()
     				}, function(data) {

					$("#res-window").html(data);
 				});
			}
		}
	}

	function confirmReservation() {
	/* [OK] */
		var sendForm = false;

		sendForm = isNotEmpty("ref_cognome@ref_nome@ref_cellulare@ref_email@ref_confemail",false);
		if (sendForm) { sendForm = checkEmailAddress('ref_email'); }
		if (sendForm) { sendForm = checkEmailAddress('ref_confemail'); }
		if (sendForm) { sendForm = checkSameValue('ref_email','ref_confemail',true); }

		if (sendForm) {

			if (document.getElementById('popWaitLayer')) { $('#popWaitLayer').show(); }

			if (confirm($("#confirm-msg").val())) {

				$.post("reservation/actions/saveReservation.action.php",{
       					ref_cognome: $("#ref_cognome").val(), 
       					ref_nome: $("#ref_nome").val(),
       					ref_cellulare: $("#ref_cellulare").val(),
       					ref_email: $("#ref_email").val(),
       					note: $("#res-note").val()
     				}, function(data) {

					$("#res-window").html(data);
					if (document.getElementById('popWaitLayer')) { $('#popWaitLayer').hide(); }
 				});
			}
		}
	}

	function setCheckDate(fieldRange,pos,data) {

		var max = 20;

		for (i=0;i<max;i++) {

			if (document.getElementById(fieldRange+"_day_"+i)) { $("#"+fieldRange+"_day_"+i).css('background-color','#693'); }
		}

		$("#"+fieldRange+"_day_"+pos).css('background-color','#CCC');

		$("#cal_"+fieldRange).val(data);
	}

	function verifyReservationAvailability(data1,data2,id) {

		$.ajaxSetup({ async:false });

		var check = false;

		$.post("reservation/actions/testReservationAvailability.action.php",{ 
       			checkin: data1,
       			checkout: data2,
       			id: id
     		}, function(data) { 

			if (data=="OK") {

				check = true;

			} else {
				
				check = false;
			}
 		});

		$.ajaxSetup({ async:true });

		return check;
	}

	function reStartReservation() {

		var sendForm = false;

		sendForm = isNotEmpty("cal_checkin@cal_checkout",false);
		if (sendForm) { sendForm = verifyDate($("#cal_checkin").val(),$("#cal_checkout").val()); if (!sendForm) { alert($("#msg_antcheckout").val()); } }
		if (sendForm) { sendForm = verifyReservationAvailability($("#cal_checkin").val(),$("#cal_checkout").val(),$("#reSelectedHomeId").val()); if (!sendForm) { alert($("#msg_nodisponibilita").val()); } }
		if (sendForm) { if ($("#cal_checkin").val()==$("#cal_checkout").val()) { sendForm = false; alert($("#msg_equaldate").val()); } }

		if (sendForm) {

			$.post("reservation/call/reservationStart.call.php",{ 
       				checkin: $("#cal_checkin").val(),
       				checkout: $("#cal_checkout").val(),
       				id: $("#reSelectedHomeId").val()
     			}, function(data) {

				$("#res-window").html(data);

				tb_init('a.thickbox, area.thickbox, input.thickbox');
 			});
		}
	}

/* --------------------------------------------------------------------------------- */
