//Default browsercheck, added to all scripts!

function checkBrowser(){

	this.ver=navigator.appVersion

	this.dom=document.getElementById?1:0

	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;

	this.ie4=(document.all && !this.dom)?1:0;

	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;

	this.ns4=(document.layers && !this.dom)?1:0;

	this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)

	return this

}

bw=new checkBrowser()

/* Set the variables below.

If you look at the init function you can see that you can also set

these variables different for each menu!

*/



//Do you want the menus to move with the page if the user scroll the page?

var MoveOnScroll=true





//TOPMENU VARIABLES ***********************************************

//How many pixels should it move every step? 

var tMove=10;



//At what speed (in milliseconds, lower value is more speed)

var tSpeed=40



//How much of the menu should be visible in the in state?

var tShow=56



//LEFTMENU VARIABLES ***********************************************

//How many pixels should it move every step? 

var lMove=10;



//At what speed (in milliseconds, lower value is more speed)

var lSpeed=40



//How much of the menu should be visible in the in state?

var lShow=60





/********************************************************************

Contructs the menuobjects -Object functions

*********************************************************************/

function makeMenu(obj,nest,show,move,speed,topleft){

    nest=(!nest) ? '':'document.'+nest+'.'

	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;

  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;		

	this.x=(bw.ns4 || bw.ns5)? this.css.left:this.el.offsetLeft;

	this.y=(bw.ns4 || bw.ns5)? this.css.top:this.el.offsetTop;		

	this.state=1; this.go=0; this.mup=b_mup; this.show=show; this.mdown=b_mdown; 

	this.height=bw.ns4?this.css.document.height:this.el.offsetHeight

	this.width=bw.ns4?this.css.document.width:this.el.offsetWidth	

	this.top=this.y; this.mout=b_mout; this.min=b_min;

	this.topleft=topleft

	this.moveIt=b_moveIt; this.move=move; this.speed=speed

    this.obj = obj + "Object"; 	eval(this.obj + "=this")	

}

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}

//Menu up

function b_mup(){

	if(this.y>-this.height+this.show){

		this.go=1; this.moveIt(this.x,this.y-this.move)

		setTimeout(this.obj+".mup()",this.speed)

	}else{this.go=0; this.state=1}	

}

//Menu down

function b_mdown(){

	if(this.y<eval(scrolled)){

		this.go=1; this.moveIt(this.x,this.y+this.move)

		setTimeout(this.obj+".mdown()",this.speed)

	}else{this.go=0; this.state=0}	

}

//Menu in

function b_min(){

	if(this.x>-this.width+this.show){

		this.go=1; this.moveIt(this.x-this.move,this.y)

		setTimeout(this.obj+".min()",this.speed)

	}else{this.go=0; this.state=1}	

}

//Menu out

function b_mout(){

	if(this.x<0){

		this.go=1; this.moveIt(this.x+this.move,this.y)

		setTimeout(this.obj+".mout()",this.speed)

	}else{this.go=0; this.state=0}	

}

/********************************************************************************

Deciding what way to move the menu (this is called onmouseover, onmouseout or onclick)

********************************************************************************/



/********************************************************************************

Checking if the page is scrolled, if it is move the menu after

********************************************************************************/

function checkScrolled(){

	for(i=0;i<oMenu.length;i++){

		if(!oMenu[i].go){

			if(oMenu[i].topleft=="top"){

				y=!oMenu[i].state?eval(scrolled):eval(scrolled)-oMenu[i].height+oMenu[i].show

				oMenu[i].moveIt(oMenu[i].x,y)

			}else oMenu[i].moveIt(oMenu[i].x,eval(scrolled)+oMenu[i].top)

		}

	}

	if(bw.ns4) setTimeout('checkScrolled()',40)

}

/********************************************************************************

Inits the page, makes the menu object, moves it to the right place, 

show it

********************************************************************************/

function topMenuInit(){

	oMenu=new Array()

	//These used the default variables:

	oMenu[0]=new makeMenu('divMenu0','',tShow,tMove,tSpeed,"top") //Topmenu

	

	//You can add as many menus you want like the lines above.

	

	scrolled=bw.ns4?"window.pageYOffset":"document.body.scrollTop"

	//Placing and showing menus

	for(i=0;i<oMenu.length;i++){

		if(oMenu[i].topleft=="top") oMenu[i].moveIt(oMenu[i].x,-oMenu[i].height+oMenu[i].show)

		else oMenu[i].moveIt(-oMenu[i].width+oMenu[i].show,oMenu[i].y)

		oMenu[i].css.visibility='visible'

	}

	if(MoveOnScroll) bw.ns4?checkScrolled():window.onscroll=checkScrolled;

}
