/*
 * Contact form validator.
 */
function checkFormContact() {
	var messg = "";
	var messg2 = "";

	if (document.forms['contact_form'].name.value=='')
		messg += "Name\n";
	//if (document.forms['contact'].phone.value=='')
		//messg += "Your phone number\n";
	if (document.forms['contact_form'].message.value=='')
		messg += "Message\n";

	if (!validEmail(document.forms['contact_form'].email.value))
		messg2 += "Your email address (eg. name@example.com)\n";

	if ((messg=='') && (messg2=='')) {
		return true;
	}
	else {
		if (messg == '')
			alert(messg2);
		else {
			messg = "You have left the following required fields blank or\n" + "incomplete, please correct them before continuing:\n\n" + messg + messg2;
			alert(messg);
		}
		return false;
	}
}

/*
 * Number field checker.
 * Copyright 1999 Idocs, Inc. http://www.idocs.com
 * Distribute this script freely but keep this notice in place.
 */
function numbersOnly(myfield, e, dec) {
	var key;
	var keychar;

	if (window.event)
		key = window.event.keyCode;
	else if (e)
		key = e.which;
	else
		return true;

	keychar = String.fromCharCode(key);

	// control keys and punctuation
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) || (key==45) || (key==46) || (key==120) || (key==45) || (key==40) || (key==41) || (key==32) || (key==43))
		return true;

	// numbers
	else if ((("0123456789").indexOf(keychar) > -1))
		return true;

	// decimal point jump
	else if (dec && (keychar == ".")) {
		myfield.form.elements[dec].focus();
		return false;
	}
	else return false;
}


/*
 * Valid email checker
 */
function validEmail(email) {
	invalidChars = " /:,;";
	if (email == "") {
		return false;
	}
	for (i=0; i<invalidChars.length; i++) {
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) != -1) {
			return false;
		}
	}
	atPos = email.indexOf("@",1);
	if (atPos == -1) {
		return false;
	}
	if (email.indexOf("@",atPos+1) != -1) {
		return false;
	}
	periodPos = email.indexOf(".",atPos);
	if (periodPos == -1) {
		return false;
	}
	if (periodPos+3 > email.length)	{
		return false;
	}
	return true;
}
