var Sponsor = Class.create({
       initialize: function(data, id, delay) {
          delay = delay || 4000;
          this.imgs = data;
          this.box_id = id;
          this.updateImage();
          this.initiateTimer(delay);
       },
       
       createImageElement: function(img) {
           var image_element = new Element('img', { src: img['image'], alt: (img['alt'] || "") });
           var anchor =  new Element('a', {href: img['url'], target: "_blank" }).update(image_element);
           return new Element('div', {"class": "spons_image", style: "display:none;"}).update(anchor);
       },
       
       randomNumber: function(min, max) {
           return num = min + Math.floor(Math.random() * (max - min + 1));
       },
       
       updateImage: function() {
        var random = this.randomNumber(0,this.imgs.size()-1)
	       var img_element = this.createImageElement(this.imgs[random]);
	       $(this.box_id).update(img_element);
	       $(this.box_id).firstDescendant().appear({ duration: 1 });
	   },
	   
	   initiateTimer: function(delay) {
           var obj = this;
           setInterval(function() {obj.updateImage()}, (delay || 4000));
	   }
   });