﻿var sem = false;
var minHeight = 10;
var speed = 20;
var delay = 25;
function menuToggle(sourceID, elmID)
{
    if(sem) return;
    sem = true;

    var source = document.getElementById(sourceID);
    elm = document.getElementById(elmID);
    if(elm.style.display=='none')
    {
        source.className='mouseover';
        menuBlindDown(elm);
    }
    else
    {
        menuBlindUp(source, elm);
    }
}

function showMenu(sourceID, elmID)
{
    var source = document.getElementById(sourceID);
    var elm = document.getElementById(elmID);
    elm.style.display='';
    source.className='mouseover';
}

function menuBlindDown(elm, targetHeight)
{
    if(elm.style.display=='none')
    {
        elm.style.display = '';
        elm.style.height = '';        
        targetHeight = elm.clientHeight;
        elm.style.height = minHeight + 'px';
    }
    
    if(elm.clientHeight < targetHeight)
    {
        if(targetHeight - elm.clientHeight > speed)
        {
            elm.style.height = (elm.clientHeight+speed)+'px';
        }
        else
        {
            elm.style.height = targetHeight+'px';
        }
        setTimeout(function(){menuBlindDown(elm, targetHeight);}, delay);
    }
    else
    {
        sem = false;
    }
}

function menuBlindUp(source, elm)
{
    if(elm.clientHeight > minHeight)
    {
        if(elm.clientHeight>minHeight+speed)
        {
            elm.style.height = (elm.clientHeight-speed)+'px';
        }
        else
        {
            elm.style.height = minHeight + 'px';
        }
        setTimeout(function(){menuBlindUp(source, elm);}, delay);
    }
    else
    {
        elm.style.display='none';
        source.className = '';
        sem = false;
    }
}
