


// Validator Object
    var valid = new Object();

    // REGEX Elements

        // matches zip codes
        valid.zipCode = /\d{5}(-\d{4})?/;

        // matches $17.23 or $14,281,545.45 or ...
        valid.Currency = /\$\d{1,3}(,\d{3})*\.\d{2}/;

        // matches 5:04 or 12:34 but not 75:83
        valid.Time = /^([1-9]|1[0-2]):[0-5]\d$/;

        //matches email
        valid.emailAddress = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;

        // matches phone ###-###-####
        valid.phoneNumber = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;

        // International Phone Number
        valid.phoneNumberInternational = /^\d(\d|-){7,20}/;

        // IP Address
        valid.ipAddress = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;

        // Date xx/xx/xxxx
        valid.Date = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

        // State Abbreviation
        valid.State = /^(AK|AL|AR|AZ|CA|CO|CT|DC|DE|FL|GA|HI|IA|ID|IL|IN|KS|KY|LA|MA|MD|ME|MI|MN|MO|MS|MT|NB|NC|ND|NH|NJ|NM|NV|NY|OH|OK|OR|PA|RI|SC|SD|TN|TX|UT|VA|VT|WA|WI|WV|WY)$/i;

        // Social Security Number
        valid.SSN = /^\d{3}\-\d{2}\-\d{4}$/;
	

function require(n,l,v){
	var addmess = "";

	if(n == "email"){
		myRegExp = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
		if(!myRegExp.test(v)){addmess = "Not Valid *** Email ***\n";}			
	}
	
	if(n == "phone"){
		myRegExp = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;
		if(!myRegExp.test(v)){addmess = "Not Valid *** Phone *** ###-###-####\n";}			
	}


	
	if(n == "firstname")   if(l == 0)   {addmess = "Required *** First name  ***\n";}
	if(n == "lastname")   if(l == 0)   {addmess = "Required *** Last name   ***\n";}

	
	return addmess;
}

function validateForm(theForm) {
		var message = "There are some problems with this form\n";
		var block = 0;
		var password1 = "";
		var password2 = "";
		
        var elArr = theForm.elements; 

        for(var i = 0; i < elArr.length; i++) {

           with(elArr[i]) { 

              var v = elArr[i].name; 
			  if(v == "rights"){continue;}
			  if(v == "update"){continue;}
			  if(v == "image"){continue;}
			  if(v == "display"){continue;}
			  if(v == "orgid"){continue;}
			  var l = theForm.elements[v].value.length;			
			  var q = theForm.elements[v].value;
			  var ret = require(v,l,q);
			  
			  if(v == "password"){password1 = q;}
			  if(v == "password2"){password2 = q;}
			  
	
			  
			  message = message + ret;
			  
			  if(ret != ""){block = 1;}
           }
        }
        
		if(password1 != password2){
			block = 1;
			message = message + "*** Passwords do not Match ***\n";
		}
        
		if(block == 1){
			alert(message);
			return false;	   
		}else{
			
			return true;
		}
        	

    }

