function alternativeScrollIntoView(parentDiv,elementIntoDiv )
{

parentDiv.scrollTop = elementIntoDiv.offsetTop - parentDiv.offsetTop;

  
}


function scrollTo(loc,index)
{
    alternativeScrollIntoView(document.getElementById("bodyContent"),document.getElementById(loc));
    
    var sideMenu = document.getElementById("sideMenu");
    var j=0;
    for(var i=0;i<sideMenu.childNodes.length;i++)
    {
	var child = sideMenu.childNodes[i];
        if(child.nodeName == "LI")
	{
		if(j==index) sideMenu.childNodes[i].className="selected";
        	else
          	sideMenu.childNodes[i].className="";
		j++;
        }
    }
}

var scrollOffset=0;
var scrollArea;
var scrollPos=0;
var velocity=1;
var scrollDest=-999;
var scrollAreaLeft;
var scrollMax = 1204;
var paused = false;
var tick=0;
var maxTick=90;

function pause()
{
   if(paused) play();
   else
   {
	   paused=true;
	   document.getElementById("play").src = "images/play.png";
    }
}

function play()
{
   paused=false;
   document.getElementById("play").src = "images/pause.png";
   autoScroll();
}


function autoScroll()
{
   if(!paused)
   {
       tick++;
       if(tick > maxTick)
          startScrolling(401,2);
       setTimeout(autoScroll,100);
   }
}



function startScrolling(scrollTo,dir)
{
   if(scrollDest == -999)
   {
        tick=0;
   	scrollDest=scrollPos + scrollTo;
   	scrollOffset=0;
   	scrollArea = document.getElementById("mainImageDiv");
   	scrollAreaLeft = document.getElementById("scrollableDetails");
   	velocity = dir;
        if(scrollDest > scrollMax)
        {
             scrollPos = 0;
             scrollArea.scrollTop=0;
             scrollAreaLeft.scrollLeft=0;
             scrollDest = scrollTo;
            
         }
        if(scrollDest < 0)
        {
	    scrollPos = scrollMax;
            scrollDest=scrollPos + scrollTo;
            scrollArea.scrollTop=scrollPos;
            scrollAreaLeft.scrollLeft=scrollPos * 3 / 4;
	}

   	setTimeout(scrollSome,50);      
   }

}

function stopScrolling()
{
   if(scrollDest != -999)
   {
        scrollPos = scrollDest;
 	scrollArea.scrollTop = scrollDest - scrollOffset;
	scrollAreaLeft.scrollLeft = scrollDest * 3 / 4;
   }
   scrollDest = -999;      
    	
}

function scrollSome()
{
   if(scrollDest != -999)
   {
      if((velocity > 0) && (scrollPos > scrollDest) ||
         (velocity < 0) && (scrollPos < scrollDest))
        stopScrolling();
      else
      {
          scrollPos = scrollPos + (velocity * 20);
          scrollArea.scrollTop = scrollPos - scrollOffset;
          scrollAreaLeft.scrollLeft = scrollPos * 3 / 4;
          setTimeout(scrollSome,50);
      }
   }
   
}

