(function($){
  $.timer = function (interval, callback) {
    var interval = interval || 100;

    if (!callback)
      return false;

    _timer = function (interval, callback) {
      this.stop = function () {
        clearInterval(self.id);
      };

      this.internalCallback = function () {
        callback(self);
      };

      this.reset = function (val) {
        if (self.id)
          clearInterval(self.id);

        var val = val || 100;
        this.id = setInterval(this.internalCallback, val);
      };

      this.interval = interval;
      this.id = setInterval(this.internalCallback, this.interval);

      var self = this;
    };

    return new _timer(interval, callback);
  };

  $.rotate_partners = function(){
    var $list = $('#partner_list');
    var $visible_items = $list.find('.partner:visible');
    var $next_items = $($visible_items.eq($visible_items.length - 1)).nextAll('.partner').slice(0, 2);

    if($next_items.length == 0){
      $next_items = $list.find('.partner').slice(0, 2);
    }

    if($visible_items.length > 0){
      $visible_items.fadeOut('slow', function(){
        $next_items.fadeIn('slow');
      });
    } else {
      $next_items.show();
    }
  }
})(jQuery);

jQuery(document).ready(function(){
  jQuery("#center .sections .article .excerpt, #center .section .article .excerpt, #center .top_articles .excerpt").click(function(){
    document.location = jQuery(this).siblings("a.name").attr("href");
  });

  if(jQuery('body').width() < 1100){
    jQuery('body').attr({id: 'narrow'})
  }

  jQuery.rotate_partners();
  jQuery.timer(5000, jQuery.rotate_partners)
});
