// JavaScript Document

function init() {

    var error = '';

    try {
    
        http = new XMLHttpRequest();
    }
    catch (err) {

        error += 'XMLHttpRequest(): ' + err + '\n';
    
        try {
    
            http = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (err) {

            error += 'Msxml2.XMLHTTP: ' + err + '\n';

            try {

                http = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (err) {

                alert('No HTTP request interface:\n' + error + 'Microsoft.XMLHTTP: ' + err);
            }
        }
    }
}

function checkpostcode() {

    var pc = document.makeForm.postcode.value;

    if (pc == '') {

        alert('Please enter a postcode');
    }
    else {

        http.open('GET', '/cgi-bin/postcodes.cgi?postcode=' + escape(pc), true);

        http.onreadystatechange = parseSearchResponse;

        http.send(null);
    }

    return false;
}

function parseSearchResponse() {

    with (document.makeForm) {

        if (http.readyState == 4) {

            if (http.responseText == 'failed') {

                alert('We could not find your postcode');
            }
            else {

                address_options.length = 0;
                address_options[0] = new Option("Select Address", "");

                var idadd = http.responseText.split(':');

                for (var ele = 0; ele < idadd.length; ele++) {

                    var bit = idadd[ele].split('#');

                    address_options[ele + 1] = new Option(bit[1], bit[0]);
                }

                address_options.selectedIndex = 0;
            }
        }
    }
}

function getaddress() {

    with (document.makeForm) {

        var pc = postcode.value;

        if (address_options[address_options.selectedIndex].value == '') {

            return false;
        }
        else {

            http.open('GET', '/cgi-bin/postcodes.cgi?postcode=' + escape(pc) + '&id=' + address_options[address_options.selectedIndex].value, true);

            http.onreadystatechange = parseDetailsResponse;

            http.send(null);
        }

        return false;
    }
}

function parseDetailsResponse() {

    if (http.readyState == 4) {

        var addeles = http.responseText.split(':');

        for (var ele = 0; ele < addeles.length; ele++) {

//            var tf = document.getElementById('address' + (ele + 1));
			
			var tf = eval("document.makeForm.address" + (ele + 1));
			
            tf.value = addeles[ele];
        }

    }
}

