imgur updater

by Michael Dibbets

JavaScript

+function(){
  $('.load-more').trigger('click');
  window.setTimeout(function() {
  var StorageObject = function(image,title) {
    this.image = image;
    this.time = new Date().getTime();
    this.title = title;
  }
  var ultimateStorage = sessionStorage.getItem('ultimate');
  if(typeof ultimateStorage !== 'string') {
     ultimateStorage = {};
  }
  else {
     try {
        ultimateStorage = JSON.parse(ultimateStorage);
     }
     catch(e) {
        ultimateStorage = {};
        console.log('storage erased!');
     }
  }
  var run = function() {
  jQuery('.post-images').each(function(useless,container){
    var $container = $(container);
    var containeritems = $container.find('.post-image-container');
    if(containeritems.length == 0) {
        window.stoptimoutstsch();
    }
    containeritems.each(function(useless,postitem) {
       var $postitem = $(postitem);
       var identifier = $postitem.attr('id');
       var imagecontainer = $postitem.find('.post-image');
       var basicimage = imagecontainer.find('img');
       if(basicimage.length > 0){
           var image = basicimage.attr('src');
       }
       else {
           var image = 'http://imgur.com/'+identifier+'.gifv';
       }
       var title = $postitem.find('.post-image-title').text();
       var source = document.location.href;
       if(typeof ultimateStorage[source] == 'undefined') {
          ultimateStorage[source] = {};
       }
       if(typeof ultimateStorage[source][identifier] == 'undefined') {
       		ultimateStorage[source][identifier] = new StorageObject(image,title);
       }
    });
  });
  }
  var height = document.body.getBoundingClientRect().bottom;
  var start = 0;
  var increase = 25;
  var timeoutsregistered = [];
  var doit = function(scrollTo,timeout) {
     timeoutsregistered.push(window.setTimeout(function() {
         console.log("iterating "+(scrollTo/increase)+" of "+(height/increase));
         window.scrollBy(0,scrollTo);
         run();
     },timeout));
 ...