// OSPREY MENU SCRIPT Ver3.00		
			
//globals
var pos;
var srt="";
var nIz=0;
var old_mElem=null;			
g_dir=0;
mXY=null;
var dohide=false;
	
//Properties
m_props = new Array(
	200,								/*0 - width									*/
	10,						 			/*1 - menu left 							*/
	5,			   						/*2 - menu top								*/
	2000,								/*3 - timer									*/
	0,									/*4 - left offset							*/
	0,									/*5 - top offset							*/	
	"pointer",							/*6 - cursor pointer						*/
	"1px outset #c2ba96",				/*7 - mItems border							*/
	"#e6e3ac",							/*8 - bgcolor								*/
	"1px outset #c2ba96",				/*9 - mbar border style						*/
	4,									/*10 - padding 								*/
	"center",							/*11 - alignment							*/
	"10pt Century Gothic",				/*12 - font									*/
	"graphics/mnu.gif",					/*13 - mnu expand graphic					*/
	"#c2ba96",							/*14 - highlight color						*/
	false,								/*15 - highlight border on=true/off=false 	*/
	"1px solid #e6e3ac",				/*16 - highlight border style				*/
	"#993300",						    /*17 - font color							*/
	"bold",								/*18 - font weight							*/
	"italic",							/*19 - font style							*/
	false,								/*20 - graphics								*/
	"graphics/bullet.gif",				/*21 - default graphic						*/
	false,								/*22 - mbar border							*/
	1,									/*23 - alignment [0=left,1=center,2=right]	*/
	9,									/*24 - graphic dimensions					*/
	80,									/*25 - start opacity IE						*/
	100									/*26 - end opacity							*/
)

function build(dir)
{
	try
	{
		// Die Breite setzen
		m_props[0] = ( 1040 - 2 * m_props[1] )/ 4;
		
		//border												
		if(m_props[22])
		{
			var border=document.createElement("div");with(border)
			{
				style.border=m_props[9];style.position="relative";style.width="0";style.left=m_props[1]-m_props[10];
				style.top=m_props[2]-m_props[10];style.backgroundColor=m_props[8];style.zIndex=-1;
			}
			document.getElementsByTagName("body").item(0).appendChild(border);
		}				
	
		// highlight border
		if(m_props[15])
		{
			//add a highlighter div			
			var hl = document.createElement("div");
				
			hl.style.display="none";hl.id="hlter";hl.style.border=m_props[16];hl.style.position="relative";								
			hl.style.backgroundColor=m_props[8];
			var bodyle = document.getElementsByTagName("body");
			bodyle.item(0).appendChild(hl);
			bodyle.onmouseout=hideall;
		}				
	
		//this is the basic menu script
		document.onmousemove=getXY;
	
		//document.getElementsByTagName("body")[0].align = 'center';
			
		g_dir=dir;
		var old_c=0;	
		var aW=m_props[1];	
		var wrap=false;	
		var wrapH; 
		
		var ds = document.getElementById("osp_menu").getElementsByTagName("div");
		
		for(c=0;c<ds.length;c++)
		{	
			ds[c].style.visibility="visible"					
			with(ds[c].style)
			{
				font=m_props[12];
				position="absolute";
				border=m_props[7];
				padding=m_props[10];
				if(!backgroundColor)
					backgroundColor=m_props[8];
				if(!color)
					color=m_props[17];	
				fontWeight=m_props[18];
				fontStyle=m_props[19];
				if(!width)
					width=m_props[0];	
				cursor=m_props[6];
				if(!textAlign)
					textAlign=m_props[11];
				ds[c].setAttribute("oCol",backgroundColor);
			}			
			
			if(ds[c].className.indexOf("defunct")==-1)
			{
				ds[c].onmouseover=hLight;
				ds[c].onmouseout=mouseisgone;
				ds[c].onclick=dClick;	
				
			}					
			
			// id ohne _ => Root-Menu		
			if(ds[c].id.indexOf("_")==-1)
			{										
				//dir==0 : horizontal    dir==1 : vertical
				if(dir==0)
				{
					if(c>0)
					{
						ds[c].style.left=ds[old_c].offsetLeft+ds[old_c].offsetWidth-1;
					}
					else
					{
						ds[c].style.left=m_props[1]
					}
					
					if(wrap){wrap=!wrap;wrapH=ds[c].offsetHeight+2}else{wrapH=0}
					
					if(c>0)
					{
						ds[c].style.top=ds[old_c].offsetTop+wrapH;
					}
					else
					{
						ds[c].style.top=m_props[2]
					}									
					
					aW+=ds[c].offsetWidth;
					if(aW>(screen.width-m_props[1]-ds[c].offsetWidth))
					{
						old_c=0;wrap=true;aW=0;	
					}
				}
				else if(dir==1)
				{
					
					if(c>0){ds[c].style.left=ds[old_c].offsetLeft;}else{ds[c].style.left=m_props[1]}
					if(c>0){ds[c].style.top=ds[old_c].offsetTop+ds[old_c].offsetHeight-1;}else{ds[c].style.top=m_props[2]}	
				}
				else if(dir==2)
				{						
					if(c>0){ds[c].style.left=ds[old_c].offsetLeft+ds[old_c].offsetWidth-1;;}else{ds[c].style.left=m_props[1]}
					if(c>0){ds[c].style.top=ds[old_c].offsetTop+ds[old_c].offsetHeight-1;}else{ds[c].style.top=m_props[2]}	
				}
	
				if(!wrap)old_c=c;
				
				twiggie(ds[c],isKids(ds[c]));				
				
				//resize the border										
				if(m_props[22]){
					if(c>0){border.style.height=ds[c].offsetHeight+ds[c].offsetTop-m_props[2]+(m_props[10]*2);}
					if(c>0){border.style.width=ds[c].offsetLeft+ds[old_c].offsetWidth-m_props[1]+(2*m_props[10]);}else{}
				}
			}
			else
			{
				twiggie(ds[c],isKids(ds[c]));
				ds[c].style.display="none";
			}						
			//extra elements
			//if(document.getElementById("CLOCK"))clock();			
			//this is the basic menu script...^^^^^^^
		}
		//document.getElementById("theBody").align='center';
	}
	catch(e)
	{/**/}
}				

			
function twiggie(n,t)
{
	var ex =t?"<img style='float:right;' src='"+m_props[13]+"' border='0'>":"";		
	
	if(m_props[20])
	{
		var grp=n.getAttribute("graphic")?n.getAttribute("graphic"):m_props[21];
		grp="<td style='font:"+m_props[12]+";'><img src='"+grp+"' height='"+m_props[24]+"' width='"+m_props[24]+"'>&nbsp;&nbsp;</td>"
	}
	else
	{
		grp="";
	}		
	
	n.innerHTML="<table border='0' cellspacing='0' cellpadding='0' width='100%'>"+
						"<tr>"+grp+								
							"<td style='font:"+m_props[12]+";color:"+m_props[17]+";' width='99%'>"+n.innerHTML+"</td>"+
							"<td>"+ex+"</td>"+
						"</tr>"+
					"</table>"
}					
	

function checkSub(t){
		nIz=t.style.zIndex+25;					
		if(m_props[15])document.getElementById("hlter").style.display="none";
		pos = new Array(
			[t.offsetLeft,t.offsetTop],
			[(t.offsetLeft+t.offsetWidth),t.offsetTop],
			[t.offsetLeft,(t.offsetTop+t.offsetHeight)],
			[(t.offsetLeft+t.offsetWidth),(t.offsetTop+t.offsetHeight)])				
		var old_m=0;		var go=-1;		var firstR=true;	var str="";    var goleft=0;    var godown=0;	  var sBrdr=true;		var myZindx=false;
		var p_tl= new Array(-10,-10);
		var p_br= new Array(-10,-10);
		var ms = t.parentNode.getElementsByTagName("div");
		for(m=0;m<ms.length;m++){				
			if(getLevel(ms[m].id)>getLevel(t.id)){ms[m].style.display="none";}
			if(ms[m].id.substring(0,t.id.length+1)==t.id+"_" && ms[m].id!==t.id){													
				if(ms[m].id.replace(t.id,"").substring(1,99).indexOf("_")==-1){									
					ms[m].style.display="block";
					ms[m].style.filter="dropShadow(color=#000000 offX=5 offY=5 positive=true) alpha(opacity="+m_props[25]+")";
					nIz++;
					if(!myZindx){myZindx=nIz;nIz++;}
					ms[m].style.zIndex=nIz;						
					var level=getLevel(t.id);
					if((g_dir==0&&level==1)||firstR==false){go=1;}else if(g_dir==0&&level>1){go=2;}			//horizontal
					if(g_dir==1&&firstR){	go=2;}else if(g_dir==1&&!firstR){go=1;}		
					if((g_dir==2&&level==1)||firstR==false){go=1;}else if(g_dir==2&&level>1){go=2;}								//vertical
					if(go==1){
						if(old_m>0){ms[m].style.left=ms[old_m].offsetLeft}else{ms[m].style.left=t.offsetLeft;}
						if(old_m>0){ms[m].style.top=ms[old_m].offsetTop+ms[old_m].offsetHeight-1;}else{ms[m].style.top=t.offsetTop+t.offsetHeight+m_props[5];}							
					}else if(go==2){
						if(firstR){
							if((ms[m-1].offsetWidth+ms[m-1].offsetWidth+ms[m-1].offsetLeft)>screen.width-100){																		
								goleft=(ms[m].offsetWidth+ms[m].offsetWidth+(m_props[4]+m_props[4])-(ms[m].offsetWidth/2));
								godown=(ms[m].offsetHeight-m_props[5]-1)
								}								
							if(old_m>0){ms[m].style.left=ms[old_m].offsetLeft+ms[m].offsetWidth+m_props[4]-goleft}else{ms[m].style.left=t.offsetLeft+t.offsetWidth+m_props[4]-goleft;}
							if(old_m>0){ms[m].style.top=ms[old_m].offsetTop+m_props[5]+godown}else{ms[m].style.top=t.offsetTop+m_props[5]+godown;}
							firstR=false;
							goleft=0;
							godown=0;
						}												
					}						
					old_m=m;																		
					//record points here for the border	
					if(p_tl[0]<ms[m].offsetLeft)p_tl = new Array(ms[m].offsetLeft,ms[m].offsetTop)						
					if(p_br[1]<ms[m].offsetTop+ms[m].offsetHeight)p_br = new Array(ms[m].offsetLeft+ms[m].offsetWidth,ms[m].offsetTop+ms[m].offsetHeight)
				}					
			}					
		}								
		if(m_props[15]){var hlter=document.getElementById("hlter");with(hlter.style){zIndex=myZindx;left=p_tl[0]-2;top=p_tl[1]-2;width=p_br[0]-p_tl[0]+4;height=p_br[1]-p_tl[1]+4;display="block";}}
		//g_mTimer=setTimeout("hde()",m_props[3]);
	}							
function isKids(t){var ms=t.parentNode.getElementsByTagName("div"); var m;for(m=0;m<ms.length;m++){if(ms[m].id.substring(0,t.id.length+1)==t.id+"_" && ms[m].id!==t.id){if(ms[m].id.replace(t.id,"").substring(1,99).indexOf("_")==-1){return true;}}}return false;}			
function clock(){var c=new Date();	var h=c.getHours();var m=c.getMinutes();var s=c.getSeconds();h=h.toString().length==1?"0"+h:h;m=m.toString().length==1?"0"+m:m;s=s.toString().length==1?"0"+s:s;var nT=h+":"+m+":"+s;document.getElementById("CLOCK").innerHTML=nT;setTimeout("clock()",1000);}			

function hLight()
{
	if(old_mElem&&goingFwd(this)<1){
		old_mElem.style.backgroundColor=old_mElem.getAttribute("oCol");					
	}
	this.style.backgroundColor=m_props[14];				
	old_mElem=this;
	checkSub(this);
	dohide=false;
}								

function goingFwd(n){return (getLevel(n.id)-getLevel(old_mElem.id));}		

function dClick()
{
		if( this.getAttribute("target") )	
			document.getElementById("ifr").target=this.getAttribute("target");		
		if( this.getAttribute("perform") )
			document.getElementById("ifr").src=this.getAttribute("perform");
		
		hideall();
}
		
function getXY(e)
{
	mXY = window.event ? new Array(window.event.clientX,window.event.clientY):mXY=new Array(e.pageX,e.pageY);
}				

function mouseisgone()
{
	dohide = true;
	mg_mTimer=setTimeout("hde()",m_props[3]);
}

function hde()
{
	if( mXY[0]<pos[0][0]||
		mXY[0]>pos[1][0]||
		mXY[1]<pos[0][1]||
		mXY[1]>pos[2][1])
	{
		hideall();
		resetM();
	}
	else
	{					
		if( dohide )
		{
			hideall();
			if(old_mElem)
			{
				old_mElem.style.backgroundColor=old_mElem.getAttribute("oCol");					
			}
		}
		else
		{
			mg_mTimer=setTimeout("hde()",m_props[3]);
		}
	}
}	

function resetM()
{
	var ms = document.getElementById("osp_menu").getElementsByTagName("div");
	for(h=0;h<ms.length;h++)
	{
		if(ms[h].id.indexOf("_")==-1)
		{
			ms[h].style.backgroundColor=ms[h].getAttribute("oCol");
		}
	}
}			
function hideall()
{
	if(old_mElem )
	{
		old_mElem.style.backgroundColor=old_mElem.getAttribute("oCol");					
	}				
	var ms = document.getElementById("osp_menu").getElementsByTagName("div");
	for(h=0;h<ms.length;h++)
	{
		if(ms[h].id.indexOf("_")!==-1)
		{
			ms[h].style.display="none";
		}
		ms[h].style.backgroundColor=ms[h].getAttribute("oCol");	
	}
	if(m_props[15])document.getElementById("hlter").style.display="none";
	clearTimeout(g_mTimer);
}						
function getLevel(n){try{if(n.indexOf("_")!==-1){	var s=n.split("_");	return s.length;}else{return 1;}}catch(e){alert("getLevel ERROR: \n\n" + e.description)}}
