var meat = {
    debugEnabled : false,
    imageIndex : 0,
    maxImage : 0,
    projectSliderInterval : 0,
    main : function(debugEnabled)
    {
        this.debugEnabled = debugEnabled;
        this.debug("- Main");
        
        // hide all submenu
        $j('ul.submenu').each(function(i, e){
            // check if current
            var currentLink = $j('#'+$j(e).attr('id')+" a.current");
            if($j(e).attr('id') != 'subclients' && currentLink.length == 0)
                $j(e).hide();
            else
                $j(e).show();
        });
        
        // hide special submenu
        // if not current
        if(!$j('#mclients').hasClass('current'))
            $j('#submenuClientsDiv').hide();
        
        $j("#slider").slider({
            orientation: 'vertical',
            value : 100,
            slide: function(event, ui) {
                var maxScroll = $j("#scrollable").attr("scrollHeight") - $j("#scrollable").height();
                $j("#scrollable").attr({scrollTop: (100-ui.value) * (maxScroll / 100) });
            },
            change : function(event, ui){
                var maxScroll = $j("#scrollable").attr("scrollHeight") - $j("#scrollable").height();
                $j("#scrollable").attr({scrollTop: (100-ui.value) * (maxScroll / 100) });                
            }
        });
        
        
    },
    debug : function(anything)
    {
        /*
        if(this.debugEnabled)
            console.log(anything);
        */
    },
    preload : function()
    {
        $j('#loading').show();
        clearInterval(this.projectSliderInterval);
        this.debug("Preload.");
    },
    afterload : function(linkID)
    {
        $j('#loading').hide();
        this.debug("After load.");
        // remove all the current class for all the menu items
        $j(".mainMenuItem").each(function(index, element){
            $j(element).removeClass('current');
        });
        
        if(linkID != null){
            this.debug("Link id: "+linkID);
            // add it to the clicked
            $j("#"+linkID).addClass('current');
        }
    },
    showmenu : function(submenuID)
    {
        this.debug("Show menu : "+ submenuID);
        if($j("#"+submenuID).css("display") == "block"){
            $j("#"+submenuID).slideUp();
            return;
        }
        $j("ul.submenu").each(function(index, element){
            if($j(element).attr('id') != submenuID && $j(element).attr('id') != 'subclients'){
                $j(element).slideUp();
            }
        });
        $j("#submenuClientsDiv").slideUp();
        $j("#"+submenuID).slideDown();
    },
    setcurrentsubmenuitem : function(submenuID, liID){
        this.debug("Set current submenu item : "+ submenuID);
        
        // @TODO remove all current class from other submenus
        // @DONE
        this.removeallcurrentclasssubmenu();
        
        $j("#"+submenuID+" li a").each(function(index, element){
            $j(element).removeClass('current');
        });
        $j("#"+liID+" a").addClass('current');
    },
    showclientdiv : function()
    {
        // show the div
        $j("#submenuClientsDiv").slideDown();
        // set current to the li a item
        // this.afterload("mclients");
        // hide others menu
        $j("ul.submenu").each(function(index, element){
            if($j(element).attr('id') != 'subclients'){
                $j(element).slideUp();
            }
        });
    },
    closeallsubmenus : function()
    {
        this.removeallcurrentclasssubmenu();
        // hide others menu
        $j("ul.submenu").each(function(index, element){
            if($j(element).attr('id') != 'subclients'){
                $j(element).slideUp();
            }
        });
        $j("#submenuClientsDiv").slideUp();
    },
    removeallcurrentclasssubmenu : function()
    {
        $j("ul.submenu li a").each(function(index, element){
            $j(element).removeClass('current');
            /*$j("#"+$j(element).attr('id')+" li a").each(function(index, element){
            });*/
        });
    },
    resetMenu : function(){
        this.closeallsubmenus();
        this.afterload(null);
    },
    scrollTo : function s(el){
        $j("#viewPortProject").scrollTo("#"+el, 1000, {axis:"y", easing:"easeOutCubic"});
    },
    startProjectSlider : function(maxImage){
        //$j("#projectSlider").css('margin-top', (maxImage-1)*255*-1)
        this.maxImage = maxImage-1;
        this.imageIndex = this.maxImage;
        clearInterval(this.projectSliderInterval);
        this.projectSliderInterval = setInterval(function(){
            meat.slideImage();
        }, 5000);
        /*
        setTimer (function(){
                    }, 2000);
        */ 
    },
    slideImage : function()
    {
        setUrlLink(this.imageIndex);
        if(this.imageIndex == 0){
            this.imageIndex = this.maxImage;
        }else{
            this.imageIndex--;
        }
        //this.scrollTo('image'+this.imageIndex);
        var mTop = ((this.imageIndex)*255)*-1;
        $j("#projectSlider").animate({marginTop:mTop});
    }
};
