//Form field Validator Javascript
//Created By: SR
//Date: June 09 2009
//JellyTriangle Graphics & Web Design Inc.

//Takes the passed parameter, identifies the field type, then validates the value. If false, displays error message, else returns true.
//Activated by adding an OnBlur event to the input field.

//Change function to process all items in the form.

function fieldValidator(fieldid, usermsg)
{
	var elem = document.getElementById(fieldid);
	var messagefield = document.getElementById(usermsg);
	var expression;
	
	switch(fieldid)
		{
		case "EmailFrom":
		  expression = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z]{2,4}$/;
		  usrmsg = "&nbsp;Email address format should be: name@subdomain.domain";
		  break;
		case "Telephone":
		  expression = /^\d{10}$/;
		  usrmsg = "&nbsp;Phone numbers should be 10 digits only, without any spaces or dashes";
		  break;
		case "Cell":
		  expression = /^\d{10}$/;
		  usrmsg = "&nbsp;Cell numbers should be 10 digits only, without any spaces or dashes";
		  break;
		case "Postal":
		  expression = /^[ABCEGHJKLMNPRSTVXY]{1}\d{1}[A-Z]{1} *\d{1}[A-Z]{1}\d{1}$/;
		  usrmsg = "&nbsp;Postal Code format should be: A1A1A1 (uppercase letters)";
		  break;
		case "day":
		  expression = /^(0[1-9]|[12][0-9]|3[01])$/;
		  usrmsg = "&nbsp;Day should be between 01-31";
		  break;
		case "month":
		  expression = /^(0[1-9]|1[012])$/;
		  usrmsg = "&nbsp;Month should be between 01-12";
		  break;
		case "year":
		  expression = /^(19|20)\d\d$/;
		  usrmsg = "&nbsp;Year should be four digits between 1900 and 2099";
		  break;
		case "pday":
		  expression = /^(0[1-9]|[12][0-9]|3[01])$/;
		  usrmsg = "&nbsp;Day should be between 01-31";
		  break;
		case "pmonth":
		  expression = /^(0[1-9]|1[012])$/;
		  usrmsg = "&nbsp;Month should be between 01-12";
		  break;
		case "pyear":
		  expression = /^(20|20)\d\d$/;
		  usrmsg = "&nbsp;Year should be four digits between 2000 and 2099";
		  break;
		default:
		  alert('Unexpected Error: Please delete and re-enter the information!');
		}

	if (elem.value.match(expression))
		{
		messagefield.innerHTML = "";	
		return true;
		}
		else
		{
		messagefield.innerHTML = "<br>" + usrmsg;
		messagefield.style.color = "red";
		//elem.parentElement.innerHTML += " " + message;
		return false;
		}
	
}
