EX Better Thumbnails

Provides infinite scroll and larger thumbnails for gallery browsing.

נכון ליום 08-09-2015. ראה הגרסה האחרונה.

// ==UserScript==
// @name         EX Better Thumbnails
// @description      Provides infinite scroll and larger thumbnails for gallery browsing. 
// @version      0.1
// @match        http://exhentai.org/g/*
// @grant        none
// @namespace https://greasyfork.org/users/13871
// ==/UserScript==

var thisURL = document.createElement("a");
thisURL.href = document.URL;
var i = 0;
var URLGen = new URLGenerator();
var maxPage;

(function() {
    var js = document.createElement("script");
    js.type = "text/javascript";
    js.src = "https://code.jquery.com/jquery-1.11.3.min.js"
    js.onload = function() {
		changeLayout();
        main()
    };
    document.head.appendChild(js)
})();

function* URLGenerator() {
    var base = thisURL.protocol + "//" + thisURL.hostname + thisURL.pathname + "?inline_set=ts_l";
    while (true) {
        yield base + "&" + "p=" + i;
        i += 1;
    }
};

function insert(URL) {
    $.get(URL, function(data) {
        var DOM = $.parseHTML(data);
        $(DOM).find(".gdtl").each(function() {
            $("#gdt > .c").before(this);
            $(this)
  .css('opacity', 0)
  .slideUp('slow')
  .animate(
    { opacity: 1 },
    { queue: true, duration: 'slow' }
  );
        });
        (function() {
			if (!(maxPage)) {
            var a = $(DOM).find(".ptt a")
            maxPage = a[a.length - 2].text
			}
        })();
    })
};

function call() {
    if (i < maxPage - 1|| !(maxPage)) {
        var url = URLGen.next().value;
		console.log(url);
        insert(url);
    }
};

function changeLayout() {
    $("#asm, #gdo, .gtb, #frontpage").remove();
    var thumbnails = document.getElementById("gdt");
    document.body.insertBefore(thumbnails, document.body.lastChild);
    $(".gdtm, .gdtl").each(function() {
        $(this).remove()
    })
};

function main() {
	call();
    $(window).scroll(function() {
        if ($(window).scrollTop() + $(window).height() > 0.95 * $(document).height()) {
            call();
        }
    })
};