var type_xml = false;
var results_xml = false;

/* Switching Criteria */

function makeUserXMLRequest(url, parameters) {
	type_xml = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		type_xml = new XMLHttpRequest();
		if (type_xml.overrideMimeType) {
			type_xml.overrideMimeType('text/plain');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			type_xml = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				type_xml = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!type_xml) {
		alert('Cannot make connection to server. Please upgrade or use a different browser.');
		return false;
	}
	type_xml.onreadystatechange = updateNames;
	type_xml.open("POST", url, true);
	type_xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	type_xml.setRequestHeader("Content-length", parameters.length);
	type_xml.setRequestHeader("Connection", "close");
	type_xml.send(parameters);
}

function updateNames() {
	if (type_xml.readyState != 4) return false;
	if (type_xml.status != 200) return false;
	var text = type_xml.responseText;
	if (!text) return updateNameWithBlank();

	if (text == 'ok') {
		// Do nothing
	} else if (text == 'nok') {
/* 		document.getElementById('email_note').innerHTML = 'The username you entered is already in use at TrimbleOutdoors.com. If this is your account, please enter the email address you used there. If not, please enter a different username. The email address "'+document.getElementById('email').value+'" cannot be used.'; */
/* 		document.getElementById('email').value = ''; */
	} else if (text == 'err1') {
/* 		document.getElementById('email_note').innerHTML = 'There was an error looking up your information at TrimbleOutdoors.com.'; */
	} else if (text == 'err2') {
/* 		document.getElementById('email_note').innerHTML = 'There was an error connecting to TrimbleOutdoors.com.'; */
	} else {
		var arrText = text.split('|~|');
		document.getElementById('displayname').innerHTML = arrText[0];
		document.getElementById('displayname_note').innerHTML = arrText[1];
		document.getElementById('email_note').innerHTML = '';
	}
}

function updateNameWithBlank() {
	document.getElementById('displayname').innerHTML = '<input type="text" name="username" id="username" value="" size="16" maxlength="64" />';
	document.getElementById('displayname_note').innerHTML = 'This is the name you will be known as on our site. It may contain only letters and numbers.';
}

function getTrimbleNames() {
	document.getElementById('displayname').innerHTML = '<input type="text" name="username" id="username" value="please wait..." size="16" maxlength="64" readonly />';
	document.getElementById('displayname_note').innerHTML = '(Searching for your account at TrimbleOutdoors.com)';
	var em = _get_email();
	makeUserXMLRequest('/community/my_profile/', 'action=custom&bp=trimble_get_names&email='+em);
}

function checkTrimbleEmail() {
	var em = _get_email();
	var un = document.getElementById('username').value;
	makeUserXMLRequest('/community/my_profile/', 'action=custom&bp=trimble_check_email&email='+em+'&username='+un);
}

function _get_email() {
	var em = document.getElementById('email');
	if (!em) {
		em = document.getElementById('regemail');
		return em.value
	} else {
		em = em.value
		if (!em) {
			em = document.getElementById('regemail');
			return em.value
		} else {
			return em;
		}
	}

}
