/**************************************************************/
/* MdS2008 Javascript function file for collapsable menu      */
/*                                                            */
/* Author - Richard Pomeroy                                   */
/* Copyright - p4media ltd. 2008                              */
/*                                                            */
/* V1.0 31/10/08 Included collapsable menu                    */
/* V1.1 01/11/08 Fixed for Firefox Browser / IE compatibility */
/*                                                            */
/**************************************************************/
var closingContentHeight = 0;
var contentHeight = 0; // set individually for each
var TimeToSlide = 250.0;
var heightUnit = 'em';
// var maxFolders = 5; // initialize for test
// var linesPerFolder = [1,2,3,4,1]; //initialize for test

var openCollapseMenu = '';

// runCollapseMenu (int index)
// index - menu item from 0 to max-1
function runCollapseMenu(index)
{
    closingContentHeight = contentHeight;
    contentHeight = 1.05 * linesPerFolder[index];
    TimeToSlide = 33 * (closingContentHeight+contentHeight);
    if (TimeToSlide<250) TimeToSlide=250;
    else if (TimeToSlide>600) TimeToSlide=600;
  
  
    var nID = "CollapseMenu" + index + "Content";
    if(openCollapseMenu == nID)
        nID = '';

    setTimeout("animate(" 
        + new Date().getTime() + "," + TimeToSlide + ",'" 
        + openCollapseMenu + "','" + nID + "')", 33);
  
    openCollapseMenu = nID;
    
}

// 
//
function animate(lastTick, timeLeft, closingId, openingId){  
    var curTick = new Date().getTime();           // Current Date - milliseconds
    var elapsedTicks = curTick - lastTick;        // ms since last update
  
    var opening = (openingId == '') ? null : document.getElementById(openingId);
    var closing = (closingId == '') ? null : document.getElementById(closingId);
 
 
    if(timeLeft <= elapsedTicks)
    {
        if(opening != null)
            opening.style.height = contentHeight + heightUnit;
    
        if(closing != null)
        {
            closing.style.display = 'none';
            closing.style.height = '0' + heightUnit;
        }
        return;
    }
 
    timeLeft -= elapsedTicks;   // timeLeft starts at 250ms
    //var newClosedHeight = 
    //  Math.round((timeLeft/TimeToSlide) * contentHeight);
    var newOpenHeight = 
        (timeLeft/TimeToSlide) * contentHeight;
    var newClosedHeight = 
        (timeLeft/TimeToSlide) * closingContentHeight;

  
    if(opening != null)
    {
        if(opening.style.display != 'block')
            opening.style.display = 'block';
                    
        opening.style.height = (contentHeight - newOpenHeight) + heightUnit;
    }
  
    if(closing != null)
        closing.style.height = (newClosedHeight) + heightUnit;
                    
    setTimeout("animate(" + curTick + "," + timeLeft + ",'" + closingId + "','" + openingId + "')", 33);
}

