﻿function tabsControl(id, tabCss, eventHandlersTabs) {
    var instance = this;
    this.ActiveTab = 0;
    this.CssTabActive = 'tab_active';
    this.CssTabNoActive = 'tab_no_active';
    this.CssTabActiveEnd = null;
    this.TabActiveEndNumber = null;
    this.RepeatedClickActiveTab = null;
    if (tabCss) {
        if (tabCss.CssTabActive) {
            instance.CssTabActive = tabCss.CssTabActive;
        }
        if (tabCss.CssTabNoActive) {
            instance.CssTabNoActive = tabCss.CssTabNoActive;
        }
        if (tabCss.CssTabActiveEnd) {
            instance.CssTabActiveEnd = tabCss.CssTabActiveEnd;
        }
    }
    if (eventHandlersTabs) {
        if (eventHandlersTabs.RepeatedClickActiveTab) {
            instance.RepeatedClickActiveTab = eventHandlersTabs.RepeatedClickActiveTab;
        }
    }
    this.Idcore = id;
    this.Obj = ('#' + id);
    this.tabsElement = new Array();
    $(this.Obj).ready(function() {
        var tabsElementObj = $(instance.Obj + " li");
        instance.TabActiveEndNumber = tabsElementObj.length - 1;
        tabsElementObj.each(function(i) {
            this.setAttribute("Nom", i);
            this.onclick = function() {
                tabClick(this, instance);
            }
            instance.tabsElement.push(this);
            instance.tabsFullActive(i, this);
        });
    });
    this.tabsFullActive = function(Nom, tab) {
        var tabsFullId = tab.getAttribute("tabFull");
        if (tabsFullId) {
            var tabsFull = document.getElementById(tabsFullId);
            if (tabsFull) {
                if (Nom != instance.ActiveTab)
                    tabsFull.style.display = "none";
                else {
                    $(tab).removeClass(instance.CssTabNoActive);
                    $(tab).addClass(instance.CssTabActive);
                    tabsFull.style.display = "block";
                }
            }
        }
    }
    this.tabsFullnoActive = function(tab) {
        var tabsFullId = tab.getAttribute("tabFull");
        if (tabsFullId) {
            var tabsFull = document.getElementById(tabsFullId);
            if (tabsFull) {
                tabsFull.style.display = "none";
            }
        }
    }

}
function tabClick(tab, Obj) {
    if (Obj.ActiveTab == tab.getAttribute("Nom")) {
        if (Obj.RepeatedClickActiveTab) {
            Obj.RepeatedClickActiveTab(tab, Obj);
        }
        return;
    }
    $(tab).removeClass(Obj.CssTabNoActive);
    if (Obj.TabActiveEndNumber != tab.getAttribute("Nom")) {
        $(tab).addClass(Obj.CssTabActive);
    }
    else {
        if (Obj.CssTabActiveEnd != null) {
            $(tab).addClass(Obj.CssTabActiveEnd);
        }
        else {
            $(tab).addClass(Obj.CssTabActive);
        }
    }
    var noActive = Obj.tabsElement[Obj.ActiveTab];
    Obj.tabsFullnoActive(noActive);
    $(noActive).removeClass(Obj.CssTabActive);
    $(noActive).removeClass(Obj.CssTabActiveEnd);
    $(noActive).addClass(Obj.CssTabNoActive);
    Obj.ActiveTab = tab.getAttribute("Nom");
    Obj.tabsFullActive(Obj.ActiveTab, tab);

}

$(document).ready(function() {
$(".mmenu .hr").addClass("active");
});

