//Copyright 2008 Carolos Foscolos, FantasticBytes.com
dojo.require("dojo.NodeList-fx");

var loadCatMenus = function(){
    var timeout = 500;
    var closetimer = null;
    var anim = null;
   
    var headers = dojo.query(".mnuheader"); 
    var menus = dojo.query(".mnulist");
    var menuitems = dojo.query(".mnulist a");
    var showmenu = null;


    var mcleartimer = function() {
      if (closetimer) {
        window.clearTimeout(closetimer);
        closetimer = null;
        //console.log('Category Menu Timer Cleared');
      }
    }


    var mclose = function() {
      if (anim) {
        anim.stop();
        anim = null;
      }    
      menus.style("visibility","hidden");
      menus.style("opacity","1.0");
      
      mcleartimer();
      //console.log('Category Menu Closed');
    }


    var mcloseanim = function() {
      if (showmenu) { 
        anim = showmenu.fadeOut();
      }
      dojo.connect(anim,"onEnd",function(){
      mclose();
      });
      anim.play();
    }

    var msettimer = function() {
      if (!closetimer) {
        closetimer = window.setTimeout(mcloseanim, timeout);
        //console.log('Category Menu Timer Set');
      }
    }
    
    headers.connect("onmouseover",function(e){
      //e.preventDefault(); // stop the event
      mclose();
    
      //console.log('clicked: ', dojo.attr(e.target,'rel')); // the node we clicked on
      showmenu = dojo.query(dojo.attr(e.target,'rel'));
      showmenu.style("visibility","visible");
    });
    
    menus.connect("onmouseout",function(e){
      msettimer();
    });
    
    headers.connect("onmouseout",function(e){
      msettimer();
    });
    
    menuitems.connect("onmouseover",function(e){
      mcleartimer();
    });
    
    menus.connect("onmouseover",function(e){
      mcleartimer();    
    }); 
};
dojo.addOnLoad(loadCatMenus);

