//Function : PCL, Post Code Look-up
function pcl(url){
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		xmlDoc.onload = populateList;
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.onreadystatechange = function () {
			if (xmlDoc.readyState == 4) populateList()
		};
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load(url);
}

function populateList()
{
	var x				= xmlDoc.getElementsByTagName('item');
	var	PAFhelp			= document.getElementById('PAF_help');
	var	PAFzip			= document.getElementById('paf_postcode');
	var	PAFnum			= document.getElementById('paf_number');
	var	PAFsite			= document.getElementById('site');
	if (PAFhelp)
		PAFhelp.innerHTML	= "";

	//addressList = document.createElement('SELECT');
	addressList = document.getElementById('pafselect'); // to use existing element
	document.getElementById('pafselect').disabled = false;
	var listItem = document.createElement('OPTION');

	for (i = 0; i< addressList.length; )	addressList.remove(0);
	if	(x.length==0)
	{

		if (PAFhelp)	{
			if ( (PAFsite) && (PAFsite.value=='us') )
			{	// US
				if ( (PAFzip.value.length<6) || (PAFnum.value.length<1) )	{
					PAFhelp.innerHTML	= "<font color='red'>No address found - Please refine search by adding/correcting house name/number and/or ZIP Code</font>";
				}	else	{
					PAFhelp.innerHTML	= "<font color='red'>No address found - Please correct or refine search</font>";
				}
			}
			else
			{	// Assume GB
					PAFhelp.innerHTML	= "<font color='red'>No address found - Please correct postcode and/or refine search by adding house name/number</font>";
			}
		}
		else
		{
			listItem.innerHTML	= "No address found - Please correct/refine search";
			listItem.value		= "";
			addressList.appendChild(listItem);
		}
	}
	if	(x.length> 1)
	{
		listItem.innerHTML	= "Please select the address";
		listItem.value		= "";
		addressList.appendChild(listItem);
	}

	for (i=0;i<x.length;i++)
	{
		var listItem = document.createElement('OPTION');
		for (j=0;j<x[i].childNodes.length;j++)
		{
			if (x[i].childNodes[j].nodeType != 1) continue;
			var theData = document.createTextNode(j+'.'+x[i].childNodes[j].firstChild.nodeValue);
			listItem.innerHTML = x[i].childNodes[0].childNodes[0].nodeValue;
			listItem.value = x[i].childNodes[1].firstChild.nodeValue;
			if (x.length==1)	{
				listItem.selected	= true;
				if (listItem.value=='')	{
					if (PAFhelp)	{
						PAFhelp.innerHTML	= "<font color='red'>Partial address selected - Please refine search by adding house name/number</font>";
					}
				}
			}
			addressList.appendChild(listItem);
		}
	}
	// >>> Adding the select list on the page
	//document.getElementById('selectAddress').innerHTML="";
	//document.getElementById('selectAddress').appendChild(addressList);
}


function pcs()	{		// PAF code selected
	var addressList = document.getElementById('pafselect');
	var	PAFhelp		= document.getElementById('PAF_help');

	if (PAFhelp)
	{
		PAFhelp.innerHTML	= "";
		if	(addressList.options[addressList.selectedIndex].value=='')
		{
			PAFhelp.innerHTML	= "<font color='red'>Partial address selected - Please refine search by adding house name/number</font>";
		}
	}

	if (addressList.options[0].text=='Please select the address')
		addressList.remove(0);
}
