var defaultMenu, nowShowing, notOnMain = true, notOnSub = true;

function animateIn(newleft){
    jQuery("#scroller").stop().animate({
            "left":newleft+"px"
        }, 1000);
}

function showMenu(){
    var scroller = jQuery("#scroller>ul");
    for(i=0;i<scroller.length;i++){
        if(scroller[i].id == nowShowing){
            break;
        }
        if(i==scroller.length-1){
            i=0;
            break;
        }
    }
    animateIn("-"+(i*scroller.width()));
    
    jQuery(".ekflexmenu_button_hover").removeClass("ekflexmenu_button_hover");
    jQuery("#"+nowShowing+">a").addClass("ekflexmenu_button_hover");
}
  
function stopShowingMenu(){
    if(notOnMain && notOnSub){
        window.setTimeout('nowShowing = defaultMenu; showMenu(); jQuery(".ekflexmenu_button_hover").removeClass("ekflexmenu_button_hover");',300);
    }
}

function setupMenu(){
    var els = jQuery(".ekflexmenu_startlevel");
    var menu = '<ul id="emptysubmenu" class="itemcount_0"><li>&nbsp;</li></ul>';
    for(i=0;i<els.length;i++){
        var thisel = jQuery("#"+els[i].id+"_submenu_items");
        var itemcount = jQuery("#"+els[i].id+"_submenu_items > li").length;
        var thismenu = '<ul id="subitems_'+els[i].id+'" class="itemcount_'+itemcount+'">';
        if(itemcount > 0){
            thismenu += thisel[0].innerHTML;
        }else{
            thismenu += "<li>&nbsp;</li>";
        }
        thismenu += "</ul>";
        menu += thismenu;
    }
    jQuery("#subitems_div>div").html(menu);
    jQuery("#scroller").width((844*els.length)+50);
}

jQuery(document).ready(function(){
  defaultMenu = jQuery(".defaultMenu");
  if(defaultMenu.length > 0){
    defaultMenu = "subitems_"+defaultMenu[0].id;
    defaultMenu = defaultMenu.substr(0,defaultMenu.lastIndexOf("_submenu_items"));
  }else{
    main = jQuery(".ekflexmenu_button_selected");
    if(main.length > 0){
      defaultMenu = "subitems_"+main[0].parentNode.id;
    }else{
      defaultMenu = "emptysubmenu";
    }
  }
  nowShowing = defaultMenu;

  setupMenu();

  showMenu();
  
  jQuery(".ekflexmenu_submenu_items>li").hover(
    function () { //over
      notOnMain = false;
      nowShowing = "subitems_"+this.id;
      showMenu();
    },
    function () { //out
      notOnMain = true;
      window.setTimeout("stopShowingMenu();",100);
    }
  );
  
  jQuery("#subitems_div").hover(
    function () { //over
      notOnSub = false;
    },
    function () { //out
      notOnSub = true;
      window.setTimeout("stopShowingMenu();",100);
    }
  );
});

