﻿function getDom(id){
    return typeof id == 'string' ? document.getElementById(id) : id;
}
function addCls(id, cls){
    getDom(id).className = cls;
}
function togglemenu(config){

    var _config = {
        el: null,
        menu: null,
        anim: true,
        popup: false,
        direction: 'vertical'
    };
    for(var p in _config){
        if(config[p] === undefined){
           config[p] = _config[p];
        }
    }
    
    config.el = getDom(config.el); 
    config.menu = getDom(config.menu);   
    
    var hideTimer;
    function onmouseout(){
        hideTimer = setTimeout(function(){            
            config.menu.style.display = 'none';            
        }, defertime);
    }
    function onmouseover(){
        clearTimeout(hideTimer);
        togglemenu(config);
    }
    if(config.popup){
        config.el.onmouseout = onmouseout;
        config.menu.onmouseout = onmouseout;
        
        config.el.onmouseover = onmouseover;
        config.menu.onmouseover = onmouseover;
    }
    
    var defertime = config.popup ? 100 : 0;
    
    setTimeout(function(){
        var display;
        if(config.menu.style.display == 'none'){
            display = 'block';
        }else{
            display = 'none';
        }
        if(config.popup) display = 'block';
        config.menu.style.display = display;
    }, defertime);
    
    return false;
}
