var ActiveInterval;
var ScrollSteps = 10;
var Step;
var ScrollPositions = new Array(ScrollSteps);


//***** StartScroll *****
function StartScroll(ScrollToPosition){
	
	//window.alert("StartScroll\nScrollToPosition: " + ScrollToPosition);
	
   //window.alert("GetObjectLeft: " + GetObjectLeft('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent'));
   //SetObjectPosition('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent', ScrollToPosition, 0)

   var curpos = GetObjectLeft('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent');
   var n = 1;
   while(n < ScrollSteps) {
      if(2*n <= ScrollSteps) {
         ScrollPositions[n-1] = Math.floor(curpos + 2 * (ScrollToPosition - curpos) * Math.pow(n/ScrollSteps,2));
      }
      else {
         ScrollPositions[n-1] = Math.floor(curpos + (ScrollToPosition-curpos)*(2*n/ScrollSteps - 0.5) - 0.5*(ScrollToPosition-curpos)*Math.pow(2*n/ScrollSteps-1,2));
      }
      ++n;
   }
   ScrollPositions[ScrollSteps-1] = ScrollToPosition;
   Step = 0;
   
	if (ActiveInterval) {
		window.clearInterval(ActiveInterval);
	}

	if (ScrollToPosition != GetObjectLeft('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent')) {
	
		ActiveInterval = window.setInterval("Scroll()", 50);
	
	}
		
}

//***** ScrollTo *****
function Scroll() {

	//window.alert("ScrollTo\nScrollToPosition: " + ScrollToPosition);
   
   if(Step == ScrollSteps) {
      if(ActiveInterval) {
         window.clearInterval(ActiveInterval);				
      }
   } else {
      SetObjectPosition('layscrollcontent', 'document.layscrollwindow.document.layscrollcontent', ScrollPositions[Step], 0)
      ++Step;
   }
}

