var r3nAjaxPlaylist = {
  seconds: 10,
  single : false,
  all    : false,
  cache_single : '',
  cache_all : '',
  getsingle : function() {
    this.fetch($('r3n-playlist-one'),1,'single');
  },
  getall : function() {
    this.fetch($('r3n-playlist-all'),5,'all');
  },
  fetch : function (el){
    var limit = arguments[1] ? arguments[1] : 1;
    var mode = arguments[2] ? arguments[2] : '';
    var currentTime = new Date();
    var opt = {
      method: 'post',
      postBody: 'limit=' + limit,
      onSuccess: function(t) {
        if(mode=='single') 
          var cache = r3nAjaxPlaylist.cache_single;
          else 
          var cache = r3nAjaxPlaylist.cache_all;
        if(cache != t.responseText){
              new Effect.Fade(el, {
                  duration: 0.5,
                  from: 1,
                  to:0.1,
                  afterFinish: function(){
                    el.innerHTML = t.responseText;
                      new Effect.Appear(el, {
                        duration: 0.5,
                        from: 0.1,
                        to: 1
                      });
                  }
              });
         }
         if(mode=='single')
           r3nAjaxPlaylist.cache_single = t.responseText;
           else 
           r3nAjaxPlaylist.cache_all = t.responseText;
         if(mode=='single')
           this.single = setTimeout('r3nAjaxPlaylist.getsingle()',r3nAjaxPlaylist.seconds * 1000);
           else
           this.all = setTimeout('r3nAjaxPlaylist.getall()',r3nAjaxPlaylist.seconds * 1000);
      },
      on404: function(t) {
          alert('Error 404: location "' + t.statusText + '" was not found.');
      },
      onFailure: function(t) {
          alert('Error ' + t.status + ' -- ' + t.statusText);
      }
    }
    new Ajax.Request('r3n.playlist.ajax.php', opt);
  },
  display : function (el){
    el.innerHTML = arguments[1];
  }
}
function r3nEnablePlaylist(){
  if($('r3n-playlist-one'))
    r3nAjaxPlaylist.getsingle()
  if($('r3n-playlist-all'))
    r3nAjaxPlaylist.getall()
}
addEvent(window,'load',r3nEnablePlaylist,false);
