/*
 * Javascript to track file downloads and external links in Google Analytics
 *
 * Written by Nayan Suchak for Radley Yeldar on 2 May 2008. Based on
 * similar functionality written by Colm McBarron, colm.mcbarron@iqcontent.com
 * 
 * 19-10-2009 Added 'filedownloads' prefix for internal urls to aid tracking - AK
*/

var hrefs = document.getElementsByTagName("a");
for (var hrefIndex = 0; hrefIndex < hrefs.length; hrefIndex++) {
    try {
        if (location.host == hrefs[hrefIndex].hostname) {
            if (hrefs[hrefIndex].pathname.match(/\.(doc|pdf|xls|ppt|zip|txt|vsd|vxd|js|css|rar|exe|wma|mov|avi|wmv|mp3|flv)$/)) {
                addTrackerListener(hrefs[hrefIndex]);
            }
        } else {
            addTrackerListener(hrefs[hrefIndex]);
        }
    }
    catch (err) { }
}

function addTrackerListener(obj) {
    if (obj.addEventListener) { // W3C event registration model
        obj.addEventListener('click', trackFiles, true);
    } else if (obj.attachEvent) { // Microsoft's event registration model
        obj.attachEvent('onclick', trackFiles);
    }
}

function trackFiles(event) {
    var path = '';
    
    if (location.host != (event.srcElement ? event.srcElement.hostname : this.hostname)) 
        path = path + '/exlinks' + ((event.srcElement) ? '/' + event.srcElement : this.hostname);
    else
        path = path + '/filedownloads' + ((event.srcElement) ? '/' + event.srcElement.pathname : this.pathname);
        
    pageTracker._trackPageview(path);
}