// req: /site/js/geo.js

_geo_pc_cache = {};
function validatePC(pc, warning, silent, required, accept_fsa)
{
  if(silent == null) silent = false;
  if(required == null) required = false;
  if(accept_fsa == null) accept_fsa = false;
  
  if(pc.value != "") {
    var _pc_key = pc.value.toLowerCase().replace(" ","");
    if(typeof(_geo_pc_cache[_pc_key]) != "undefined") {
      valid = _geo_pc_cache[_pc_key];
    }
    else {
      valid = isValidPostalCode(pc, isValidPostalCode_cb, accept_fsa);
      _geo_pc_cache[_pc_key] = valid;
    }
    if(!valid && warning && !silent) alert("The postal code specified is not valid.  Please try again.");
    if(!warning) return true;
    return valid;
  }
  else {
    if(required) {
      if(warning && !silent) {
        alert("Your postal code is required to proceed");
      }
      return false;
    }
  }
  return true;
}

function validatePC2(pc, warning, silent, required, accept_fsa){
  if(silent == null) silent = false;
  if(required == null) required = false;
  if(accept_fsa == null) accept_fsa = false;
  
  if(pc.value != "") {
    var _pc_key = pc.value.toLowerCase().replace(" ","");
    if(typeof(_geo_pc_cache[_pc_key]) != "undefined") {
      valid = _geo_pc_cache[_pc_key];
    }
    else {
      valid = isValidPostalCode(pc, isValidPostalCode_cb, accept_fsa);
      _geo_pc_cache[_pc_key] = valid;
    }
    //if(!valid && warning && !silent) alert("The postal code you entered is not valid.  Please try again.");
    if(!valid && warning && !silent){
      msgerreur = "The postal code you entered is not valid. Please try again.";
      if (document.layers) {
        document.layers.error.document.write(msgerreur);
        document.layers.error.document.close();
        document.layers['err-msg'].className = 'visible';
      }
      else if(document.getElementById){
        document.getElementById("err-msg").innerHTML = msgerreur;
        document.getElementById('err-msg').className = 'visible';
      }
      else
        alert(msgerreur);
    }
    if(!warning) return true;
    return valid;
  }
  else {
    if(required) {
      if(warning && !silent) {
        msgerreur = "Your postal code is required to proceed.";
        if (document.layers) {
          document.layers.error.document.write(msgerreur);
          document.layers.error.document.close();
          document.layers['err-msg'].className = 'visible';
        }
        else if(document.getElementById){
          document.getElementById("err-msg").innerHTML = msgerreur;
          document.getElementById('err-msg').className = 'visible';
        }
        else
          alert(msgerreur);
      }
      return false;
    }
  }
  return true;
}