/***********************************************************************************************************************
 *
 * - $Id: wtkticker.js 30 2009-08-11 14:38:52Z ralderlieste $
 *
 * 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);
    if (ticker.element) {
      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;
})();

