var x;
function loadXML(url, id)
	{
	var ran_unrounded=Math.random()*10000;
	var ran_number=Math.round(ran_unrounded); 
	x = false;
	if (window.XMLHttpRequest)
		{
		try{x = new XMLHttpRequest();}
		catch (e){x = false;}
		}
	else if (window.ActiveXObject)
		{
		try{x = new ActiveXObject("Msxml2.XMLHTTP");}
		catch (e){
			try{x = new ActiveXObject("Microsoft.XMLHTTP");}
			catch (e){x = false;}}
		}
	if (x)
		{
		
		x.onreadystatechange = function(){
			if (x.readyState == 4 && x.status == 200)
				{
				buildTownList(id);
				}
			}
		x.open("GET", url, true);
		x.send(null);
		}
	}

// retrieve text of an XML document element, including
// elements using namespaces
function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";
    if (prefix && isIE) {
        // IE/Windows way of handling namespaces
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;    		
        }
    } else {
        return "n/a";
    }
}
function buildTownList(id) {
	var select = document.getElementById(id);
    var items = x.responseXML.getElementsByTagName("town");
       
    select.options.length=0;   
              //clearTownList(id);
              
	var oNew = new Option('Please select from the list...');
    oNew.value = ''
	select.options[select.length] = oNew;              
              
    for (var i = 0; i < items.length; i++) {
        var oNew = new Option(getElementTextNS("", "label", items[i], 0));
        oNew.value = getElementTextNS("", "postcode", items[i], 0);
		select.options[select.length] = oNew;
    }
 }
 
 function clearTownList(id){
	var select = document.getElementById(id);
	
	select.options.length=0;  
	
	var oNew = new Option('Waiting for more info...');
    oNew.value = '';
	select.options[select.length] = oNew;              

 }
 function getDDLPostcode(oIn,oOut){
	var select = document.getElementById(oIn);
	var pc = document.getElementById(oOut);
	pc.value = select.value;
}
