/**
* @ jTabs
* @ Author Dumitru Glavan
* @ Version 1.1
* @ Framework Mootools
*
* @ clasaTab - numele clasei divurilor ( div.clasa_div )
* @ numeClasaAscunsa - Clasa care ii da display:none
* @ meniuTabsId - ID-ul divului cu meniu cu numerele taburilor
* @ numeClasaHover - numele clasei linkului cu numarul tabului selectat
* @ timpAfisareTab - 1000 = 1 s
*
*/

var jTabsJs = new Class ({

    options : {
        clasaTab : 'div.banner_tab',
	clasaContainerText: 'div.container_tab_text',
        numeClasaAscunsa : 'ascuns',
        meniuTabsId: 'meniu_tabs',
        numeClasaHover: 'tab_selectat',
        timpAfisareTab : 3000
    },

    initialize: function ( options )
    {
        this.setOptions( options );

        this.tabCurent = -1;
        this.totalTaburi = 0;
        this.listaTaburi = new Array();
	this.listaContainereText = new Array();
        this.listaMeniu = new Array();

        that = this;

        $$( this.options.clasaTab ).each(
            function ( tab_id, index )
            {
                that.listaTaburi[index] = tab_id;
                if ( index != 0 )
                {
                    tab_id.addClass( that.options.numeClasaAscunsa );
                }
            }
        );

        $$( this.options.clasaContainerText ).each(
            function ( tab_id, index )
            {
                that.listaContainereText[index] = tab_id;
                if ( index != 0 )
                {
                    tab_id.addClass( that.options.numeClasaAscunsa );
                }
            }
        );

        that = this;

        $$( '#' + this.options.meniuTabsId + ' a' ).each(
            function ( link_id, index )
            {
                that.listaMeniu[index] = link_id;
                link_id.removeClass( that.options.numeClasaHover );
                if ( index == 0 )
                {
                    link_id.addClass( that.options.numeClasaHover );
                }
            }
        );

        this.totalTaburi = this.listaTaburi.length;

//         ( function () {} ).delay( this.options.timpAfisareTab );
    },

    showTab: function ( tab_index )
    {
        this.listaTaburi[tab_index].removeClass( this.options.numeClasaAscunsa );
	this.listaContainereText[tab_index].removeClass( this.options.numeClasaAscunsa );
        this.listaMeniu[tab_index].addClass( this.options.numeClasaHover );
    },

    hideTab: function ( tab_index )
    {
        this.listaTaburi[tab_index].addClass( this.options.numeClasaAscunsa );
	this.listaContainereText[tab_index].addClass( this.options.numeClasaAscunsa );
        this.listaMeniu[tab_index].removeClass( this.options.numeClasaHover );
    },

    initTabs: function ()
    {
        if ( this.tabCurent != -1 )
        {
            this.hideTab( this.tabCurent );
        }

        if ( ( this.tabCurent + 1 ) == this.totalTaburi )
        {
            this.tabCurent = 0;
        }
        else
        {
            this.tabCurent = this.tabCurent + 1;
        }
        this.showTab( this.tabCurent );

        this.listeazaTaburi = setTimeout( 'that.initTabs()', this.options.timpAfisareTab );

        this.ruleaza = 1;
    },

    stopTabs: function ()
    {
        clearTimeout( this.listeazaTaburi );
        this.ruleaza = 0;
    },

    previewTab: function ( tab_index )
    {
        this.hideTab( this.tabCurent );
        this.tabCurent = tab_index;
        this.showTab( tab_index );
    },

    setOptions: function()
    {
        this.options = $merge.apply( null, [this.options].extend( arguments ) );
        if ( this.addEvent )
        {
            for ( var option in this.options )
            {
                if ( $type( this.options[option] == 'function' ) && ( /^on[A-Z]/ ).test( option ) ) this.addEvent( option, this.options[option] );
            }
        }
        return this;
    }
});