    function taLimit() {
    	var taObj=event.srcElement;
    	if (taObj.value.length==255*1) return false;
    }
    
    function taCount(visCnt) { 
    	var taObj=event.srcElement;
    	if (taObj.value.length>255*1) taObj.value=taObj.value.substring(0,255*1);
    	if (visCnt) visCnt.innerText=255-taObj.value.length;
    }


	function ValidateUpload(){
		if (document.frm.FILE1.value=="") {
			alert("Please select the image from your local hard drive.")
			document.frm.FILE1.focus()
		return false }
	}

    function show(object) {
    	if (document.layers && document.layers[object] != null)
    	    document.layers[object].visibility = 'visible';
    	else if (document.all)
    	    document.all[object].style.visibility = 'visible';
    }
    function hide(object) {
    	if (document.layers && document.layers[object] != null)
    	    document.layers[object].visibility = 'hidden';
    	else if (document.all)
    	    document.all[object].style.visibility = 'hidden';
    }

    // VALIDATE ADD & EDIT USER    
    function ValidateUserEdit(){
        if (document.frm.name.value=="") {
        	alert("Please enter username.")
        	document.frm.name.focus()
        return false }
        if (document.frm.password.value=="") {
        	alert("Please enter desired password.")
        	document.frm.password.focus()
        return false }
        if (document.frm.email.value=="") {
        	alert("Please enter user's email address.")
        	document.frm.email.focus()
        return false }
    }
    
function isOnlyBlank(s)
 {
  var blank=0;
  var i;
  for (i = 0; i < s.length; i++)
  {   
	 var n = s.charAt(i)
	 if (n == " ")
	  {
		  blank++;
	  }
  }
	 if ((blank == s.length) && (s.length !=0)) {return(true);}
 }

    // VALIDATE ADD
function ValidateUser(){
        if (document.frm.email.value=="") {
        	alert("Please enter your email address.")
        	document.frm.email.focus()
        return false }		
        if (document.frm.username.value=="") {
        	alert("Please enter desired username; must be between 5 and 25 characters.")
        	document.frm.username.focus()
        return false }
        if (document.frm.password.value=="") {
        	alert("Please enter desired password; must be between 5 and 25 characters.")
        	document.frm.password.focus()
        return false }
        if (document.frm.PASS2.value=="") {
        	alert("Please enter password confirmation.")
        	document.frm.PASS2.focus()
        return false }			
        if (document.frm.name.value=="") {
        	alert("Please enter your name in this format. (Lastname Firstname)")
        	document.frm.name.focus()
        return false }
    }
    
function ValidateForm(theForm)
	{
	
	//variables to hold regular expressions to validate fields.
	var alpha_numeric_space = /^[a-zA-Z0-9\s\-]+$/;
	var numeric = /^[0-9\,\.]+$/;
	var numeric_brackets = /^[0-9\(\)\s\-]+$/;
	var numeric_space_dash = /^[0-9\s\-]+$/;
	//Setup the Error Flag & Error Message.
	errorflag = false;
	errormsg = "The following details were not supplied or were in error.\n";
	errormsg = errormsg + "Please enter: \n\n";

	//Check Name
	if (theForm.name.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Your Name\n";
		}
	if (isOnlyBlank(theForm.name.value))
		{
		errorflag = true;
		errormsg = errormsg + "Your Name\n";
		}

	if (theForm.mode.value == "add") {
		//Check username
		if (theForm.username.value == "")
			{
			errorflag = true;
			errormsg = errormsg + "Username; must be between 5 and 25 characters\n";
			}
		if (isOnlyBlank(theForm.username.value))
			{
			errorflag = true;
			errormsg = errormsg + "Username; must be between 5 and 25 characters\n";
			}
		}
		
	//Check password
	if (theForm.password.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Password; must be between 5 and 25 characters\n";
		}
	if (isOnlyBlank(theForm.password.value))
		{
		errorflag = true;
		errormsg = errormsg + "Password; must be between 5 and 25 characters\n";
		}
		
	if (theForm.mode.value == "add") {
		//Check PASS2
		if (theForm.PASS2.value != theForm.password.value)
			{
			errorflag = true;
			errormsg = errormsg + "Password confirmation\n";
			}
		if (isOnlyBlank(theForm.PASS2.value))
			{
			errorflag = true;
			errormsg = errormsg + "Password confirmation\n";
			}
		}

	//Check address
	//	if (theForm.address.value == "")
	//		{
	//		errorflag = true;
	//		errormsg = errormsg + "Address (up to 150 characters)\n";
	//		}
	//	if (isOnlyBlank(theForm.address.value))
	//		{
	//		errorflag = true;
	//		errormsg = errormsg + "Address (up to 150 characters)\n";
	//		}
	
	//Check Town/City
	//	if (theForm.city.value == "")
	//		{
	//		errorflag = true;
	//		errormsg = errormsg + "Town/City\n";
	//		}
	//	if (isOnlyBlank(theForm.city.value))
	//		{
	//		errorflag = true;
	//		errormsg = errormsg + "Town/City\n";
	//		}

	//Check Telephone Number Present and Numeric.
		if (theForm.phone.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Phone Number\n";
		}
	if (isOnlyBlank(theForm.phone.value))
		{
		errorflag = true;
		errormsg = errormsg + "Phone Number\n";
		}
		
	if (theForm.phone.value.length != 0)
		{
		if (!numeric.test(theForm.phone.value))
			{
			errorflag = true;
			errormsg = errormsg + "A valid Telephone Number (Numbers only, no spaces)\n";
			}
		}
				
	//Check Mobile Number is Numeric.
	if (theForm.opt3.value.length != 0)
		{
		if (!numeric.test(theForm.opt3.value))
			{
			errorflag = true;
			errormsg = errormsg + "A valid Mobile Number (Numbers only, no spaces)\n";
			}
		}

	// Email Address
  	var str = theForm.email.value;
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z0-9]{1,10})(\]?)$/; // valid
  	if (!reg1.test(str) && reg2.test(str)) 
		{ 
		// if syntax is valid
  		}
	else
   		{
   		errorflag = true;
   		errormsg = errormsg + "A Valid Email Address\n";
   		}

	if (theForm.opt5.checked != true)
		{
			errorflag = true;
			errormsg = errormsg + "You need to agree to our terms\n";
		}
    
    //captcha
	if (theForm.captcha.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Verification Code\n";
		}
	if (isOnlyBlank(theForm.captcha.value))
		{
		errorflag = true;
		errormsg = errormsg + "Verification Code\n";
		}
		  	
	//Check to see if any errors occurred.
	if (errorflag)
	  	{
	    alert(errormsg);
	    return false;  
	  	}
	else
		{
		return true;
		}
	}

    // VALIDATE URL 
    function ValidateURL(URL){
    	if (document.frm.url.value=="") {
    		alert("The web site URL is empty.")
    		document.frm.url.focus()
    	return false 
    	} else {
    		window.open(URL)
    		return true
    	}
    }
    
    // VALIDATE Password Reminder FORM
    function ValidateReminder(){
        if (document.frm.email.value=="") {
        	alert("Please enter your email address.")
        	document.frm.email.focus()
        return false }
    }
        
    // VALIDATE LOGIN FORM
    function ValidateLogin(){
        if (document.login_form.username.value=="") {
        	alert("Please enter your username.")
        	document.login_form.username.focus()
        return false }
        if (document.login_form.password.value=="") {
        	alert("Please enter your password.")
        	document.login_form.password.focus()
        return false }
    }

    // VALIDATE ADD REMINDER 
function ValidateReminder(theReminder){

	//Setup the Error Flag & Error Message.
	errorflag = false;
	errormsg = "The following details were not supplied or were in error.\n";
	errormsg = errormsg + "Please enter: \n\n";

	//Check Event Date
	if (theReminder.arEVENTDATE.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Date of Event\n";
		}
	if (isOnlyBlank(theReminder.arEVENTDATE.value))
		{
		errorflag = true;
		errormsg = errormsg + "Date of Event\n";
		}

	//Check EVENT
	if (theReminder.arEVENT.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Event\n";
		}
	if (isOnlyBlank(theReminder.arEVENT.value))
		{
		errorflag = true;
		errormsg = errormsg + "Event\n";
		}
	
	//Check RECIPIENT
		if (theReminder.arRECIPIENT.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Recipient\n";
		}
	if (isOnlyBlank(theReminder.arRECIPIENT.value))
		{
		errorflag = true;
		errormsg = errormsg + "Recipient\n";
		}
	
	//Check GIFTNAME
	if (theReminder.arGIFTNAME.value == "")
		{
		errorflag = true;
		errormsg = errormsg + "Name / Description of Gift\n";
		}
	if (isOnlyBlank(theReminder.arGIFTNAME.value))
		{
		errorflag = true;
		errormsg = errormsg + "Name / Description of Gift\n";
		}
	
	//Check to see if any errors occurred.
	if (errorflag)
	  	{
	    alert(errormsg);
	    return false;  
	  	}
	else
		{
		return true;
		}
		
	}