var global_valfield;
var nbsp = 160;
var node_text = 3;
var emptyString = /^\s*$/

var proceed = 2; 

function trim(str) {   return str.replace(/^\s+|\s+$/g, ""); }

function setFocusDelayed() {   global_valfield.focus(); }

function setfocus(valfield) {   global_valfield = valfield;   setTimeout( "setFocusDelayed()", 100 ); }

function commonCheck    (valfield,  infofield, required) {
  if (!document.getElementById)  return true;

  var elem = document.getElementById(infofield);

  if (!elem.firstChild) return true;
  if (elem.firstChild.nodeType != node_text) return true;
  if (emptyString.test(valfield.value)) {
    msg (infofield, "Whoops!  You need to fill this in!");
    setfocus(valfield);
    return false;
  }
  return proceed;
}

function msg (fieldId, message) {
  var dispmessage;
  if (emptyString.test(message))  {
    dispmessage = String.fromCharCode(nbsp);
  }  else  {
    dispmessage = message;
  }
  var elem = document.getElementById(fieldId);
  elem.firstChild.nodeValue = dispmessage;
  elem.className = "error";
}


function checkEmail  (valfield,  infofield,  required)  {

  var stat = commonCheck (valfield, infofield, required);

  if (stat != proceed) return stat;

  var tfld = trim(valfield.value);
  var email = /^[^@]+@[^@.]+\.[^@]*\w\w$/  ;

  if (!email.test(tfld)) {
    msg (infofield, "Whoops! Looks like a typo!!");
    setfocus(valfield);
    return false;
  }

  var email2 = /^[A-Za-z][\w.-]+@\w[\w.-]+\.[\w.-]*[A-Za-z][A-Za-z]$/  ;
  if (!email2.test(tfld))
    msg (infofield, "Unusual e-mail address - please double check");
  else
    msg (infofield, "");

  return true;
}

function checkName (valfield,  infofield,  required)  {
  var stat = commonCheck (valfield, infofield, required);
  if (stat != proceed) return stat;
  return (true);
}

function validate () {
   var numError = 0;

   //if (!checkName(document.forms.collect.name,"name_msg",true)) { numError++; }

   if (!checkEmail(document.forms.collect.email,"email_msg",true)) { numError++; }

   if (numError > 0) {numError = 0; return false;}

   return (true);
}

function checkURL() {
   var thisUrl = document.location.toString();
   if (thisUrl.indexOf("error=email") > 0) {
     var elem = document.getElementById("error_msg");
     elem.firstChild.nodeValue = "There appears to have been a problem with your email address.  Please retry";
     elem.className = "error";
   }
}

checkURL();