/*
 *
 * File: validator.js
 *
 * Contains a list of function for field validations.
 *
 * Author: Terry Chen
 * Date: June12, 2006
 *
 */


function checkRequiredField(object, errMssg)
{
	var Elem = document.getElementById(object);

	if (Elem)
	{
		if (Elem.value == "")
		{
			alert(errMssg);
			Elem.focus();
			return false;
		}

		return true;
	}

	return true;
}


function validateEmail(object){
	var emailElem = document.getElementById(object);

	if (emailElem) {
		if(emailElem.value == ""){
			alert("Please enter the email address.");
			emailElem.focus();
			return false;
		}

		var emailPat = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    	var matchArray = emailElem.value.match(emailPat);
		if (matchArray == null) {
    		alert("Please enter a valid email address.");
			emailElem.focus();
			return false;
    	}

		return true;
	}

	return true;
}


function compareTheString(object1, object2, mssg){
	var str1 = document.getElementById(object1);
	var str2 = document.getElementById(object2);

	if (str1 && str2){
		if(str1.value == str2.value){
			return true;
		}
		else{
			alert(mssg);
			str2.focus();
			return false;
		}
	}

	return true;
}

function checkMinChars(object, minLength, mssg){
	var Elem = document.getElementById(object);

	if (Elem){
		if (Elem.value.length < minLength){
			alert(mssg);
			Elem.focus();
			return false;
		}
		else{
			return true;
		}
	}

	return true;

}

function validateChars(object, mssg){
	var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
	var Elem = document.getElementById(object);

	if (Elem){
  		for (var i = 0; i < Elem.value.length; i++) {
  			if (iChars.indexOf(Elem.value.charAt(i)) != -1) {
  				alert (mssg);
				Elem.focus();
  				return false;
  			}
  		}
	}

	return true;
}

function checkExtension(object, ext, mssg)
{
	var Elem = document.getElementById(object);

	if (Elem)
	{
		var theExt = Elem.value.toLowerCase();
		if(Elem.value.lastIndexOf(ext.toLowerCase())==-1) {
  	 		alert(mssg);
			Elem.focus();
   			return false;
		}
		return true;
	}

	return true;
}

