	var metroN;
	var endR;
	var startR;
	var anim1= new Object();
	var anim2= new Object();
	var anim3= new Object();
	var menuBoard;
	var leftHand;
	var rightHand;
	
	function hideHands(){
		leftHand.style.display="none";
		rightHand.style.display="none";
	}
	
	
	// picks a random position for both hands. 
	// the xycoordinates are done by trial and error.... there's no way of making it accurate -> depends on pictures of hands.
	function showHands(){
		var pX;
		var pY;
		var rot;
		var choose;
		var boardwidth=200;
		choose=Math.round(Math.random()*(1));
		if(choose==0){
			pX =(80)+Math.floor(Math.random()*(boardwidth/2));
			pY=-18;
			rot=-90;
		}else{
			pX = boardwidth-3;
			rot=0;
			pY=Math.floor(Math.random()*200);
		}
		
		var rottrans = "rotate("+rot+"deg)";
		var ytrans= "translateY("+pY+"px) ";//translate(-10px,-20px)
		var xtrans= "translateX("+pX+"px) ";
		var value= xtrans+ytrans+rottrans;
		setUniversalTransform(rightHand,value);
		
		choose=Math.round(Math.random()*(1));
		if(choose==0){
			rot=-90;
			pX=-20+Math.floor(Math.random()*(boardwidth/2));
			pY=-10;
		}else{
			pX = -15;
			rot=180;
			pY=Math.floor(Math.random()*200);
		}
		rottrans = "rotate("+rot+"deg)";
		ytrans= "translateY("+pY+"px) ";//translate(-10px,-20px)
		xtrans= "translateX("+pX+"px) ";
		var value= xtrans+ytrans+rottrans;
		setUniversalTransform(leftHand,value);
		leftHand.style.display="block";
		rightHand.style.display="block";
		var t=setTimeout("restart()",8000);
	}
	
	function setUniversalTransform(el,value){
		el.style.webkitTransform = value;// safari
		el.style.MozTransform=value;// mozilla
		el.style.OTransform = value;// opera
		el.style.msTransform = value;// TOTEST explorer
	}
	
	function initAnimWidget(){
		if (TestBrowser.Version() < 9) {
			//alert("This is IE "+TestBrowser.Version());
			setInitValues();
			hideHands();
			menuBoard = document.getElementById("board");
			menuBoard.style.marginTop="100px";
			return;
		}
		var easer=new Easer();
		metroN = new Metronome(draw, 20,false,easer);
		startAnimation();
	}
	
	function restart(){
		metroN.clearAnims();
		startAnimation();
	}
	
	function setInitValues(){
		menuBoard = document.getElementById("board");
		leftHand = document.getElementById("leftHand");
		rightHand = document.getElementById("rightHand");
		if(endR==undefined){
			startR=0;
		}else{
			startR=endR;
		}
		endR=-15+Math.floor(Math.random()*30);
		anim1.duration=300;
		anim1.delay=1000;
		anim1.ease="easeInOutQuad";
		// what to animate?
		anim1.startY=130;
		anim1.endY=145;
		anim1.startRotation=startR;
		anim1.endRotation=startR;
		anim2.duration=200;
		anim2.delay=300;
		anim2.callback=hideHands;
		anim2.ease="easeOutQuad";
		anim2.startY=15;
		anim2.endY=-50;
		anim2.startRotation=startR;
		anim2.endRotation=endR/2;
		anim3.duration=300;
		anim3.delay=0;
		anim3.callback=showHands;
		anim3.ease="easeInQuad";
		anim3.startY=-50;
		anim3.endY=130;
		anim3.startRotation=endR/2;
		anim3.endRotation=endR;
		
	}
	
	function startAnimation(){
		setInitValues();
		var animArray= new Array(anim1);
		metroN.addAnimation(animArray);
		var animArray= new Array(anim2);
		metroN.addAnimation(animArray);
		var animArray= new Array(anim3);
		metroN.addAnimation(animArray);
		metroN.play();
	
	}
	
	function draw(anims){
		// there's only one animatedObjedti anims;
		if(!anims[0].finished){
			var currentY=Math.round(anims[0].currentUpdate.currentY);
			var currentR=anims[0].currentUpdate.currentR;
			var rottrans = "rotate("+currentR+"deg)";
			var ytrans= "translateY("+currentY+"px) ";//translate(-10px,-20px)
			var xtrans= "translateX(20px) ";
			var value= xtrans+ytrans;
			if(currentR){
				var value= value+rottrans;
			}
			setUniversalTransform(menuBoard,value);
		}
	}

	function DegToRad(d) {
		// Converts degrees to radians
		return d * 0.0174532925199432957;
	}
	
	var TestBrowser = {
		Version: function() {
			var version = 999; // we assume a sane browser
			if (navigator.appVersion.indexOf("MSIE") != -1)
			  // bah, IE again, lets downgrade version number
			  version = parseFloat(navigator.appVersion.split("MSIE")[1]);
			return version;
		}
	}
