// JavaScript Document

function IsNumeric(sText) {
// Check whether the parameter is a numeric value
	var ValidChars = "0123456789";
	var IsNumber = true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++) { 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}

function IsEmail(str) {
// Check whether the parameter is a valid email address
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	if (str.indexOf(at)==-1) {
		return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
		return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
		return false;
	}
	if (str.indexOf(at,(lat+1))!=-1) {
		return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
		return false;
	}
	if (str.indexOf(dot,(lat+2))==-1) {
		return false;
	}
	if (str.indexOf(" ")!=-1) {
		return false;
	}
	return true;
}

function ValidateFunction() {
// Check that all fields are valid and required fields are provided
	var valid = true;
	var temp;

	// TEST name
	temp = document.getElementById("txt-name").value;
	if (temp.length > 0) {
		document.getElementById("err-name").style.display = "none";
	} else {
		document.getElementById("err-name").style.display = "block";
		valid = false;
	}
	
	// TEST email
	temp = document.getElementById("txt-email").value;
	if ((temp.length > 0) && IsEmail(temp)) {
		document.getElementById("err-email").style.display = "none";
	} else {
		document.getElementById("err-email").style.display = "block";
		valid = false;
	}
	
	// TEST phone number
	temp = document.getElementById("txt-phone").value;
	if ((temp.length > 0) && IsNumeric(temp)) {
		document.getElementById("err-phone").style.display = "none";
	} else {
		document.getElementById("err-phone").style.display = "block";
		valid = false;	
	}
	
	// TEST type of event
	temp = document.getElementById("cbo-type").value;
	if (temp != 0) {
		document.getElementById("err-type").style.display = "none";
	} else {
		document.getElementById("err-type").style.display = "block";
		valid = false;
	}
	
	// TEST month and day
	temp = document.getElementById("cbo-month").value;
	if ((temp != 0) && (document.getElementById("cbo-day").value != 0)) {
		document.getElementById("err-date").style.display = "none";
	} else {
		document.getElementById("err-date").style.display = "block";
		valid = false;
	}
	
	// TEST time of event
	temp = document.getElementById("cbo-time").value;
	if (temp != 0) {
		document.getElementById("err-time").style.display = "none";
	} else {
		document.getElementById("err-time").style.display = "block";
		valid = false;
	}
	
	// TEST number of guests
	temp = document.getElementById("cbo-guests").value;
	if (temp != 0) {
		document.getElementById("err-guests").style.display = "none";
	} else {
		document.getElementById("err-guests").style.display = "block";
		valid = false;
	}
	
	return valid;
}

function ValidateOutsource() {
// Check that all details for the outsource form is valid and required fields are provided
	var valid = true;
	var temp;
	
	// TEST name
	temp = document.getElementById("txt-name").value;
	if (temp.length > 0) {
		document.getElementById("err-name").style.display = "none";
	} else {
		document.getElementById("err-name").style.display = "block";
		valid = false;
	}
	
	// TEST email
	temp = document.getElementById("txt-email").value;
	if ((temp.length > 0) && IsEmail(temp)) {
		document.getElementById("err-email").style.display = "none";
	} else {
		document.getElementById("err-email").style.display = "block";
		valid = false;
	}
	
	// TEST phone number
	temp = document.getElementById("txt-phone").value;
	if ((temp.length > 0) && IsNumeric(temp)) {
		document.getElementById("err-phone").style.display = "none";
	} else {
		document.getElementById("err-phone").style.display = "block";
		valid = false;	
	}

	// TEST type of enquiry
	temp = document.getElementById("cbo-enquiry").value;
	if (temp != 0) {
		document.getElementById("err-enquiry").style.display = "none";
	} else {
		document.getElementById("err-enquiry").style.display = "block";
		valid = false;	
	}

	// TEST reason for out-sourcing
	temp = document.getElementById("cbo-reason").value;
	if (temp != 0) {
		document.getElementById("err-reason").style.display = "none";
	} else {
		document.getElementById("err-reason").style.display = "block";
		valid = false;	
	}

	// TEST number of staff/residents/customers
	temp = document.getElementById("cbo-number").value;
	if (temp != 0) {
		document.getElementById("err-number").style.display = "none";
	} else {
		document.getElementById("err-number").style.display = "block";
		valid = false;	
	}
	
	return valid;
}

function ValidateConsultancy() {
// Check that all details for the consultancy form is valid and required fields are provided
	var valid = true;
	var temp;
	
	// TEST name
	temp = document.getElementById("txt-name").value;
	if (temp.length > 0) {
		document.getElementById("err-name").style.display = "none";
	} else {
		document.getElementById("err-name").style.display = "block";
		valid = false;
	}
	
	// TEST email
	temp = document.getElementById("txt-email").value;
	if ((temp.length > 0) && IsEmail(temp)) {
		document.getElementById("err-email").style.display = "none";
	} else {
		document.getElementById("err-email").style.display = "block";
		valid = false;
	}
	
	// TEST phone number
	temp = document.getElementById("txt-phone").value;
	if ((temp.length > 0) && IsNumeric(temp)) {
		document.getElementById("err-phone").style.display = "none";
	} else {
		document.getElementById("err-phone").style.display = "block";
		valid = false;	
	}
	
	// TEST consultancy required
	temp = document.getElementById("cbo-consult").value;
	if (temp != 0) {
		document.getElementById("err-consult").style.display = "none";
	} else {
		document.getElementById("err-consult").style.display = "block";
		valid = false;	
	}

	// TEST number of patrons
	temp = document.getElementById("cbo-number").value;
	if (temp != 0) {
		document.getElementById("err-number").style.display = "none";
	} else {
		document.getElementById("err-number").style.display = "block";
		valid = false;	
	}
	
	return valid;
}

function ValidateMessage() {
// Check that all message fields are valid and required fields are provided
	var valid = true;
	var temp;

	// TEST name
	temp = document.getElementById("txt-name-m").value;
	if (temp.length > 0) {
		document.getElementById("err-name-m").style.display = "none";
	} else {
		document.getElementById("err-name-m").style.display = "block";
		valid = false;
	}
	
	// TEST email
	temp = document.getElementById("txt-email-m").value;
	if (IsEmail(temp)) {
		document.getElementById("err-email-m").style.display = "none";
	} else {
		document.getElementById("err-email-m").style.display = "block";
		valid = false;
	}
	
	// TEST subject
	temp = document.getElementById("txt-subject-m").value;
	if (temp.length > 0) {
		document.getElementById("err-subject-m").style.display = "none";
	} else {
		document.getElementById("err-subject-m").style.display = "block";
		valid = false;
	}
	
	// TEST message
	temp = document.getElementById("txt-message").value;
	if (temp.length > 0) {
		document.getElementById("err-message-m").style.display = "none";
	} else {
		document.getElementById("err-message-m").style.display = "block";
		valid = false;
	}

	return valid;
}

function ResetMessages() {
	document.getElementById("err-name").style.display = "none";
	document.getElementById("err-email").style.display = "none";
	document.getElementById("err-phone").style.display = "none";
	document.getElementById("err-type").style.display = "none";
	document.getElementById("err-date").style.display = "none";
	document.getElementById("err-time").style.display = "none";
	document.getElementById("err-guests").style.display = "none";
}
