
// =========================================================
//
// DropDown Menus
//
// This Software is copyright (c) 2008 by TuckDesign 
// www.tuckdesign.com
//
// All rights reserved. 
// You may not modify, alter, reverse engineer or emulate 
// the functionality, or create derivative works of the 
// Software in parts or it's entirety without the prior
// written consent of TuckDesign.
//
// =========================================================

// Config: you can set values below to configure dropdown menus:


var borderWidth=2; // width in px (from menu.css, value in menuDropChild class)
var menuHold=300; // how long to wait until hiding menu (msec)
var shadowOffset=5; // px of shadow displacement from main menu
var shadowOpacity=40; // transparency of drop shadow (0-100, 0=transparent, 100=non transparent)
var offsetX=15;
var offsetY=0;
var minwidth=130; // px of menu min-width
var topminwidth=125; // px of top menus min-width
var fading=true; // should menus fadein on showing
var fadeStep=10; 
var fadeSpeed=2; // higher the value fading is slower (combine with above value for best effects)
var growing=true; // should menus grow (animate) on showing
var growStep=7;
var growSpeed=5; // higher the value growing is slower (combine with above value for best effects)
var bump=false; // should menus bump (if this is true, menus won't fade or animate)
var bumpDist=100; // start distance for bumping menu
var bumpStep=10;
var bumpSpeed=5; // higher the value bumping is slower (combine with above value for best effects)
var scrolling=false; // should menus scroll (if this is true, menus won't fade, animate or bump)
var scrollStep=7;
var scrollSpeed=10; // higher the value scrolling is slower (combine with above value for best effects)
var direction="right" // direction of submenus ("right" or "left")
var colorLinkOver = 'white'; //gox: mouseover (white color link) added
var keepTopColor = true;
//End of config. DO NOT ALTER ANYTHING AFTER THIS LINE

// variable definitions
var menus=new Array;
var shadows=new Array;
var timeoutVar=0;
var clearMenus=-1;
var lastLevel=0;
var eventsDefined=false;
var fadeTimeout=-1;
var menuopacity=new Array;
var shadowopacity=new Array;
var fadeStepShadow=Math.round(fadeStep*(shadowOpacity/100));
var lastObj=new Array;
var objToChange=new Array;
var menuwidth=new Array;
var menuheight=new Array;
var menuleft=new Array;
var menutop=new Array;
var curmenuwidth=new Array;
var curmenuheight=new Array;
var menupro=new Array;
var growingObj=new Array;
var grows=new Array;
var curDirection=direction;
var docWidth=0;
var realOffsetX=0;
var realOffsetY=0;
var countMenus=0;
var bumper=new Array;
var scroller=new Array;
var menuBorder=0;
var tempObj=0;
var initFinished=false;
var menusNotIE6=true;


// find position of object
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft-realOffsetX,curtop-realOffsetY];
}

function showMenu(obj,level,id) {
	level=parseInt(level);
	var menu=document.getElementById('drop_'+id);
	//tpLevelNodePatch("black","TopnaviButton");
	//tpLevelNodePatch("black","TopnaviButtonH");
	if(obj) {
		if(obj.className) {
			if(obj.className == "TopnaviButton" || obj.className.indexOf("H") != -1)
				obj.childNodes[0].childNodes[0].style.color = colorLinkOver;
			else if(obj.className.indexOf('drop') != -1)
			   tpLevelNodePatch("white","TopnaviButtonH");
			else 
			     tpLevelNodePatch("black","TopnaviButtonH"); 
		}
		else 
			tpLevelNodePatch(colorLinkOver,"TopnaviButtonH");		
	}
	else
	    tpLevelNodePatch(colorLinkOver,"TopnaviButtonH"); 
    
	
	if (obj=="temp") obj=tempObj;
	if ((id!="" && !menu) || !initFinished || (scrolling && (level!=0) && scroller[level-1])) {
		tempObj=obj;
		setTimeout("showMenu('temp',"+level+",'"+id+"')",2);
		return;
	}
	var classtmp=obj.className+"H";
	if (classtmp.indexOf("HH")==-1) {
		obj.className=classtmp;
		//if(obj.className=="TopnaviButtonH")
		if(obj.childNodes[0].childNodes[0].style)
			obj.childNodes[0].childNodes[0].style.color = colorLinkOver;
		else if(obj.childNodes[0].style)
			obj.childNodes[0].style.color = colorLinkOver;
	/*	if(id != 0) {
			var tpLevel = document.getElementById("Topbar");
			for(var j=0; j< tpLevel.childNodes.length; j++) {
				if(tpLevel.childNodes[j].childNodes[0].className == "TopnaviButtonH") {
					//
				}
			}
		}*/
		//tpLevel.childNodes[0].style.color = "white";	
	}
	if (lastObj[level]==obj) return;
	if (menu && menu.style.visibility=="visible") return;
	resetTimeout();
	for (var i in lastObj) {
		if (i>level) lastObj[i]=0;
	}
	lastObj[level]=obj;
	growingObj[level]=obj;
	var pos=findPos(obj);
	var menuX=pos[0];
	var menuY=pos[1];
	if (level==0) {
		curDirection=direction;
		menuY+=obj.offsetHeight+offsetY;
		menuX+=offsetX;
		for (var i in menus) {
			if (menus[i]) {
				menus[i].style.visibility="hidden"
				var mid=menus[i].id.replace("drop_","");
				if (objToChange[mid]) {
					if (objToChange[mid]['obj']!=obj) {
						objToChange[mid]['obj'].className=objToChange[mid]['classtmp'];
					}
					delete objToChange[mid];
				}
				delete menus[i];
			}
			if (shadows[i]) {
				shadows[i].style.visibility="hidden"
				delete shadows[i];
			}
		}
	} else {
		//menuY+=obj.offsetHeight;
		var tmpmenuX=menuX;
		var menuW=0;
		if (menuwidth['drop_'+id]) menuW=menuwidth['drop_'+id];
		if (curDirection=="right") {
			tmpmenuX+=obj.offsetWidth+menuBorder;
		} else {
			tmpmenuX-=menuW;
		}
		if ((tmpmenuX+realOffsetX)<=0) {
			tmpmenuX=menuX;
			curDirection="right";
			tmpmenuX+=obj.offsetWidth+menuBorder;
		}
		if ((tmpmenuX+menuW-realOffsetX)>docWidth) {
			tmpmenuX=menuX;
			curDirection="left";
			tmpmenuX-=menuW;
		}
		menuX=tmpmenuX;		
		for (var i in menus) {
			if (parseInt(i)>=level) {
				if (menus[i]) {
					menus[i].style.visibility="hidden"
					var mid=menus[i].id.replace("drop_","");
					if (objToChange[mid]) {
						if (objToChange[mid]['obj']!=obj) {
							objToChange[mid]['obj'].className=objToChange[mid]['classtmp'];
						}
						delete objToChange[mid];
					}
					delete menus[i];
				}
				if (shadows[i]) {
					shadows[i].style.visibility="hidden"
					delete shadows[i];
				}
			}
		}
	}
	if (id!="") {
		if (!menus[level]) {
			menu.style.left=menuX+"px";
			menu.style.top=menuY+"px";
			menus[level]=menu;
			menuleft[level]=menuX;
			menutop[level]=menuY;
			lastLevel=level;
			var shadow=document.getElementById('dropShadow_'+id);
			if (shadow) {
				shadow.style.left=menuX+shadowOffset+"px";
				shadow.style.top=menuY+shadowOffset+"px";
				shadow.style.width=menu.offsetWidth+"px";
				shadow.style.height=menu.offsetHeight+"px";
				if (shadow.childNodes[0].src) {
					shadow.childNodes[0].width=menu.offsetWidth;
					shadow.childNodes[0].height=menu.offsetHeight;
				}
				shadows[level]=shadow;
				setOpacity(shadow,0);
			}
			displayMenu(level);
		}
	}
}

function changeClass(obj,id,classtmp) {
	var menu=document.getElementById('drop_'+id);
    if(obj.className.indexOf("H") != -1) {
		if(obj.childNodes[0].childNodes[0].style) {
			    if(obj.className.indexOf("_down") == -1)
					obj.childNodes[0].childNodes[0].style.color = "black";
		}
		else if(obj.childNodes[0].style) {
			    if(obj.className.indexOf("_down") == -1)
					obj.childNodes[0].style.color = "black";
		}
		tpLevelNodePatch('black','TopnaviButton');	
	    tpLevelNodePatch('black','TopnaviButtonH');	
	}
	if (menu) {
		objToChange[id]=new Array;
		objToChange[id]['obj']=obj;
		objToChange[id]['classtmp']=classtmp.replace('dropButtonHaveSubN','dropButtonHaveSub_'+direction);

		setTimeout("changeClassById('"+id+"')",20);
		
	} else {
		obj.className=classtmp;
	}
	 //tpLevelNodePatch('black','TopnaviButtonH');  
	/*
	}*/
	
}

function changeClassById(id) {
	var menu=document.getElementById('drop_'+id);
	if (menu) {
		if (menu.style.visibility!="visible") {
			if (objToChange[id]) {
				objToChange[id]['obj'].className=objToChange[id]['classtmp'];
				delete objToChange[id];
			}
		}
	}
	
	//tpLevelNodePatch("black","TopnaviButton");
}

function tpLevelNodePatch(linkClr,targetClassName,obj) {
	//tpLevelNodePatch	
	
		var tpLevelNodes = document.getElementById('Topbar').childNodes;
	    for(var j=0; j< tpLevelNodes.length; j++) {
	    	if(tpLevelNodes[j].className == "Topnavibuttonfolder") {
		    	if(tpLevelNodes[j].childNodes[0].className == targetClassName) {
		    		tpLevelNodes[j].childNodes[0].childNodes[0].childNodes[0].style.color = linkClr; 
		    	}
	    	}
	  }
}

function resetTimeout() {
	if (clearMenus!=-1) {
		clearTimeout(clearMenus);
		clearMenus=-1;
	}
}

function hideLastMenu() {
	var menu=menus[lastLevel];
	if (menu) {
		menu.style.visibility="hidden";
		var id=menus[lastLevel].id.replace("drop_","");
		if (objToChange[id]) {
			objToChange[id]['obj'].className=objToChange[id]['classtmp'];
			delete objToChange[id];
		}
		delete menus[lastLevel];
		if (shadows[lastLevel]) {
			shadows[lastLevel].style.visibility="hidden";
			delete shadows[lastLevel];
		}
		lastObj[lastLevel]=0;
		lastLevel--;
		clearMenus=-1;
		mouseOutMenu();
	}
}

function menuClicked(url) {
	window.location.href=url;
}

function docClicked() {
	for (var i in menus) {
		if (menus[i]) {
			menus[i].style.visibility="hidden"
			var mid=menus[i].id.replace("drop_","");
			if (objToChange[mid]) {
				objToChange[mid]['obj'].className=objToChange[mid]['classtmp'];
				delete objToChange[mid];
			}
			delete menus[i];
		}
		if (shadows[i]) {
			shadows[i].style.visibility="hidden"
			delete shadows[i];
		}
	}
	lastLevel=0;	
	resetTimeout();
}

function mouseOutMenu() {
	if (clearMenus==-1) clearMenus=setTimeout("hideLastMenu()",menuHold);
}

function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}

function displayMenu(level) {
	level=parseInt(level);
	menu=menus[level];
	shadow=shadows[level];
	if (shadow) setOpacity(shadow,shadowOpacity);
	if (scrolling) {
		menu.childNodes[0].style.position="absolute";
		if (shadow) shadow.childNodes[0].style.position="absolute";
		if (level==0) {
			menu.childNodes[0].style.top="-"+menuheight[menu.id]+"px";
			if (shadow) shadow.childNodes[0].style.top="-"+menuheight[menu.id]+"px";
		} else {
			if (curDirection=="right") {
				menu.childNodes[0].style.left="-"+menuwidth[menu.id]+"px";
				if (shadow) shadow.childNodes[0].style.left="-"+menuwidth[menu.id]+"px";
			} else {
				menu.childNodes[0].style.left=(menuwidth[menu.id]*2)+"px";
				if (shadow) shadow.childNodes[0].style.left=(menuwidth[menu.id]*2)+"px";
			}
		}
		menu.style.visibility="visible";
		if (shadow) shadow.style.visibility="visible";
		scroller[level]=0;
		setTimeout("scrollin("+level+")",scrollSpeed);
		return;	
	}
	if (bump) {
		setTimeout("bumpin("+level+")",bumpSpeed);
		return;
	}
	if (growing) {
		grows[menu.id]=1;
		growin(level);
	}
	if (fading) {
		setTimeout("fadein("+level+")",(fadeSpeed*2));
	}
	if (!fading && !growing) {
		if (menu) menu.style.visibility="visible";
		if (shadow) {
			shadow.style.visibility="visible";
		}
	}
}

function startFader(level) {
	if (menus[level]) {
		setOpacity(menus[level],0);
		menuopacity[level]=0;
		menus[level].style.visibility="visible";
		if (shadows[level]) {
			setOpacity(shadows[level],0);
			shadowopacity[level]=0;
			shadows[level].style.visibility="visible";
		}
	}
}

function fadein(level) {
	level=parseInt(level);
	if (menus[level]) {
		if (menus[level].style.visibility!="visible") {
			startFader(level);
			setTimeout("fadein("+level+")",fadeSpeed);
			return;
		}
		menuopacity[level]+=fadeStep;
		if (menuopacity[level]>100) menuopacity[level]=100;
		setOpacity(menus[level],menuopacity[level]);
		if (shadows[level]) {
			if (menuopacity[level]>=shadowOpacity) {
				if (shadowopacity[level]>shadowOpacity) shadowopacity[level]=shadowOpacity;
				setOpacity(shadows[level],shadowopacity[level]);
				shadowopacity[level]+=fadeStepShadow;
			}
		}
		if (shadows[level]) {
			if (menuopacity[level]!=100 || shadowopacity[level]!=shadowOpacity) {
				setTimeout("fadein("+level+")",fadeSpeed);
			}
		} else {
			if (menuopacity[level]!=100) {
				setTimeout("fadein("+level+")",fadeSpeed);
			} 	
		}
	}
}

function setOpacity(obj, opacity) {
	obj.style.KHTMLOpacity = opacity/100;
	obj.style.MozOpacity = opacity/100;
	obj.style.opacity = opacity/100;
	obj.style.filter = "alpha(opacity:"+opacity+")";
	if (obj.childNodes[0] && obj.childNodes[0].src) {
		obj=obj.childNodes[0];
		obj.style.filter = "progid:DXImageTransform.Microsoft.Alpha(opacity=25)";
	}
}

function growin(level) {
	level=parseInt(level);
	if (menus[level]) {
		var id=menus[level].id;
		if (menus[level].style.visibility!="visible") {
			menus[level].style.width="0px";
			menus[level].style.height="0px";
			curmenuheight[level]=0;
			curmenuwidth[level]=0;
			if (shadows[level]) {
				shadows[level].style.width="0px";
				shadows[level].style.height="0px";
				if (shadows[level].childNodes[0].src) {
					shadows[level].childNodes[0].width=0;
					shadows[level].childNodes[0].height=0;
				}
			}
			if (fading) {
				startFader();
			} else {
				shadows[level].style.visibility="visible";
				menus[level].style.visibility="visible";
			}
			setTimeout("growin("+level+")",growSpeed);
			return;
		}
		var obj=growingObj[level];
		if (level!=0 && obj) {
			var pos=findPos(obj);
			var menuX=pos[0];
			var menuY=pos[1];
			var tmpmenuX=menuX;
			var menuW=0;
			menuW=curmenuwidth[level];
			if (curDirection=="right") {
				tmpmenuX+=obj.offsetWidth+menuBorder;
			} else {
				tmpmenuX-=menuW;
			}
			if ((tmpmenuX+realOffsetX)<=0) {
				tmpmenuX=menuX;
				curDirection="right";
				tmpmenuX+=obj.offsetWidth;
			}
			if ((tmpmenuX+menuW-realOffsetX)>docWidth) {
				tmpmenuX=menuX;
				curDirection="left";
				tmpmenuX-=menuW;
			}
			menuX=tmpmenuX;		
			menus[level].style.left=menuX+"px";
			menus[level].style.top=menuY+"px";
			if (shadows[level]) {
				shadows[level].style.left=menuX+shadowOffset+"px";
				shadows[level].style.top=menuY+shadowOffset+"px";
			}
		}
		curmenuheight[level]+=growStep;
		if (curmenuheight[level]>menuheight[id]) curmenuheight[level]=menuheight[id];
		curmenuwidth[level]+=menupro[id];
		curmenuwidth[level]=Math.round(curmenuwidth[level]);
		if (curmenuwidth[level]>menuwidth[id]) curmenuwidth[level]=menuwidth[id];
		menus[level].style.width=curmenuwidth[level]+"px";
		menus[level].style.height=curmenuheight[level]+"px";
		if (shadows[level]) {
			shadows[level].style.width=curmenuwidth[level]+"px";
			shadows[level].style.height=curmenuheight[level]+"px";
			if (shadows[level].childNodes[0].src) {
				shadows[level].childNodes[0].width=curmenuwidth[level];
				shadows[level].childNodes[0].height=curmenuheight[level];
			}
		}
		var tmpgrow=false;
		for (var i in grows) {
			if (grows[i]==1) {
				tmpgrow=true;
				break;
			}
		}
		if (tmpgrow || curmenuheight[level]<menuheight[id] || curmenuwidth[level]<menuwidth[id]) {
			setTimeout("growin("+level+")",growSpeed);
		} else {
			grows[id]=0;
		}
	}
}

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function getDocWidth() {
	realOffsetX=0;
	realOffsetY=0;
	if (document.body.offsetWidth) docWidth=document.body.offsetWidth;
	var obj=document.getElementById("Topbar");
	if (obj) {
		if (!eventsDefined) {
			addEvent(obj,"mouseover",resetTimeout);
			addEvent(obj,"mouseout",mouseOutMenu);
		}
		obj=obj.parentNode;
		var objPos=getPos(obj);
		if (objPos=="absolute") {
			var pos=findPos(obj);
			realOffsetX=pos[0];
			realOffsetY=pos[1];
		}
	}
}

function setTopWidth(rep) {
	if (document.getElementById("Topbar")) {
		if (!menusNotIE6 && document.getElementById("Topbar").parentNode.tagName=="TD") document.getElementById("Topbar").style.position="static";
		if (typeof(rep)=="undefined" || rep==3) {
			var par=(typeof(rep)=="undefined");
			var spacer=getElementsByClass("menuSpacer");
			spacer=spacer[0];
			var menustop=getElementsByClass("Topnavibuttonfolder");
			for (var i=0; i<menustop.length; i++) {
				if (!par && spacer && i==menustop.length-1) topminwidth+=spacer.offsetWidth;
				if (menusNotIE6) {
					if (menustop[i].childNodes[0]) {
						var tmpObj=document.createElement('div');
						tmpObj.innerHTML=menustop[i].innerHTML;
						tmpObj.style.visibility="hidden";
						tmpObj.style.position="absolute";
						tmpObj.style.left="0";
						tmpObj.style.top="0";
						document.body.appendChild(tmpObj);
						if ((tmpObj.offsetWidth<topminwidth) && (tmpObj.childNodes[0] && (tmpObj.childNodes[0].offsetWidth<topminwidth))) {
							if (par) menustop[i].style.width=topminwidth+"px";
							if (!par) menustop[i].childNodes[0].style.width=topminwidth+"px";
						} else {
							if (tmpObj.offsetWidth>tmpObj.childNodes[0].offsetWidth) {
								if (par) menustop[i].style.width=tmpObj.offsetWidth+"px";
								if (!par) menustop[i].childNodes[0].style.width=tmpObj.offsetWidth+"px";
							} else {
								if (par) menustop[i].style.width=tmpObj.childNodes[0].offsetWidth+"px";
								if (!par) menustop[i].childNodes[0].style.width=tmpObj.childNodes[0].offsetWidth+"px";
							}
						}
						document.body.removeChild(tmpObj);
						delete tmpObj;
					}
				} else {
					if ((menustop[i].offsetWidth<topminwidth) && (menustop[i].childNodes[0] && (menustop[i].childNodes[0].offsetWidth<topminwidth))) {
						if (par) menustop[i].style.width=topminwidth+"px";
						if (!par) menustop[i].childNodes[0].style.width=topminwidth+"px";
					} else {
						if (menustop[i].offsetWidth>menustop[i].childNodes[0].offsetWidth) {
							if (par) menustop[i].style.width=menustop[i].offsetWidth+"px";
							if (!par) menustop[i].childNodes[0].style.width=menustop[i].offsetWidth+"px";
						} else {
							if (par) menustop[i].style.width=menustop[i].childNodes[0].offsetWidth+"px";
							if (!par) menustop[i].childNodes[0].style.width=menustop[i].childNodes[0].offsetWidth+"px";
						}
					}
				}
			}
			if (typeof(rep)=="undefined") {
				setTimeout("setTopWidth(3)",100);
			} else {
				document.getElementById("Topbar").style.visibility="visible";			
				if (!eventsDefined) {
					var menustmp=getElementsByClass("menuDrop");
					for (var i=0; i<menustmp.length; i++) {
						addEvent(menustmp[i],"mouseover",resetTimeout);
						addEvent(menustmp[i],"mouseout",mouseOutMenu);
						var j=menustmp[i].id;
						menuheight[j]=menustmp[i].offsetHeight;
						menuwidth[j]=menustmp[i].offsetWidth+12;
						if (menustmp[i].offsetWidth<(minwidth-12)) {
							menuwidth[j]=minwidth+12;
						}
						menustmp[i].style.overflow="hidden";
						menustmp[i].childNodes[0].style.width=(menuwidth[j]-borderWidth)+"px";
						menustmp[i].childNodes[0].style.height=(menuheight[j]-borderWidth)+"px";
						menustmp[i].style.width=menuwidth[j]+"px";
						menustmp[i].style.height=menuheight[j]+"px";
						menupro[j]=(growStep*menuwidth[j])/menuheight[j];
					}
					var menustmp2=getElementsByClass("dropButtonHaveSubN");
					for (var i=0; i<menustmp2.length; i++) {
						menustmp2[i].className=menustmp2[i].className.replace("dropButtonHaveSubN","dropButtonHaveSub_"+direction);
					}		
					addEvent(document,"click",docClicked);
					addEvent(window,"resize",getDocWidth);
					getDocWidth();
					eventsDefined=true;
				}
			}
		}
		var shadow=getElementsByClass("menuDropShadow");
		if (shadow[0]) {
			if (!shadow[0].childNodes[0]) {
				setTimeout("setTopWidth(2)",10);
				return;				
			}
			if (shadow[0].childNodes[0].src) {
				var preload=new Image;
				preload.src=shadow[0].childNodes[0].src;
			}
		}
		initFinished=true;
	} else {
		setTimeout("setTopWidth()",100);
	}
}

function bumpin(level) {
	if (!menus[level]) return;
	var proceed=true;
	if (bumper[level]) {
		bumper[level]-=bumpStep;
		if (bumper[level]<=0) {
			bumper[level]=0;
			proceed=false;
		}
	} else {
		bumper[level]=bumpDist;
	}
	var menuX=menuleft[level];
	var menuY=menutop[level];
	if (level==0) {
		menuY+=bumper[level];
	} else {
		var tmpmenuX=menuX;
		var menuW=0;
		menuW=menuwidth[menus[level].id];
		if (curDirection=="right") {
			tmpmenuX+=bumper[level];
		} else {
			tmpmenuX-=bumper[level]-menuBorder;
		}
		if ((tmpmenuX+realOffsetX)<=0) {
			tmpmenuX=menuX;
			curDirection="right";
			tmpmenuX+=bumper[level];
		}
		if ((tmpmenuX+menuW-realOffsetX)>docWidth) {
			tmpmenuX=menuX;
			curDirection="left";
			tmpmenuX-=bumper[level]-menuBorder;
		}
		menuX=tmpmenuX;		
	}
	if (menus[level]) {
		menus[level].style.left=menuX+"px";
		menus[level].style.top=menuY+"px";
		if (shadows[level]) {
			shadows[level].style.left=menuX+shadowOffset+"px";
			shadows[level].style.top=menuY+shadowOffset+"px";
		}
		if (menus[level].style.visibility!="visible") {
			menus[level].style.visibility="visible";
			if (shadows[level]) shadows[level].style.visibility="visible";
		}
	}
	if (proceed) setTimeout("bumpin("+level+")",bumpSpeed);
}

function scrollin(level) {
	if (!scroller[level]) scroller[level]=0;
	var proceed=true;
	var menu=menus[level];
	if (!menu) return;
	var shadow=shadows[level];
	if (level==0) {
		if (scroller[level]>=menuheight[menu.id]) {
			scroller[level]=menuheight[menu.id];
			proceed=false;
		}
		menu.childNodes[0].style.top="-"+(menuheight[menu.id]-scroller[level])+"px";
		if (shadow) shadow.childNodes[0].style.top="-"+(menuheight[menu.id]-scroller[level])+"px";
	} else {
		if (scroller[level]>=menuwidth[menu.id]) {
			scroller[level]=menuwidth[menu.id];
			proceed=false;
		}
		if (curDirection=="right") {
			menu.childNodes[0].style.left="-"+(menuwidth[menu.id]-scroller[level])+"px";
			if (shadow) shadow.childNodes[0].style.left="-"+(menuwidth[menu.id]-scroller[level])+"px";
		} else {
			menu.childNodes[0].style.left=(menuwidth[menu.id]-scroller[level])+"px";
			if (shadow) shadow.childNodes[0].style.left=(menuwidth[menu.id]-scroller[level])+"px";
		}
	}
	if (proceed) {
		scroller[level]+=scrollStep;
		setTimeout("scrollin("+level+")",scrollSpeed);
	} else {
		delete scroller[level];
	}
}

function getPos(el) {
	if (el.style.position!="") return el.style.position;
	if (el.currentStyle) return el.currentStyle.position;
	if (document.defaultView) return document.defaultView.getComputedStyle(el, '').getPropertyValue("position");
	return "";
}


function fix_width ()
{
	var divs = document.getElementById("Topbar");
	divs.childNodes[10].style.width = "145px";
	divs.childNodes[10].childNodes[0].style.width = "145px";
}


