function ValidStringLength(intMaxLength, strFieldName, objFieldReference) {   
	
	var intOverage = objFieldReference.value.length - intMaxLength;
	
	if (intOverage > 0) {
	
		var strMessage = "Your entry in the field '" + strFieldName + "' is too long.  ";
		
		strMessage += "You will need to reduce it by " + intOverage + " character";
		
		if (intOverage!=1) {
			strMessage += "s";
		}
		
		strMessage += ".";
		
		alert(strMessage);
		
		objFieldReference.focus();
		
		return false;
	 }
	 
	return true;
}


function IsFieldCompleted(strFieldName, objFieldReference)
{   
	if (fieldisempty(objFieldReference)) {
		var strMessage = "You must enter a value in the field '" + strFieldName + "'.";
		alert(strMessage);
		objFieldReference.focus();
		return false;
	}
	return true;
}


function fieldisempty(objField) {
	
	var pattern=new RegExp('[\\s]',"g");
	
	var str = objField.value;
	
	str = str.replace(pattern, '');
	
	if (str.length==0){
		return(true);
	}
	
	return(false);
}


function IsFieldAValidEmailADdress(strFieldName, objFieldReference)
{   
	if (! validemailaddress(objFieldReference)) {
		var strMessage = "Please enter a valid email address in the field '" + strFieldName + "'.";
		alert(strMessage);
		objFieldReference.focus();
		return false;
	}
	return true;
}

function validemailaddress(objField) {
  
	var str = objField.value;
	  
	var exclude = /[^@\'\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
	  
	var check = /@[\w\-]+\./;
	  
	var checkend = /\.[a-zA-Z]{2,3}$/;
	  
	if(((str.search(exclude) == -1) && (str.search(check)) != -1) && (str.search(checkend) != -1)){
	  
		return(true);
		
	}else{
	
		return(false);
	}
}


function IsDropDownSelected(strFieldName, objFieldReference, blnAllowFirstElementSelect){
	var intMinSelection;
	
	if (blnAllowFirstElementSelect){
		intMinSelection = 0;
	}else{
		blnAllowFirstElementSelect = 1;
	}
	
	if (objFieldReference.selectedIndex < blnAllowFirstElementSelect){
		var strMessage = "You must enter a value in the field '" + strFieldName + "'";
		alert(strMessage);
		objFieldReference.focus();
		return false;
	}
	
	return true;
}


function SelectedACheckBox(strFieldName, objFieldReference){
	var i;
	var blnCheckedOne = false;
	var undefined;
	
	if (objFieldReference.length == undefined){		//only one checkbox
		blnCheckedOne = objFieldReference.checked
	}
	else{
	
		for (i=0; i<objFieldReference.length; i++){
			if (objFieldReference[i].checked){
				blnCheckedOne = true;
			}
		}
	}
	
	if (!blnCheckedOne){
		alert("Please select a " + strFieldName);
	}
	
	return blnCheckedOne;
	
}

function IsDate(intMonth, intDay, intYear){

	intMonth = intMonth - 1;
	
	var tmpDate = new Date(intYear, intMonth, intDay);
	
	if ( (parseInt(intYear,10)  == getYear(tmpDate.getYear())) &&
		 (parseInt(intMonth,10) == tmpDate.getMonth()) &&
		 (parseInt(intDay,10)   == tmpDate.getDate()) 
	   ) 
	{ 
		return true; 
	}
	else{
		return false;
	}
}

function getYear(intYear){ 
	return (intYear < 1000) ? intYear + 1900 : intYear; 
}


function IsNumber(strFieldName, objFieldReference){

	var str = new String(objFieldReference.value);
	  
	var regValidChars= new RegExp("[^0-9]"); 
	  
	if (str.search(regValidChars) == -1){
		return true; 
	}
	  
	objFieldReference.focus();
	alert("Please enter a valid number in the " + strFieldName + " field.");
	return(false);
}


function IsIE4(){

	//check that the browser is IE 4 or higher
	
	var intBrowserVersion
	var strBrowserName
		
	intBrowserVersion = parseInt(navigator.appVersion);
	strBrowserName = navigator.appName;
	
	if (strBrowserName.indexOf("Internet Explorer") == -1){
		return false;
	}
	
	if (intBrowserVersion < 4){
		return false;
	}
	
	return true;	
}
