﻿            
var Scroller = new Class({
    
    initialize: function(scrollerIndex, divSlideshowID, ulScrollerID)
    {                
        var classRef = this;
        
        this.scrollerIndex = scrollerIndex;
        this.divSlideshow = $(divSlideshowID);
        this.ulScroller = $(ulScrollerID);        
        
        this.width = 0;
        this.list;
        this.img;
        this.id_of_settimeout = null;

        this.DELAY = 100;
        this.STEP = 4;        
        
        this.arrDomains = new Array();
        this.arrLogos = new Array();
        this.index = 0;
        
        this.divSlideshow.addEvent('mouseover', function(e){
            e = new Event(e);  
            clearTimeout(classRef.id_of_settimeout);
            e.stop();
        });
        
        this.divSlideshow.addEvent('mouseout', function(e){
           e = new Event(e);  
           classRef.move(classRef.scrollerIndex);
           e.stop();
        });        
    },
    
    DrawLogos: function(myImages)
    {
        for(var i=0; i < myImages.length ;i++)
        {
           li = new Element('li', {});
           li.injectInside(this.ulScroller);
             
           var lnk = new Element('a', {
            
                    'href': this.arrDomains[i],
                    'rel': 'nofollow',
                    'target': '_blank'                                                                        
            });
            lnk.injectInside(li);
                        
            myImages[i].injectInside(lnk);                                
        }
        
        this.init();        
    },
    
    init: function()
    {
        
        this.list = this.divSlideshow.getElementsByTagName("li");
        this.img = this.divSlideshow.getElementsByTagName("img");

        var offset = 0;

        for(var i = 0; i < this.list.length; i++)
        {
              offset += (i > 0) ? this.img[i - 1].width : 0;
              
              this.list[i].style.left = offset + "px";
              
              this.width += this.img[i].width;
        }
        this.move(this.scrollerIndex);
    },

    move: function(_scrollerIndex)
    {
        for(var i = 0; i < this.list.length; i++)
        {
              var left = this.list[i].style.left.slice(0,-2) - this.STEP;
              this.list[i].style.left = left + "px";

              if(left <= -(this.img[i].width))
              {
                    this.list[i].style.left = this.width - this.img[i].width + "px";
              }
        }
        
        this.id_of_settimeout = setTimeout("scroller"+_scrollerIndex+".move("+_scrollerIndex+");", this.DELAY);
    }
    
});
