var menuxp=10;
var menuyp=57;
var offSet=10;
var openedmenues=new Array(20);
var openedcounter=0;
var timeoutval=5;
var timeoutcounter=0;
var mainselect=null;
var is_mac =navigator.appVersion.indexOf("Mac");
var is_nav =(navigator.appName.substring(0,3)=="Net");

function closecheck()
{
	timeoutcounter++;
	if (timeoutcounter>=timeoutval)
	{
		for (count=openedcounter-1;count>=0;count--)
		{
			name=openedmenues[count];
			try 
			   {
			   parent.down.document.getElementById(name).style.visibility="hidden";
 			   }
			catch (e)
			   {
		 	   //
			   }
		}
		//openedcounter=0;
		timeoutcounter=0;
   }
}

// Alle offenen Fenster bis zum Root=Name schließen

function closetoroot(name)
{
	parent.up.closeSubs();
        count=openedcounter-1;
        while (count>=0)
        {
                t=openedmenues[count];
                if (name.indexOf(t)!=0)
                {
		try
		   {
                   parent.down.document.getElementById(t).style.visibility="hidden";
		   } 
		catch (e)
		   {
		   //
		   }
             	} 
                count--;
        } // while 1 zu

}


function closeall()
{
        parent.up.closeSubs();
        count=openedcounter-1;
        while (count>=0)
        {
                t=openedmenues[count];
		try 
		   {
		   parent.down.document.getElementById(t).style.background="#25455C";
                   parent.down.document.getElementById(t).style.visibility="hidden";

		   }
		catch (e)
		   {
		   //
		   }
                count--;
        } // while 1 zu

}

// Ein Menu mit einem bestimmten Namen anzeigen und Positionieren

function closeMenu(name)
{

    parent.down.document.getElementById(name).style.background="#25455C";
    parent.down.document.getElementById(name).style.visibility="hidden";
	//if(name=="M_2_4") alert(name);
    name=name.substring(0,3);

}

function scrollcheck()
{
	if (menuyp)
	{
		try 
			{
	                        if (is_nav)
                                {
                                vertikal=parent.down.window.pageYOffset;
                                }
                        else
                                {
                                vertikal=parent.down.document.body.scrollTop;
                                }
 
        		if (menuyp!=vertikal)
        			{
                		closeall();
                		menuyp=vertikal;
        			}
		   	}
		catch (e)
			{
			// keine Alternative
			}
	}



	if (menuxp)
	{
		try
			{
		        if (is_nav)
				{
				horizontal=parent.down.window.pageXOffset+offSet;
				}
			else
				{
				horizontal=parent.down.document.body.scrollLeft+offSet;
				}
                	if (menuxp!=horizontal)  // Test für horizontal
                		{
				closeall();
				if (is_nav)
					{
					menuxp=parent.down.window.pageXOffset;
					}
				else
					{
					menuxp=parent.down.document.body.scrollLeft;
					}
				menuxp=menuxp+offSet;
                		}
			}
		catch (e)
			{
			// Keine Alternative
			}
        }
}

function openMenu(name)
{
	closetoroot(name);
	xp=menuxp;
	try 
	{
		if (is_nav)
		{
		menuyp=parent.down.window.pageYOffset;
		}
		else
		{
		menuyp=parent.down.document.body.scrollTop;
		}
	}
	catch (e)
	{
		menuyp=0;
	}
	yp=menuyp;
	if (yp<0) {yp=57;}
	o=parent.down.document.getElementById(name);
	p=name.indexOf("_")+1;
	k=0;
	nbackup=name;
	name=name.substr(p,name.length-p);
	while (name.length>0)
	{
		value=0;
		p=name.indexOf("_");
		if (p<0)
		{
			value=parseInt(name);
			name='';
		} else
		{
			s=name.substr(0,p);
			value=parseInt(s);
			name=name.substr(p+1,name.length-p);
		}
		if (k==0)
		{
		if (is_mac == -1)
                	{
			// PC Hauptmenue
                        xp-=125;
                        xp+=120*value+(value*5);
                	k=1;
                	}
		else
			{
			// Mac Hauptmenue
			yp-=1;
			xp-=127;
			xp+=126*value;
			k=1;
			}
		}
		else
		{
		 if (is_mac == -1)
                        {
			// PC Untermenue
			xp+=50;
			yp+=16*value+17;
			k=0;
			}
			else
			{
			// Mac Untermenue
 			xp+=50;
                        yp+=14*value+15;
                        k=0;
			}
		}
	}

	try
	{
	o.style.left=xp+"px";
	o.style.top=yp+"px";
	v=o.style.visibility;
	if (v!="visible"){parent.down.document.getElementById(nbackup).style.visibility="visible";}
	if (v!="visible") openedmenues[openedcounter++]=nbackup;
        openedmenues[openedcounter++]=nbackup;
	if (("M"+nbackup).indexOf(mainselect)==0)
		o.style.borderColor="#25455C";
	else
		o.style.borderColor="#25455C";
	o.style.visibility="visible";
	timeoutcounter=0;
	}
	catch (e)
	{
	//
	}
}		


// Ein Menueintrag highlighten	
function highlight(what)
{
	what.style.background="#dddddd";
	timeoutcounter=0;

}

// Einen Menueintrag normalisieren
function normalize(what)
{
	what.style.background="#25455C";
	timeoutcounter=0;
	return true;
}

// Initialisieren aller Funktionen
function init(desc,showx)
{
	if (desc) {showselect(desc,showx);}
	setInterval("closecheck()",2000);
        setInterval("scrollcheck()",500);
}

// Wird bei einem onLoad in der externen Datei aufgerufen
function copybackbufferto(id)
{
	document.getElementById(id).innerHTML=parent.backbuffer.document.body.innerHTML;
}

// Eine externe Datei über das Menü laden
function runmenu(tagid,desc,url)
{
	o=tagid.lastIndexOf("_");
	nr=parseInt(tagid.substr(o+1,tagid.length-o));
	menuxp2=menuxp;
	menuxp2-=125;
	if (is_mac == -1) 
		{
		x=menuxp2+(nr*120)+(nr*5);
		}
	else
		{
                menuxp2-=5;
                x=menuxp2+(nr*125)+(nr*4+1);
		}
	if (mainselect!=null) 
	{
	try {
		document.getElementById(mainselect).style.background="#25455C";
	    }
	catch(e)
	    {
	    //
	    }
	}

	parent.up.document.getElementById(tagid).style.background="#25455C";
	mainselect=tagid;

	if (url=="http://www.haake-gmbh.com/?")
		{
      		top.document.location="http://www.haake-gmbh.com/";
		}
	else
		{
			url=url+"&desc="+desc+"&showx="+x;
			parent.down.document.location=url;
		}
}
// Eine externe Datei über das Menü laden

function showselect(desc,showx)
{
        x=showx;
        parent.up.document.getElementById("menuinfo").innerHTML="<img src=\"graphics/haken.gif\" border=\"0\">&nbsp;<b>"+desc+"</b>";
        parent.up.document.getElementById("menuinfo").style.top=89+"px";
        parent.up.document.getElementById("menuinfo").style.left=x+"px";
        parent.up.document.getElementById("menuinfo").style.visibility="visible";
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
