		var DDDOffsetPosition = 0;
		var deltaDDD = 0;
		var flipdesk = 0;
		var oldstepid = "";
		var currentGameNumber = 1;
		var currentVariantNumber = 0;
		var currentStepNumber = 0;

		function setDDDOffsetPosition()
		{
			DDDOffsetPosition = document.getElementById("ddd").offsetTop;
			currentDDDPosition();
			eval(unescape(document.getElementById("g1v0n0").href))
		}

		function currentDDDPosition()
		{
			//displayDeskTop();
			if((document.body.scrollTop) < DDDOffsetPosition)
			{
				if(parseInt(document.getElementById("ddd").style.top) > 2)
				{
					document.getElementById("ddd").style.top = parseInt(document.getElementById("ddd").style.top) - parseInt(document.getElementById("ddd").style.top)/4;
				}
				else
				{
					document.getElementById("ddd").style.top = 0;
				}
			}
			else
			{
				if(parseInt(document.getElementById("ddd").style.top) > document.body.scrollTop - DDDOffsetPosition + 52)
				{
					document.getElementById("ddd").style.top = parseInt(document.getElementById("ddd").style.top) - (parseInt(document.getElementById("ddd").style.top) - (document.body.scrollTop - DDDOffsetPosition + 52))/4;
				}
				else if(parseInt(document.getElementById("ddd").style.top) < document.body.scrollTop - DDDOffsetPosition + 48)
				{
					document.getElementById("ddd").style.top = parseInt(document.getElementById("ddd").style.top) + ((document.body.scrollTop - DDDOffsetPosition + 48) - parseInt(document.getElementById("ddd").style.top))/4;
				}
				else
				{
					document.getElementById("ddd").style.top = document.body.scrollTop - DDDOffsetPosition + 50;
				}
				//document.getElementById("ddd").style.top = document.body.scrollTop - DDDOffsetPosition + 10;
			}			
			timer0 = setTimeout("currentDDDPosition()", 10);
		} 
		
		function echoParams()
		{
			alert("top = " + parseInt(document.getElementById("ddd").style.top) + "; scrollTop = " + document.body.scrollTop + "; offsetTop = " + document.getElementById("ddd").offsetTop);
		}
		
		function parseStepId(stepidstring)
		{
			var count = 1;
			while(stepidstring.substring(count,count+1) != 'v'){ count++; }
				currentGameNumber = parseInt(stepidstring.substring(1, count));
			count++;
			var startVariantNumber = count;
			while(stepidstring.substring(count,count+1) != 'n'){ count++; }
				currentVariantNumber = parseInt(stepidstring.substring(startVariantNumber, count));
			count++;
			var startStepNumber = count;
				currentStepNumber =  parseInt(stepidstring.substring(startStepNumber, stepidstring.length));
		}		
		
		function reversedesk()
		{
			if(flipdesk == 0)
		    {
		     	flipdesk = 1;
				document.getElementById("r_but").src = "/_images/dyn_reverse2.gif";
		    }
		    else
		    {
		     	flipdesk = 0;
				document.getElementById("r_but").src = "/_images/dyn_reverse.gif";		
		    }
			document.dddesk.SetVariable("Flip", flipdesk);
		}
		
		
		function lookstep(stepid, dposition)
		{
		     if(oldstepid != "")
		     {
		         var oldelement = document.getElementById(oldstepid);
		         oldelement.style.color = 'black';
		         oldelement.style.background = 'white';
		     }
		
		     oldstepid = stepid;
			 
		     var newelement = document.getElementById(stepid);
		     newelement.style.color = 'white';
		     newelement.style.background = '#999999';
			 
			 document.dddesk.SetVariable("Position", dposition);	 
			 
			 parseStepId(stepid);			 
		}
		
		function looknextstep()
		{
			var potentialStepNumber = currentStepNumber + 1;
			var potentialStepID = "g" + currentGameNumber + "v" + currentVariantNumber + "n" + potentialStepNumber;
			if(document.getElementById(potentialStepID) != null){ eval(unescape(document.getElementById(potentialStepID).href))	}
		}
		
		function lookpreviousstep()
		{
			var potentialStepNumber = currentStepNumber - 1;
			var potentialStepID = "g" + currentGameNumber + "v" + currentVariantNumber + "n" + potentialStepNumber;
			if(document.getElementById(potentialStepID) != null){ eval(unescape(document.getElementById(potentialStepID).href))	}
		}		