﻿var heights = new Array();
var maxHeights = new Array();
var menuShowing = new Array();

function menuDown(index) {
    if (menuShowing[index] == null || menuShowing[index] == 'undefined') menuShowing[index] = 0;

    if (menuShowing[index] == 0) {

        menuShowing[index] = 1;
        var element = document.getElementById("pcms-menu-panel-" + index);
        if (element != null) {
            element.style.display = 'block';

            maxHeights[index] = 300;
            maxHeights[index] = document.getElementById("pcms-menu-list-" + index).offsetHeight;

            if (heights[index] == null || heights[index] == 'undefined') heights[index] = 1;

            setTimeout("showMenu(" + index + ")", 10);
        }
    }
}

function showMenu(index) {    
    if (menuShowing[index] == 1) {

        var element = document.getElementById("pcms-menu-panel-" + index);
        if (element != null) {
            element.style.height = heights[index] + 'px';

            heights[index] += Math.sqrt(heights[index]);

            if (heights[index] < maxHeights[index])
                setTimeout("showMenu(" + index + ")", 10);
            else {
                heights[index] = maxHeights[index];
                element.style.height = heights[index] + 'px';
                menuShowing[index] = 2;
            }
        }
    }
}

function menuUp(index) {    
    var element = document.getElementById("pcms-menu-panel-" + index);    

    if (menuShowing[index] == 2) {
        menuShowing[index] = 0;
        setTimeout("hideMenu(" + index + ")", 400);
    }
    else {
        menuShowing[index] = 0;
        setTimeout("hideMenu(" + index + ")", 1);
    }
}

function hideMenu(index) {
    if (menuShowing[index] == 0) {
        var element = document.getElementById("pcms-menu-panel-" + index);
        if (element != null) {
            element.style.height = heights[index] + 'px';

            heights[index] -= Math.sqrt(heights[index]);
            if (heights[index] > 1)
                setTimeout("hideMenu(" + index + ")", 10);
            else {
                heights[index] = 1;
                element.style.display = 'none';
            }
        }
    }
}
