Ext.ns('TxMaxpagemediaslideshow');

Ext.onReady(function(){
    this._ct = Ext.get(this.settings.container);

    this._ct.setStyle({
        position: 'relative',
        'background-image': 'none'
    });

    Ext.each(this.settings.files, function(f, i){
        var c = this._ct.createChild({
            tag: 'span',
            cls: 'tx-maxpagemediaslideshow-image'
        }).setStyle({
            position: 'absolute',
            top: 0,
            left: 0,
            'background-image': 'url('+f+')'
        }).setVisibilityMode(Ext.Element.DISPLAY);

        if(i > 0){
            c.hide();
        }

    }, this);

    this.task = {
        run: function(){
            if(this.task.taskRunCount == 1){
                return;
            }
            var a = this._ct.select('.tx-maxpagemediaslideshow-image'), b = 0, c = 0;
            a.each(function(e,o,i){
                if(e.isVisible()){
                    b = i;

                    c = ++i;

                    if(c == a.getCount()){
                        c = 0;
                    }
                }
            });

            a.item(c).fadeIn({duration: this.settings.duration});
            a.item(b).fadeOut({duration: this.settings.duration});
        },
        interval: this.settings.interval * 1000,
        scope: this
    };

    Ext.TaskMgr.start(this.task);

}, TxMaxpagemediaslideshow);
