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

    // REGEX Elements

        //matches email
        valid.Email = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
        
        //matches Name
        valid.Name = /[a-zA-Z]/;
        
        //matches Street
        valid.Street = /[a-zA-Z0-9]/;
        
        //matches City
        valid.City = /[a-zA-Z]/;
        
        // 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;
                 
        // matches zip codes
        valid.Zip = /\d{5}(-\d{4})?/;

        // matches phone ###-###-####         valid.Phone = /^\(?\d{3}\)?\s|-\d{3}-\d{4}$/;
        valid.Phone = /[0-9]/;
        
        // Special Requests
        valid.Special = /^/;

    
function validateForm(line) {

        var elArr = document.Purchase.elements; 

           with(elArr[line]) { 

              var v = elArr[line].name; 

              var thePat = valid[v]; 

              var gotIt = thePat.exec(value); 


              if(! gotIt){
                 // alert(name + ": failure to match " + v + " to " + value);                  
                 elArr[line].style.background = "#720000";
                 elArr[line].style.color = "#FFFFFF";
                 elArr[line].select();
                 elArr[line].focus(); 
                 $("#error").css("visibility","visible");
                 return false;
              }
          
              else {
	             elArr[line].style.background = "#FFFFFF";
                 elArr[line].style.color = "#000000";
                 $("#error").css("visibility","hidden");
             }
        }
    }
    
function validateAll() {

        var elArr = document.Purchase.elements; 

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

           with(elArr[i]) { 

              var v = elArr[i].name; 

              if(!v) continue; 
              
              var thePat = valid[v]; 

              var gotIt = thePat.exec(value); 

              if(! gotIt){
                 //alert(name + ": failure to match " + v + " to " + value);                 
                 elArr[i].style.background = "#720000"
                 elArr[i].style.color = "#FFFFFF"
                 elArr[i].select();
                 elArr[i].focus(); 
                 flag = "stop";
                 $("#error").css("visibility","visible");
                 return false;
              }
              
              else {
	             elArr[i].style.background = "#FFFFFF"
                 elArr[i].style.color = "#000000"
                 $("#error").css("visibility","hidden");
                 flag = "go";
             }
           }
        }

        return true;

    }

    
function addHyphen() {
	if (document.Purchase.Phone.value.length == 3) {
		document.Purchase.Phone.value = document.Purchase.Phone.value + "-"; 
	}
	
	if (document.Purchase.Phone.value.length == 7) {
		document.Purchase.Phone.value = document.Purchase.Phone.value + "-"; 
	}
}
