/*
* jQuery Drop Down panel menu v.1
*
* Copyright (c) 2011 Pieter Pareit
*
* http://www.scriptbreaker.com
*
*/
//plugin definition
(function($){
$.fn.extend({
//pass the options variable to the function
dropDownPanels: function(options) {
var defaults = {
speed: 250,
resetTimer: 1000
};
// Extend our default options with those provided.
var opts = $.extend(defaults, options);
//Assign current element to variable, in this case is UL element
var $this = $(this);
var closetimer;
function resetMenu(){
$this.find(".hover").removeClass("hover");
$this.find(".submenu:visible").slideUp(opts.speed);
}
function activateTimer(){
closetimer = window.setTimeout(resetMenu, opts.resetTimer);
}
function cancelTimer(){
if(closetimer){
window.clearTimeout(closetimer);
closetimer = null;
}
}
$this.find(">li").hover(function() {
cancelTimer();
if(!$(this).find(".submenu").is(":visible")){
$(this).parent().find(".hover").removeClass("hover");
$(this).parent().find(".submenu:visible").hide();
if($(this).has(".submenu")){
$(this).find(".submenu").slideDown(opts.speed);
$(this).find("a:first").addClass("hover");
}
}
}, function(){
activateTimer();
});
}
});
})(jQuery);