﻿(function ($) {
    $.fn.XTreeMenu = function (options) {

        var o = $.extend({}, $.fn.XTreeMenu.defaults, options);

        return this.each(function () {
            $this = $(this);
            //var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
            $("> .innerTreeMenu .treeMenu_item h4", $this).css("cursor", "pointer");
            if (o.showMode == "normal") {
                $.fn.XTreeMenu.normal($this, o.showChildren);
            }
            else {
                $.fn.XTreeMenu.accordion($this, o.showChildren);
            }
        });
    },
     $.fn.XTreeMenu.normal = function (obj, xshowChildren) {
         if (!xshowChildren)
             $("> .innerTreeMenu .treeMenu_item ul", $(obj)).hide();

         $("> .innerTreeMenu .treeMenu_item h4", $(obj)).bind("click", function () {
             var childs = $("ul", $(this).parent());
             $("> .innerTreeMenu .treeMenu_item ", $(obj)).removeClass("slected");
             $($(this).parent()).addClass("slected");
             if (childs.is(":visible")) {
                 childs.slideUp();
             }
             else {
                 childs.slideDown();
             }
         });

     }, $.fn.XTreeMenu.accordion = function (obj, xshowChildren) {
         $("> .innerTreeMenu .treeMenu_item ul", $(obj)).hide();
         if (xshowChildren)
             $("> .innerTreeMenu .treeMenu_item ul:first", $(obj)).slideDown();
         $("> .innerTreeMenu .treeMenu_item:first", $(obj)).addClass("slected");
         $("> .innerTreeMenu .treeMenu_item h4", $(obj)).bind("click", function () {
             $("> .innerTreeMenu .treeMenu_item ul", $(obj)).slideUp();
             var childs = $("ul", $(this).parent());
             $("> .innerTreeMenu .treeMenu_item ", $(obj)).removeClass("slected");
             $($(this).parent()).addClass("slected");
             if (childs.is(":visible")) {
                 childs.slideUp();
             }
             else {
                 childs.slideDown();
             }
         });
     },
    $.fn.XTreeMenu.defaults = {
        showMode: 'normal',
        speed: 'fast',
        showChildren: true
    };
})(jQuery);


