Apina.biz improved

Browse apina.biz with full-sized images. Plus other tweaks.

As of 2014-09-09. See the latest version.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        Apina.biz improved
// @namespace   Rennex/apina.biz
// @description Browse apina.biz with full-sized images. Plus other tweaks.
// @include     http://apina.biz/*
// @version     2.1
// @run-at      document-start
// @grant       none
// ==/UserScript==

var m
if (m = location.href.match(/apina\.biz\/(\d+\.(jpg|gif|png))/)) {
    // we've somehow landed on the zoom-in page (from an external link?)
    // -> redirect to the picture
    location.replace("http://termite.apcdn.com/full/" + m[1])
}
// also remove that ?ref=randoms bullshit from the address bar
if (m = location.href.match(/apina\.biz\/(.+)\?ref=randoms/)) {
    history.replaceState(null, "", m[1])
}

// hide the picture before it even starts loading
var head = document.querySelector("head")
// (can the head still be non-existent at this point?)
//if (!head) { alert("headless") }
var style = document.createElement("style")
style.type = "text/css"
style.innerHTML = "#big_image { display: none; }"
head.appendChild(style)

// call this when the DOM has loaded
addEventListener("DOMContentLoaded", function () {
    // if we are in the image browsing mode, viewing a medium-sized image,
    // this will find an element
    var m, img, a = document.querySelector("#big_image a")
    if (a) {
        if (m = a.href.match(/\/\d+[^\/]+$/)) {
            // fix the link to point directly to the image
            a.href = "http://termite.apcdn.com/full" + m[0]
            // and remove that annoying title popup while we're at it
            a.removeAttribute("title")

            // change the img element to use the full-sized image and appear wider
            img = a.querySelector("img")
            if (img) {
                // seems that we have to remove this image and create a new one,
                // to prevent it from visibly growing moments later
                a.removeChild(img)

                // re-enable displaying the div
                head.removeChild(style)

                // create the new image element
                img = new Image()
                img.src = a.href
                img.style = "max-width: 100%"
                a.appendChild(img)
            }

        }
    }
}, false)