var g_sRet;

function vf(fld, filter, s)
{
  if (!filter.test(fld.value))
  {
    g_sRet += (s + "\n");
    
    return false;
  }
  
  return true;
}

function verify()
{
  g_sRet = '';
  
  frm = document.forms[0];

  if ((frm.Agree) && (frm.Agree.type == "checkbox") && (!frm.Agree.checked))
    g_sRet += "You must agree to the terms\n";
  
  vf(frm.First, /.+/, 'First name is required');
  vf(frm.Last, /.+/, 'Last name is required');
  vf(frm.SAddress1, /.+/, 'Address is required');

  if (frm.SState.options[frm.SState.selectedIndex].value == '')
    g_sRet += "State is required\n";

  vf(frm.SCity, /^[A-Z a-z.-]+$/, 'City is required, and cannot contain numbers or special characters');
  vf(frm.SZip, /[0-9]{5}/, 'Five digit zip code is required');
  
  if (frm.Phone1A)
  {
    if (vf(frm.Phone1A, /^[0-9]{3}$/, 'Please enter a valid phone number'))
    {
      if (vf(frm.Phone1B, /^[0-9]{3}$/, 'Please enter a valid phone number'))
        vf(frm.Phone1C, /^[0-9]{4}$/, 'Please enter a valid phone number');
    }
  }
  
  else
  {
    sPhone = frm.Phone1.value.replace(/[^0-9]*/g, '');
    
    if (sPhone.length != 10)
      g_sRet += "Phone number should be ten digits\n";
  }
  
  vf(frm.Email, /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, 'Please enter a valid email address');

  if (g_sRet.length > 0)
  {
    alert(g_sRet);
    return false;
  }
  
  return true;
}

function alertif(s)
{
  if (s && s.length > 0)
    alert(s.replace(/\<.*\>/, ""));
}

