isError =0;
function checkForm(form){
 
 return (checkPostCode(form.Postcode,"qPostcode") && isCatOrDog(form.Cats,form.Dogs,"qPetstoinsure"));

}

function isCatOrDog(cats,dogs,qPetstoinsure){
    if(cats.selectedIndex==0 && dogs.selectedIndex==0)
    {
       if(!isError){
         alert(errorString+"Please enter at least a dog or cat to insure.");
         ele =d.getElementById("qPetstoinsure");
         ele.className="requiredError";
         cats.focus();
       }
       return false;
    } 
    else
    {
      return true;
    }
}
function checkPostCode (toCheck,qPostcode) {
  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
  var alpha3 = "[abcdefghjkstuw]";                                // Character 3
  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5

  var pcexp = new Array ();
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
  pcexp.push (/^(GIR)(\s*)(0AA)$/i);

  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);

  var postCode = toCheck.value;
   var postCode2 = toCheck.value;
  var valid = false;

  for ( var i=0; i<pcexp.length; i++) {
    if (pcexp[i].test(postCode)) {
      pcexp[i].exec(postCode);
      postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
      postCode = postCode.replace (/C\/O\s*/,"c/o ");
      valid = true;
      break;
    }
  } 
	if(postCode2==""){
		isError =1;   
		pCError="Please enter your Postcode.";
	} 
	else if(postCode2.indexOf(" ")<0 || (postCode2.indexOf(" ") <1 || postCode2.indexOf(" ")>5)){
		isError =1;   
		pCError="Please correctly format your Postcode by separating it with a space.";
	}
	else if (valid) {
		isError =0;   
		return postCode;
	} 
	else{		
		isError =1;   
		pCError="Please check your Postcode as it appears to be invalid."
	}
	if(isError ==1){
		alert(errorString+pCError);
		ele =d.getElementById("qPostcode");
		ele.className="requiredError";
		toCheck.focus();
		isError =1;
		return false;
	}
}
// used for tracking
