
// check form
function checkemail(str){
  var filter=/^.+@.+\..{2,3}$/;
  return (filter.test(str));
}
  
function checkOrder(f) {
	if (f.Prijmeni.value == "") {
		alert('Please enter your surname!');
		return false;
	}
	if (f.Jmeno.value == "") {
		alert('Please enter your name!');
		return false;
	}
	if (f.PSC.value == "") {
		alert('Please enter your ZIP code!');
		return false;
	}
	if (f.Ulice.value == "") {
		alert('Please enter your street!');
		return false;
	}
	if (f.Obec.value == "") {
		alert('Please enter your city!');
		return false;
	}
	if (f.E_mail.value == "" && f.Telefon.value == "") {
		alert('Please enter your email and/or telephone!');
		return false;
	}
	if (f.Telefon.value == "" && !checkemail(f.E_mail.value)) {
		alert('Email is not valid!');
		return false;
	}
	if (f.DatumOD.value == "") {
		alert('Please enter date since!');
		return false;
	}
	if (f.DatumDO.value == "") {
		alert('Please enter date till!');
		return false;
	}
	if (document.getElementById('finalprice').firstChild.data == 'N.A.') {
		alert('Price is not valid, probably wrong date range selected');
		return false;
	}
	return true;
}

// calculate price
function calculatePrice() {
	try {
		var datefrom=new Date(document.getElementById("DatumODY").value, document.getElementById("DatumODM").value-1, document.getElementById("DatumODD").value);
		var dateto=new Date(document.getElementById("DatumDOY").value, document.getElementById("DatumDOM").value-1, document.getElementById("DatumDOD").value);
		var today=new Date();
		var one_day=1000*60*60*24;
		if (today.getTime() - one_day > datefrom.getTime()) {
			alert('You cannot select SINCE day older than today.');
			return;
		}
		if (dateto.getTime() > datefrom.getTime()) {
			var days = Math.ceil((dateto.getTime()-datefrom.getTime())/(one_day));
			var price = 0;
			if (days == 1) {
				price = document.getElementById('day1').firstChild.data * days;
				if (document.getElementById("Navigace").checked == true)
					price = price + document.getElementById('navday1').firstChild.data * days;
			} else if (days>=2 && days<=6) {
				price = document.getElementById('day2x6').firstChild.data * days;
				if (document.getElementById("Navigace").checked == true)
					price = price + document.getElementById('navday2x6').firstChild.data * days;
			} else if (days>=7 && days<=14) {
				price = document.getElementById('day7x14').firstChild.data * days;
				if (document.getElementById("Navigace").checked == true)
					price = price + document.getElementById('navday7x14').firstChild.data * days;
			} else if (days>=15 && days<=30) {
				price = document.getElementById('day15x30').firstChild.data * days;
				if (document.getElementById("Navigace").checked == true)
					price = price + document.getElementById('navday15x30').firstChild.data * days;
			} else if (days>30) {
				price = document.getElementById('month').firstChild.data /30 * days;
				if (document.getElementById("Navigace").checked == true)
					price = price + document.getElementById('navmonth').firstChild.data * days;
			}
			var deposit = parseFloat(document.getElementById('deposit').firstChild.data);
			if (document.getElementById("Navigace").checked == true)
				deposit = deposit + parseFloat(document.getElementById('navdeposit').firstChild.data);
			document.getElementById('finaldays').firstChild.data = days;
			document.getElementById('finalprice').firstChild.data = price + " €";
			document.getElementById('finalpricevat').firstChild.data = Math.round(price * 120)/100 + " €";
			document.getElementById('finaldeposit').firstChild.data = deposit + " €";
		} else {
			var exceptionObj = new createException(1, "Range error");
			throw exceptionObj;
		}
	} catch(err) {
		document.getElementById('finaldays').firstChild.data = 'N.A.';
		document.getElementById('finalprice').firstChild.data = 'N.A.';
		document.getElementById('finalpricevat').firstChild.data = 'N.A.';
		document.getElementById('finaldeposit').firstChild.data = 'N.A.';
	}
}
