function initMenu() {
	menu = document.getElementById('leftmenu');
	menu2 = document.getElementById('rightMover');
	menu.style.position = "relative";
	menu2.style.position = "relative";
	offsetTop = menu.offsetTop;
	menu.style.top = "0px";
	menu2.style.top = "0px";
	menuPosition();
}

function menuPosition() {
	if(menu) {
		if (typeof window.pageYOffset != 'undefined') {
		   scrollPos = window.pageYOffset;
		}
		else if (typeof document.compatMode != 'undefined' &&
		     document.compatMode != 'BackCompat') {
		   scrollPos = document.documentElement.scrollTop;
		}
		else if (typeof document.body != 'undefined') {
		   scrollPos = document.body.scrollTop;
		}

		if(menu.offsetHeight > menu2.offsetHeight) {
			j=0;
			if(menu2.offsetHeight - getWinSize(window).height  > 0) {
				j = menu2.offsetHeight - getWinSize(window).height + 20;
			}
			i = (offsetTop * -1) + scrollPos + 20 - j;
			i = (offsetTop * -1) + scrollPos + 20;
		}
		else {
			j=0;
			if(menu2.offsetHeight - getWinSize(window).height  > 0) {
				j = menu2.offsetHeight - getWinSize(window).height + 20;
			}
			i = (offsetTop * -1) + scrollPos + 20 - j;
		}

		if(i > 0 ) {
			endPosition = i;
		}
		else {
			endPosition = "0px";
		}
	}
}

function getWinSize(win)
{
    if(!win) win = window;
    var s = new Object();
    if(typeof win.innerWidth != 'undefined')
    {
        s.width = win.innerWidth;
        s.height = win.innerHeight;
    }
    else
    {
         var obj = getBody(win);
         s.width = parseInt(obj.clientWidth);
         s.height = parseInt(obj.clientHeight);
    }
    return s;
}

function getBody(w)
{
    return (w.document.compatMode && w.document.compatMode == "CSS1Compat") ? w.document.documentElement : w.document.body || null;
} 

function moveMenuTimeout() {
	window.setTimeout("menuPosition()",1);
}

function resetMoveMenu() {
	if(menu) {
		old = menu.style.top;
		menu.style.top = "0px";
		menuPosition();
		menu.style.top = old;
	}
}

function moveMenu() {
	if(menu) {
		if(parseInt(menu.style.top) < parseInt(endPosition)) {
			if(Math.round((parseInt(endPosition) - parseInt(menu.style.top)) / speed) > 9) {
				if(speed < 15) {
					speed++;
				}
			}
			else {
				if(speed > 0) {
					speed--;
				}
			}

			menu.style.top = parseInt(menu.style.top) + speed + "px";
			menu2.style.top = parseInt(menu2.style.top) + speed + "px";
		}
		else if(parseInt(menu.style.top) > parseInt(endPosition)) {
			if(Math.round((parseInt(menu.style.top) - parseInt(endPosition)) / speed) > 9) {
				if(speed < 15) {
					speed++;
				}
			}
			else {
				if(speed > 1) {
					speed--;
				}
			}
			
			menu.style.top = parseInt(menu.style.top) - speed + "px";
			menu2.style.top = parseInt(menu2.style.top) - speed + "px";
		}
		else {
			speed=0;
		}
	}
}
		

var menu;
var offsetTop;
var endPosition;
var timer;
var speed = 0;

timer = setInterval("moveMenu()", 20);

var IE = document.all?true:false;

if(!IE) {
	window.addEventListener('DOMMouseScroll', moveMenuTimeout, false);
}

window.onscroll = menuPosition;
