//
// based on http://groups.google.com/group/analytics-help-tracking/browse_frm/thread/d270b6baeb450aeb/801af4980511b1d6?lnk=gst&q=pdf&rnum=10#801af4980511b1d6
//
function trackLinksAndDownloads()
{
    // Initialize external link handlers
    var hrefs = document.getElementsByTagName("a");
    for (var l = 0; l < hrefs.length; l++)
    {
        //protocol, host, hostname, port, pathname, search, hash
        if (hrefs[l].hostname == location.host)
        {
            var path = hrefs[l].pathname;
            var res = path.match(/\.(exe|pdf|doc|xls|ppt|zip)$/)
            if (res)
            {
                Event.observe(hrefs[l], "click", function(ev) {
                    // might be ad-blocked... do not complain here
                    if (typeof(pageTracker) == "undefined")
                        return;

                    var srcElement = Event.element(ev);
                    var url = srcElement ? "/" + srcElement.pathname : this.pathname;
                    pageTracker._trackPageview("/downloads/" + res[1] + url);
                });
            }
        }
        else
        {
            Event.observe(hrefs[l], "click", function() {
                // might be ad-blocked... do not complain here
                if (typeof(pageTracker) == "undefined")
                    return;

                var lnk;
                var srcElement = Event.element(ev);

                if (srcElement)
                {
                    while (srcElement.tagName != "A")
                    {
                        srcElement = srcElement.parentNode;
                    }
                    lnk = "/external/" + srcElement.hostname + "/" +
                        srcElement.pathname + srcElement.search;
                } else {
                    lnk = "/external/" + this.hostname + this.pathname + this.search;
                }
                pageTracker._trackPageview(lnk);
            });
        }
    }
}


