xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");

var type;
var height;
if (getCookie("type")) {
	type = getCookie("type");
	//element("ddlHeights").disabled = false;
	//document.Form1.ddlHeights.disabled = false;
	//element("ddlCapacities").disabled = false;
	//element("ddlMaterials").disabled = false;
	//strTypes = type;
	//fillBoxTwo(element("ddlTypes"), "type");
} 
if (getCookie("height")) {
	height = getCookie("height");
}

function init() {
	if (height) {
		element("ddlHeights").disabled = false;
		element("ddlCapacities").disabled = false;
		element("ddlMaterials").disabled = false;
		strTypes = type;
		fillBoxTwo(height, "height");
	} else if (type) {
		element("ddlHeights").disabled = false;
		element("ddlCapacities").disabled = false;
		element("ddlMaterials").disabled = false;
		fillBoxTwo(type, "type");
	}
}

function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
		begin = dc.indexOf(prefix);
	   	if (begin != 0) return null;
	} else {
		begin += 2;
	}
    var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
  	}
	return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value, expires, path, domain, secure) {
	document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}


function FillDropDown(myxml, type) {
	//Textvar xmlDoc = this.req.responseXML.documentElement;
	var setup = myxml[0];
	var vals = myxml[1];
	var strFName = setup[0];
	var strEName = setup[1];

	var objDDL = document.forms[strFName].elements[strEName];
	objDDL.options.length = 0;


	for (i=0; i < vals.length; i++) {
		if (isArray(vals[i])) {
			var theText = vals[i][1];
			var theValue = vals[i][0];
		} else {
			var theText = vals[i];
			var theValue = vals[i];
		}
		var option = new Option(theText, theValue);

		try {
			objDDL.add(option, null);
		} catch (e) {
			objDDL.add(option, -1);
		}
	}
}
function isArray(obj) {
   if (obj.constructor.toString().indexOf("Array") == -1)
      return false;
   else
      return true;
}


function element(value) {
	if(document.getElementById) {
		 elmID = document.getElementById(value);
	} else if(document.all) {
		elmID = document.all[value];
	} else if(document.layers) {
		elmID = this._getLayer(value);
	} else if(document.forms) {
		if(document.forms[value]) {
			elmID = document.forms[value];
		} else {
		    for(var i=0; i<document.forms.length; i++) {
		    	if(document.forms[i][value]) {
			    	elmID = document.forms[i][value];
					break;
			    }
		    }
		}
   	} else {
	   elmID = null;
	} 
    return elmID;
}

var strTypes = 0;
var strHeights = 0;
var strCapacities = 0;
function fillBoxTwo(value, type) {
	var url = "./browsenew.py";
	if (type == "type") {
		if (element("ddlHeights")) {
			element("ddlHeights").disabled = false;
		}
		if (element("ddlCapacities")) {
			element("ddlCapacities").disabled = false;
		}
		if (element("ddlMaterials")) {
			element("ddlMaterials").disabled = false;
		}
		//strTypes = oElem.options[oElem.selectedIndex].value;
		strTypes = value;
		setCookie("type", strTypes);
	}
	var strParams = "type=" + strTypes;
	if (type == "height") {
		//strHeights = oElem.options[oElem.selectedIndex].value;
		strHeights = value;
		strParams += "&height=" + strHeights;
		setCookie("height", strHeights);
	}
	if (type == "capacity") {
		if (strHeights != 0) {
			strParams += "&height=" + strHeights;
		}
		//strCapacities = oElem.options[oElem.selectedIndex].value;
		strCapacities = value;
		strParams += "&capacity=" + strCapacities;
	}
	if (type == "material") {
		if (strHeights != 0) {
			strParams += "&height=" + strHeights;
		}
		if (strCapacities != 0) {
			strParams += "&capacity=" + strCapacities;
		}
		strMaterials = value;
		//strMaterials = oElem.options[oElem.selectedIndex].value;
		strParams += "&material=" + strMaterials;
	}
		
   	xmlhttp.open('GET', url+"?"+strParams, true);
   	xmlhttp.onreadystatechange = function() {displayResults(type)};
   	xmlhttp.send(null);
}

function displayResults(type) {
	if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
		var json_data = json_parse(xmlhttp.responseText);
		//document.getElementById("debug").innerHTML = xmlhttp.responseText;
		for (a = 0; a < json_data.length; a++) {
			FillDropDown(json_data[a], type);
		}
	}
}
