function isset(varname)  {
  if(typeof( window[ varname ] ) != "undefined") return true;
  else return false;
}

function pcaFastAddressBegin(postcode, building, language, style, account_code, license_code, machine_id, options)
   {
      var scriptTag = document.getElementById("pcaScriptTag");
      var headTag = document.getElementsByTagName("head").item(0);
      var strUrl = "";

      //Build the url
      strUrl = "http://services.postcodeanywhere.co.uk/inline.aspx?";
      strUrl += "&action=fetch";
      strUrl += "&postcode=" + escape(postcode);
      strUrl += "&building=" + escape(building);
      strUrl += "&language=" + escape(language);
      strUrl += "&style=" + escape(style);
      strUrl += "&account_code=" + escape(account_code);
      strUrl += "&license_code=" + escape(license_code);
      strUrl += "&machine_id=" + escape(machine_id);
      strUrl += "&options=" + escape(options);
      strUrl += "&callback=pcaFastAddressEnd";

      //Make the request
      if (scriptTag) 
         {
            headTag.removeChild(scriptTag);
         }
      scriptTag = document.createElement("script");
      scriptTag.src = strUrl
      scriptTag.type = "text/javascript";
      scriptTag.id = "pcaScript";
      headTag.appendChild(scriptTag);
   }

function pcaFastAddressEnd() {
      //Test for an error
      if (pcaIsError) {
            //Show the error message
            alert(pcaErrorMessage);
      } else {
            //Check if there were any items found
            if (pcaRecordCount==0) {
                  alert("Sorry, no matching addresses found, please enter your address manually");
               } else {
                  document.getElementById("question_addr1").value=pca_line1[0];
		if (isset(pca_line3[0])) {
			if (pca_line3[0].length() >0) {
				document.getElementById("question_addr2").value=pca_line2[0] && ', ' && pca_line3[0];
			}
		} else {
			document.getElementById("question_addr2").value=pca_line2[0];
		}                 
		if (isset(pca_county[0])) {
			if (pca_county[0].length() >0) {
				document.getElementById("question_towncity").value=pca_post_town[0] && ', ' && pca_county[0];
			}
		} else {
			document.getElementById("question_towncity").value=pca_post_town[0];
		}
                
		  document.getElementById("question_postcode").value=pca_postcode[0];
               }
         }
   }
