var TimeToSlide = 250.0;
var heights = new Array();
var openIndex = '';
var ArrayHeight = [];

function runInitialAccordion(index, contentHeights)
{
  heights = contentHeights; 
  if(openIndex == index)
    index = '';

    
  setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'" + openIndex + "','" + index + "')", 33);
  
  openIndex = index;
  
  index = index - 1
  if(index >= 1)
  {
	runInitialAccordion(index, contentHeights);
  }
  return;
}

function runAccordion(index)
{
  if(openIndex == index)
    index = '';
    
  setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'" + openIndex + "','" + index + "')", 33);
  
  openIndex = index;
}

function animate(lastTick, timeLeft, closingIndex, openingIndex)
{    
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var opening = (openingIndex == '') ? null : document.getElementById("Accordion" + openingIndex + "Content");
  var closing = (closingIndex == '') ? null : document.getElementById("Accordion" + closingIndex + "Content");
 
  if(timeLeft <= elapsedTicks)
  {
    if (opening != null) {
		opening.style.height = heights[openingIndex] + 'px';
        opening.style.display = 'block';
	}
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight = Math.round((timeLeft/TimeToSlide) * heights[closingIndex]);
  var newOpenHeight =Math.round((1-(timeLeft/TimeToSlide)) * heights[openingIndex]);	

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height = newOpenHeight + 'px';
  }
  
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';

  setTimeout("animate(" + curTick + "," + timeLeft +",'" + closingIndex + "','" + openingIndex + "')", 33);
}