//<![CDATA[
function sendReq(action, pc, id) {
	
	$.ajax({
		type: "post",
		url: "/addressFinder/",
		dataType: "xml",
		data: "action="+action+"&pc="+pc+"&id="+id,
		async: false,
		success: function(xml) { handleResponse(xml); }
	});
	
}

function handleResponse(oXml) {

	var oRoot = $("*:first", oXml)[0];
	var sRoot = oRoot.nodeName;
	
	switch(sRoot) {
			case 'ERROR' : displayError(oRoot); break;
			case 'PostcodeAnywhere' : populateList(oXml); break;
			case 'ADDRESS' : populateAddress(oRoot); break;
	}

}

function populateList(oXml) {
	
	$("#objAddressFinder").removeOption(/./);
	
	for (x=0; x <= ($("Item", oXml).length)-1; x++) {
		var oNode = $("Item", oXml)[x];
		var sID = $(oNode).attr("id");
		var sAddr = $(oNode).attr("description");
		$("#objAddressFinder").addOption(sID, sAddr);
	}
	
	$("#objAddressFinder")		
		.addOption("", "(Pick your address)")
		.selectOptions("(Pick your address)")
		.attr("disabled", "");
}

function populateAddress(oRoot) {
	$("#address1").val( $("addr1", oRoot).text() );
	$("#address2").val( $("addr2", oRoot).text() );
	$("#town").val( $("town", oRoot).text() );
	$("#postcode").val( $("postcode", oRoot).text() );
	$("#txtFind").val( $("postcode", oRoot).text() );
	
	$("#objAddressFinder").attr("disabled", "disabled");
}

function displayError(oRoot) {
	var sError = $("description", oRoot).text();
	$("#errorMessage").html(sError);
}

//]]>
