var xmlhttp;

function selectMfg(str) {
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null) {
		alert ("Browser does not support HTTP Request");
  		return;
  	}

	// reset other form elements
	var v = document.getElementById('saw_l');
	v.options.length = 1;
	v.disabled = true;
	v = document.getElementById('saw_p');
	v.options.length = 1;
	v.disabled = true;
	v = document.getElementById('saw_g');
	v.options.length = 1;
	v.disabled = true;

	var str = document.getElementById('saw_mf');
	if(str) {
		var msg = str.options[str.selectedIndex].value;
	}
	str = msg;

	var url="/chainsaws/ajax/chainsawSearch.php";
	url=url+"?mf="+str;
	url=url+"&sid="+Math.random();

	xmlhttp.onreadystatechange=mfgStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function selectMdl(str) {
	xmlhttp=GetXmlHttpObject();
	if(xmlhttp==null) {
		alert('Browser does not support HTTP Request');
		return;
	}
	var mf = document.getElementById('saw_mf');
	if(mf) {
		var url="/chainsaws/ajax/chainsawSearch.php?mf=" + mf.value + "&mdl=" + str + "&sid=" + Math.random();
		xmlhttp.onreadystatechange=modelStateChanged;
		xmlhttp.open("GET", url, true);
		xmlhttp.send(null);
	}
}
function modelStateChanged() {
	if(xmlhttp.readyState == 4) {
		//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;	// display result for debugging
	
		var opts = xmlhttp.responseText;
		var x;
		var len;
	
		// length
		var l = document.getElementById('saw_l');
		if(l) {
			x = 0;
			l.disabled = false;
			l.options.length = 0;
			while(opts.indexOf(";;") > -1) {
				len = opts.indexOf(";;");
				var a = opts.substring(0,len);
				if(a == "Pitch...") {
					break;
				} else { 
					opts = opts.substring(len+2);
					if(a == "Length...") {
						l.options[x] = new Option(a, "");
					} else {
						l.options[x] = new Option(a, a);
					}
					x++;
				}

			}
			if(x==2) l.selectedIndex = 1;
		}
		// pitch
		var p = document.getElementById('saw_p');
		if(p) {
			x = 0;
			p.disabled = false;
			p.options.length = 0;
			while(opts.indexOf(";;") > -1) {
				len = opts.indexOf(";;");
				var a = opts.substring(0,len);
				if(a == "Gauge...") {
					break;
				} else {
					opts = opts.substring(len+2);
					if(a == "Pitch...") {
						p.options[x] = new Option(a, "");
					} else {
						p.options[x] = new Option(a, a);
					}
					x++;
				}
			}
			if(x == 2) p.selectedIndex = 1;
		}
		// gauge
		var g = document.getElementById('saw_g');
		if(g) {
			x = 0;
			g.disabled = false;
			g.options.length = 0;
			while(opts.indexOf(";;") > -1) {
				len = opts.indexOf(";;");
				var a = opts.substring(0,len);
				opts = opts.substring(len+2);
				if(a == "Gauge...") {
					g.options[x] = new Option(a, "");
				} else {
					g.options[x] = new Option(a, a);
				}
				x++;
			}
			if(x == 2) g.selectedIndex = 1;
		}
	}
}
// process xml response for the selected manufacturer
function mfgStateChanged() {
	if (xmlhttp.readyState==4) {
		//document.getElementById("txtHint").innerHTML=xmlhttp.responseText;	// display result for debugging
		var mdl = document.getElementById("saw_mdl");
		if(mdl) {
			mdl.disabled = false;
			mdl.options.length = 0;

			var opts = xmlhttp.responseText;
			var x = 0;
			var len;

			while(opts.indexOf(";;") > -1) {

				len = opts.indexOf(";;");
				var a = opts.substring(0,len);
				opts = opts.substring(len+2);

				mdl.options[x] = new Option(a, a);
				x++;
			}
			// defaults to the only option if there is only one
			if(x == 2) {
				pt.selectedIndex = 1;
			}
		}
	}
}

function GetXmlHttpObject() {
	if (window.XMLHttpRequest) {
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject) {
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}

