function postcodeanywhere_usability(country)
{
    if(country.options[country.selectedIndex].value == 'UK')
	{
		show_postcodeanywhere_button();
	}else
	{
		hide_postcodeanywhere_button();
		show_further_details();
		if(country.options[country.selectedIndex].value == 'IE')
		{
			document.getElementById('postcode_asterix').style.color = 'white';
		}
	}
}

function hide_postcodeanywhere_button()
{
	var postcodeanywhere_button = document.getElementById("btnFind");
	postcodeanywhere_button.style.display = 'none';
}

function show_postcodeanywhere_button()
{
	var postcodeanywhere_button = document.getElementById("btnFind");
	postcodeanywhere_button.style.display = '';
}

function hide_further_details()
{
	var further_details = document.getElementById("further_details");
	further_details.style.display = 'none';
}

function show_further_details()
{
	var further_details = document.getElementById("further_details");
	further_details.style.display = '';
}

function conditionally_hide_further_details()
{
    //if they've used postcode anywhere but then made an error, don't hide the fields, or they've come back to change delivery address
	if(document.getElementById("error_messages") || document.getElementById("changing_del_address") || document.getElementById("newletter_subscriber_message"))
	{
		//console.log("there are error messages");
		//there are error messages so don't hide fields
	}else
	{
		//console.log("no error messages");
		hide_further_details();
	}
}

addLoadEvent(conditionally_hide_further_details);

var account_code='INDIV11606';
var license_code='UG35-FJ39-YN18-UH98';
var machine_id='';

function pcaByPostcodeBegin()
   {
	  var postcode = document.getElementById("postcode").value;
	  var scriptTag = document.getElementById("pcaScriptTag");
	  var headTag = document.getElementsByTagName("head").item(0);
	  var strUrl = "";

	  document.getElementById("divLoading").style.display = '';

	  //Build the url
	  strUrl = "https://services.postcodeanywhere.co.uk/inline.aspx?";
	  strUrl += "&action=lookup";
	  strUrl += "&type=by_postcode";
	  strUrl += "&postcode=" + escape(postcode);
	  strUrl += "&account_code=" + escape(account_code);
	  strUrl += "&license_code=" + escape(license_code);
	  strUrl += "&machine_id=" + escape(machine_id);
	  strUrl += "&callback=pcaByPostcodeEnd";

	  //Make the request
	  if (scriptTag)
		 {
			//The following 2 lines perform the same function and should be interchangeable
			headTag.removeChild(scriptTag);
			//scriptTag.parentNode.removeChild(scriptTag);
		 }
	  scriptTag = document.createElement("script");
	  scriptTag.src = strUrl
	  scriptTag.type = "text/javascript";
	  scriptTag.id = "pcaScriptTag";
	  headTag.appendChild(scriptTag);



   }

function pcaByPostcodeEnd()
   {
	  document.getElementById("divLoading").style.display = 'none';

	  //Test for an error
	  if (pcaIsError)
		 {
			//Show the error message
			document.getElementById("selectaddress").style.display = 'none';
			document.getElementById("btnFetch").style.display = 'none';
			alert(pcaErrorMessage);
		 }
	  else
		 {
			//Check if there were any items found
			if (pcaRecordCount==0)
			   {
				  document.getElementById("selectaddress").style.display = 'none';
				  document.getElementById("btnFetch").style.display = 'none';
				  alert("Sorry, no matching items found. Please try another postcode.");
			   }
			else
			   {
				  document.getElementById("selectaddress").style.display = '';
				  document.getElementById("btnFetch").style.display = '';

				  for (i=document.getElementById("selectaddress").options.length-1; i>=0; i--){
					  document.getElementById("selectaddress").options[i] = null;
					}
				  for (i=0; i<pca_id.length; i++){
					document.getElementById("selectaddress").options[document.getElementById("selectaddress").length] = new Option(pca_description[i], pca_id[i]);
				  }
			   }
		 }
   }

function pcaFetchBegin()
   {
	  var address_id = document.getElementById("selectaddress").value;
	  var scriptTag = document.getElementById("pcaScriptTag");
	  var headTag = document.getElementsByTagName("head").item(0);
	  var strUrl = "";

	  //Build the url
	  strUrl = "https://services.postcodeanywhere.co.uk/inline.aspx?";
	  strUrl += "&action=fetch";
	  strUrl += "&id=" + escape(address_id);
	  strUrl += "&account_code=" + escape(account_code);
	  strUrl += "&license_code=" + escape(license_code);
	  strUrl += "&machine_id=" + escape(machine_id);
	  strUrl += "&callback=pcaFetchEnd";

	  //Make the request
	  if (scriptTag)
		 {
			//The following 2 lines perform the same function and should be interchangeable
			headTag.removeChild(scriptTag);
			//scriptTag.parentNode.removeChild(scriptTag);
		 }
	  scriptTag = document.createElement("script");
	  scriptTag.src = strUrl
	  scriptTag.type = "text/javascript";
	  scriptTag.id = "pcaScriptTag";
	  headTag.appendChild(scriptTag);

	  document.getElementById("selectaddress").style.display = 'none';
	  document.getElementById("btnFetch").style.display = 'none';
   }

function pcaFetchEnd()
   {
	  //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 items found");
			   }
			else
			   {
				  //document.forms[0]["company"].value = '' + pca_organisation_name[0];
				  if(pca_organisation_name[0].length > 0)
				   {
						document.getElementById("address1").value = '' + pca_organisation_name[0];
						document.getElementById("address2").value = '' + pca_line1[0];
						document.getElementById("address3").value = '' + pca_line2[0];
						if(pca_line3[0].length > 0)
					   {
							document.getElementById("address3").value = document.getElementById("address3").value + ', ' + pca_line3[0];
					   }

				   }else
				   {
						document.getElementById("address1").value = '' + pca_line1[0];
						document.getElementById("address2").value = '' + pca_line2[0];
						document.getElementById("address3").value = '' + pca_line3[0];
				   }
				  //document.forms[0]["line4"].value = '' + pca_line4[0];
				  //document.forms[0]["line5"].value = '' + pca_line5[0];
				  document.getElementById("city").value = '' + pca_post_town[0];
				  document.getElementById("county").value = '' + pca_county[0];
				  document.getElementById("postcode").value = '' + pca_postcode[0];

					show_further_details();
			   }
		 }
   }



