  var vName='';
  var lnLen ='';
  var firstcanada = "AMBNCPERGSHTJVKXLY";
  var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
  var isNav4 = false, isNav5 = false, isIE4 = false;

 function validateInteger( strValue ) {
  var objRegExp  = /(^-?\d\d*$)/;

  //check for integer characters
  return objRegExp.test(strValue);
 }

function AlphaTrap(vDateName, vDateValue, e, dateCheck, dateType) {
  if(navigator.appName == "Netscape") {
    if (navigator.appVersion < "5") {
      isNav4 = true;
      isNav5 = false;
    }
      else
      if (navigator.appVersion > "4") {
        isNav4 = false;
        isNav5 = true;
      }
  } else {
    isIE4 = true;
  }

  lcHvResult = document.getElementById("haveresult");
//  lcHvResult.value = lcHvResult.value.toUpperCase();
  lnLen = vDateName.value.length;
  if (lnLen > lcZip.maxlength) {
    vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
	return false;
  }
    
  if (lcHvResult.value.toUpperCase() == "CANADA") {
	switch(lnLen)
	{
	case 1:
	vDateName.value = vDateName.value.toUpperCase();
      if (firstcanada.indexOf(vDateName.value) < 0) {
	    alert("Illegal first character for Canadian Postal Code\nOnly AMBNCPERGSHTJVKXLY allowed");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
      }
	  break;
	case 2:
      if (validateInteger(vDateName.value.substr(1,1)) == false) {
//	    alert("Illegal second character for Canadian Postal Code\nNumeric values only");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
      }
	  break;
	case 3:
      if (validateInteger(vDateName.value.substr(2,1)) == true) {
//	    alert("Illegal third character for Canadian Postal Code\nCharacter values only");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
	  } else {
        vDateName.value = vDateName.value + " ";
      }
	  break;
	case 4:
      if (vDateName.value.substr(3,1) != " ") {
//	    alert("Illegal fourth character for Canadian Postal Code\nSpace only which is now added");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
        vDateName.value = vDateName.value + " ";
   	    return false;  
      }
	  break;
	case 5:
      if (validateInteger(vDateName.value.substr(4,1)) == false) {
//	    alert("Illegal fifth character for Canadian Postal Code\nNumeric values only");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
      }
	  break;
	  
	case 6:
      if (validateInteger(vDateName.value.substr(5,1)) == true) {
//	    alert("Illegal sixth character for Canadian Postal Code\nCharacter values only");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
      }
	  break;
	  
	case 7:
      if (validateInteger(vDateName.value.substr(6,1)) == false) {
//	    alert("Illegal seventh character for Canadian Postal Code\nNumeric values only");
        vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
   	    return false;  
      }
	  break;
	default:
	}
	    
    if (lnLen < 7) {
	  hidediv(lcButDiv.id);	    
    } else {
	  showdiv(lcButDiv.id, "30");	    
    }
    return false;
  }
	
  var whichCode = (window.Event) ? e.which : e.keyCode;

//Eliminate all the ASCII codes that are not valid
//alert(vDateValue.substr(vDateValue.length-1, 1));
//alert(alphaCheck.indexOf(vDateValue.substr(vDateValue.length-1, 1)));
  if (alphaCheck.indexOf(vDateValue.substr(vDateValue.length-1, 1)) >= 0) {
    if (isNav4) {
	  vDateName.value = "";
	  vDateName.focus();
	  vDateName.select();
    } else {
	  vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
    }
  }
    if (lnLen < 5) {
	    hidediv(lcButDiv.id);	    
    } else {
	    showdiv(lcButDiv.id, "30");	    
    }
  	return false;

}