/**
 * newsboard.js: News slideshow plugin for jQuery
 * author: Daigo Shitara
 *
 * @param {Number} duration
 *
 * usage::
 * $(target).newsBoard(duration);
 */
(function($) {
  $.fn.newsBoard = function(duration) {
    if(duration <= 0 || typeof duration === 'undefined') {
      duration = 5000;
    }

    this.each(function() {
      var $this = $(this),
          items = $this.children(),
          len = items.length,
          itemCnt = 0;

      $this.css({
          'position': 'relative'
      });

      // initialize
      $(items).hide();
      for(var i = 0; i < len; i++) {
        if(i === 0) { $(items[i]).show(); }
        $(items[i]).css({
          'position': 'absolute',
          'top': 0,
          'left': 0
        });
      }

      var timer = setInterval(function() {
        $(items[itemCnt]).fadeOut()
                   .next().fadeIn()
                   .end().appendTo($this);
        if(itemCnt < len - 1) {
          itemCnt += 1;
        } else {
          itemCnt = 0;
        }
      }, duration);

    });

  };

  return this;
}(jQuery));

