
function getSelectedItem(selectId) {
	var selectWidget = document.getElementById(selectId);
	
	var item = selectWidget.options[selectWidget.selectedIndex].text;
	return item;
}

function addOptionBySelectElement(selectElement, option) {
	var optionElement = document.createElement("option");
	optionElement.text = option;
	
	try {
		selectElement.add(optionElement, null);	// standards compliant browser
	} catch (e) {
		selectElement.add(optionElement); // IE
	}
}

/**
* options single option or array of options
*/
function addOptionsBySelectId(selectId, options) {
	var selectElement = document.getElementById(selectId);
	
	if (selectElement) {
		if (options.constructor == String) {
			addOptionBySelectElement(selectElement, options);
		} else {
			for (var i = 0; i < options.length; i++) {
				addOptionBySelectElement(selectElement, options[i]);
			}
		}
	}
}

function setOptionSelection(selectId, xmlDoc) {
	var selectElement = document.getElementById(selectId);
	var options = xmlDoc.getElementsByTagName("option");
	
	removeAllSelectOptions(selectId);
		
	for (var i = 0; i < options.length; i++) {
		var option = document.createElement("option");

		option.text = options[i].childNodes[0].nodeValue;
		option.value = options[i].getAttribute("value");

		try {
			selectElement.add(option, null);	// standards compliant browser
		} catch (e) {
			selectElement.add(option); // IE
		}
	}
}

function setDisplayList(displayArea, xmlDoc) {
	var selectElement = document.getElementById("modelList");
	var models = xmlDoc.getElementsByTagName("option");
	selectElement.innerHTML = "";
	// removeAllSelectOptions(selectId); 
		
	for (var i = 1; i < models.length; i++) {
	
		var model = models[i].childNodes[0].nodeValue; 

		selectElement.innerHTML = selectElement.innerHTML + model + "<br/>"; 
	}
}

function removeAllSelectOptions(selectId) { 
	var selectWidget = document.getElementById(selectId);
	
	while (selectWidget.length > 0) {
		selectWidget.remove(selectWidget.length - 1);
	}
}
function updateSelectionOptions(selectId, url) {
	doXmlHttp(url, updateSelectionOptionsCallback, selectId);
}

function updateSelectionOptionsCallback(xmlHttp, args) {
	var selectId = args;
	setOptionSelection(selectId, xmlHttp.responseXML.documentElement);
}

function updateListDisplay(displayArea, url) {
	doXmlHttp(url, updateListDisplayCallback, displayArea);
}

function updateListDisplayCallback(xmlHttp, args) {
	var displayArea = args;
	setDisplayList(displayArea, xmlHttp.responseXML.documentElement);
}
