var t; // for timeout

var rotator = 
{
    images: '', 
    time : 20000,
    start : function(data)
    {
        this.images = data;
        var size = this.images.length;
        if(size > 0)
        {
            rotator.setDots(size);
            rotator.set(1);
        }
        else $('#advertTable').remove();
    },
    
    setDots : function(num)
    {
        if(num > 0)
        {
            var x = 0;
            var content = "";
        
            while(x < num)
            {
                if(x == 0)
                    content += '<a onclick="rotator.set('+(x+1)+');return false;" class="current"></a>';
                else
                    content += '<a onclick="rotator.set('+(x+1)+');return false;"></a>';
                ++x;
            }
            $('#advertDots').html(content);
            return true;
        }
        return false;
    },
    
    set : function(num)
    {
        if(num > 0)
        {
            clearTimeout(t);
            
            --num;
            
            if(num == $('#advertDots a.current').index('#advertDots a') && $('#advertTd div.relative').width() == this.images[num].width ) return false; 
            
            // set new width and height
            if (rotator.images[num]){
                $('#advertTd div.relative').css({
                    width : rotator.images[num].width,
                    height : rotator.images[num].height
                });
                // set TD for new flash add
                $('#advertTd').attr({
                    width : rotator.images[num].width,
                    height : rotator.images[num].height
                });
            }
            // hide previous
            $('.advertObjects').css('display','none');
            $('#advertLoader').css({display:'none'});
            
            // take off active dot
            $('#advertDots a.current').removeClass('current')
            
            // active new dot
            $('#advertDots a:eq('+num+')').addClass('current')
            
            $('.advertObjects:eq('+num+')').css('display','block');
            
            var time = parseInt(this.images[num].time) > 0 ? this.images[num].time*1000 : rotator.time;
            //console.log(time);
            
            t = setTimeout("rotator.next();",time);       
            
            return true;
        }
        return false;
    },
    
    next : function()
    {
        var num = $('#advertDots a.current').index('#advertDots a');
        var all = $('#advertDots a:last').index('#advertDots a');
        
        if(num >= all)
            var next = 0;
        else
            var next = num+1;
        
        rotator.set(next+1);
        return false;
    },
    previous : function()
    {
        var num = $('#advertDots a.current').index('#advertDots a');
        var all = $('#advertDots a:last').index('#advertDots a');
        
        if(num <= 0)
            var prev = all;
        else
            var prev = num-1;
        
        rotator.set(prev+1);
        return false;
    }
};
