rotating_banners = {
  
  ind : -1,
  
  timer : 0,
  
  dots : [],
  
  current_red_dot : "",
  
  init : function( banners ){
    rotating_banners.banners = banners;
//     rotating_banners.settings.whitedot = "<img src='"+rotating_banners.settings.whitedot+"' alt='' />";
//     rotating_banners.settings.reddot = "<img src='"+rotating_banners.settings.reddot+"' alt='' />";
    var ctrls = $(rotating_banners.settings.controls);
    
    for( var i=0; i < banners.length; i++){
      var spn = new Element("span", {id : "banner_dot_"+i});
      spn._bin = i;
      spn.observe('mouseover', function(e){
        rotating_banners.display( e.element()._bin );
      });
      spn.observe('mouseout', function(e){
        rotating_banners.start_rotation();
      });
      spn.setStyle({backgroundImage : "url("+rotating_banners.settings.whitedot+")"});
      rotating_banners.dots[rotating_banners.dots.length] = spn;
      ctrls.insert(spn);
    }
    rotating_banners.next();
  },

  next : function(){
    rotating_banners.ind = (rotating_banners.ind + 1) % rotating_banners.banners.length;
    rotating_banners.display( rotating_banners.ind );
    rotating_banners.start_rotation();
  },

  previous : function(){
    rotating_banners.ind = rotating_banners.ind - 1;
    if( rotating_banners.ind == -1 ){
      rotating_banners.ind = rotating_banners.banners.length - 1;
    }
    rotating_banners.display( rotating_banners.ind );
    rotating_banners.start_rotation();
  },
  
  display : function( ind ){
    if( !rotating_banners.banners[ind] ) return;
    clearTimeout( rotating_banners.timer );
    rotating_banners.ind = ind;
    $(rotating_banners.settings.holder).update(rotating_banners.banners[ind]);
    var crd = $(rotating_banners.current_red_dot);
    if( crd ){
      crd.setStyle({backgroundImage : "url("+rotating_banners.settings.whitedot+")"});
    }
    rotating_banners.current_red_dot = "banner_dot_"+ind;
    $(rotating_banners.current_red_dot).setStyle({backgroundImage : "url("+rotating_banners.settings.reddot+")"});
  },
  
  start_rotation : function(){
    clearTimeout( rotating_banners.timer );
    rotating_banners.timer = setTimeout(rotating_banners.next, rotating_banners.settings.rotate_time);
  }

};

rotating_banners.settings = {
  holder : 'homepage_banner',
  controls : 'homepage_banner_controls',
  rotate_time : 7000,
  reddot : 'images/reddot.png',
  whitedot : 'images/whitedot.png'
};
