﻿
function postit(controlid,errid){ //check postcode format is valid

 test = document.getElementById(controlid).value; 
 size = test.length;
 var result = true;
 var ErrorMg = "";
 test = test.toUpperCase(); //Change to uppercase
 while (test.slice(0,1) == " ") //Strip leading spaces
  {
    test = test.substr(1,size-1);
    size = test.length;
  }
 while(test.slice(size-1,size)== " ") //Strip trailing spaces
  {
  test = test.substr(0,size-1);
  size = test.length;
  }
 //document.details.pcode.value = test; //write back to form field
 if (size < 6 || size > 8){ //Code length rule
  ErrorMg = "Not a valid postcode - wrong length";
  result =  false;
  }
 if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
   ErrorMg = "Not a valid postcode - cannot start with a number";
   result =  false;
  }
 if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
   ErrorMg = "Not a valid postcode - alpha character in wrong position";
   result = false;
  }
 if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
   ErrorMg = "Not a valid postcode - number in wrong position";
   result = false;
  }
 if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
   ErrorMg = "Not a valid postcode - number in wrong position";
   result = false;
  }
// if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
//   ErrorMg = "Not a valid postcode";
//   result = false;
//   }
 count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
 if (count1 != count2){//only one space rule
   ErrorMg = "Not a valid postcode - only one space allowed";
   result = false;
  }
    document.getElementById(errid).innerHTML = ErrorMg
    return result;
}

