var timerPlaatje = 0;
var plaatjeSpeedX = 20;
var menuImageSelected = null;
var plaatjeSpeedX = 5;
var plaatjeMaxSpeedX = 20;
var plaatjeMinSpeedX = 5;

var targetX;
var targetUrl;

function UpdateTimerPlaatje() {
	if(timerPlaatje) {
	  clearTimeout(timerPlaatje);
	}
	if(menuImageSelected != null)
	{
		var curX = findPosX(menuImageSelected);
		if(document.all)
			menuImageSelected.style.left = curX - plaatjeSpeedX;
		else	
			menuImageSelected.left = curX - plaatjeSpeedX;

		//Adapt speed to create feeling of ac/deceleration:
  		if(targetX + 100 >= curX - plaatjeSpeedX) 
  		{
   			plaatjeSpeedX *= 0.85;
   			if(plaatjeSpeedX < plaatjeMinSpeedX) plaatjeSpeedX = plaatjeMinSpeedX;
  		}
		else if(plaatjeSpeedX < plaatjeMaxSpeedX) plaatjeSpeedX *= 1.2;

		if(targetX >= curX - plaatjeSpeedX)
		{
			stop();
			if(document.all)
				menuImageSelected.style.left = targetX;
			else	
				menuImageSelected.left = targetX;
			window.location = targetUrl;
		}
		else
		{
			timerPlaatje = setTimeout("UpdateTimerPlaatje()", 40);
		}
	}
}

function selectMenu(sMenu, sMenuUrl, sImgUrl) {
	targetUrl = sMenuUrl;
	menuImageSelected = getElement('img' + sMenu);
	
	menuImageSelected.style.filter="blendTrans(duration=2)";
	if(menuImageSelected.filters != null)
 	{
  		menuImageSelected.filters.blendTrans(duration=2).Apply();
  		menuImageSelected.filters.blendTrans.Play();
 	}
  	menuImageSelected.src = sImgUrl;
	
	var menuTarget = getElement('menuimagetarget');
	targetX = findPosX(menuTarget);
	timerPlaatje = setTimeout("UpdateTimerPlaatje()", 40);
}

function stop() {
   if(timerPlaatje) {
	  clearTimeout(timerPlaatje);
	  timerPlaatje  = 0;
   }
}
	
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function getElement(name)
{
	if(document.getElementById) {
		return document.getElementById(name);
	} else if (document.all){
		return document.all[name];
	}
}

function getElementHeight(elem) 
{
	if (elem.style.pixelHeight != null && elem.style.pixelHeight > 0) 
		return elem.style.pixelHeight;
	else
		return elem.offsetHeight;
}

function getElementWidth(elem) 
{
	if (elem.style.pixelWidth != null && elem.style.pixelWidth > 0) 
		return elem.style.pixelWidth;
	else
		return elem.offsetWidth;
}