/* Copyright 2005 Acrotect LLC.  All rights reserved. */

function emailAddr() {
    var iterElementsByClassName = function(document, className) {
        var out = new Array();
        if (this.evaluate && false) {
            // User Agent supports DOM Level 3 XPath
            return document.evaluate("//*[@class='" + className + "']",
                                     document, null, 0, null);
        } else if (document.all || document.getElementsByTagName) {
            var all = document.all ?
                        document.all :                          // MSFT IE
                        document.getElementsByTagName('*');     // DOM Level 1
            var filtered = new Array();
            for (var i = 0; i < all.length; i++) {
                var c = ' ' + all[i].className + ' ';
                if (c.indexOf(' ' + className + ' ') >= 0) {
                    filtered.push(all[i]);
                }
            }

            var retIter = new Object();
            retIter.i = 0;
            retIter.iterateNext = function() {
                if (this.i < filtered.length) {
                    return filtered[this.i++];
                } else {
                    return;
                }
            };
            return retIter;
        }
        return out;
    };

    var emailIter = iterElementsByClassName(document, 'email');
    while ((el = emailIter.iterateNext())) {
        var name = ''; var domain = '';
        for (var i = 0; i < el.childNodes.length; i++) {
            var child = el.childNodes.item(i);
            if (child.className == 'name') {
                name = child.innerHTML;
            } else if (child.className == 'at') {
                while (child.hasChildNodes()) {
                    child.removeChild(child.lastChild);
                }
                child.appendChild(document.createTextNode('@'));
            } else if (child.className == 'domain') {
                domain = child.innerHTML;
            }
        }
        if (name && domain) {
            var link = document.createElement('a');
            link.setAttribute('href', 'mailto:' + name + '@' + domain);
            link.className = 'email';
            el.parentNode.replaceChild(link, el);
            link.appendChild(el);
        }
    }
}

emailAddr();
