// JavaScript Document

var parkings = { 
  '6': 'MY HOTEL', 
  '7': 'KEFALOS OFFICE',
  '8': 'KARDAMENA OFFICE',
  '9': 'MASTIHARI OFFICE',
  '10': 'MARMARI OFFICE',
  '13': 'AIRPORT (+30€)',
  '15': 'PORT(+30€)' 
}; 
					   
var motoarr = new Array(7,8,9,10);					   
var boatsarr = new Array(0,7);					   
var cararr = new Array(6,7,8,9,10,13,15);

$(document).ready(function() {
	$("form input[name=RentalVehicle]").click(function () { RefreshItems($(this).val()); })
	if (getUrlVars()["page"] == "book1") { RefreshItems(getUrlVars()["vselect"]); }
});

function RefreshItems(val) {
	switch (val){
		case "boats": ReDrawListbox(boatsarr, parkings); break;
		case "motos": ReDrawListbox(motoarr, parkings); break;
		case "cars": ReDrawListbox(cararr, parkings); break;
		default: alert("Λάθος επιλογή");
	}	
}

function getUrlVars() {
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

function ReDrawListbox(arr, parkings) {
	$("select#ChkinParkings option, select#ChkoutParkings option").each(function(el) { $(this).remove(); })
	
	$.each(parkings, function(key, value) { 
		if (existinarray(arr, key)) { $('select#ChkinParkings, select#ChkoutParkings').append($("<option></option>").attr("value",key).text(value)); }
	});	
}

function PropertyTools(value, pid, timi)
{
	
	switch (value){
		case "-1":
			alert("Παρακαλούμε επιλεξτε μία ενέργεια");
			break;
		case "0":
			//alert("Εκτύπωση ακινήτου");
			window.print();
			break;
		case "1":
		    //alert("Επικοινωνία με τον μεσίτη");
			red("default.asp?id=6&lg=1&page=contact&subject=interest&cid=" + pid);
			break;
		case "2":
			//alert("Υπολογισμός δανείου");
			red("default.asp?id=6&lg=1&page=daneio&no=" + timi);
			break;
		case "3":
			//alert("Αποστολή email");
			//red("default.asp?id=6&lg=1&page=contact&subject=sendproperty&cid=" + pid);
			showpmail(value);
			break;
		case "4":
			break;
		default : alert("Λάθος επιλογή");
	}
}

function ShowHide(itemID) {
	  if ((document.getElementById(itemID).style.display == 'none'))
	  {
		document.getElementById(itemID).style.display = 'inline';
	  } else {
		document.getElementById(itemID).style.display = 'none';
	  }
  } 
  
function showpmail(x) {
	
	if (x == "3") {
		document.getElementById("sendproperty").style.display = 'inline';
	} else {
		document.getElementById("sendproperty").style.display = 'none';
	}

}
	function validateonsubmit5(form){
		
		if (Spry.Widget.Form.validate(form) == true){
			Spry.Utils.setInnerHTML('response_form5', 'Παρακαλούμε περιμένετε...');
			Spry.Utils.submitForm(form, updateResponseDiv);
			
		}
		return false;
	}

	function updateResponseDiv(req) 
	{
		//alert(req.xhRequest.responseText)
		
		//Results.setURL(req.xhRequest.responseText);
		//Results.loadData();
		
		var re_text;
		re_text = "errors";
		
		if (req.xhRequest.responseText.search(re_text) == -1) {
			Spry.Utils.setInnerHTML('response_form5', '<img src="images/Content/ok.gif" width="15" height="15" align="absmiddle"><b><font color="green"></b> Το μήνυμα εστάλει. </font>');
			document.getElementById('form1').reset();
			//disableall(false);
			//Spry.Utils.setInnerHTML('CommentsFrame', req.xhRequest.responseText);
		} else {
		
			Spry.Utils.setInnerHTML('response_form5', '<img src="images/Content/loader.gif" width="15" height="15" align="absmiddle"><b><font color="green"><b><font color="red">Σφάλμα</b>. Δεν μήνυμα δεν εστάλει.</font>');
			//disableall(false);

		}
	}
	

function red(x) {
	window.location = x;
}

function CalcDaneio() {
	Poso = parseInt(document.getElementById('poso').value);
	Epitokio = parseInt(document.getElementById('epitokio').value);
	Diarkeia = parseInt(document.getElementById('diarkeia').value);
	Prokatavoli = parseInt(document.getElementById('prokatavoli').value);
	
	if (!isNaN(Poso) && !isNaN(Epitokio) && !isNaN(Diarkeia) && !isNaN(Prokatavoli)) {
		Result = Poso - Prokatavoli;
		Temp = ((Result * Epitokio) / 100) + Result;
		Result = Temp / Diarkeia;
		
		document.getElementById('posodaneiou').value = formatCurrency(Temp);
		document.getElementById('apotelesma').value = formatCurrency(Result);
	} else {
		alert("Παρακαλούμε συμπληρώστε όλα τα πεδία (*)");
	}
}
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + num + '.' + cents + ' €');
}

function Browserdetect() {
	var x = navigator;
	BrowserName = x.appName;
	
	switch(BrowserName)
	{
	case "Netscape":
	  return "firefox";
	  break;    
	case "Microsoft Internet Explorer":
	  Version = x.appVersion;
	  Versionatleast = "7.0;";
	  
	  if (Version.search(Versionatleast) == -1) {
		//alert("Microsot Internet Explorer 6.0");
		return "ie6";
	  
	  } else {
		//alert("Microsot Internet Explorer 7.0");
		return "ie7";
	  }
	  break;
	default:
	return "";
	break;
	}
}


	
function DrawImage(_image) {
	var image_extension = ".png";
		
	if (Browserdetect() == "ie6") {
		image_extension = ".gif";
	}
	
	TempImage = _image + image_extension;	
	
	document.write('<img src="'+TempImage+'" align=""left"" />');
}

function FormatDate(x) {
		if (x != "") {
			var mmddyy = x;
				
			var mm = mmddyy.substring(3,5);
			var dd = mmddyy.substring(0,2);
			var yy = mmddyy.substring(6,10);
			
			var ddmmyy = mm + '/' + dd + '/' + yy;
			
			return ddmmyy;
		} else {
			return "";
		}
	}
	
function Departure_Minus_Arrival(ArrivalDate, DepartureDate) {
	var one_day=(1000*60*60*24);
	var Arrival = new Date(FormatDate(ArrivalDate));
	var Departure = new Date(FormatDate(DepartureDate));
	M_Arrival = Arrival.valueOf();
	M_Departure = Departure.valueOf();
	Difference = M_Departure - M_Arrival;
	
	if (parseInt(Difference) >= 0) {
		Result = Difference / one_day;
		return Result;
	} else {
		return "error";
	}
}

function Today_Minus_Date(d) {
	var Today = new Date();
	var Parameter_Day = new Date(FormatDate(d));

	Difference = Parameter_Day - Today;
	Result = Math.round(Difference/(1000*60*60*24));
	
	return Result;
}

function CheckBoatPlace(form, SD, RD) {
	BoatChecked = form.elements['RentalVehicle_2'].checked;
	MotoChecked = form.elements['RentalVehicle_1'].checked;

	SelectedPickupplace = form.elements['ChkinParkings'].value;
	SelectedReturnplace = form.elements['ChkoutParkings'].value;
	
	PickUpDate = form.elements[''+SD+''].value;
	ReturnDate = form.elements[''+RD+''].value;
	
	starthour = $("#StartTime1_hour").val();
	endhour = $("#ReturnTime1_hour").val();
	
	if ((BoatChecked == true) && ((starthour < 9) || (endhour > 17)))  {
		alert("The pick up/drop off time on the boats is limited to not before 09:00 and not after 17:00.");	
		return false;
	}
	
	//PikcupDate = $("#StartDate").value;
	//alert(PickUpDate);
	//alert(ReturnDate);
	
	DatesDiff = Departure_Minus_Arrival(PickUpDate, ReturnDate);
	Dayz = parseInt(DatesDiff);
	
	TodayDates = parseInt(Today_Minus_Date(PickUpDate));
	
	//alert (TodayDates);

	if (TodayDates < 0) {
		alert("Error: Pickup date is older than current date.");
	} else {
		if (TodayDates < 6  ) {
			alert("There is not enough advance notice for this booking: please enter a pick-up date starting tomorrow or please call us at +00 30 699 999-TRUST(87878)");
		} else {
			if (DatesDiff == 'error') {
				alert("Error: Pickup date must be earlier than return date.");
			} else {
				if ((BoatChecked == true) && (Dayz >= 1)) {
					alert("Error: Boats are available only for one day. Pickup date and Return date must be the same.");
					return false;
				} else {
					if ((BoatChecked == true) && (SelectedReturnplace != '7' || SelectedPickupplace != '7')) {
						alert("Error: Boats are available for Pikcup and Return only from Kefalos office.");
						return false;
					} else {
						if ((MotoChecked == true) && (MotoIsOK(SelectedPickupplace,SelectedReturnplace) == false)) {
							alert("Error: Motos are available for Pickup/Return only from offices.");
							return false;
						} else {
							if (((MotoChecked == true) || (BoatChecked == true)) && (Boats_Motos_Dates_Is_Ok(PickUpDate,ReturnDate) != "OK")) {
								alert(Boats_Motos_Dates_Is_Ok(PickUpDate,ReturnDate));
								return false;
							} else {
								return true;	
							}
						}
					}
				}
			}
		}
	}
}

function Boats_Motos_Dates_Is_Ok(PD, RD) {
	var Pickup_Date = new Date(FormatDate(PD));
	var Return_Date = new Date(FormatDate(RD));
	
	var Pickup_Month = Pickup_Date.getMonth() + 1;
	var Pickup_Day = Pickup_Date.getDate();	
	
	var Return_Month = Return_Date.getMonth() + 1;
	var Return_Day = Return_Date.getDate();
	
	var ThisYear = Pickup_Date.getFullYear();
	var DateStart = new Date(FormatDate("01/11/"+String(ThisYear)+""));
	var DateStop = new Date(FormatDate("30/04/"+String(ThisYear+1)+""));

	if ((Pickup_Date >= DateStart) && (Pickup_Date <= DateStop)) {
		return "Error: Check your Pickup Date. Motos and Boats are not available between 01/11 and 30/04.";
	} else {
		if ((Return_Date >= DateStart) && (Return_Date <= DateStop)) {
			return "Error: Check your return Date. Motos and Boats are not available between 01/11 and 30/04.";
		} else {
			if (Pickup_Month <= 4) {
				return "Error: Check your return Date. Motos and Boats are not available between 01/11 and 30/04.";
			}else {
				return "OK";
			}
		}
	}
}

function existinarray(arr, str) {
	var result = false;
	
	
	
	for (i=0;i<=arr.length;i++)	{
		
	
		if (String(arr[i]) == String(str)) {
			result = true;	
		}
	}
	
	return result;
}


function MotoIsOK(PP, RP) {
	var noallow = new Array(15,13,6);
	
	ppcheck = existinarray(noallow, PP);
	rpcheck = existinarray(noallow, RP);
	
	if ((ppcheck) || (rpcheck)) {
		return false;
	} else {
		return true;
	}
}

function Redirect(x) {		
	window.location = x
}

function RefreshTime(h, m, r) {
	HH = document.getElementById(""+h+"").value
	DD = document.getElementById(""+m+"").value
	
	RS = HH + ":" + DD
		
	document.getElementById(""+r+"").value = RS;
}

