/*
 *
 * 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 allowed = false;
	var ext_array = ext.split("-");

	
	var Elem = document.getElementById(object);
	
	if (Elem) 
	{
		if (Elem.value != ""){
			var theExt = Elem.value.toLowerCase();
		
			for (var i=0; i<ext_array.length; i++){
				if(Elem.value.lastIndexOf(ext_array[i].toLowerCase())!=-1) {
					allowed = true;
				}
			}
		
			if (!allowed){
				alert(mssg);
				Elem.focus();
   				return false;
			}
		}
		
		return true;
	}
	
	return true;
}


function checkPositiveInt(object){
	var Elem = document.getElementById(object);
	
	var thisint = parseInt(Elem.value);
   	var thisfloat = parseFloat(Elem.value);

   	if (thisint != thisfloat) {
    	alert("You didn't enter an integer!")
    	Elem.focus()
    	return false;
	}
	else if (thisint <= 0){
		alert("Please enter a value greater than zero.");
		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;
}
*/