//
//	Utility functions:
//
//		vnotblank
//		vemail		abc@def.ghi
//		validate(validation type, field name, field title, optional)

var button

function vnotblank(field,name)
{ if (document.all[field].value == "")
  { alert('You must enter a value for "' + name + '".');
    document.all[field].focus();
    return false;
  }
  return true
}
function vselected(field,name)
{ for (var i=1; i < document.all[field].length; i++)
  { if (document.all[field][i].selected) {return true}
  }
  alert('You must select an option for  "' + name + '".');
  return false
}

function vemail(field,name)
{ var str = document.all[field].value;        
  var emailre = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/
  var error;

  if (document.all[field].value == "")
  { alert("Please enter a valid email address.");
    document.all[field].focus();
    return false;
  }

  if (!str)
  { alert("Please enter a valid email address.");
    document.all[field].focus();
    return false;
  }

  if (!emailre.test(str))
  { alert("Please enter a valid email address.");
    document.all[field].focus();
    return false;
  }

  return true
}

function validate(type,field,name,optional)
{ if (optional && document.all[field].value == "" ) {return true}
  if (type == 'notblank') {return vnotblank(field,name)}
//  if (type == 'numeric')  {return vnumeric(field,name)}
//  if (type == 'checked')  {return vchecked(field,name)}
  if (type == 'selected') {return vselected(field,name)}
//  if (type == 'ssn')      {return vssn(field,name)}
//  if (type == 'ein')      {return vein(field,name)}
//  if (type == 'date')     {return vdate(field,name)}
//  if (type == 'ccdate')   {return vccdate(field,name)}
//  if (type == 'phone')    {return vphone(field,name)}
  if (type == 'email')    {return vemail(field,name)}
//  if (type == 'zip')      {return vzip(field,name)}
//  if (type == 'ccard')    {return vccard(field,name)}
  alert('Invalid parameters: '+type+','+field+','+name+','+optional)
  return false
}

function validateSubscribe(form)
{ if (!validate('email','email','E-mail address')) {return false}
  if (!validate('selected','title','Title')) {return false}
  if (!validate('notblank','firstname','First Name')) {return false}
  if (!validate('notblank','lastname','Last Name')) {return false}
  if (!validate('notblank','organization','Organization')) {return false}
  if (!validate('notblank','state','State')) {return false}
  if (!validate('notblank','position','Position')) {return false}
  if (!validate('notblank','recaptcha_response_field','challenge words')) {return false}
  return true
}