		var http = getHTTPObject();
				
		function autoSuggest(tableName, columnName, e, val, divID) {
			if (window.event) { // IE 
				keynum = e.keyCode;
			}
			else if (e.which) { // Netscape/Firefox/Opera
				keynum = e.which;
			}
			keychar = String.fromCharCode(keynum);
			searchStr = val + keychar;
			queryStr = "tableName=" + tableName + "&columnName=" + columnName + "&searchStr=" + searchStr;
			displayHTML("auto_suggest_find.asp", queryStr, divID);
		}
		
		//usage: <textarea name="comment*" rows="6" cols="30" 
		//	onkeypress="return validateChars(event, document.frm);">
		//</textarea>
		function checkKey(event, attribute, attributeVal, divID) {
			if (event.keyCode == 27) {
//				alert("esc key was pressed");
				displayHTML('display_attribute_val.asp', 'attribute=' + attribute + '&divID=' + divID, divID);
			}
			if (event.keyCode == 13) {
//				alert("enter key was pressed");
				runPage('change_attribute.asp', 'attribute=' + attribute + '&attributeVal=' + attributeVal);
				displayHTML('display_attribute_val.asp', 'attribute=' + attribute + '&divID=' + divID, divID);
			}
		}
		
		
		function displayAccordion(page, queryStr, divID) {
			if (isEmpty(divID)) {
				displayHTML(page, queryStr, divID);
			}
			else {
				displayStr('', divID);
			}
		}
		
		
		function displayHTML(page, queryStr, divID) {
			var targ = page + "?" + queryStr + "&ms=" + new Date().getTime();
			http.open('GET',targ,false);
			http.send(null);
			var strHTML = http.responseText;
			document.getElementById(divID).innerHTML = strHTML;
		}
		
		
		function displayStr(textStr, divID) {
			document.getElementById(divID).innerHTML = textStr;
		}
		
		
		function getCatQueryString(elements) {			
			qstr = "&CategoryName0=" + document.getElementById('CategoryName0').value;
			for (i = 0; i < elements.length; i++) {
				qstr += "&CategoryName" + (i + 1) + "=" + elements[i].value;
			}
			return qstr;
		}
		
		
		document.getElementsByClassName = function(cl) {
			var retnode = [];
			var myclass = new RegExp('\\b'+cl+'\\b');
			var elem = this.getElementsByTagName('*');
			for (var i = 0; i < elem.length; i++) {
				var classes = elem[i].className;
				if (myclass.test(classes)) retnode.push(elem[i]);
			}
			return retnode;
		};
		
		
		function isEmpty(divID) {
			empty = false;
			inside = document.getElementById(divID).innerHTML;
			if (inside == "") {
				empty = true;
			}
			return empty;
		}
		
		
		function isValueInArray(arr, val) {
			inArray = false;
			for (i = 0; i < arr.length; i++)
				if (val == arr[i])
					inArray = true;
			return inArray;
		}
		
		
		function newCategory() {
			catCount = parseInt(document.getElementById("categoryCount").value);
			var newdiv = document.createElement('div');
			newCatID = "category" + catCount;
			newdiv.setAttribute('id', newCatID);
			document.getElementById("categoryCount").value = catCount + 1;
			document.getElementById("categories").appendChild(newdiv);
			return newCatID;
		}
		

		function removeDiv(divID, parentDivID, countID) {
			var parent_div = document.getElementById(parentDivID);
			var child_div = document.getElementById(divID);
			parent_div.removeChild(child_div);
		}
		
		
		function runPage(page, queryStr) {
			var targ = page + "?" + queryStr + "&ms=" + new Date().getTime();
			http.open('GET',targ,false);
			http.send(null);
		}
		
		
		function validateLength(event, limit, str) {
			notTooLong = true;
			okKeyCodes = new Array(8, 116, 37, 38, 39, 40);
			if (str.length >= limit && !(isValueInArray(okKeyCodes, event.keyCode))) {
				alert("text area limit reached");
				notTooLong = false;
			}
			return notTooLong;
		}