(function() {
    function setStyles(element, styles) {
        for (var prop in styles) if (styles.hasOwnProperty(prop)) {
            element.style[prop] = styles[prop];
        }

        return element;
    }

    function create(tag, attr) {
        var element = document.createElement(tag);

        for (var prop in attr) if (attr.hasOwnProperty(prop)) {
            if (prop == "text") {
                element.innerHTML = attr[prop];
            } else if (prop == "style") {
                setStyles(element, attr[prop]);
            } else {
                element[prop] = attr[prop];
            }
        }

        return element;
    }

    setTimeout(function() {
        var elements = document.getElementsByTagName("a"), span, div, reference;

        for (var i = 0, element; (element = elements[i]); i++) {
            if (!/^http:\/\/valgprat\.no\/bloggoversikt\/\d+\/stem/.test(element.href)) {
                continue;
            }

            span = create("span", {
                title: "Min plassering",
                text: "#76",
                style: {
                    position: "absolute",
                    top: "6px",
                    right: "6px",
                    font: "24px arial"
                }
            });

            div = create("div", {
                style: {
                    width: "190px",
                    height: "60px",
                    border: "none",
                    margin: "0 0 12px",
                    padding: "0",
                    position: "relative"
                }
            });

            setStyles(element, {
                background: "url(http://valgprat.no/images/badge.png)",
                display: "block",
                width: "190px",
                height: "0",
                overflow: "hidden",
                padding: "60px 0 0"
            });

            if (element.nextSibling !== null) {
                reference = element.nextSibling;
                div.appendChild(element);
                reference.parentNode.insertBefore(div, reference);
            } else {
                reference = element.parentNode;
                div.appendChild(element);
                reference.appendChild(div);
            }

            div.appendChild(span);
        }
    }, 200);
})();
