// Menu Scrolling

MenuLeftOffset=0;
SubMenuLeftOffset=0;
MenuDivName='menu';
MenuInnerDivName='menuinner';
SubMenuDivName='submenu';
NumMenus=0;
MoveTimeout=null;
MainTimeout=100;
AfterOutTimeout=1500;
MotionStep=8;
TimeoutID=null;
MotionAllowed=0;
SectionDivName='section';

menuOpened=new Array();
HideInProgress=new Array();

function browserObject (str)
{
	obj = document.getElementById(str);
	return obj;
}

function initMenuCoords() {
	MotionAllowed=1;
	j=1;
	t=0;
	while (browserObject(MenuDivName+j) != null) {
		menuOpened[j]=0;
		HideInProgress[j]=0;
		j++;
	}
	NumMenus=j-1;
	SubMenuLeftOffset=document.getElementById(MenuDivName+1).offsetLeft;
	if(SubMenuLeftOffset==0)
	    SubMenuLeftOffset=490;
	window.onresize=PositionSubMenus;
}

function PositionSubMenus() {
	for(i=1;i<=NumMenus;i++) {
		document.getElementById(SubMenuDivName+i).style.left=document.getElementById(MenuDivName+1).offsetLeft;
	}
}

function submenuShow(menuindex) {
	if(document.getElementById(MenuDivName+menuindex).style.top=='')
	    document.getElementById(MenuDivName+menuindex).style.top='0px';
	document.getElementById(SubMenuDivName+menuindex).style.left = SubMenuLeftOffset;
	CurTopOffset = document.getElementById(MenuDivName+menuindex).offsetTop+document.getElementById(MenuDivName+menuindex).offsetHeight;
	if(CurTopOffset<250)
	    CurTopOffset = 251+document.getElementById(MenuDivName+menuindex).offsetTop+parseInt(document.getElementById(MenuDivName+menuindex).style.top)+document.getElementById(MenuDivName+menuindex).offsetHeight;
	document.getElementById(SubMenuDivName+menuindex).style.top = CurTopOffset;
	document.getElementById(SubMenuDivName+menuindex).style.visibility = 'visible';
}

function submenuHide(menuindex) {
	document.getElementById(SubMenuDivName+menuindex).style.visibility = 'hidden';
}

function menuExpand(menuindex,is_active,modifier) {
	if(menuOpened[menuindex]||MotionAllowed==0)
		return;
	MotionAllowed=0;
	menuOpened[menuindex]=1;
	document.getElementById('MainMenuBGR').style.height=document.getElementById('MainMenuBGR').offsetHeight+document.getElementById(SubMenuDivName+menuindex).offsetHeight;
	MoveObjectsDown(menuindex,document.getElementById(SubMenuDivName+menuindex).offsetHeight,0);
	eval('document.Imgl1bgr'+menuindex+'.src="/images.tpl/menu_l1'+modifier+'_'+is_active+'_c.gif"');
}

function menuShrink(menuindex,is_active,modifier) {
	if(!menuOpened[menuindex])
		return false;
	MotionAllowed=0;
	menuOpened[menuindex]=0;
	MoveObjectsUp(menuindex,document.getElementById(SubMenuDivName+menuindex).offsetHeight,0);
	eval('document.Imgl1bgr'+menuindex+'.src="/images.tpl/menu_l1'+modifier+'_'+is_active+'_n.gif"');
}

function MoveObjectsDown(menuindex,distance,curshift) {
	menuindex=parseInt(menuindex);
	WholeWay=Math.abs(distance);
	MoveTimeout=MainTimeout*Math.abs(WholeWay/2-Math.abs(curshift))/WholeWay;
	if(curshift<distance) {
		curshift=curshift+MotionStep;
		if(curshift>distance) {
			CurStep=MotionStep+distance-curshift;
			curshift=distance;
		}
		else
			CurStep=MotionStep;
		for(i=menuindex+1;i<=NumMenus;i++) {
			if(document.getElementById(MenuDivName+i).style.top=='')
				document.getElementById(MenuDivName+i).style.top='0px';
			document.getElementById(MenuDivName+i).style.top=parseInt(document.getElementById(MenuDivName+i).style.top)+CurStep;
			if(menuOpened[i]==1) {
				if(document.getElementById(SubMenuDivName+i).style.top=='')
					document.getElementById(SubMenuDivName+i).style.top='0px';
				document.getElementById(SubMenuDivName+i).style.top=parseInt(document.getElementById(SubMenuDivName+i).style.top)+CurStep;
			}
		}
		TimeoutID=setTimeout('MoveObjectsDown(\''+menuindex+'\','+distance+','+curshift+')',MoveTimeout);
	}
	else {
		clearTimeout(TimeoutID);
		TimeoutID=null;
		submenuShow(menuindex);
		MotionAllowed=1;
	}
}

function MoveObjectsUp(menuindex,distance,curshift) {
	menuindex=parseInt(menuindex);
	WholeWay=Math.abs(distance);
	MoveTimeout=MainTimeout*Math.abs(WholeWay/2-Math.abs(curshift))/WholeWay;
	if(curshift<distance) {
		curshift=curshift+MotionStep;
		if(curshift>distance) {
			CurStep=MotionStep+distance-curshift;
			curshift=distance;
		}
		else
			CurStep=MotionStep;
		for(i=menuindex+1;i<=NumMenus;i++) {
			document.getElementById(MenuDivName+i).style.top=parseInt(document.getElementById(MenuDivName+i).style.top)-CurStep;
			if(menuOpened[i]==1)
				document.getElementById(SubMenuDivName+i).style.top=parseInt(document.getElementById(SubMenuDivName+i).style.top)-CurStep;
		}
		TimeoutID=setTimeout('MoveObjectsUp(\''+menuindex+'\','+distance+','+curshift+')',MoveTimeout);
	}
	else {
		clearTimeout(TimeoutID);
		TimeoutID=null;
		MotionAllowed=1;
		document.getElementById('MainMenuBGR').style.height=document.getElementById('MainMenuBGR').offsetHeight-document.getElementById(SubMenuDivName+menuindex).offsetHeight;
	}
}

function MenuSwitch(menuindex,is_active,modifier) {
	if(menuOpened[menuindex]) {
		submenuHide(menuindex);
		menuShrink(menuindex,is_active,modifier);
	}
	else
		menuExpand(menuindex,is_active,modifier);
}

