/*
-------------------------------------------------------------------------------------------------------------	
	Description	:	This files contains all client-side error messages & validations pattern. 
-------------------------------------------------------------------------------------------------------------	
*/	

	 
	var Err_Password_NoMatch = "Both Passwords do not match."
 	var Err_Email = "Invalid Email."
	var Err_UserName = "Invalid Username."
	var Err_Password = "Invalid Password."
	var Err_Name = "Invalid Name."
	var Err_StreetAddress = "Invalid Street Address."
	var Err_City = "Invalid City."
	var Err_Region = "Invalid Region."
	var Err_Zip = "Invalid Zip."
	var Err_Postal = "Invalid Postal Code."
	var Err_Contact = "Invalid Phone Number."
	var Err_Extn = "Invalid Extn Number."
	var Err_Fax = "Invalid Fax Number."
	var Err_CategoryName = "Invalid Category name."
	var Err_PrdName = "Invalid Product name."
	var Err_StkNumber = "Invalid Stock number."
	var	Err_SuppNumber = "Invalid Supplier number."
	var Err_CatShortDescription = "Short Description cannot be more than 255 characters." 
	var Err_GiftItemNumber = "Invalid Gift Item Number."
	var Err_GiftName = "Invalid Gift Name."
	var Err_ServiceName = "Invalid Service."
	var Err_OrderVal = "Invalid Order Amount."

	var Err_Username_blank = "Username cannot be blank."
	var Err_Password_blank = "Password cannot be blank."
	var Err_OldPassword_blank = "Old password cannot be blank."
	var Err_NewPassword_blank = "New password cannot be blank."
	var Err_Name_blank = "Name cannot be blank."
	var Err_StreetAddress_blank = "Street Address cannot be blank."
	var Err_City_blank = "City cannot be blank."
	var Err_Region_blank = "Region cannot be blank."
	var Err_Zip_blank = "Zip cannot be blank."
	var Err_Postal_blank = "Postal Code cannot be blank."
	var Err_Contact_blank = "Phone cannot be blank."
	var Err_Extn_blank = "Extn Number cannot be blank."
	var Err_Fax_blank = "Fax Number cannot be blank."
	var Err_Email_blank = "Email cannot be blank."
	var Err_CategoryName_blank = "Category Name cannot be blank."
	var Err_PrdName_blank = "Product Name cannot be blank."
	var Err_StkNumber_blank = "Stock number cannot be blank."
	var Err_SuppNumber_blank = "Supplier number cannot be blank."
	var Err_CatShortDescription_blank = "Short description cannot be blank."
	var Err_GiftItemNumber_blank = "Gift Item Number cannot be blank."
	var Err_GiftName_blank = "Gift Name cannot be blank."
	var Err_ServiceName_blank = "Service Name cannot be blank."
	var Err_OrderVal_blank = "Order Amount cannot be blank."

	 
	// Global constants for the validation patterns
	var vld_Integer =/^[0-9]*$/
	var vld_Name = /^[\s\S]*$/
	var vld_UserName =  /^[a-zA-Z0-9_]*$/
	var vld_Password =  /^[a-zA-Z0-9_]*$/
	var vld_Email =  /^(([a-zA-Z0-9\_\-\.]*)@([a-zA-Z0-9\_\-\.]*)\.([a-zA-Z0-9]*))$/
	var vld_CategoryName = /^[\s\S]*$/
	var vld_PrdName = /^[\s\S]*$/
	var vld_ShortCatDescription  = /^[\s\S]*$/
	var vld_GiftItemNumber = /^[\s\S]*$/
	var vld_GiftName = /^[\s\S]*$/
	var vld_ServiceName = /^[\s\S]*$/
	var vld_OrderVal =/^[0-9]*$/
 
	var gStErrMsg = ""
/*
-------------------------------------------------------------------------------------------------------------	
	Description	:	This functions validates a value against a validation pattern. If the pattern does not 
					matches the value it appends an error message to the error message string. This function 
					is to be used for form validation.
	Parameters 	:	
					pstrPtn -- validation pattern
					pstrVal -- value to be matched against the pattern 
					pstrMsg -- Constant for the error message 
					pstrErrMsg -- Error message string 
					pblnRqd	-- Required or not 						  
					pintMaxLen -- Maximum Length
-------------------------------------------------------------------------------------------------------------	
*/	
function ValidateField(pstrPtn, pstrVal, pstrMsg, pstrblkMsg, pstrErrMsg, pblnRqd, pintMaxLen)
{
	pstrVal = trim(pstrVal);
	var lblnVldFld = true 
	// check whether the field is mandatory
	if ( pblnRqd == true && pstrVal == "" )
	{
		//lblnVldFld = false
		return pstrblkMsg;
	}
	// maxlength check
	if( pintMaxLen > -1 && pstrVal.length > pintMaxLen)
	{
		lblnVldFld = false	 		
	}
	// validate value against pattern
	if( eval(pstrPtn).test(pstrVal) == false )
	{
		lblnVldFld = false
	}				
	// generate error message if invalid
	if ( lblnVldFld == false )
	{
		//pstrErrMsg = pstrErrMsg + pstrMsg + "\r"
		pstrErrMsg = pstrMsg
	}
	return pstrErrMsg;
}
function trim(s) {
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}
	return s;
}

//function for email validation
// at present as per client requirement user
// can enter any type of format for email
// but must have ' @ 'sign.
function validateEmail(email){			 
		// This function is used to validate a given e-mail 
		// address for the proper syntax		
		if (trim(email) == ""){
			return false;
		}		 
		posOfAtSign = email.indexOf(" ",1)
		if (posOfAtSign != -1){
			return false;
		}
		posOfAtSign = email.indexOf("@",1)
		if (posOfAtSign == -1){
			return false;
		}
		if (email.indexOf("@",posOfAtSign+1) != -1){
			return false;
		}
		posOfPeriod = email.indexOf(".", posOfAtSign)
		if (posOfPeriod == -1){
			return false;
		}
		if (posOfPeriod+2 > email.length){
			return false;
		}
		return true
	}
	
function isNull(aStr){ 
	var index;		
	for (index=0; index < aStr.length; index++)
		if (aStr.charAt(index) != ' ')
			return false;
	return true;
}

function isInteger(s){
	var i;
	s = trim(s);
	for (i = 0; i < s.length; i++){   
		// Check that current character is number.
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return false;
	}
	// All characters are numbers.
	return true;
}