
bw = new browserCheck;
var mmenuObj= new Object();


var scroll_menu_cookie = loadCookie('scrollMenu');

function scrollMenu_lock(){
	saveCookie('scrollMenu', 'yes', 86400);
}

function mainMenu_init(id, mt, mb, tp) {
	mmenuObj = getDiv(id);
	mmenuObj.offsetX;
	mmenuObj.offsetY=tp;
	mmenuObj.marginTop=mt ? mt : 0;
	mmenuObj.marginBottom=mb ? mb : 0;
	mmenuObj.topPos=tp;
	mmenuObj.style.position = 'absolute';
	mmenuObj.topPos = tp;
	mmenuObj.moveStop = 0;
	mmenuObj.canvasObj = getDiv('centerFrame');
	//mmenuSmoothMove();
}

function mmenuSmoothMove() {
	if(scroll_menu_cookie) {
		return false;
	}

	var yt = getScrollTop();
	var divh = mmenuObj.offsetHeight;

	var cavh = mmenuObj.canvasObj.offsetHeight+ mmenuObj.canvasObj.offsetTop;

	if (cavh >= mmenuObj.marginTop + divh + mmenuObj.marginBottom) {
		yt = Math.max(yt + mmenuObj.marginTop, mmenuObj.topPos);

	} else {
		var yt1 = Math.max(yt + mmenuObj.marginTop, mmenuObj.topPos);
		var f1 = (yt1 > mmenuObj.offsetY) ? 1 : 0;
		var yt2 = yt - (divh + mmenuObj.marginBottom - cavh);
		yt2 = Math.max(yt2, mmenuObj.topPos);
		var f2 = (yt2 < mmenuObj.offsetY) ? 1 : 0;
		if (f1 && f2) yt = mmenuObj.offsetY;
		else yt = f2 ? Math.max(yt1, yt2) : Math.min(yt1, yt2);
	}

	//overflow stop
	if (cavh <=yt+mmenuObj.offsetHeight) {
		yt=cavh-mmenuObj.offsetHeight-mmenuObj.marginBottom;
		mmenuObj.style.top = mmenuObj.offsetY + 'px';
	} 

	//scroll
	 if (yt != mmenuObj.offsetY) {
		var vy = (yt - mmenuObj.offsetY) * 0.25;
		if (Math.abs(vy) < 1) vy = (vy > 0) ? 1 : (vy < 0) ? -1 : 0;
		mmenuObj.offsetY += Math.round(vy);
		mmenuObj.style.top = mmenuObj.offsetY + 'px';
	}
	if(!mmenuObj.moveStop){
		setTimeout('mmenuSmoothMove()' , 15);
	}
}


function mainMenu() {

	mainMenu.init = function(id, mt, mb, tp) {
		mainMenu_init(id, mt, mb, tp);
	}

} new mainMenu();
