﻿var timerlen2 = 5; //how often the JS function will run to alter the div Div's property {height, opacity}
var sliderAniLen2 = 500; // Time for the div to completely slide {up or down}


// Used to keep track of our animation
var timerID = new Array();
var startTime = new Array();
var obj = new Array();
var endHeight = new Array();
var moving = new Array();
var dir = new Array();

function slideDown2(objName) {
    if (moving[objName])
    return;
    
    if(document.getElementById(objName).style.display != "none")
    return; // will not slide down an object that is already visible

    moving[objName] = true;
    dir[objName] = "down";
    startSlide2(objName);
    }
    
function slideUp2(objName){
    if(moving[objName])
    return;
    
    if(document.getElementById(objName).style.display == "none")
    return; // will not slide an object that is already hidden
    
    moving[objName] = true;
    dir[objName] = "up";
    startSlide2(objName);
    }
    
function startSlide2(objName){
    obj[objName] = document.getElementById(objName);
    
    endHeight[objName] = parseInt(obj[objName].style.height);
    startTime[objName] = (new Date()).getTime();
    
    if(dir[objName] == "down"){
    obj[objName].style.height = "293px";
    }
    
    obj[objName].style.display = "block";
    
    timerID[objName] = setInterval('slidetick2(\"' + objName + '\");',timerlen2);
    }
    
function slidetick2(objName){
    var elapsed = (new Date()).getTime() - startTime[objName];
    
    if (elapsed > sliderAniLen2)
        endSlide2(objName)
        else {
            var d =Math.round(elapsed / sliderAniLen2 * endHeight[objName]);
            
            if(dir[objName] == "up")
                d = endHeight[objName] - d;
                
            obj[objName].style.height = d + "px";
            }
            
            return;
}

function endSlide2(objName){
    clearInterval(timerID[objName]);
    
    if(dir[objName] == "up")
        obj[objName].style.display = "none";
        
    obj[objName].style.height = endHeight[objName] + "px";
    
    delete(moving[objName]);
    delete(timerID[objName]);
    delete(startTime[objName]);
    delete(endHeight[objName]);
    delete(obj[objName]);
    delete(dir[objName]);
    
    return;
}