/***********************************************************************************************************************
 *
 * - $Id: wtkticker.js 5207 2009-07-17 12:45:02Z rnoppers $
 *
 * Copyright Rovecom ICT BV
 *
 **********************************************************************************************************************/

var WtkTicker = (function() {
  var ticker = {
    ContentID: 'wtkticker',
    BodyID: 'wtktickerbody',
    Speed: -2
  };
  ticker.interval = null;
  ticker.element = null;
  ticker.body = null;
  ticker.bodyWidth = 0; // breedte van de content
  ticker.width = 0;     // ticker breedte
  ticker.position = 0;
  ticker.minimum = 0;   // deprecated 
  ticker.wrap = 0;      // deprecated 
  ticker.tick = function() {
    // ticker positie laten aftellen
    ticker.position += ticker.Speed;

    //reset naar begin als ticker body breedte negatief geworden is
    if (ticker.position <= (ticker.bodyWidth * -1)) {      
      // positie terug op startpositie == ticker breedte
      ticker.position = ticker.width;
      var value = String(ticker.width) + 'px';
      ticker.body.setStyle({left: value});
    } else {
      var value = String(ticker.position) + 'px';
      ticker.body.setStyle({left: value});      
    }
  };

  Event.observe(document, 'dom:loaded', function() {        
    ticker.element = $(ticker.ContentID);
    ticker.element.observe('mouseover', function() {
      clearInterval(ticker.interval);
      ticker.interval = null;
    });
    ticker.element.observe('mouseout', function() {
      if (ticker.interval == null) {
        ticker.interval = setInterval('WtkTicker.tick()', 40);
      }
    });
    ticker.body = $(ticker.BodyID);
    
    //ticker breedte
    ticker.width = ticker.element.getDimensions().width;
    
    // content breedte
    ticker.bodyWidth = ticker.body.getDimensions().width;
    
    // ticker start naast het blok
    var value_width = String(ticker.bodyWidth) + 'px';
    var value_left  = String(ticker.width) + 'px';
    ticker.element.setStyle({position: 'relative'});
    
    // ticker op startpositie instellen
    ticker.body.setStyle({top: 0, left: value_left, width: value_width});
    
    // start positie van de ticker aan de rechterkant is gelijk aan breedte ticker
    ticker.position = ticker.width;
    ticker.interval = setInterval('WtkTicker.tick()', 40);
  });

  return ticker;
})();
