var zindex	= 1000;
var ns4		= document.layers;
var ns6		= document.getElementById&&!document.all;
var ie4		= document.all;
var opr		= navigator.userAgent.indexOf("Opera");
var firstrun = false;
var visible = false;

function TSDropDownMenuToggle(e, menuid, xoffset, yoffset)
{

	curmenuID		= (ns6)				? document.getElementById(menuid).id	: eval(menuid).id;
	if (window.themenu && themenu.id != curmenuID)
		ddoutStyle.visibility			= ns4									? "hide"				: "hidden";

	themenu			= (ns6)				? document.getElementById(menuid)		: eval(menuid);
	ddout = document.getElementById('DropDownOuter');

	themenuStyle	= (ns6||ie4)		? themenu.style							: themenu;
	ddoutStyle		= (ns6||ie4)		? ddout.style							: ddout;

	themenuoffsetX	= (ie4&&opr==-1)	? document.body.scrollLeft				: 0;
	themenuoffsetY	= (ie4&&opr==-1)	? document.body.scrollTop				: 0;

/*
	themenuStyle.left	= findPosX(e) + xoffset;
	themenuStyle.top	= findPosY(e) + yoffset;
*/
	

	// Inhalt von themenu und wichtige Styles ins äußere DropDown kopieren
	ddout.innerHTML = themenu.innerHTML;
	ddoutStyle.border = themenuStyle.border;
	ddoutStyle.height = themenuStyle.height;
	ddoutStyle.width = themenuStyle.width;

	// äußeres DropDown positionieren
	ddoutStyle.left = eval(findPosX(e) + xoffset)+"px";
	ddoutStyle.top = eval(findPosY(e) + yoffset)+"px";
	
	hiddenconst		= (ns6 || ie4)		? "hidden"					: "hide";

	if (visible) {
		if ((ie4||ns6)&&window.themenu)
			ddoutStyle.visibility="hidden";
		else if (ns4)
			ddout.visibility="hide";
		visible = false;
	} else {
		ddoutStyle.visibility			= (ns6 || ie4)							? "visible"				: "show";
		ddoutStyle.zIndex				= zindex++;
		visible = true;
	}

/*
	if (themenuStyle.visibility == hiddenconst || firstrun == false)
	{
		themenuStyle.visibility			= (ns6 || ie4)							? "visible"				: "show";
		themenuStyle.zIndex				= zindex++;
	}
	else
	{
		hidemenu();
	}
*/

	return false
}

function findPosX(obj){
	var curleft=0;
		if(document.getElementById||document.all){
			while(obj.offsetParent){
				curleft+=obj.offsetLeft;obj=obj.offsetParent;
			}
		}
		else if(document.layers){
			curleft+=obj.x;
		}
	return curleft;
}
function findPosY(obj){
	var curtop=0;
		if(document.getElementById||document.all){while(obj.offsetParent){curtop+=obj.offsetTop;obj=obj.offsetParent;}}
		else if(document.layers){curtop+=obj.y;}
	return curtop;
}

function TSDropDownMenuHide()
{
	if ((ie4||ns6)&&window.themenu)
		themenuStyle.visibility="hidden";
	else if (ns4)
		themenu.visibility="hide";
	visible = false;
}

if (ie4 || ns6)
	document.onclick = TSDropDownMenuHide;

if (document.layers)
{
	document.dropmenu0.captureEvents(Event.CLICK);
	document.dropmenu0.onclick = hidemenu;
	document.dropmenu1.captureEvents(Event.CLICK);
	document.dropmenu1.onclick = hidemenu;
}

function TSDropDownMenuHighlight(row, classname)
{
	if (row.state != "highlighted")
	{
		row.state			= "highlighted";
		row.className		= classname;
	}
	else
	{
		row.className		= classname;
		row.state			= "none";
	}
}