var change;
function populateCategories()
{
	var categories = document.getElementById("category");
	var i = 0;
	var numoptions = 0;
	while (i < arrCat.length)
	{
		numoptions = categories.length;
		categories.options[numoptions] = new Option(arrCat[i][1], arrCat[i][0]);
		i++;
	}
	document.getElementById("manufacturer").disabled = true;
	document.getElementById("product").disabled = true;
}
function getXmlHttpObject(handler)
{
	var objXmlHttp = null;
	if (navigator.userAgent.indexOf("MSIE") >= 0)
	{
		var name = "Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5") >= 0)
		{
			name = "Microsoft.XMLHTTP";
		}
		try
		{
			objXmlHttp = new ActiveXObject(name);
			objXmlHttp.onreadystatechange=handler;
			return objXmlHttp;
		}
		catch(e)
		{
			alert("Error. Please enable ActiveX scripting");
			return;
		}
	}
	if (navigator.userAgent.indexOf("Mozilla") >= 0)
	{
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = handler;
		objXmlHttp.onerror = handler;
		return objXmlHttp;
	}
}
function getManufacturers(sender)
{
	change = "manufacturer";
	var selected = sender.selectedIndex;
	var manufacturer = document.getElementById("manufacturer");
	var product = document.getElementById("product");
	// clear out products
	while (product.length > 1)
	{
		product.options[1] = null;
	}
	product.disabled = true;
	// clear out manufacturers
	while (manufacturer.length > 1)
	{
		manufacturer.options[1] = null;
	}
	// check sender value
	if (sender.options[selected].value == "")
	{
		manufacturer.disabled = true;
		product.disabled = true;
	}
	else
	{
		manufacturer.disabled = false;
		var url = "ajax_selects.asp?type=manufacturers&id=" + sender.options[selected].value;
		xmlHttp = getXmlHttpObject(stateChanged);
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
}
function getProducts(sender)
{
	change = "product";
	var selected = sender.selectedIndex;
	var product = document.getElementById("product");
	var category = document.getElementById("category");
	// clear out products
	while (product.length > 1)
	{
		product.options[1] = null;
	}
	// check sender value
	if (sender.options[selected].value == "")
	{
		product.disabled = true;
	}
	else
	{
		product.disabled = false;
		var url = "ajax_selects.asp?type=products&id=" + sender.options[selected].value + "&cid=";
		selected = category.selectedIndex;
		url += category.options[selected].value;
		xmlHttp = getXmlHttpObject(stateChanged);
		xmlHttp.open("GET", url, true);
		xmlHttp.send(null);
	}
}
function stateChanged()
{
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
	{
		var responseText = xmlHttp.responseText;
			if (responseText != "")
			{
			var arrEntries = responseText.split("|");
			var dd = document.getElementById(change);
			for (i = 0; i < arrEntries.length; i++)
			{
				var numoptions = dd.options.length;
				var arrData = arrEntries[i].split(",");
				dd.options[numoptions] = new Option(arrData[1], arrData[0]);
			}
		}
	}
}