var readyBound = false;
var isReady = false;
var browser;
var userID;
var lnkUrl = "http://bin.lnkjuice.com/";
var lnkUrlLength = lnkUrl.length;
var convertSubdomainFlag;

function domReady() {
    if (!isReady) {

        try {
            isReady = true;
            var links = document.getElementsByTagName("a");
            var orgHref;

            for (x = 0; x < links.length; x++) {
                var link = links.item(x);
                orgHref = link.href.toLowerCase();

                //do not convert subdomains
                if (!convertSubdomainFlag) {
					var parts = document.domain.split('.');

					if (parts.length > 1) {
						var domain = parts[parts.length - 2];

						if (orgHref.indexOf(domain) >= 0) {
							continue;
						}
					}
				}

                if ((orgHref != null) && (orgHref.substring(0, 4) == "http")) {
                    if (orgHref.indexOf(window.location.protocol + '//' + window.location.hostname) != 0) {
                        link.onclick = redirect;
                        link.oncontextmenu = redirect;
                    }
                }
            }
        }
        catch (e) {
        }
    }
};

function addLoadEvent(func) {
    var oldonload = window.onload;

    if (typeof window.onload != 'function') {
        window.onload = func;
    }
    else {
        window.onload = function() {
            if (oldonload) {
                oldonload();
            }

            func();
        }
    }
};

function bindReady() {
    if (readyBound) {
        return;
    }

    readyBound = true;

    // Mozilla, Opera and webkit nightlies currently support this event
    if (document.addEventListener) {
        document.addEventListener("DOMContentLoaded", function() {
            document.removeEventListener("DOMContentLoaded", arguments.callee, false);
            domReady();
        }, false);

        // If IE event model is used
    }
    else if (document.attachEvent) {
        document.attachEvent("onreadystatechange", function() {

            if (document.readyState === "complete") {
                document.detachEvent("onreadystatechange", arguments.callee);
                domReady();
            }
        });

        // If IE and not an iframe
        // continually check to see if the document is ready
        if (document.documentElement.doScroll && window == window.top) (function() {
            if (isReady) return;

            try {
                document.documentElement.doScroll("left");
            }
            catch (error) {
                setTimeout(arguments.callee, 0);
                return;
            }

            // and execute any waiting functions
            domReady();
        })();
    }
    addLoadEvent(domReady);
};


function roza_hrefReplace(id, convertSubdomain) {
    var DomReady = window.DomReady = {};

    userID = id;
    convertSubdomainFlag = (typeof convertSubdomain == 'undefined') ? 'true' : convertSubdomain;

    var userAgent = navigator.userAgent.toLowerCase();

    browser = {
        version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
        safari: /webkit/.test(userAgent),
        opera: /opera/.test(userAgent),
        msie: (/msie/.test(userAgent)) && (!/opera/.test(userAgent)),
        mozilla: (/mozilla/.test(userAgent)) && (!/(compatible|webkit)/.test(userAgent))
    };

    bindReady();
};

function redirect() {
    try {
        var currentHref = this.href;
        if (currentHref.substring(0, lnkUrlLength) != lnkUrl) {
            var nocom = '';
            if (this.className.indexOf("roz_nocom") != -1) {
                nocom = "&nocom=1";
            }
            this.href = lnkUrl + "forward.php?hash=" + userID + nocom + "&goto=" + encodeURIComponent(this.href);
        }
    }
    catch (e) {
    }
    return true;
}