/*
 * Droppy 0.1.2
 * (c) 2008 Jason Frame (jason@onehackoranother.com)
 */
$.fn.droppy = function(options) {
    
  options = $.extend({speed: 100}, options || {});
  this.each(function() {
    
    var root = this, zIndex = 2000;
    
    function getSubnav(ele) {
      if (ele.nodeName.toLowerCase() == 'li') {
        var subnav = $('> ul', ele);
        return subnav.length ? subnav[0] : null;
      } else {
        return ele;
      }
    }
    
    function getActuator(ele) {
      if (ele.nodeName.toLowerCase() == 'ul') {
        return $(ele).parents('li')[0];
      } else {
        return ele;
      }
    }
    
    function hide() {
      var subnav = getSubnav(this);
      if (!subnav) return;
      $.data(subnav, 'cancelHide', false);
      setTimeout(function() {
        if (!$.data(subnav, 'cancelHide')) {
          $(subnav).fadeOut(options.speed,function(){
        	  $('li.ss_special').show();
        	  /*$('#header .left_col ul.menu ul.sousmenu.on').show();*/
			});
        }
      }, 100);
      
    }
  
    function show() {
      if($(this).hasClass('ss_special')){
    	  $(this).fadeOut(100);
    	  return false;
      }
      var subnav = getSubnav(this);
      if (!subnav) return;
      $.data(subnav, 'cancelHide', true);
      $(subnav).css({zIndex: zIndex++}).fadeIn(options.speed);
      $(subnav).fadeIn(options.speed);
      if (this.nodeName.toLowerCase() == 'ul') {
        var li = getActuator(this);
        $(li).addClass('hover');
        $('> a', li).addClass('hover');
      }
    }
    
	//$('ul', this).hide();
	
    $('ul, li', this).each(function(){
    	if($(this).hasClass('on')){
    	}else{
    		$(this).hover(show, hide);
    	}
    });
    
    if($('li', this).hasClass('on')){
    	
    }else{
	    $('li', this).hover(
	      function() {  $(this).addClass('hover'); $('> a', this).attr('title', '').addClass('hover'); $('#header .left_col ul.menu ul.sousmenu.on').hide();},
	      function() { $(this).removeClass('hover'); $('> a', this).removeClass('hover'); $('#header .left_col ul.menu ul.sousmenu.on').show(); }
	    );
	    
    }
    //$('li.ss_special').hover(function(){$('#header .left_col ul.menu ul.sousmenu.on').show();},function(){return;});
  });
  
};

