
function clearSelectList(id)
{
	var select = document.getElementById(id);
	while(select.length > 0)
		select.remove(0);
}

function arrayContainsElement(array, anObject)
{
	var i;
	for(i=0;i<array.length;i++) {
		if(array[i] == anObject)
			return true;
	}

	return false;
}

function indexOfElementInArray(array, anObject)
{
	var i;
	for(i=0;i<array.length;i++) {
		if(array[i] == anObject)
			return i;
	}

	return -1;
}

function arrayByRemovingObject(array, anObject)
{
	var index = indexOfElementInArray(array, anObject);
	if(index == -1)  // object isn't in the array
		return array;

	if(index == 0)
		return array.slice(1);
	else if(index == array.length-1)
		return array.slice(0, index);
	else
		return array.slice(0, index).concat(array.slice(index+1));

	return null;
}

function appendToSelect(select, value, content) 
{
	var opt;
	opt = document.createElement("option");
	opt.value = value;
	opt.appendChild(content);
	select.appendChild(opt);
}

function insertHeadToSelect(select, value, content)
{
	var opt;
	opt = document.createElement("option");
	opt.value = value;
	try {
		opt.appendChild(content);
	} catch(e) {
		alert(e);
	}
	select.insertBefore(opt, select.firstChild);
}

function getElementTextNS(prefix, local, parentElem, index) 
{
	var result = "";
	
	if (prefix && isIE)
		result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	else
		result = parentElem.getElementsByTagName(local)[index];
	
	if(result) {
	   if(result.childNodes.length > 1)
	   	    return result.childNodes[1].nodeValue;
		else
			return result.firstChild.nodeValue;
	} else
		return "n/a";
}

function getIndexForEvent(evt) 
{
  evt = (evt) ? evt : ((window.event) ? window.event: null);

  if(evt) {
	var elem = (evt.target) ? evt.target: ((evt.srcElement)? evt.srcElement : null);
	if(elem) {
		try {
			if(elem.selectedIndex >= 0)
				return elem.selectedIndex;
	   } catch(e) {
			var msg = (typeof e == "string") ? e: ((e.message) ?e.message : "Unknown Error");
			alert("Unable to get find key: \n" + msg);
	   }
	}
  }
  return -1;
}

