//document.domain="hqintra01.gmpnt.rootdom.gmp.police.cjx.gov.uk";function checkPostCode (toCheck) {  // Permitted letters depend upon their position in the postcode.  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2  var alpha3 = "[abcdefghjkpmnrstuvwxy]";                         // Character 3  var alpha4 = "[abehmnprvwxy]";                                  // Character 4  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5    // Array holds the regular expressions for the valid postcodes  var pcexp = new Array ();  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));    // Expression for postcodes: ANA NAA  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));  // Expression for postcodes: AANA  NAA  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "{1}" + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));    // Exception for the special postcode GIR 0AA  pcexp.push (/^(GIR)(\s*)(0AA)$/i);    // Standard BFPO numbers  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);    // c/o BFPO numbers  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);    // Overseas Territories  pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i);  // Load up the string to check  var postCode = toCheck;  // Assume we're not going to find a valid postcode  var valid = false;    // Check the string against the types of post codes  for ( var i=0; i<pcexp.length; i++) {    if (pcexp[i].test(postCode)) {          // The post code is valid - split the post code into component parts      pcexp[i].exec(postCode);            // Copy it back into the original string, converting it to uppercase and      // inserting a space between the inward and outward codes      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();            // If it is a BFPO c/o type postcode, tidy up the "c/o" part      postCode = postCode.replace (/C\/O\s*/,"c/o ");            // Load new postcode back into the form element      valid = true;            // Remember that we have found that the code is valid and break from loop      break;    }  }    // Return with either the reformatted valid postcode or the original invalid   // postcode  if (valid) {return postCode;} else return false;}function  doSearch (s) {  var myPostCode = s.value;  if (checkPostCode (myPostCode)) {    openDbRelativeURL("../../../Live/Nhoodv3.nsf/PostcodeSearch?OpenAgent&postcode=" + checkPostCode (myPostCode));  }   else {alert ("Postcode is not valid")};}function openDbRelativeURL( url, target ){//Check we have a target window;target = (target == null ) ? window : target;//Work out the path of the database;path = location.pathname.split('.nsf')[0] + '.nsf/';target.location.href = path + url;}function doSubmit(s) {document.forms[0].submit();}function checkEnter(e){var characterCodeif(e && e.which){ e = echaracterCode = e.which}else{e = eventcharacterCode = e.keyCode}if(characterCode == 13){ document.forms[0].Search.click();//alert('click search')return false;}else{return true;}}
