var ITTabs = function (menuName) {
    this.addTab = addTab;
    menuName = '#' + menuName;

    $(document).ready(function () {
        $(menuName).css('display', '');

        this.numTabs = 0;
        this.objTab = {};
        this.idTab = {};
    });
}

// Métodos públicos
function addTab(idTab, textTab) {
    $(document).ready(function () {
        textTab = "#" + textTab;
        idTab = "#" + idTab;

        this.objTab[idTab] = textTab;
        this.numTabs += 1;

        if (this.numTabs == 1) {
            showTab(this.objTab, idTab, textTab);
        }
        else {
            hideTab(this.objTab, idTab);
        }

        $(idTab).click(function (e) {
            var objTab = $(idTab).context.objTab;

            if ($(idTab).hasClass('selected')) {
                hideTab(objTab, idTab);
            } else {
                for (var nUnTab in objTab) {
                    if (idTab !== nUnTab) {
                        hideTab(objTab, nUnTab);
                    }
                };
                // Muestra el contenido del tab (con su efecto) y marca el titulo como seleccionado
                showTab(objTab, idTab, textTab);
            }

            return false;
        });

    });          
}

// Métodos privados
function showTab(objTab, idTab, textTab) {
    $(objTab[idTab]).show(function () {
	    $(this).$(objTab[idTab]).show();
    });


    $(idTab).addClass('selected');
    $(textTab).css('display', '');
}

function hideTab(objTab, nUnTab) {
    $(objTab[nUnTab]).hide(function () {
        $(this).$(objTab[nUnTab]).hide();
    });

    $(nUnTab).removeClass('selected');
}
