function fps_toolbarOpen(){
	if(document.getElementById('fps_toolbar') && document.getElementById('fps_toc')){
		var toolBar = document.getElementById('fps_toolbar');
		var toolButton = document.getElementById('fps_toc');
		
		if(toolBar.style.display=='block'){
			toolBar.style.display = 'none';
			toolButton.className = 'fps_toolbar_close';
			xajax_save_toolbar(1);
		}else{
			toolBar.style.display = 'block';
			toolButton.className = 'fps_toolbar_open';
			xajax_save_toolbar(0);
		}
	}
}
var fpsmenu_dragObject  = null;
var fpsmenu_mouseOffset = null;
var fpsmenu_scrollTimer;
var fpsmenu_SLIDER,fpsmenu_SLIDERBOX,fpsmenu_BOX,fpsmenu_DRAGGERBOX,fpsmenu_POINTER,fpsmenu_ratio,fpsmenu_st2active;
var	fps_menuscroller_active = 0;

function fpsmenu_picScroll(m, s, dp) {
	var s1 = 10;
	var s2 = 25;
	var oDiv, oContent;
	if (fps_menuscroller_active==0) return;
	speed = (s) ? s2 : s1 ;
	if(typeof m != "undefined") move = m;
	fpsmenu_scrollTimer = null;

	var cvalue = 0;
	if(move == "di") {
		if( -dp > (fpsmenu_BOX.offsetWidth - fpsmenu_SLIDER.offsetWidth))
		{
			fpsmenu_SLIDER.style.left = -dp + 'px';
			cvalue = -dp;
		}
		else
		{
			fpsmenu_SLIDER.style.left = fpsmenu_BOX.offsetWidth - fpsmenu_SLIDER.offsetWidth + 'px';
			cvalue = fpsmenu_BOX.offsetWidth - fpsmenu_SLIDER.offsetWidth;
		}
	}
	else
	if ((move == "dn") && ((fpsmenu_SLIDER.offsetWidth + fpsmenu_SLIDER.offsetLeft) > fpsmenu_BOX.offsetWidth)) {
		fpsmenu_SLIDER.style.left = (fpsmenu_SLIDER.offsetLeft - speed) + 'px';
		cvalue = (fpsmenu_SLIDER.offsetLeft - speed);
	} else {
		if ((move == "up") && (fpsmenu_SLIDER.offsetLeft < 0)) {
			fpsmenu_SLIDER.style.left = (fpsmenu_SLIDER.offsetLeft + speed) + 'px';
			cvalue = (fpsmenu_SLIDER.offsetLeft + speed);
		} else {
			if (move == "dn") {
				cvalue=fpsmenu_SLIDER.offsetLeft;
			}
			else if(move == "up") {
				cvalue = 0;
			} else if (move == "top") {
				fpsmenu_SLIDER.style.left = 0 + 'px';
				cvalue = 0;
			}
		}
	}
    fpsmenu_ratio = (fpsmenu_SLIDER.offsetWidth-fpsmenu_BOX.offsetWidth) / (fpsmenu_DRAGGERBOX.offsetWidth-fpsmenu_POINTER.offsetWidth);

	calc = 0-cvalue/fpsmenu_ratio+fpsmenu_DRAGGERBOX.offsetLeft;

	if(calc<fpsmenu_DRAGGERBOX.offsetLeft+10) calc = fpsmenu_DRAGGERBOX.offsetLeft; //snap
	if(calc>fpsmenu_DRAGGERBOX.offsetWidth+fpsmenu_DRAGGERBOX.offsetLeft-fpsmenu_POINTER.offsetWidth-10) calc = fpsmenu_DRAGGERBOX.offsetWidth+fpsmenu_DRAGGERBOX.offsetLeft-fpsmenu_POINTER.offsetWidth; //snap

	fpsmenu_POINTER.style.position = 'absolute';
	result=calc-fpsmenu_DRAGGERBOX.offsetLeft;
	fpsmenu_POINTER.style.left = result+"px";
	if(move!="di")
	if(s){
		fpsmenu_scrollTimer = setTimeout("fpsmenu_picScroll(move, true, 0)", 1);
	}else{
		fpsmenu_scrollTimer = setTimeout("fpsmenu_picScroll(move, false, 0)", 1);
		if(fpsmenu_st2active==0)
		{
			fpsmenu_scrollTimer2 = setTimeout("clearTimeout(fpsmenu_scrollTimer);clearTimeout(fpsmenu_scrollTimer2); fpsmenu_picScroll(move, true, 0)", 1000);
			fpsmenu_st2active=1;
		}
	}
}
function fpsmenu_stopScroll()
{
if (fps_menuscroller_active==0) return;
	clearTimeout(fpsmenu_scrollTimer);
	if(fpsmenu_st2active==1)
	{
		clearTimeout(fpsmenu_scrollTimer2);
		fpsmenu_st2active=0;
	}
}


function fpsmenu_getPosition(e){
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}

function fpsmenu_mouseCoords(ev) {
	return {x:ev.clientX, y:ev.clientY};
}

function fpsmenu_getNullOffset() {
	return {x:0, y:0};
}


function fpsmenu_getMouseOffset(target, ev){
	ev = ev || window.event;
	var docPos    = fpsmenu_getPosition(target);
	var mousePos  = fpsmenu_mouseCoords(ev);
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function fpsmenu_directPosition(ev,objname)
{
	if(!fpsmenu_dragObject)
	{
		fpsmenu_dragObject = document.getElementById(objname);
		fpsmenu_mouseOffset = fpsmenu_getNullOffset();
		fpsmenu_mouseMove(ev);
		fpsmenu_dragObject = null;
		return false;
	}
}

function fpsmenu_mouseMove(ev)
{
	ev = ev || window.event;
	x = ev.clientX;
	y = ev.clientY;
	if(fpsmenu_dragObject){
		fpsmenu_POINTER.style.position = 'absolute';
		myy = y - fpsmenu_mouseOffset.y
		myx = x - fpsmenu_mouseOffset.x;
		if (myx<fpsmenu_DRAGGERBOX.offsetWidth+fpsmenu_DRAGGERBOX.offsetLeft-fpsmenu_POINTER.offsetWidth&&myx>fpsmenu_DRAGGERBOX.offsetLeft)
		{
			if(myx<fpsmenu_DRAGGERBOX.offsetLeft+20) myx = fpsmenu_DRAGGERBOX.offsetLeft; //snap
			if(myx>fpsmenu_DRAGGERBOX.offsetWidth+fpsmenu_DRAGGERBOX.offsetLeft-fpsmenu_POINTER.offsetWidth-20) myx = fpsmenu_DRAGGERBOX.offsetWidth+fpsmenu_DRAGGERBOX.offsetLeft-fpsmenu_POINTER.offsetWidth; //snap
			fpsmenu_POINTER.style.left     = myx-fpsmenu_DRAGGERBOX.offsetLeft+"px";
			fpsmenu_SLIDER.style.position = 'absolute';
			fpsmenu_SLIDER.style.left = 0-(myx-fpsmenu_DRAGGERBOX.offsetLeft)*fpsmenu_ratio+"px";
            fpsmenu_ratio = (fpsmenu_SLIDER.offsetWidth-fpsmenu_BOX.offsetWidth) / (fpsmenu_DRAGGERBOX.offsetWidth-fpsmenu_POINTER.offsetWidth);

			calc = 0-(myx-fpsmenu_DRAGGERBOX.offsetLeft)*fpsmenu_ratio;
		}

		return false;
	}
	return false;
}

function fpsmenu_mouseUp()
{
	fpsmenu_dragObject = null;
	return false;
}

function fpsmenu_mouseDown()
{
	return false;
}

function fpsmenu_dragit(ev,obj)
{
	if (fps_menuscroller_active==0) return;
	if(!fpsmenu_dragObject)
	{

		document.onmousedown = fpsmenu_mouseDown;
		document.onmousemove = fpsmenu_mouseMove;
		document.onmouseup   = fpsmenu_mouseUp;
		fpsmenu_dragObject  = obj;
		fpsmenu_mouseOffset = fpsmenu_getMouseOffset(obj, ev);
		return false;
	}
	return false;
}

function fpsmenu_initSliders(slider,sliderbox,dragger,draggerbox,left,right,line)
{
	fps_menuscroller_active=1;
	fpsmenu_st2active=0;
	fpsmenu_SLIDER = document.getElementById(slider);
	fpsmenu_SLIDERBOX = document.getElementById(sliderbox);
	fpsmenu_BOX=fpsmenu_SLIDERBOX;
	fpsmenu_DRAGGERBOX = document.getElementById(draggerbox);
	fpsmenu_POINTER = document.getElementById(dragger);
	LEFT = document.getElementById(left);
	RIGHT = document.getElementById(right);
	LINE = document.getElementById(line);
    fpsmenu_ratio = (fpsmenu_SLIDER.offsetWidth-fpsmenu_BOX.offsetWidth) / (fpsmenu_DRAGGERBOX.offsetWidth-fpsmenu_POINTER.offsetWidth);
    if(fpsmenu_SLIDER.offsetWidth-fpsmenu_SLIDERBOX.offsetWidth<0)
    {
		fpsmenu_POINTER.style.display='none';
		LEFT.style.display='none';
		RIGHT.style.display='none';
		LINE.style.display='none';
		fps_menuscroller_active=0;
    }
	//document.onresize = fpsmenu_resize;
}

function fpsmenu_resize()
{
	if (fps_menuscroller_active==0) return false;
    if(fpsmenu_SLIDER.offsetWidth-fpsmenu_SLIDERBOX.offsetWidth<0)
    {
    	fpsmenu_picScroll('top',false);
		fpsmenu_POINTER.style.display='none';
		LEFT.style.display='none';
		RIGHT.style.display='none';
		LINE.style.display='none';
		fps_menuscroller_active=0;
    }
	else
    {
		fpsmenu_POINTER.style.display='block';
		LEFT.style.display='block';
		RIGHT.style.display='block';
		LINE.style.display='block';
		fps_menuscroller_active=1;
    }
    return false;
}
