// JavaScript Document
//Creates a request
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
	xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
	xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

function validate(form_id) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var reg_2 = /^([0-9]{10,20})$/;
	var name = document.forms[form_id].elements["name"].value;
	var surname = document.forms[form_id].elements["surname"].value;
	var cellphoneNumber = document.forms[form_id].elements["cellphoneNumber"].value;
	var email = document.forms[form_id].elements["emailAddress"].value;
	var confirmEmail = document.forms[form_id].elements["confirmEmailAddress"].value;
	var address = document.forms[form_id].elements["ad_1"].value;
	var password = document.forms[form_id].elements["password"].value;
	var confirmPassword = document.forms[form_id].elements["confirmPassword"].value;

	for(var i = 0; i < 6; i++) {
		if (document.forms[form_id].elements[i].value == "") {
			alert('All Fields Are Mandatory');
			return false;	
		}
	}
	for( i = 12; i < 14; i++) {
		if (document.forms[form_id].elements[i].value == "") {
			alert('All Fields Are Mandatory');
			return false;	
		}
	}
	
	if (reg_2.test(cellphoneNumber) == false) {
		alert('Cellphone Number Must Consist Of 10 Digits And No More Than 20');
	  	return false;
	}
	
	if(reg.test(email) == false) {
		alert('Invalid Email Address');
		return false;
	}
	
	if (email != confirmEmail) {
		alert('Email Address Not Confirmed');
	  	return false;
	}
		
	if (password != confirmPassword) {
		alert('Password Not Confirmed');
	  	return false;
	}
	else {
		return true;
	}

}

function validateUpdate(form_id) {
	var reg = /^([0-9]{10,20})$/;
	var reg2 = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var password = document.forms[form_id].elements["password"].value;
	var email = document.forms[form_id].elements["email"].value;
	var confirmPassword = document.forms[form_id].elements["confirmPassword"].value;
	var cellphoneNumber = document.forms[form_id].elements["cellphoneNumber"].value;
	
	if (reg.test(cellphoneNumber) == false) {
		alert('Cellphone Number Must Consist Of 10 Digits And No More Than 20');
	  	return false;
	}
	
	if(reg2.test(email) == false) {
		alert('Invalid Email Address');
		return false;
	}

	for(var i = 0; i < 5; i++) {
		if (document.forms[form_id].elements[i].value == "") {
			alert('The First 5 Fields Are Mandatory');
			return false;	
		}
	}
	
	if (password != confirmPassword) {
		alert('Password Not Confirmed');
	  	return false;
	}
	else {
		return true;
	}
	
}

function validatePrice(form_id) {
	var reg = /^([0-9]{1,6})$/;
	var price = document.forms[form_id].elements["price"].value;
	var preWorldCup = document.forms[form_id].elements["preWorldCup"].value;
	var worldCup = document.forms[form_id].elements["worldCup"].value;
	var room = document.forms[form_id].elements["room"].value;
	var place = document.forms[form_id].elements["place"].value;
	
	if (price != "" && reg.test(price) == false) {
		alert('Price must be numeric');
		return false;
	}

}

function validateSpecial(form_id) {
	var reg = /^([0-9]{1,6})$/;
	var price = document.forms[form_id].elements["price"].value;
	var room = document.forms[form_id].elements["room"].value;
	var place = document.forms[form_id].elements["place"].value;
	
	if (price != "" && reg.test(price) == false) {
		alert('Price must be numeric');
		return false;
	}

}

function validateForgot(form_id) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.forms[form_id].elements["emailAddress"].value;
	
	if(reg.test(address) == false) {
		alert('Invalid Email Address');
		return false;
	}		
	
}

function validateReser(form_id) {
	var aDay = document.forms[form_id].elements["aDay"].value;
	var aMonth = document.forms[form_id].elements["aMonth"].value;
	var aYear = document.forms[form_id].elements["aYear"].value;
	var dDay = document.forms[form_id].elements["dDay"].value;
	var dMonth = document.forms[form_id].elements["dMonth"].value;
	var dYear = document.forms[form_id].elements["dYear"].value;
	var method = document.forms[form_id].elements["method"].value;
	var now = new Date();
	var yy = now.getFullYear();
	var mm = now.getMonth() + 1;
	var dd = now.getDate();
	aDay = Number(aDay);
	dDay = Number(dDay);
	aMonth = Number(aMonth);
	dMonth = Number(dMonth);
	aYear = Number(aYear);
	dYear = Number(dYear);
	yy = Number(yy);
	mm = Number(mm);
	dd = Number(dd);
	method = Number(method);
	
	if (aYear == 2010 && aMonth == 6 && aDay >= 10) {
		if (aDay != 10 && aDay != 17 && aDay != 24) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (aYear == 2010 && aMonth == 7 && aDay <= 15) {
		if (aDay != 1 && aDay != 8) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (dYear == 2010 && dMonth == 6 && dDay >= 10) {
		if (dDay != 17 && dDay != 24) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (dYear == 2010 && dMonth == 7 && dDay <= 15) {
		if (dDay != 1 && dDay != 8 && dDay != 15) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (aYear == yy && aMonth < mm) {	
		alert("The arrival date you entered has already passed.");
		return false;
	}
	if (aYear == yy && aMonth == mm && aDay < dd) {	
		alert("The arrival date you entered has already passed.");
		return false;
	}
	if (dYear == yy && dMonth < mm) {	
		alert("The departure date you entered has already passed.");
		return false;
	}
	if (dYear == yy && dMonth == mm && dDay < dd) {	
		alert("The departure date you entered has already passed.");
		return false;
	}
	if (aYear > dYear) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth > dMonth) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth == dMonth && aDay > dDay ) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth == dMonth && aDay == dDay ) {
		alert("The departure date may not be the same as the arrival date.");
		return false;
	}
	if (method == 0) {
		alert('Credit Card Facilities are not currently available');
		return false;
	}	
}

function validateAdminReser(form_id) {
	var aDay = document.forms[form_id].elements["aDay"].value;
	var aMonth = document.forms[form_id].elements["aMonth"].value;
	var aYear = document.forms[form_id].elements["aYear"].value;
	var dDay = document.forms[form_id].elements["dDay"].value;
	var dMonth = document.forms[form_id].elements["dMonth"].value;
	var dYear = document.forms[form_id].elements["dYear"].value;
	var email = document.forms[form_id].elements["email"].value;
	var method = document.forms[form_id].elements["method"].value;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var now = new Date();
	var yy = now.getFullYear();
	var mm = now.getMonth() + 1;
	var dd = now.getDate();
	aDay = Number(aDay);
	dDay = Number(dDay);
	aMonth = Number(aMonth);
	dMonth = Number(dMonth);
	aYear = Number(aYear);
	dYear = Number(dYear);
	yy = Number(yy);
	mm = Number(mm);
	dd = Number(dd);
	method = Number(method);
	
	if (method == 0) {
		alert('Credit Card Facilities are not currently available');
		return false;
	}
	
	if(reg.test(email) == false) {
		alert('Invalid Email Address');
		return false;
	}
	
	if (aYear == 2010 && aMonth == 6 && aDay >= 10) {
		if (aDay != 10 && aDay != 17 && aDay != 24) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (aYear == 2010 && aMonth == 7 && aDay <= 15) {
		if (aDay != 1 && aDay != 8) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (dYear == 2010 && dMonth == 6 && dDay >= 10) {
		if (dDay != 17 && dDay != 24) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (dYear == 2010 && dMonth == 7 && dDay <= 15) {
		if (dDay != 1 && dDay != 8 && dDay != 15) {
			alert("During June and July 2010 bookings can only be make in weekly blocks starting on Thursday");
			return false;
		}
	}
	
	if (aYear == yy && aMonth < mm) {	
		alert("The arrival date you entered has already passed.");
		return false;
	}
	if (aYear == yy && aMonth == mm && aDay < dd) {	
		alert("The arrival date you entered has already passed.");
		return false;
	}
	if (dYear == yy && dMonth < mm) {	
		alert("The departure date you entered has already passed.");
		return false;
	}
	if (dYear == yy && dMonth == mm && dDay < dd) {	
		alert("The departure date you entered has already passed.");
		return false;
	}
	if (aYear > dYear) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth > dMonth) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth == dMonth && aDay > dDay ) {
		alert("The departure date you entered is not valid.");
		return false;
	}
	if (aYear == dYear && aMonth == dMonth && aDay == dDay ) {
		alert("The departure date may not be the same as the arrival date.");
		return false;
	}
}	

function change() {
	var place = document.getElementById("place").value;
	var url = "backend/room.php?place="+place;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	document.getElementById("room").innerHTML=xmlhttp.responseText;
}