(function ($) {
    $.fn.accordian = function (options) {
        var
        defaults = {
            speed: 0,
            dontslide: ".dontslide",
            ease: "swing",
            style: "dropdown",
            delay: 1500
        },
            settings = $.extend({}, defaults, options);
        this.each(function () {
            var $this = $(this);
            var buttons = $this.children("li");
            var hiddenmenus = $(buttons).children("ul");
            $(hiddenmenus).parent("li").addClass("hasSub");
            $(hiddenmenus).addClass('HIDDEN_MENU');
            $(hiddenmenus).not(settings.dontslide).hide();
            
                $("ul").each(function(){
            	$hid = $(this);
            	if($hid.children("li").length < 1){
            	$hid.remove();
            	}
            });


            $('.hasSub').css({
                "cursor": "pointer"
            });
            if (settings.style === "accordian") {
                $('.hasSub a:first').click(function () {
                    var parent = $(this);
                    var parentclass = $(this).attr("class");
                    var item = $(this).parent("li").children("ul");
                    if ($(this).is(".open")) {
                        $(this).removeClass("open", function () {
                            $(this).children('ul').slideUp(settings.speed, settings.ease);
                        });
                    }
                    else {
                        $(".open").removeClass("open");
                        $(this).addClass("open", function () {
                            $(hiddenmenus).not(settings.dontslide).slideUp(settings.speed, settings.ease);
                            $(item).slideDown(settings.speed, settings.ease);
                        });
                    }
                    return false;
                });
            }
            if (settings.style === "dropdown") {
                $('.hasSub').each(function () {
                    $(this).hover(function () {
                        var parent = $(this);
                        var parentclass = $(this).attr("class");
                        var item = $(this).children("ul");
                        $(hiddenmenus).not(settings.dontslide).slideUp(settings.speed, settings.ease);
                        $(item).stop(true, true).delay(10).slideDown(settings.speed, settings.ease)
                    }, function () {
                        $('.HIDDEN_MENU').delay(settings.delay).slideUp(settings.speed, settings.ease);
                    });
                });
            }
        });
        return this;
    };
})(jQuery);
