
//AUTOR:Andreas POST
//weiterverwendet von:
//Static Slide Menu 6.5 © MaXimuS 2000-2001, All Rights Reserved.
//Site: http://www.absolutegb.com/maximus
//Script featured on Dynamic Drive (http://www.dynamicdrive.com)


NS6 = (document.getElementById&&!document.all)
IE = (document.all)
NS = (navigator.appName=="Netscape" && navigator.appVersion.charAt(0)=="4")


tempBar='';
barBuilt=0;
ssmItems=new Array();
menuCols=1;
moving = setTimeout('null',1);

YOffset=225; 
XOffset=0;
staticYOffset=30; 
slideSpeed=5
waitTime=100; // ms, this sets the time the menu stays out for after the mouse goes off it.
staticScrollTime=100; // ms, geschwindigketi von scroller nach y
menuIsStatic="yes"; //yes or "no"this sets whether menu should stay static on the screen
menuWidth=300; // Must be a multiple of 10! no quotes!!
barWidth=30; // wieviel soll sichtbar sein -  muss durch scrolloffset(10) teilbar sein
scrolloffset=10 ; // um diese zahl wird  menü in einer schleife verschwinden
linkTarget="main"; // default target wenn unten nichts anders angegeben
clickable="yes";	//über mouse over gesteuer oder auf click reagierend

preLoad();


function preLoad()
{
 var imageSrc = new Array(
 "/slider/untenrechts.gif",
 "/slider/bg.jpg",
 "/slider/oben.jpg",
 "/slider/unten.jpg",
 "/slider/select.gif",
 "/slider/obenrechts.gif",
 "/slider/obenrechtsaktiv.gif",
 "/slider/mitterechts.gif",
 "/slider/untenrechtsaktiv.gif"
 );
  for(i=0;i<imageSrc.length;i++)
  {
    var myImage  = new Image();
    myImage.src = imageSrc[i];
  }
}


function truebody()
{
	return (document.compatMode!="BackCompat")? document.documentElement : document.body
}



function triggerSlider()
{
	
	if((NS6||NS) && parseInt(ssm.left) == (barWidth-menuWidth) || IE && ssm.pixelLeft == (barWidth-menuWidth))	
	{
		makeClassesActive();		
		moveOut();
	}
	else
	{
		makeClassesInActive();
		moveBack();
	}
	
}

function makeClassesActive() 
{
	//schwule browser haben diese funktion nicht
	if(!document.getElementById)
	{
		return;
	}
	
	for( i=1; i<10; i++) 
	{
		if(!document.getElementById('switchstyle'+i))
		{
			break;
		}
		var elementClassName = document.getElementById('switchstyle'+i).className;
		if ( elementClassName.indexOf("aktiv") == -1)
		{	
			document.getElementById('switchstyle'+i).className=elementClassName+"aktiv";
		}		
			
	}
	
}

function makeClassesInActive() 
{
	
	//schwule browser haben diese funktion nicht
	if(!document.getElementById)
	{
		return;
	}	

	for( i=1; i<10; i++) 
	{
		if(!document.getElementById('switchstyle'+i))
		{
			break;
		}
		var elementClassName = document.getElementById('switchstyle'+i).className;
		if ( elementClassName.indexOf("aktiv") != -1)
		{
			elementClassName = elementClassName.substring(0,elementClassName.indexOf("aktiv"));
			document.getElementById('switchstyle'+i).className=elementClassName;		
		}
	}
}

function moveOut() 
{




	if ((NS6||NS) && parseInt(ssm.left)<0 || IE && ssm.pixelLeft < 0) 
	{
		clearTimeout(moving);
		moving = setTimeout('moveOut()', slideSpeed);
		slideMenu(scrolloffset);
	}
	else 
	{
		clearTimeout(moving);
		moving=setTimeout('null',1);
	}
}



function moveBack() {
	clearTimeout(moving);
	moving = setTimeout('moveBack1()', waitTime);
}

function moveBack1() 
{
	if ((NS6||NS) && parseInt(ssm.left)>(barWidth-menuWidth) || IE && ssm.pixelLeft>(barWidth-menuWidth)) 
	{
		clearTimeout(moving);
		moving = setTimeout('moveBack1()', slideSpeed);
		slideMenu(-scrolloffset);
	}
	else 
	{
		clearTimeout(moving);
		moving=setTimeout('null',1);
	}
}


function slideMenu(num)
{
	if (IE) {ssm.pixelLeft += num;}
	if (NS6) {ssm.left = parseInt(ssm.left)+num+"px";}
	if (NS) {ssm.left = parseInt(ssm.left)+num; bssm.clip.right+=num;bssm2.clip.right+=num;}
}

function makeStatic() 
{
	if (NS||NS6) {winY = window.pageYOffset;}
	if (IE) {winY = truebody().scrollTop;}
	if (NS6||IE||NS) 
	{
		if (winY!=lastY&&winY>YOffset-staticYOffset) 
		{
			smooth = .2 * (winY - lastY - YOffset + staticYOffset);
		}
		else if (YOffset - staticYOffset + lastY > YOffset-staticYOffset) 
		{
			smooth = .2 * (winY - lastY - (YOffset-(YOffset-winY)));
		}
		else 
		{
			smooth = 0;
		}
		
		if(smooth > 0)
		{
			smooth = Math.ceil(smooth);
		} 
		else 
		{
			smooth = Math.floor(smooth);
		}

		if (IE)bssm.pixelTop += smooth;		
		if (NS6) bssm.top=parseInt(bssm.top) + smooth + "px";
		if (NS) bssm.top = parseInt(bssm.top) + smooth;
		
		
		lastY = lastY + smooth;
		setTimeout('makeStatic()', staticScrollTime)
	}
}




function initSlide() 
{
	//probleme mit clip synchronisierung, ausgebaut
	
	if (NS6)
	{ 
		ssm = document.getElementById("thessm").style;
		bssm = document.getElementById("basessm").style;
		//bssm.clip="rect(0 "+document.getElementById("thessm").offsetWidth+" "+document.getElementById("thessm").offsetHeight+" 0)";
		ssm.visibility="visible";		

	}
	else if (IE) 
	{
		ssm = document.all("thessm").style;
		bssm = document.all("basessm").style;
		//bssm.clip = "rect(0 "+thessm.offsetWidth+" "+thessm.offsetHeight+" 0)";
		bssm.visibility = "visible";
	}
	else if (NS) 
	{
		bssm = document.layers["basessm1"];
		bssm2 = bssm.document.layers["basessm2"];
		ssm = bssm2.document.layers["thessm"];
		//bssm2.clip.left = 0;
		ssm.visibility = "show";
	}
	if (menuIsStatic=="yes")
	{ 
		makeStatic();
	}
}

function buildMenu() 
{


	var eventoption="";
	if(clickable=="yes")
	{
		eventoption =  'onClick="triggerSlider();"';
	}
	else
	{
		eventoption =  'onmouseover="moveOut();makeClassesActive();" onmouseout="moveBack();makeClassesInActive();"';	
	}

	if (IE||NS6) 
	{
		document.write('<DIV ID="basessm" style="visibility:hidden;Position : Absolute ;Left : '
				+ XOffset+'px ;Top : '+ YOffset +'px ;Z-Index : 20;width:'
				+ (menuWidth+10)+'px"><DIV ID="thessm" style="Position : Absolute ;Left : '
				+ (barWidth-menuWidth)+'px ;Top : 0 ;Z-Index : 20;"'
				+ eventoption
				+'>');
				
	}
	
	if (NS) 
	{
		document.write('<LAYER name="basessm1" top="'
				+ YOffset+'" LEFT='+ XOffset +' visibility="show"><ILAYER name="basessm2"><LAYER visibility="hide" name="thessm"'
				+ eventoption +'>');
				
	}
	
	if (NS6)
	{
		document.write('<table border="0" cellpadding="0" cellspacing="0" width="'
				+ (menuWidth +  2) +'px"><TR><TD>');
	}
	


	document.write("<table border='0' cellpadding='0' cellspacing='0'>");
	document.write("<TR>");
	document.write(" <TD class='slider1a'><img src='b.gif' border='0' width='0'></TD>");
	document.write(" <TD class='slider1b' id='switchstyle1'><img src='b.gif' border='0' width='0'></TD>");	
	document.write("</TR>");
	document.write("<TR>");
	document.write(" <TD  width='276'  class='slider2a'>");


	
	for( i=0; i<ssmItems.length; i++) 
	{
		if(!ssmItems[i][3])
		{
			ssmItems[i][3]=menuCols;
			ssmItems[i][5]=menuWidth-1;
		}
		else if(ssmItems[i][3]!=menuCols)
		{
			ssmItems[i][5] =  Math.round( menuWidth * (ssmItems[i][3]/menuCols)-1);
		}				

		if(!ssmItems[i][1])
		{
			//kein abstand nach oben wenn erstes element
			var nomargintop = "";
			if(i==0)
			{
			 nomargintop = 'style="margin-top:0px;"';
			}
			document.write('<div class="tit" '+nomargintop+'>'+ssmItems[i][0]+'</div>');
			
		}
		else 
		{
			if(!ssmItems[i][2])
			{
				ssmItems[i][2]=linkTarget;
			}		
				
			if(ssmItems[i][1].indexOf("(")!= -1)
			{//kommt eine klammer vor im link, javascript aufruf
			document.write(
					'<ILAYER><LAYER>'
					+'<A HREF="javascript:;" CLASS="ssmItems">'
					+ '<div onClick="'+ssmItems[i][1]+'" onMouseOver="className=\'hl\';status=\''+ssmItems[i][0]+'\';return true;" onmouseout="className=\'\';status=\'\';return true;">'
					+ ssmItems[i][0]
					+'</div>'
					+'</A>'
					+'</LAYER></ILAYER>'
					);					
			}
			else
			{//normaler link
			
			document.write(
					'<ILAYER><LAYER>'
					+'<A HREF="'
					+ ssmItems[i][1]+'" target="'+ssmItems[i][2]+'" CLASS="ssmItems">'
					+ '<div onMouseOver="className=\'hl\';status=\''+ssmItems[i][0]+'\';return true;" onmouseout="className=\'\';status=\'\';return true;">'
					+ ssmItems[i][0]
					+'</div>'
					+'</A>'
					+'</LAYER></ILAYER>'
					);	
			}
		}

	}//for
	

	document.write(" </TD>");
	document.write(" <TD class='slider2b' ><img src='b.gif' border='0' width='0'></TD>");
	document.write("</TR>");
	document.write("<TR>");
	document.write(" <TD class='slider3a'><img src='b.gif' border='0' width='0'></TD>");
	document.write(" <TD class='slider3b' id='switchstyle2'><img src='b.gif' border='0' width='0'></TD>");
	document.write("</TR>");
	document.write("</TABLE>");	


	
	if (NS6)
	{
		document.write('</TD></TR></TABLE>');
	}
	if (IE||NS6) 
	{
		document.write('</DIV></DIV>');
	}
	if (NS) {
		document.write('</LAYER></ILAYER></LAYER>');
	}
	theleft =- menuWidth;
	lastY=0;
	setTimeout('initSlide();', 1);
	

}
