function ImageScroller(scrollerSrc)
{
  this.m_flashId = "promo_flash";

  // public >>

  this.init = function(mediaId, loadCompleteHandler, imagesLoadCompleteHandler)
  {
    var src = scrollerSrc + "?load_complete_handler=" + loadCompleteHandler + "&images_load_complete_handler=" + imagesLoadCompleteHandler + document.location.search;
    var so = new SWFObject(src, this.m_flashId, "996", "300", "9.0.28", "#FFFFFF");
    so.addParam("quality", "best");
    so.addParam("allowFullScreen", "true");
    so.addParam("scale", "showall");
    so.addParam("allowScriptAccess", "always");
    so.write(mediaId);
  }

  this.setLabelIndent = function(indent)
  {
    this.getMovie().setLabelIndent(indent);
  }

  this.setTitleFontSize = function(size)
  {
    this.getMovie().setTitleFontSize(size);
  }

  this.setDescriptionFontSize = function(size)
  {
    this.getMovie().setDescriptionFontSize(size);
  }

  this.setPreloaderRotateDelay = function(delay)
  {
    this.getMovie().setPreloaderRotateDelay(delay);
  }

  this.setPreloaderBackgroundColor = function(color)
  {
    this.getMovie().setPreloaderBackgroundColor(color);
  }
  
  this.setPreloaderImageDiameter = function(diameter)
  {
    this.getMovie().setPreloaderImageDiameter(diameter);
  }

  this.setMinMoveTime = function(moveTime)
  {
    this.getMovie().setMinMoveTime(moveTime);
  }

  this.setMaxMoveTime = function(moveTime)
  {
    this.getMovie().setMaxMoveTime(moveTime);
  }

  this.setMinStopTime = function(stopTime)
  {
    this.getMovie().setMinStopTime(stopTime);
  }

    this.setMaxStopTime = function(stopTime)
  {
    this.getMovie().setMaxStopTime(stopTime);
  }

  this.setStartAutoMoveDelay = function(startAutoMoveDelay)
  {
    this.getMovie().setStartAutoMoveDelay(startAutoMoveDelay);
  }

  this.setAutoMoveDelay = function(autoMoveDelay)
  {
    this.getMovie().setAutoMoveDelay(autoMoveDelay);
  }

  this.setPopupPanelAlpha = function(_alpha)
  {
    this.getMovie().setPopupPanelAlpha(_alpha);
  }

  this.addItem = function(item)
  {
    this.getMovie().addItem(item);    
  }   

  this.addXML = function(xmlURL)
  {
    this.getMovie().addXML(xmlURL);
  }

  this.complete = function()
  {
    this.getMovie().complete();
  }
  
  // public <<

  // private >>

  this.getMovie = function()
  {
    return this.thisMovie(this.m_flashId);
  }
  
  this.thisMovie = function(movieName) 
  {
    if (navigator.appName.indexOf("Microsoft") != -1)
    {
      return window[movieName];
    }
    return document[movieName];
  }

  // private <<
}