function build_xml()
{
// Get the fields
	var username = document.getElementById('recover_username');
	if (username)
		username = username.value.replace(/^\s*/, "").replace(/\s*$/, "");
	var company_name = document.getElementById('recover_company_name');
	if (company_name)
		company_name = company_name.value.replace(/^\s*/, "").replace(/\s*$/, "");
	var zipcode = document.getElementById('recover_zipcode');
	if (zipcode)
		zipcode = zipcode.value.replace(/^\s*/, "").replace(/\s*$/, "");
	var job = document.getElementById('recover_job');
	if (job)
		job = job.value.replace(/^\s*/, "").replace(/\s*$/, "");
	var invoice = document.getElementById('recover_invoice');
	if (invoice)
		invoice = invoice.value.replace(/^\s*/, "").replace(/\s*$/, "");
	var new_email = document.getElementById('replacement_email');
	if (new_email)
		new_email = new_email.value.replace(/^\s*/, "").replace(/\s*$/, "");

	var xml = '<'+"?xml version=\"1.0\" xml:lang=\"UTF-8\"?>\n";
	xml += "<maverick>\n";
	xml += "<ValidateCustomerCredentialsRequest>\n";
	if (username)
		xml += "<Username>"+username+"</Username>\n";
	if (company_name)
		xml += "<Company>"+company_name+"</Company>\n";
	if (zipcode)
		xml += "<Zipcode>"+zipcode+"</Zipcode>\n";
	if (job)
		xml += "<Job>"+job+"</Job>\n";
	if (invoice)
		xml += "<Invoice>"+invoice+"</Invoice>\n";
	if (new_email)
		xml += "<Email>"+new_email+"</Email>\n";
	xml += "</ValidateCustomerCredentialsRequest>\n";
	xml += "</maverick>\n";
//alert(xml);
	return xml;
}

function validate_account_credentials()
{
	var xml_request = build_xml();
//alert(xml_request);
	var url = '/xml/validateCustomerCredentials.php';
	var request = null;
	try {
	// Non-IE browsers
		request = new XMLHttpRequest();
	} catch (error1) {
	// Didn't work; try other methods
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (error2) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (error3) {
				try {
					request = window.createRequest();
				} catch (error4) {
				}
			}
		}
	}
	if (request)
	{
		try {
			request.open("POST", url, false);
		} catch (e) {
			alert(e);
		}
		request.setRequestHeader('Content-Type', 'text/xml');
		request.send(xml_request);

	// If there was an error, alert the user
		if (checkForError(request))
			return false;
	}
	return true;
}

function checkForError(request)
{
	if (request.readyState != 4)
		return;
	if (request.status != 200)
		return;

// OK response
	var dom;
	if (typeof request.responseXML != 'undefined')
		dom = request.responseXML;
	else
		parseXMLIntoDOM(request.responseText);
//alert(request.responseText);
	if (!dom)
		return;

// Look for an error
	var maverick = dom.getElementsByTagName('maverick')[0];
	if (!maverick)
		return;
	var response = maverick.getElementsByTagName('ValidateCustomerCredentialsResponse')[0];
	if (!response)
		return;
	var error = response.getElementsByTagName('Error');
	if (!error || error.length < 1)
		return false;

// Alert the user
	alert(error[0].firstChild.data);
	return true;
}