function PostcodeListAddressMatches()
{
    var varPostcode = ValueGet("txtpcfind");
    var varData = "";
    var varDisplay = ValueGet("hidpcresult");
    
    if (varPostcode.length > 4)
    {
        varData = varData + "postcode=" + escape(varPostcode);
        //varData = varData + "&fetchfunction=" + escape("FetchAddress");
        varData = varData + "&fetchfunction=" + escape(varDisplay);
        
        AJAXPost("/_postcode/_api/postcodeaddresslist.asp", varData, PostcodeAddressList);
    }
    else
    {
        alert("Please supply a valid postcode");
    }
}

function PostcodeAddressList(results)
{
    InnerHTMLSet("lstChoices", results);
    ValueSet("btnfind", "Find Another");
    ObjectReveal("lstChoices");
}

function FetchAddress()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressList);
}

function FetchAddressList(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtorganisation", XMLTagValue(results, "organisation_name"));
        ValueSet("txtline1", XMLTagValue(results, "line1"));
        ValueSet("txtline2", XMLTagValue(results, "line2"));
        ValueSet("txtline3", XMLTagValue(results, "line3"));
        ValueSet("txtline4", XMLTagValue(results, "line4"));
        ValueSet("txttown", XMLTagValue(results, "post_town"));
        ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        ValueSet("txtid", XMLTagValue(results, "id"));
    }
}

function FetchAddressCompetitions()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListCompetitions);
}

function FetchAddressListCompetitions(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtaddress3", XMLTagValue(results, "line3"));
        //ValueSet("txtline4", XMLTagValue(results, "line4"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}



function FetchAddressContact()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListContact);
}

function FetchAddressListContact(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtcraddressline1", XMLTagValue(results, "line1"));
        ValueSet("txtcraddressline2", XMLTagValue(results, "line2"));
        ValueSet("txtcraddressline3", XMLTagValue(results, "line3"));
        ValueSet("txtcrtowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtcrcounty", XMLTagValue(results, "county"));
        ValueSet("txtcrpostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}



function FetchAddressRegisterForNewsletter()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListRegisterForNewsletter);
}

function FetchAddressListRegisterForNewsletter(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtr4naddressline1", XMLTagValue(results, "line1"));
        ValueSet("txtr4naddressline2", XMLTagValue(results, "line2"));
        ValueSet("txtr4naddressline3", XMLTagValue(results, "line3"));
        ValueSet("txtr4ntowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtr4ncounty", XMLTagValue(results, "county"));
        ValueSet("txtr4npostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}


function FetchAddressRequestCourseInfo()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListRequestCourseInfo);
}

function FetchAddressListRequestCourseInfo(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtaddress3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        //ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}


function FetchAddressRequestProspectus()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListRequestProspectus);
}

function FetchAddressListRequestProspectus(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtaddress3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        //ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}


function FetchAddressSalonDirectoryRequest()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListSalonDirectoryRequest);
}

function FetchAddressListSalonDirectoryRequest(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtaddress3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        //ValueSet("txtlon1", XMLTagValue(results, "longitude"));
        //ValueSet("txtlat1", XMLTagValue(results, "latitude"));
        //ValueSet("txtlon2", XMLTagValue(results, "wgs84_longitude"));
        //ValueSet("txtlat2", XMLTagValue(results, "wgs84_latitude"));
        //ValueSet("txtid", XMLTagValue(results, "id"));
    }
}








function FetchAddressSimple()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressSimpleShow);
}

function FetchAddressSimpleShow(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        var varAddress = "";
        
        if (XMLTagValue(results, "line1") != "")
        {
            varAddress = varAddress + XMLTagValue(results, "line1") + "\n";
        }
        if (XMLTagValue(results, "line2") != "")
        {
            varAddress = varAddress + XMLTagValue(results, "line2") + "\n";
        }
        if (XMLTagValue(results, "line3") != "")
        {
            varAddress = varAddress + XMLTagValue(results, "line3") + "\n";
        }
        if (XMLTagValue(results, "post_town") != "")
        {
            varAddress = varAddress + XMLTagValue(results, "post_town") + "\n";
        }
        if (XMLTagValue(results, "county") != "")
        {
            varAddress = varAddress + XMLTagValue(results, "county");
        }
        ValueSet("txtpcfind", XMLTagValue(results, "postcode"));
        ObjectConceal("lstChoices");
        
        ValueSet("txtsalonaddress", varAddress);
    }
}



function FetchAddressMembershipFormHome()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListMembershipFormHome);
    
}
function FetchAddressListMembershipFormHome(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtmsfaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtmsfaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtmsfaddress3", XMLTagValue(results, "line3"));
        ValueSet("txtmsftowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtmsfcounty", XMLTagValue(results, "county"));
        ValueSet("txtmsfpostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("hidpcalonhome", XMLTagValue(results, "longitude"));
        ValueSet("hidpcalathome", XMLTagValue(results, "latitude"));
        ValueSet("hidpcaidhome", XMLTagValue(results, "id"));
        
        ObjectConceal("lstChoices");
    }
}

function FetchAddressMembershipFormBusiness()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListMembershipFormBusiness);
}

function FetchAddressListMembershipFormBusiness(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtmsfbusinessname", XMLTagValue(results, "organisation_name"));
        ValueSet("txtmsfbusinessaddress1", XMLTagValue(results, "line1"));
        ValueSet("txtmsfbusinessaddress2", XMLTagValue(results, "line2"));
        ValueSet("txtmsfbusinessaddress3", XMLTagValue(results, "line3"));
        ValueSet("txtmsfbusinesstowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtmsfbusinesscounty", XMLTagValue(results, "county"));
        ValueSet("txtmsfbusinesspostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("hidpcalonwork", XMLTagValue(results, "longitude"));
        ValueSet("hidpcalatwork", XMLTagValue(results, "latitude"));
        ValueSet("hidpcaidwork", XMLTagValue(results, "id"));
        
        ObjectConceal("lstChoices");
    }
}





function FetchAddressAdminSalon()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListAdminSalon);
}

function FetchAddressListAdminSalon(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtsalonname", XMLTagValue(results, "organisation_name"));
        ValueSet("txtstreetname1", XMLTagValue(results, "line1"));
        ValueSet("txtstreetname2", XMLTagValue(results, "line2"));
        ValueSet("txtstreetname3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("hidpcalon", XMLTagValue(results, "longitude"));
        ValueSet("hidpcalat", XMLTagValue(results, "latitude"));
        ValueSet("hidpcaid", XMLTagValue(results, "id"));
        ObjectConceal("lstChoices");
    }
}

function FetchAddressAdminSupplier()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListAdminSupplier);
}

function FetchAddressListAdminSupplier(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtcompanyname", XMLTagValue(results, "organisation_name"));
        ValueSet("txtstreetname1", XMLTagValue(results, "line1"));
        ValueSet("txtstreetname2", XMLTagValue(results, "line2"));
        ValueSet("txtstreetname3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("hidpcalon", XMLTagValue(results, "longitude"));
        ValueSet("hidpcalat", XMLTagValue(results, "latitude"));
        ValueSet("hidpcaid", XMLTagValue(results, "id"));
        ObjectConceal("lstChoices");
    }
}

function FetchAddressAdminTrainingProvider()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=true";
    
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchAddressListAdminTrainingProvider);
}

function FetchAddressListAdminTrainingProvider(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
        ValueSet("txtcompanyname", XMLTagValue(results, "organisation_name"));
        ValueSet("txtstreetname1", XMLTagValue(results, "line1"));
        ValueSet("txtstreetname2", XMLTagValue(results, "line2"));
        ValueSet("txtstreetname3", XMLTagValue(results, "line3"));
        ValueSet("txttowncity", XMLTagValue(results, "post_town"));
        ValueSet("txtcounty", XMLTagValue(results, "county"));
        ValueSet("txtpostcode", XMLTagValue(results, "postcode"));
        
        ValueSet("hidpcalon", XMLTagValue(results, "longitude"));
        ValueSet("hidpcalat", XMLTagValue(results, "latitude"));
        ValueSet("hidpcaid", XMLTagValue(results, "id"));
        ObjectConceal("lstChoices");
    }
}

// Gift Voucher - Billing Addresses
function FetchBillingAddress()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=false";
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchBillingAddressShow);
    
}
function FetchBillingAddressShow(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
		if(XMLTagValue(results, "organisation_name") !== '')
		{
			ValueSet("billingaddress1", XMLTagValue(results, "organisation_name"));
			ValueSet("billingaddress2", XMLTagValue(results, "line1"));
			ValueSet("billingaddress3", XMLTagValue(results, "line2"));
		}
		else
		{
			ValueSet("billingaddress1", XMLTagValue(results, "line1"));
			ValueSet("billingaddress2", XMLTagValue(results, "line2"));
			ValueSet("billingaddress3", XMLTagValue(results, "line3"));
		}
        ValueSet("billingtowncity", XMLTagValue(results, "post_town"));
        ValueSet("billingcounty", XMLTagValue(results, "county"));
        ValueSet("billingpostcode", XMLTagValue(results, "postcode"));
        
        ObjectConceal("lstChoices");
    }
}
// Gift Voucher - Delivery Addresses
function FetchDeliveryAddress()
{
    var varID = ValueGet("lstpostcodelist");
    var varData = "";
    
    varData = varData + "id=" + escape(varID);
    varData = varData + "&geodata=false";
    AJAXPost("/_postcode/_api/fetchaddress.asp", varData, FetchDeliveryAddressShow);
    
}
function FetchDeliveryAddressShow(results)
{
    var varError = XMLTagValue(results, "error");
    if (varError != "")
    {
        alert("There was a problem locating an address using the postcode you supplied.");
    } else {
		if(XMLTagValue(results, "organisation_name") !== '')
		{
			ValueSet("deliveryaddress1", XMLTagValue(results, "organisation_name"));
			ValueSet("deliveryaddress2", XMLTagValue(results, "line1"));
			ValueSet("deliveryaddress3", XMLTagValue(results, "line2"));
		}
		else
		{
			ValueSet("deliveryaddress1", XMLTagValue(results, "line1"));
			ValueSet("deliveryaddress2", XMLTagValue(results, "line2"));
			ValueSet("deliveryaddress3", XMLTagValue(results, "line3"));
		}
        ValueSet("deliverytowncity", XMLTagValue(results, "post_town"));
        ValueSet("deliverycounty", XMLTagValue(results, "county"));
        ValueSet("deliverypostcode", XMLTagValue(results, "postcode"));
        
        ObjectConceal("lstChoices");
    }
}
