var Init = {};
Init.footerHover = function () {
    var footer = document.getElementById("footer");

    if (footer) {
        var images = footer.getElementsByTagName("img");

        var hover = {
            "impressum.gif"   : "impressum_h.gif",
            "sitemap.gif"     : "sitemap_h.gif",
            "datenschutz.gif" : "datenschutz_h.gif",
            "url.gif"         : "url_h.gif"
        };

        function func (baseUrl, defaultImage, hoverImage, e) {
            this.src =
                e.type == "mouseover" || e.type == "focus" ?
                baseUrl + hoverImage :
                baseUrl + defaultImage;
        };

        for (var i = 0, image; image = images[i]; i++) {
            var defaultImage = File.basename(image.src);
            var baseUrl = File.dirname(image.src);

            if (typeof hover[defaultImage] != "undefined") {
                var binded_function = func.bind(image, baseUrl, defaultImage, hover[defaultImage]);
                var a = image.parentNode;

                addEvent(a, "mouseover", binded_function);
                addEvent(a, "mouseout", binded_function);
                addEvent(a, "focus", binded_function);
                addEvent(a, "blur", binded_function);
            }
        }
    }
}

Init.emails = function () {
    var emails = getElementsByClassName("email", document.getElementById("site"));

    function replace_emails (node) {
        var first = node.firstChild;
        var email = first.nodeValue.replace(" at ", "@").replace(" punkt ", ".");
        var link  = document.createElement("a");
        link.href = "mailto:" + email;
        link.appendChild(document.createTextNode(email));
        node.replaceChild(link, first);
    }

    for (var i = 0, email; email = emails[i]; i++) {
        replace_emails(email);
    }
}

addEvent(window, 'load', function () {
    Init.emails();
    Init.footerHover();
});
