var TAH = {};

TAH.conf = {
    hostname:       document.domain.replace("www.", ""),
    external_class: "external",
    external_css:   "/css/external.css"
};

/**
 * Disable right-clicking for images (for the avg. user).
 *
 * NOTE: This is run automatically.
 */
TAH.disableRightClick = function(){
    var imgs = document.getElementsByTagName("img");
    for (var i = 0; i < imgs.length; i++) {
        imgs[i].oncontextmenu = function(){
            alert("Right-click disabled for copyright protection.");
            return false;
        };
    }
}();

/**
 * Appends a class to a link.
 *
 * @param object link
 * @param string class
 */
TAH.addClass = function(link, className){
    if (link.className)
        link.className += " " + className;
    else
        link.className = className;
};

TAH.loadCss = function(css){
    var link   = document.createElement("link");
    link.href  = css;
    link.media = "screen";
    link.rel   = "stylesheet";
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(link);
};

/**
 * Adds a class to external links.
 *
 * NOTE: This is run once automatically.
 */
TAH.styleExternalLinks = function(){
    var links = document.getElementsByTagName("a");
    var host  = "";
    // bail if there aren't any links
    if (links.length === 0)
        return;
    // load css file
    TAH.loadCss(TAH.conf.external_css);
    for (var i = 0; i < links.length; i++) {
        host = links[i].hostname.replace("www.", "");
        // apply the external class for these conditions:
        //   1. external link
        //   2. not a javascript:... link (hostname == "")
        //   3. does not contain an image.
        if (host !== TAH.conf.hostname &&
            host !== "" &&
            /<IMG/.test(links[i].innerHTML.toUpperCase()) === false)
            TAH.addClass(links[i], TAH.conf.external_class);
    }
}();

