function isFieldNumeric(strString){var strValidChars="0123456789.-";var strChar;var blnResult=true;if(strString.length===0){return false;}for(i=0;i<strString.length&&blnResult===true;i++){strChar=strString.charAt(i);if(strValidChars.indexOf(strChar)==-1){blnResult=false;}}return blnResult;}function GetCBSAddress(postcodelookupfield){var house_number='';var post_code='';var params;var xmlHttp=null;var browser=navigator.appName;if(browser=="Microsoft Internet Explorer"){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}else{xmlHttp=new XMLHttpRequest();}if(!xmlHttp){document.getElementById("address_error").innerHTML='Sorry. We are experiencing problems checking postcode. Please try again or enter your details below.';}xmlHttp.onreadystatechange=function(){if(xmlHttp.readyState==4){var Response=xmlHttp.responseText;if(Response=="TOOMANYATTEMPTS"){document.getElementById("address_error").innerHTML="Sorry. Can only look up 10 postcodes. Please enter your full details below.";return;}else if(Response=="NOTFOUND"){document.getElementById("address_error").innerHTML="Sorry. Address not found. Please enter your full details below.";return;}else if(Response=="ERROR"){document.getElementById("address_error").innerHTML="Sorry. We are experiencing problems looking up your postcode. Please enter your full details below.";return;}else{results=Response.split(",");if(results[0]=='OK'){house_number=document.getElementById('txtHouseNameNumber').value;if(isFieldNumeric(house_number)===true){if(document.getElementById('txtBillingAddressLine1')){document.getElementById('txtBillingAddressLine1').value=house_number+' '+results[1];}else if(document.getElementById('address1')){if(document.getElementById('txtHouseNameNumber')){document.getElementById('address1').value=results[1];}else{document.getElementById('address1').value=house_number+' '+results[1];}}else if(document.getElementById('txtDeliveryAddressLine1')){document.getElementById('txtDeliveryAddressLine1').value=house_number+' '+results[1];}else if(document.getElementById('deladdress1')){if(document.getElementById('txtHouseNameNumber')){document.getElementById('deladdress1').value=results[1];}else{document.getElementById('deladdress1').value=house_number+' '+results[1];}}if(document.getElementById('txtBillingAddressLine2')){document.getElementById('txtBillingAddressLine2').value=results[2];}else if(document.getElementById('address2')){if(document.getElementById('address1').value==''){document.getElementById('address1').value=results[2];}else{document.getElementById('address2').value=results[2];}}else if(document.getElementById('txtDeliveryAddressLine2')){document.getElementById('txtDeliveryAddressLine2').value=results[2];}else if(document.getElementById('deladdress2')){if(document.getElementById('deladdress1').value==''){document.getElementById('deladdress1').value=results[2];}else{document.getElementById('deladdress2').value=results[2];}}if(document.getElementById('txtBillingAddressLine3')){document.getElementById('txtBillingAddressLine3').value=results[3];}else if(document.getElementById('address3')){document.getElementById('address3').value=results[3];}else if(document.getElementById('txtDeliveryAddressLine3')){document.getElementById('txtDeliveryAddressLine3').value=results[3];}else if(document.getElementById('deladdress3')){document.getElementById('deladdress3').value=results[3];}}else{if(document.getElementById('txtBillingAddressLine1')){document.getElementById('txtBillingAddressLine1').value=house_number+' '+results[1];}else if(document.getElementById('address1')){if(document.getElementById('txtHouseNameNumber')){document.getElementById('address1').value=results[1];}else{document.getElementById('address1').value=house_number+' '+results[1];}}else if(document.getElementById('txtDeliveryAddressLine1')){document.getElementById('txtDeliveryAddressLine1').value=house_number+' '+results[1];}else if(document.getElementById('deladdress1')){if(document.getElementById('txtHouseNameNumber')){document.getElementById('deladdress1').value=results[1];}else{document.getElementById('deladdress1').value=house_number+' '+results[1];}}if(document.getElementById('txtBillingAddressLine2')){document.getElementById('txtBillingAddressLine2').value=results[2];}else if(document.getElementById('address2')){if(document.getElementById('address1').value==''){document.getElementById('address1').value=results[2];}else{document.getElementById('address2').value=results[2];}}else if(document.getElementById('txtDeliveryAddressLine2')){document.getElementById('txtDeliveryAddressLine2').value=results[1];}else if(document.getElementById('deladdress2')){if(document.getElementById('deladdress1').value==''){document.getElementById('deladdress1').value=results[2];}else{document.getElementById('deladdress2').value=results[2];}}if(document.getElementById('txtBillingAddressLine3')){document.getElementById('txtBillingAddressLine3').value=results[3];}else if(document.getElementById('address3')){document.getElementById('address3').value=results[3];}else if(document.getElementById('txtDeliveryAddressLine3')){document.getElementById('txtDeliveryAddressLine3').value=results[3];}else if(document.getElementById('deladdress3')){document.getElementById('deladdress3').value=results[3];}}if(document.getElementById('txtTown')){document.getElementById('txtTown').value=results[5];}else if(document.getElementById('txtBillingTown')){document.getElementById('txtBillingTown').value=results[5];}else if(document.getElementById('txtDeliveryTown')){document.getElementById('txtDeliveryTown').value=results[5];}else if(document.getElementById('towncity')){document.getElementById('towncity').value=results[5];}else if(document.getElementById('deltowncity')){document.getElementById('deltowncity').value=results[5];}if(document.getElementById('txtPostcode')){document.getElementById('txtPostcode').value=results[6];}else if(document.getElementById('txtBillingPostcode')){document.getElementById('txtBillingPostcode').value=results[6];}else if(document.getElementById('txtDeliveryPostcode')){document.getElementById('txtDeliveryPostcode').value=results[6];}else if(document.getElementById('postcode')){document.getElementById('postcode').value=results[6];}else if(document.getElementById('delpostcode')){document.getElementById('delpostcode').value=results[6];}document.getElementById("address_error").innerHTML='Please check address details below before proceeding.';}}}};document.getElementById("address_error").innerHTML='';if(document.getElementById('txtBillingAddressLine1')){document.getElementById('txtBillingAddressLine1').value='';}else if(document.getElementById('txtBillingAddressLine1')){document.getElementById('txtBillingAddressLine1').value='';}else if(document.getElementById('address1')){document.getElementById('address1').value='';}else if(document.getElementById('deladdress1')){document.getElementById('deladdress1').value='';}if(document.getElementById('txtBillingAddressLine2')){document.getElementById('txtBillingAddressLine2').value='';}else if(document.getElementById('txtBillingAddressLine2')){document.getElementById('txtDeliveryAddressLine2').value='';}else if(document.getElementById('address2')){document.getElementById('address2').value='';}else if(document.getElementById('deladdress2')){document.getElementById('deladdress2').value='';}if(document.getElementById('txtBillingAddressLine3')){document.getElementById('txtBillingAddressLine3').value='';}else if(document.getElementById('txtBillingAddressLine3')){document.getElementById('txtDeliveryAddressLine3').value='';}else if(document.getElementById('address3')){document.getElementById('address3').value='';}else if(document.getElementById('deladdress3')){document.getElementById('deladdress3').value='';}if(document.getElementById('txtTown')){document.getElementById('txtTown').value='';}else if(document.getElementById('txtBillingTown')){document.getElementById('txtBillingTown').value='';}else if(document.getElementById('txtDeliveryTown')){document.getElementById('txtDeliveryTown').value='';}else if(document.getElementById('towncity')){document.getElementById('towncity').value='';}else if(document.getElementById('deltowncity')){document.getElementById('deltowncity').value='';}post_code=document.getElementById(postcodelookupfield).value;if(post_code===''){document.getElementById("address_error").innerHTML="Please fill in postcode";}else{params='post_code='+escape(post_code)+'&mode=proxy';xmlHttp.open("POST","action.php?cdd=cbspostcodes",true);xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");xmlHttp.send(params);}}function validPostCode(suffix){if(typeof suffix=="undefined"){var suffix='';}var myPostCode=document.getElementById('postcode'+suffix).value;if(checkPostCode(myPostCode)){document.getElementById('postcode'+suffix).value=checkPostCode(myPostCode);return true;}else{alert("Please enter a valid UK Postcode");return false;};}function checkPostCode(toCheck){var alpha1="[abcdefghijklmnoprstuwyz]";var alpha2="[abcdefghklmnopqrstuvwxy]";var alpha3="[abcdefghjkstuw]";var alpha4="[abehmnprvwxy]";var alpha5="[abdefghjlnpqrstuwxyz]";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);var postCode=toCheck;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(valid){return postCode;}else return false;}