function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

var qsParm = new Array();

function initSelect()
{
	var theSelect = document.getElementById("Globals");
	
	if (theSelect) {
		theSelect.changed = false;
		theSelect.onfocus = selectFocussed;
		theSelect.onchange = selectChanged;
		theSelect.onkeydown = selectKeyed;
		theSelect.onclick = selectClicked;
	}
	
	qsParm['sDir'] = null;
	qs();
	
	if (qsParm['sDir']) {
		switch(qsParm['sDir']) {
			case 'P':
				changeDirectory('P','#FFF');
				break    
			case 'G':
				changeDirectory('G','#CFC');
				break
			default:
				changeDirectory('B','#FFC');
		}
	}
	
	return true;
}


function selectChanged(theElement)
{
	var theSelect;
	
	if (theElement && theElement.value)
	{
		theSelect = theElement;
	}
	else
	{
		theSelect = this;
	}
	
	if (!theSelect.changed)
	{
		return false;
	}

	if (theSelect.value != '#')
	{
	window.open(theSelect.value, '');
	}

	return true;
}


function selectClicked()
{
	this.changed = true;
}


function selectFocussed()
{
	this.initValue = this.value;
	return true;
}


function selectKeyed(e) {
	var theEvent;
	var keyCodeTab = "9";
	var keyCodeEnter = "13";
	var keyCodeEsc = "27";
	
	if (e)
	{
		theEvent = e;
	}
	else
	{
		theEvent = event;
	}

	if ((theEvent.keyCode == keyCodeEnter || theEvent.keyCode == keyCodeTab) && this.value != this.initValue)
	{
		this.changed = true;
		selectChanged(this);
	}
	else if (theEvent.keyCode == keyCodeEsc)
	{
		this.value = this.initValue;
	}
	else
	{
		this.changed = false;
	}
	
	return true;
}

function qs() {
	var query = window.location.search.substring(1);
	var parms = query.split('&');
	for (var i=0; i<parms.length; i++) {
		var pos = parms[i].indexOf('=');
		if (pos > 0) {
			var key = parms[i].substring(0,pos);
			var val = parms[i].substring(pos+1);
			qsParm[key] = val;
		}
	}
}

function changeDirectory(targetDirectory, colour) {
	var bgArea = document.getElementById("entry");
	bgArea.style.backgroundColor = colour;
	
	document.getElementById("sch_SearchDirectory").value = targetDirectory;
	
	return true;
}

addEvent(window, 'load', initSelect);