// JavaScript Document form-validation.js

/******************************************************************************/
/*  Paste this code into HTML <header>
/*  <script type="text/javascript" src="/common/form-validation.js"></script>  
/******************************************************************************/

/*******************************************************/
/*	Paste this code into HTML above form <table>
/*	<div id="errorMessage" style="color:#FF0000"></div>
/*******************************************************/

/*******************************************************/
/*	Paste this code into HTML in <form> description
/*	onSubmit="return validate(this)"
/*******************************************************/

 

function validateNewsletter(form){
	var errorMsg = "";
	var FirstName			= form.FirstName.value;
	var Email					= form.Email.value;

	//Check for First Name
	if (FirstName == "") { 
		errorMsg += "Please enter your <strong>First Name</strong>. \n <br />";
		form.FirstName.style.background="#ffdfdf";
	} else {
		form.FirstName.style.background="#ffffff";
	}
	//Check for valid Email Address
	if (Email == "") {
		errorMsg += "Please enter an <strong>Email Address</strong>.\n <br />";
		form.Email.style.background="#ffdfdf";
	}else if (!CheckEmail(Email)) {
		errorMsg += "Please enter a <strong>Valid Email Address</strong>.\n <br />"; 
		form.Email.style.background="#ffdfdf";
	} else {
		form.Email.style.background="#ffffff";
	}
	//Return Result
	return printResult(errorMsg);
}

function validateContactUs(form){
	var errorMsg 	= "";
	var Name			= form.Name.value;
	var Email			= form.Email.value;
	var Phone			= form.Phone.value;
	var Message		= form.Message.value;

	//Check for First Name
	if (Name == "") { 
		errorMsg += "Please enter your <strong>Name</strong>. \n <br />";
		form.Name.style.background="#ffdfdf";
	} else {
		form.Name.style.background="#ffffff";
	}
	//Check for valid Email Address
	if (Email == "") {
		errorMsg += "Please enter an <strong>Email Address</strong>.\n <br />";
		form.Email.style.background="#ffdfdf";
	}else if (!CheckEmail(Email)) {
		errorMsg += "Please enter a <strong>Valid Email Address</strong>.\n <br />"; 
		form.Email.style.background="#ffdfdf";
	} else {
		form.Email.style.background="#ffffff";
	}
	//Check phone number is valid numerical digits
	if (Phone == "") {
		form.Phone.style.background="#ffffff";
	}else if (!CheckForDigits(Phone)) {
		errorMsg += "Please enter a <strong>Valid Phone Number</strong>.\n <br />"; 
		form.Phone.style.background="#ffdfdf";
	} else {
		form.Phone.style.background="#ffffff";
	}
	//Check for message
	if (Message == "") { 
		errorMsg += "Please enter your <strong>Message</strong>.\n <br />";
		form.Message.style.background="#ffdfdf";
	} else {
		form.Message.style.background="#ffffff";
	}	
	//Return Result
	return printResult(errorMsg);
}

function validateCreateAccount(form){
	var errorMsg = "";
	var Username			= form.UUsername.value;
	var Password			= form.UPassword.value;
	var Email					= form.UEmail.value;

	//Check for Username
	if (Username == "") { 
		errorMsg += "Please enter your <strong>Username</strong>. \n <br />";
		form.UUsername.style.background="#ffdfdf";
	} else {
		form.UUsername.style.background="#ffffff";
	}
	//Check for Password
	if (Password == "") { 
		errorMsg += "Please enter your <strong>Password</strong>. \n <br />";
		form.UPassword.style.background="#ffdfdf";
	} else {
		form.UPassword.style.background="#ffffff";
	}	//Check for valid Email Address
	if (Email == "") {
		errorMsg += "Please enter an <strong>Email Address</strong>.\n <br />";
		form.UEmail.style.background="#ffdfdf";
	}else if (!CheckEmail(Email)) {
		errorMsg += "Please enter a <strong>Valid Email Address</strong>.\n <br />"; 
		form.UEmail.style.background="#ffdfdf";
	} else {
		form.UEmail.style.background="#ffffff";
	}
	//Return Result
	return printResult(errorMsg);
}

function validateCreateProduct(form){
	var errorMsg = "";
	var CatID			= form.categoryID.selectedIndex;
	var Name			= form.productName.value;
	var Price			= form.prodPrice.value;

	//Check for Category ID
	if (CatID == 0) { 
		errorMsg += "Please enter a <strong>Product Category</strong>. \n <br />";
		form.categoryID.style.background="#ffdfdf";
	} else {
		form.categoryID.style.background="#ffffff";
	}
	//Check for Product Name
	if (Name == "") { 
		errorMsg += "Please enter the <strong>Product Name</strong>. \n <br />";
		form.productName.style.background="#ffdfdf";
	} else {
		form.productName.style.background="#ffffff";
	}
	//Check that Product Price is valid
	if (Price == "") {
		errorMsg += "Please enter an <strong>Product Price</strong>.\n <br />";
		form.prodPrice.style.background="#ffdfdf";
	} else {
		form.prodPrice.style.background="#ffffff";
	}
	//Return Result
	return printResult(errorMsg);
}

//Prints resulting Error Message to Document or returns TRUE
function printResult(errorMsg){
	if (errorMsg == "") {
		return true;
	}else{
		document.getElementById("errorMessage").innerHTML =  "Please repair the following errors.<br />" + errorMsg + "<br />";
		//alert(errorMsg);
		return false;
	}
}

//Checks for a valid email address
function CheckEmail(email) {
	var regexp = /^[a-zA-Z][a-zA-Z_0-9\-\.]*@[a-zA-Z][a-zA-Z_0-9\-]*(\.[a-zA-Z][a-zA-Z_0-9\-]*)+$/;
	return regexp.test(email);
}

//Checks that value contains only numerical digits.
function CheckForDigits(argVal) {
	var regexp = /^\d+$/;
	return regexp.test(argVal);
}
//Checks that value contains only 10 numerical digits.
function CheckTenDigit(argVal){
	var regexp = /^\d{10}$/;
	return regexp.test(argVal);
}
//Checks that value contains only 4 numerical digits.
function CheckFourDigit(argVal){
	var regexp = /^\d{4}$/;
	return regexp.test(argVal);
}
//Checks that value contains only 3 numerical digits.
function CheckThreeDigit(argVal){
	var regexp = /^\d{3}$/;
	return regexp.test(argVal);
}
//Checks that value contains only 2 numerical digits.
function CheckTwoDigit(argVal){
	var regexp = /^\d{2}$/;
	return regexp.test(argVal);
}
//Checks that value contains only numerical digits with two decials "1345.34".
function CheckTwoDec(argVal) {
	var regexp = /^\d*\.\d{2}$/;
	return regexp.test(argVal);
}
//Checks that value contains Currency  with $ and two decimals "$345.34".
function CheckCurrencyTwoDec(argVal) {
	var regexp = /^\$[0-9]+(\.[0-9][0-9])?$/;
	return regexp.test(argVal);
}

