/**
 * jQuery.menu
 */ 

(function(){

  /**
   * menu
   */     
  function menu(el, options) {
    var self =  this;
    this.initialize.apply(this,arguments);
    jQuery(document).ready(function(){
      self.initGUI.apply(self,[]);
    });
  }
  menu.prototype = {
    
    initialize: function(el,options) {
      
      this.HTMLElement = el;
      this.options = jQuery.extend({
        hoverClass: "hover"
      },options);

    },
    
    initGUI: function() {
    
      var self = this;
      
      // add events
      jQuery("li",this.HTMLElement).each(function(){
        jQuery(this).bind("mouseenter",function(e){
          jQuery(this).toggleClass(self.options.hoverClass);
          jQuery(jQuery(this).find("ul").get(0)).css("display","block");
        });
        jQuery(this).bind("mouseleave",function(e){
          jQuery(this).toggleClass(self.options.hoverClass);
          jQuery(jQuery(this).find("ul").get(0)).css("display","none");
        });
      });

      // default hide all submenus
      jQuery("ul > li > ul", self.HTMLElement).each(function(){
        jQuery(this).css("display","none");
      });
      
      // hide on click 
      jQuery(document).bind("click", function() {
         jQuery("ul > li > ul",self.HTMLElement).css("display","none");
      });
      
    }
  }
    
  jQuery.fn.menu = function(options) {
    jQuery(this).each(function(){
      new menu(this,options);
    });
    return this;
  }
  
})();
