_H.Menu = function(idmenu) {
        
/* Private Members */
var _hoverClass     = 'jshovered';
var _hoverDelay     = 400;
var _hoverLi        = [];		
var _hoverIntv;
    
    return {
            
        /* Privileged Methods */
            
        setHoverClass	: function(hc) {
            if (typeof hc === 'string' && hc !== '') {
                _hoverClass = hc;
            }
        },
            
        setHoverDelay	: function(hd) {
            if (!isNaN(hd)) {
                _hoverDelay = hd;
            }
        },
            
            
        /* Public Method (constructor) */
            
        init			: function() {			
    
            if (!(_H.DOM.$(idmenu))) return false;
            
            /* remove pure css approach */
            if (_H.DOM.$('cssmenu')) {
                var cssrules = _H.DOM.$('cssmenu');
                var root = "/";
                try { cssrules.href = root + '_css/void.css'; } catch (e) {} // safari bug?
                cssrules.parentNode.removeChild(cssrules);
            };
                
            // collect all first-level list-item
            var mLinks = _H.DOM.$(idmenu).getElementsByTagName('a');
            for (var i=0; i<mLinks.length; i++) { 
                if (mLinks[i].rel === 'first-level' && 
                    mLinks[i].parentNode.className !== 'current') { 
                    _hoverLi[_hoverLi.length] = mLinks[i].parentNode; 
                }
            };
                
               
            /* Set onmouseover/onmouseout handler for delay */
            for (var i=0; i<_hoverLi.length; i++) { 
                var li = _hoverLi[i];
                    
                li.onmouseover = (function(i) {
                    return function() {
                        var _thisLi = this;
                        clearInterval(_hoverIntv);
                        _hoverIntv = setTimeout(function() {
                            for (var j=0; j<_hoverLi.length; j++) {
                                _H.DOM.removeClass(_hoverLi[j], _hoverClass)
                            };
                            _H.DOM.addClass(_thisLi, _hoverClass);
                        }, _hoverDelay);
                    }
                })(i);
                
                
                li.onmouseout = (function(i) {
                    return function() {
                        var _thisLi = this;
                        clearInterval(_hoverIntv);
                        _hoverIntv = setTimeout(function() {
                                _H.DOM.removeClass(_thisLi, _hoverClass)
                        }, _hoverDelay);
                    }
                })(i);
                
            }
            
        },  /* end init function */
        
        repaintMenu       : function() {
            if (_H.DOM.$(idmenu)) {
                _H.DOM.$(idmenu).style.overflow = 'auto';
            }
            
            var ins =  document.getElementsByTagName('ins');
            for (var i=0; i<ins.length; i++) {
                if (ins[i].getElementsByTagName('ul')[0] && !document.all) {
                    var myul = ins[i].getElementsByTagName('ul')[0];
                    myul.style.overflow = 'auto';
                }
            }
        }
        
    }  /* end return statement */ 
};



/* --- check login ---*/

checkJsLogin = function() {
    _H.DIESEL.logMenu = {};
    var cookie = new _H.Cookie();
    
    
    
    if (
        cookie.read('d1') && cookie.read('d2')    
    ) {
        
    /* user is logged in */
        switch(jslang) {
            case "es" : 
                var logState = "Logout";
                var logProfile = "Mi Perfil";
                break;
            case "it" : 
                var logState = "Logout";
                var logProfile = "Mio Profilo";
                break;
            case "fr" : 
                var logState = "Logout";
                var logProfile = "Mon profil";
                break;
            case "de" : 
                var logState = "Logout";
                var logProfile = "Mein profile";
                break;
            default : 
                var logState = "Logout";
                var logProfile = "My Profile";
        }
    
        _H.DIESEL.logMenu = {
            'ul': {
                'li~1': {
                    'id'    : 'lg1',
                    'a'     : {
                        'href' : 'http://www.diesel.com/cult/log-in/logout-new.php?referrer='+document.location,
                        'text' : logState
                    }
                },
                'li~2': {
                    'id'    : 'lg2',
                    'a' : {
                        'id'   : 'ha_myprofile',
                        'href' : 'http://cult.diesel.com/myprofile',
                        'text' : logProfile
                    }                        
                }
            }
        };
    }
    else {
    /* user is NOT logged in */
   
        switch(jslang) {
        case "es" : 
            var logState = "Login";
            var logProfile = "Apúntate";
            break;
        case "it" : 
            var logState = "Login";
            var logProfile = "Registrati";
            break;
        case "fr" : 
            var logState = "Login";
            var logProfile = "S'enregister";
            break;
        case "de" : 
            var logState = "Login";
            var logProfile = "Registrieren";
            break;
        default : 
            var logState = "Login";
            var logProfile = "Register";
        }
        
        _H.DIESEL.logMenu = {
            'ul': {
                'li~1': {
                    'id'    : 'lg1',
                    'a'     : {
						'class': 'smoothbox',
                        'href' : 'http://www.diesel.com/cult/log-in/log-in.php?width=538&height=348',
                        'text' : logState,
						'onclick': TB_bind
                    }
                },
                'li~2': {
                    'id'    : 'lg2',
                    'a'     : {
						'class': 'smoothbox',
                        'href' : 'http://www.diesel.com/cult/register/register-form-smoothbox.php?width=493&height=490',
                        'text' : logProfile,
						'onclick': TB_bind
                    }                        
                }
            }
        };            
    }
    
    return _H.DIESEL.logMenu;
}; 



DomLoad.load(function() {
    _H.DIESEL.Menu = new _H.Menu('navmenu');
    _H.DIESEL.Menu.setHoverDelay(400);
    _H.DIESEL.Menu.init();
    _H.DIESEL.Menu.repaintMenu();


    /* append menu for cult */
    if (_H.DOM.$('menucultlogin')) {
        _H.DIESEL.menuCultLogin = new _H.DOM.Builder();
        _H.DIESEL.menuCultLogin.create(
            checkJsLogin()
        ).append('into',  _H.DOM.$('menucultlogin'));
    };
});

