var g_sRet;

function vf(fld, filter, s)
{
  if (!filter.test(fld.value))
  {
    g_sRet += (s + "\n");
    
    return false;
  }
  
  return true;
}

function verify(bJustReturn)
{
  if (bJustReturn == null)
    bJustReturn = false;
    
  g_sRet = '';
  xit = true;
  
  frm = document.forms[0];

  var sCountry = frm.SCountry.options[frm.SCountry.selectedIndex].value;

  if (!bJustReturn)
  {
    if ((frm.Agree) && (frm.Agree.type == "checkbox") && (!frm.Agree.checked))
      g_sRet += "You must agree to the terms\n";
  }
  
  vf(frm.First, /.+/, 'Please enter First Name');
  vf(frm.Last, /.+/, ' Please Enter Last Name');
  vf(frm.SAddress1, /.+/, 'Please Enter Delivery Address');

  if (frm.SState.options[frm.SState.selectedIndex].value == '')
  {
    if (sCountry == "CA")
      g_sRet += "Please Enter Province For Delivery \n";
    
    else if (sCountry == "UK")
      g_sRet += "Please Select a County For Delivery \n";
    
    else
      g_sRet += "Please Enter State For Delivery \n";
  }

  vf(frm.SCity, /^[A-Z a-z.-]+$/, 'Please Enter City For Delivery');
  
  if (sCountry == "CA")
  {
    var zip = frm.SZip.value.replace(/[^0-9a-zA-Z]/, "");
    
    filter = /[0-9a-zA-Z]{6}/;
    
    if (!filter.test(zip))
      g_sRet += ("Please Enter a valid Postal Code\n");
  }

  else if (sCountry == "AU")
    vf(frm.SZip, /[0-9]{4}/, 'Please Enter Four Digit Zip Code');

  else if (sCountry == "UK")
    vf(frm.SZip, /.+/, 'Please Enter Post Code');
    
  else
    vf(frm.SZip, /[0-9]{5}/, 'Please Enter Five Digit Zip Code');
  
  if ((sCountry == "CA") || (sCountry == "US") || (sCountry == "USA"))
  {
    if (frm.Phone1A)
    {
      if (vf(frm.Phone1A, /^[0-9]{3}$/, 'Please Enter Phone Number for Shipping Issues'))
      {
        if (vf(frm.Phone1B, /^[0-9]{3}$/, 'Please Enter Phone Number for Shipping Issues'))
          vf(frm.Phone1C, /^[0-9]{4}$/, 'Please Enter Phone Number for Shipping Issues');
      }
    }
    
    else
    {
      sPhone = frm.Phone1.value.replace(/[^0-9]*/g, '');
      
      if (sPhone.length != 10)
        g_sRet += "Please Enter Phone Number for Shipping Issues\n";
    }
  }
  
  else
    vf(frm.Phone1, /.+/, 'Please Enter Phone Number');
  
  vf(frm.Email, /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, 'Please Enter Email Address for Order Confirmation');

  if (bJustReturn)
    return g_sRet;
    
  if (g_sRet.length > 0)
  {
    alert(g_sRet);
	if (g_bUseCatch) xit = false;
    return false;
  }

  return true;
}

function alertif(s)
{
  if (s && s.length > 0)
    alert(s.replace(/\<.*\>/, ""));
}

