/**
 * Author: David Mimms dmimms@avantinformatica.it
 **/

function QuickList (onChange, toChange, toSave, reqURL, onResponse) {	
	drvObj = document.getElementById(onChange);
	vObj = document.getElementById(toChange);
	hValObj = document.getElementById(toSave);

	this.setSelected = function (val) {
		hValObj.value = val;
	}

	this.saveSelected = function () {
		var myindex = vObj.selectedIndex;
		hValObj.value = vObj.options[myindex].value;
	}

	this.fillSelect = function () {
		var myindex = drvObj.selectedIndex;
//		if (drvObj.options[myindex].value) {
			var url = reqURL + drvObj.options[myindex].value + "&randid=" + Math.random();
			 // (url, onReady, onError, wantXML, rmethod, sendData)
			var myXHR = new XHRObject (url, this.procResponse, this.procError, true, 'GET', null);
//		}
		return true;
	}

	this.procError = function (error) {
//		alert ("error" + error);
	}

	this.procResponse = function (xmldoc) {
		onResponse (xmldoc);
	}
}

function JTList (onChange, toChange, toSave) {
	var reqURL = '/libs/jobterms.php?type=';
	var qlist = new QuickList (onChange, toChange, toSave, reqURL, function (xmldoc) {
		// process data
		var len = xmldoc.getElementsByTagName('name').length;
		
		vObj.options.length = len + 1;
		vObj.options[0].text = "Please select one...";
		vObj.options[0].value = "";
		vObj.options[0].defaultSelected = true;
		vObj.options[0].selected = false;
		
		for (var i = 0; i < len; i++) {
			var val = xmldoc.getElementsByTagName('id')[i].firstChild.data;
			vObj.options[i+1].text = xmldoc.getElementsByTagName('name')[i].firstChild.data;
			vObj.options[i+1].value = val;
			vObj.options[i+1].defaultSelected = true;
			vObj.options[i+1].selected = (val == hValObj.value) ? true : false;
		}
	}
	);
	return qlist;
}

