$(document).ready(function (){

	var iso = 'GBR';
	var isoB = 'GBR';
	var isoS = 'GBR';

	if($('#bcline1').length)
	{
		var BillingCheckout = new PCAInternationalAutoComplete(isoB, "ENG", document.getElementById("bcpostcode"), document.getElementById("bcline1"), checkoutBillingCb);
	
		BillingCheckout.UseRoyalMailPremiseData = true;
	
		$('#b_country_dropdown').change(function () {
			isoB = $('#b_country_dropdown option:selected').attr('rel');
			BillingCheckout = new PCAInternationalAutoComplete(isoB, "ENG", document.getElementById("bcpostcode"), document.getElementById("bcline1"), checkoutBillingCb);
			BillingCheckout.UseRoyalMailPremiseData = true;
		});

	}

	function checkoutBillingCb()
	{
		//Do something with the address
		if(isoB == 'GBR')
		{
			document.getElementById("bcline1").value = BillingCheckout.Street;
		} else {
			var street = document.getElementById("bcline1").value;
			document.getElementById("bcline1").value = street.replace(/[^0-9]/g, '')+' '+BillingCheckout.Street;
			document.getElementById("bcline1").selectionStart = street.replace(/[^0-9]/g, '').length;
			document.getElementById("bcline1").selectionEnd = street.replace(/[^0-9]/g, '').length;
		}
	
		document.getElementById("bline2").value = BillingCheckout.Locality;
		document.getElementById("btown").value = BillingCheckout.City;
	
		if(BillingCheckout.City == "London")
		{
			$('#b_regions_dropdown').val(BillingCheckout.City);
		} else {
			if($('#b_regions_dropdown').length)
			{
				$('#b_regions_dropdown').val(BillingCheckout.State);
			} else {
				document.getElementById("bcounty").value = BillingCheckout.State;
			}
		}
	
	}

	if($('#sline1').length)
	{
		var ShippingCheckout = new PCAInternationalAutoComplete(isoS, "ENG", document.getElementById("spostcode"), document.getElementById("sline1"), checkoutBillingCs);
	
		ShippingCheckout.UseRoyalMailPremiseData = true;

		$('#s_country_dropdown').change(function () {
			isoS = $('#s_country_dropdown option:selected').attr('rel');
			ShippingCheckout = new PCAInternationalAutoComplete(isoS, "ENG", document.getElementById("spostcode"), document.getElementById("sline1"), checkoutBillingCs);
			ShippingCheckout.UseRoyalMailPremiseData = true;
		});
	
	}

	function checkoutBillingCs()
	{
		//Do something with the address
		if(isoS == 'GBR')
		{
			document.getElementById("sline1").value = ShippingCheckout.Street;
		} else {
			var street = document.getElementById("sline1").value;
			document.getElementById("sline1").value = street.replace(/[^0-9]/g, '')+' '+ShippingCheckout.Street;
			document.getElementById("sline1").selectionStart = street.replace(/[^0-9]/g, '').length;
			document.getElementById("sline1").selectionEnd = street.replace(/[^0-9]/g, '').length;
		}
	
		document.getElementById("sline2").value = ShippingCheckout.Locality;
		document.getElementById("stown").value = ShippingCheckout.City;
	
		if(ShippingCheckout.City == "London")
		{
			$('#s_regions_dropdown').val(ShippingCheckout.City);
		} else {
			if($('#s_county_field select').length)
			{
				$('#s_county_field select').val(ShippingCheckout.State);
			} else {
				document.getElementById("scounty").value = ShippingCheckout.State;
			}
		}
	
	}

	if($('#bline1').length)
	{
		var objFinder = new PCAInternationalAutoComplete(iso, "ENG", document.getElementById("bpostcode"), document.getElementById("bline1"), cb);
	
		objFinder.UseRoyalMailPremiseData = true;
	
		$('#country_dropdown').change(function () {
			iso = $('#country_dropdown option:selected').attr('rel');
			objFinder = new PCAInternationalAutoComplete(iso, "ENG", document.getElementById("bpostcode"), document.getElementById("bline1"), cb);
			objFinder.UseRoyalMailPremiseData = true;
		});

	
	}

	function cb()
	{
		//Do something with the address	
		if(iso == 'GBR')
		{
			document.getElementById("bline1").value = objFinder.Street;
		} else {
			var street = document.getElementById("bline1").value;
			document.getElementById("bline1").value = street.replace(/[^0-9]/g, '')+' '+objFinder.Street;
			document.getElementById("bline1").selectionStart = street.replace(/[^0-9]/g, '').length;
			document.getElementById("bline1").selectionEnd = street.replace(/[^0-9]/g, '').length;
		}
	
		document.getElementById("bline2").value = objFinder.Locality;
		document.getElementById("btown").value = objFinder.City;
	
		if(objFinder.City == "London")
			$('#regions_dropdown').val("London");	
	
		if($('#regions_dropdown').length)
		{
			document.getElementById("regions_dropdown").value = objFinder.State;
		} else {
			document.getElementById("county").value = objFinder.State;
		}
	
	}

});
