
function Showdivmask()
{
	var DivMask = getObj('divmask');
	DivMask.style.display="";
	DivMask.style.height = document.body.scrollHeight +'px';
	DivMask.style.width = document.body.scrollWidth +'px';
	DivMask.style.visibility="visible";
}

function Hidedivmask()
{
	var DivMask = getObj('divmask');
	DivMask.style.display="none";
	DivMask.style.visibility="hidden";
}

function GetCurrentFormState(szFormName)
{
	var curForm;		
	var szFormState = "";
		
	//If no form name is supplied, grab the first form after the toolbar form.
	if (szFormName == undefined)
		curForm = document.forms[1]; 
	else
		curForm = document.forms[szFormName];

	for (var iElement=0; iElement < curForm.elements.length; iElement++)
	{
		var fAddElement = true;
		var CurrElement = curForm.elements[iElement];
		if ((CurrElement.type == "radio" || CurrElement.type == "checkbox") && CurrElement.checked != true)
		{
			fAddElement = false;
		}
		if (fAddElement)
		{
			szFormState += "&" + CurrElement.name + "=" + CurrElement.value;
		}
	}
		
	return szFormState;
}


// capture the 'enter' key event
function TEK(a,evt)
{	
	var keycode;
	if (window.event){ keycode = window.event.keyCode; evt = window.event;}
	else if(evt) {keycode = evt.which;}
	else {return true;}
	if(13==keycode){evt.cancelBubble = true; evt.returnValue = false; eval(a);}
}

function Flood(t,h,w,l)
{
	var x='<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 BGCOLOR="<%_0cba%>"><TR><TD WIDTH='+w+' HEIGHT='+h+'>&nbsp;</TD></TR></TABLE>';
	if (document.layers)
	{
		var dl=document.layers[l];
		dl.left=0;
		dl.top=t;
		dl.document.open();
		dl.document.write(x);
		dl.document.close();
	}
	else
	{
		var dl=document.getElementById(l);
		dl.style.left=0;
		dl.style.top=t-3;
		dl.innerHTML=x;
	}
	dl.visibility="show";
}

function getObj(objID)
{
	if (document.getElementById) {return document.getElementById(objID);}
	else if (document.all) {return document.all[objID];}
	else if (document.layers) {return document.layers[objID];}
}

// Get object in form=f after element=d, ignoring hidden fields. ex: objNext(document.Rqst,this)
function objNext(f,d)
{
	var fFnd=false,el=f.elements,i=0;
	for(;i < el.length;i++)
	{
		if('hidden'!=el[i].type && false==el[i].disabled && IsVis(el[i]) && fFnd)return el[i];
		if((d.id&&d.id==el[i].id)||(d.name&&d.name==el[i].name))fFnd=true;
	}
	return null;
}

// Get object in form=f before element=d, ignoring hidden fields. ex: objPrev(document.Rqst,this)
function objPrev(f,d)
{
	var fFnd=false,el=f.elements,i=el.length - 1;
	for(;i >= 0;i--)
	{
		if('hidden'!=el[i].type && false==el[i].disabled && IsVis(el[i]) && fFnd)return el[i];
		if((d.id&&d.id==el[i].id)||(d.name&&d.name==el[i].name))fFnd=true;
	}
	return null;
}

// use fnHandler to handle obj's on szEventType event
function addEvent( obj, szEventType, fnHandler, fUseCapture )
{
	if( obj.attachEvent != null )
	{
		obj.attachEvent( "on" + szEventType, fnHandler );
		return true;
	}
	else if( obj.addEventListener != null )
	{
		obj.addEventListener(szEventType, fnHandler, fUseCapture );
		return true;
	}
	else
	{
		return false;
	}
}
// generic function to insert an option into a select object. 
// -- s is the select object, 
// -- o is the option object to be inserted. 
//-- i is an optional param and denotes the index to insert. If i is not passed, the option is appended to the end
function insertOption(s,o,i)
{
	if(!s || !o || (i != null && (i < 0 || i >= s.options.length)))
	{
		return false;
	}
	if(i == null) // append
	{
		try {s.add(o);} // IE only
		catch(e) {s.add(o,null);} //standards compliant; doesn't work in IE
	}
	else // insert at index i
	{
		try {s.add(o, i);} // Comment: IE only
		catch(e) {s.add(o, s.options[i]);} // standards compliant; doesn't work in IE
	}
}

function removeEvent( obj, szEventType, fnHandler, fUseCapture )
{
	if( obj.detachEvent != null )
	{
		obj.detachEvent( "on" + szEventType, fnHandler );
		return true;
	}
	else if( obj.removeEventListener != null )
	{
		obj.removeEventListener(szEventType, fnHandler, fUseCapture );
		return true;
	}
	else
	{
		return false;
	}
}