if (!window["Strauss"]){
    window.Strauss = Strauss = {};
}

Strauss.DynamicMenu = new function() {
    var _$menu,
        _$btn,
        that = this,        
        timerId;
    
    function onMouseOver(e) {
        that.moveMenu(true);
    };
    
    function onMouseOut(e) {      
        that.moveMenu(false);       
    };
     
    
    this.init = function (menuID, btnID) {
        _$menu = $("#" + menuID);
        _$btn = $("#" + btnID);
        _$menu.bind("mouseover", onMouseOver);            
        _$menu.bind("mouseout", onMouseOut);
    };
    this.moveMenu = function (doOpen)  {              
	    	    	    	    
	    var openClose = function() {
	        
	        if (_$menu.data("status")) { // open
	            if (!doOpen) {	                
	                _$menu.animate({"right": "-140px"}, 500,function(){_$btn.removeClass('MenuBtnOpen').addClass('MenuBtnClose');}); 
	                _$menu.data("status",false); 	              
	            }
	        }
	        else { // closed
	            if (doOpen){
	                
	                _$menu.data("status",true); 
	                _$menu.animate({"right": "0px"}, 500,function(){_$btn.removeClass('MenuBtnClose').addClass('MenuBtnOpen');});         
	            }
	        }	    
	    }
	    	    
	    if (timerId) {
	        clearTimeout(timerId);
	    }	    
	    timerId = setTimeout(openClose, 100);	    
	  };
}
