var isIE = false;
var req;

function loadXMLDoc(url) {
	var data = "model=" + url;

	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
		req.onreadystatechange = processReqChange;
		req.open("POST", "service.asmx/GetModels", true);
		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		req.setRequestHeader('Content-Length', data.length);
		req.send(data);
	} else if (window.ActiveXObject) {
		isIE = true;
		req = new ActiveXObject("Microsoft.XMLHTTP");
		if (req) {
			req.onreadystatechange = processReqChange;
			req.open("POST", "service.asmx/GetModels", true);
			req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			req.setRequestHeader('Content-Length', data.length);
			req.send(data);
		}
	}
}

function processReqChange() {
	if (req.readyState == 4) {
		if (req.status == 200) {
			clearTopicList();
			buildTopicList();
		}
	}
}

function clearTopicList() {
	var opt;
	var select = document.getElementById("model");
	while (select.length > 0) {
		select.remove(0);
	}

	opt = document.createElement("option");
	opt.value = "";
	opt.appendChild(document.createTextNode("All Models"));
	select.appendChild(opt);

}

function appendToSelect(select, value, content) {
	var opt;
	opt = document.createElement("option");
	opt.value = value;
	opt.appendChild(content);
	select.appendChild(opt);
}

function buildTopicList() {
	var select = document.getElementById("model");
	var items = req.responseXML.getElementsByTagName("Models");
	for (var i = 0; i < items.length; i++) {
		appendToSelect(select, items[i].getElementsByTagName("MakeModelID")[0].firstChild.nodeValue, document.createTextNode(items[i].getElementsByTagName("Model")[0].firstChild.nodeValue));
	}
}

function cleanForm() {
	var postalRegEx = /^\s*[a-ceghj-npr-tvxy]\d[a-z](\s)?\d[a-z]\d\s*$/i
	var postal = document.getElementById('location').value;
	if (postal == 'Postal' || postal.search(postalRegEx) == -1) {
		document.getElementById('location').value = '';
		document.getElementById('distance').value = '';
	}
	else {
		if (postal.length == 6) {
			document.getElementById('location').value = postal.substring(0,3) + " " + postal.substring(3,6);
		}
	}
}
