var select_formid;
var select_targetwindow;

function initSelect(formId,targetWindow)
{
//initialise global variables
select_formid=formId;
select_targetwindow=targetWindow;

var theSelect = document.getElementById(select_formid+"_jump");

theSelect.changed = false;

selectFocussed();

theSelect.onchange = selectChanged;
theSelect.onkeydown = selectKeyed;
theSelect.onclick = selectClicked;

return true;
}

function selectChanged(theElement)
{
var theSelect;

if (theElement && theElement.value)
{
theSelect = theElement;
}
else
{
theSelect = this;
}

if (!theSelect.changed)
{
return false;
}

select_targetwindow.location=document.getElementById(select_formid).jump.options[document.getElementById(select_formid).jump.selectedIndex].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;
}
