<!--

// Input Validation
// Roial Advertising, 6/2008

// Requires the following three styles:
// input.empty { background:#; }
// input.pass { background:#; }
// input.fail { color:#; background:# url() no-repeat top right; }

function validateInput(obj, type, required) {
   // Assign the appropriate regular expression
   var regexp = "";
   var inputrules = "";
   switch (type) {
      case "currency":
         regexp="^\\d*[0-9](\\.\\d{2})?$";
         inputrules="US currency in numbers only, without a dollar sign or commas";
         break;
      case "date":
         regexp="^([\\d]|1[0,1,2])/([0-9]|[0,1,2][0-9]|3[0,1])/\\d{4}$";
         inputrules="a date in the format MM/DD/YYYY";
         break;
      case "state":
         regexp="^[A-Z]{2}$";
         inputrules="a two letter state code, for example NC";
         break;
      case "zip":
         regexp="(^\\d{5}$)|(^\\d{5}-\\d{4}$)";
         inputrules="a five digit zip code, or a nine digit zip code in the format #####-####, for example 12345 or 12345-1234";
         break;
      case "place":
         regexp="^[a-zA-Z- ]+$";
         inputrules="a place name including only letters, dashes, and spaces";
         break;
      case "email":
         regexp="^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,.,-]*[.]{1}[a-zA-Z]{2,4})+$";
         inputrules="an email address in the format name@domain.ext";
         break;
      case "number":
         regexp="^\\d+$";
         inputrules="numbers only";
         break;
      case "phone":
         regexp="^\\([2-9]\\d{2}\\)\\d{3}-\\d{4}$";
         inputrules="a phone number in the format: (###)###-####";
         break;
      case "decimal":
         regexp="^\\d*[0-9](\\.\\d*[0-9])?$";
         inputrules="a number with an optional decimal";
         break;
   }
   
   var elValue = document.getElementById(obj).value;
   var valid = false;

   if (elValue == "") {
      // If it's blank and not required, that's fine.
      if (!required) {
         document.getElementById(obj).className="empty";
         return true;
      }
   }
   else {
      // If it's not blank, test it
      var objRegexp = new RegExp(regexp);
      valid = objRegexp.test(elValue);
   }

   if (valid) {
      document.getElementById(obj).className="pass";
   }
   else {
      document.getElementById(obj).className="fail";
   }
}

function checkall() {
   for (i=0; i<document.forms[0].elements.length; i++) {
      if (document.forms[0].elements[i].className == "fail") {
         alert ("Please correct any fields marked in red.  Note that required fields may not be left blank.");
         return false;
      }
   }
   if (document.forms[0].Catch.value != "Land Title" && document.forms[0].Catch.value != "LandTitle" && document.forms[0].Catch.value != "land title" && document.forms[0].Catch.value != "landtitle")
   {
        alert ("Please put correct value in field.");
        return false;
   }   
   document.forms[0].submit();
}

// -->

