var ChettyMain = {
    active_submenu: "",
    hover_timer: 0,
    animating: false,
    slide_count: 1,
    slide_interval: null,
    slide_timeout: null,
    
    initializeChetty: function(submenu)
    {
        if (submenu)
        {
            ChettyMain.active_submenu = submenu;
            Effect.SlideDown(ChettyMain.active_submenu, { duration: 1.0 });
        }
        else
        {
            ChettyMain.active_submenu = "submenu_0";
            Effect.SlideDown(ChettyMain.active_submenu, { duration: 1.0 });
        }
        
        if (!ChettyMain.slide_interval)
        {
            if ($("nav_" + (ChettyMain.slide_count)))
            {
                $("nav_" + (ChettyMain.slide_count)).setStyle({
                  backgroundPosition: "-346px -36px"
                });
                
                ChettyMain.slide_interval = setInterval("ChettyMain.changeSlide();", 8000);
            }
        }
    },
    
    showMenu: function(element)
    {
        if (!ChettyMain.hover_timer)
        {
            if (ChettyMain.animating)
            {
                ChettyMain.hover_timer = setTimeout(ChettyMain.animateUp.bind(null, element), 450);
            }
            else
            {
                ChettyMain.hover_timer = setTimeout(ChettyMain.animateUp.bind(null, element), 200);
            }
        }
    },
    
    mouseOut: function()
    {
        if (ChettyMain.hover_timer)
        {
            clearTimeout(ChettyMain.hover_timer);
            ChettyMain.hover_timer = 0;
        }
    },
    
    animateUp: function(element)
    {
        if (ChettyMain.active_submenu != element)
        {
            ChettyMain.animating = true;
            
            if (ChettyMain.active_submenu)
            {
                Effect.SlideUp(ChettyMain.active_submenu, { duration: 0.2, afterFinish: ChettyMain.animateDown.bind(null, element) });
            }
        }
    },
    
    animateDown: function(element)
    {
        Effect.SlideDown(element, { duration: 0.2, afterFinish: ChettyMain.animationComplete });
        ChettyMain.active_submenu = element;
    },
    
    animationComplete: function()
    {
        ChettyMain.animating = false;
    },
    
    openSlide: function(slide_num)
    {
        clearInterval(ChettyMain.slide_interval);
        ChettyMain.slide_interval = null;
        
        if (ChettyMain.slide_timeout)
        {
            clearTimeout(ChettyMain.slide_timeout);
            ChettyMain.slide_timeout = null;
        }
        
        if (slide_num != ChettyMain.slide_count)
        {
            $("nav_" + slide_num).setStyle({
              backgroundPosition: "-346px -36px"
            });
            
            $("nav_" + (ChettyMain.slide_count)).writeAttribute({
              style: ""
            });
        
            Effect.Appear($("slide_" + slide_num + "_container"), { duration: 0.5 });
            Effect.Fade($("slide_" + (ChettyMain.slide_count) + "_container"), { duration: 0.5 });
            
            ChettyMain.slide_timeout = setTimeout("ChettyMain.changeSlide();", 15000);
        }
        
        ChettyMain.slide_count = slide_num;
    },
    
    changeSlide: function()
    {
        if (!ChettyMain.slide_interval)
        {
            if (ChettyMain.slide_timeout)
            {
                ChettyMain.slide_timeout = null;
            }
            
            ChettyMain.slide_interval = setInterval("ChettyMain.changeSlide();", 8000);
        }
    
        if (ChettyMain.slide_count < 6)
        {
            
            ChettyMain.slide_count++;
            
            $("nav_" + (ChettyMain.slide_count)).setStyle({
              backgroundPosition: "-346px -36px"
            });
            
            $("nav_" + (ChettyMain.slide_count - 1)).writeAttribute({
              style: ""
            });
            
            Effect.Appear($("slide_" + (ChettyMain.slide_count) + "_container"), { duration: 1.0 });
            Effect.Fade($("slide_" + (ChettyMain.slide_count - 1) + "_container"), { duration: 1.0 });
        }
        else
        {
            $("nav_" + (ChettyMain.slide_count)).writeAttribute({
              style: ""
            });
            
            Effect.Fade($("slide_" + (ChettyMain.slide_count) + "_container"), { duration: 1.0 });
            
            ChettyMain.slide_count = 1;
            
            $("nav_" + (ChettyMain.slide_count)).setStyle({
              backgroundPosition: "-346px -36px"
            });
            
            Effect.Appear($("slide_" + ChettyMain.slide_count + "_container"), { duration: 1.0 });
        }
    }
}