if (typeof ANALYTICSHELPER == "undefined") {
    ANALYTICSHELPER = { init: false };
}
/**
 * Initialisation function. Finds 'loggable' links and attaches a handler to them.
 */
ANALYTICSHELPER.initHelper = function() {
    if (ANALYTICSHELPER.init === true) {
        return;
    }

    ANALYTICSHELPER.init = true;

    if (document.getElementsByTagName) {
        document.getElementsByTagName('BODY')[0].onclick = ANALYTICSHELPER.attachLoggerClick;
    }

    var aLinks = document.getElementsByTagName('a');

    for (var i=0; i<aLinks.length; i++) {
        if (aLinks[i].onclick) {
            aLinks[i].onprevclick = aLinks[i].onclick;
        }

        aLinks[i].onclick = ANALYTICSHELPER.attachLoggerLink;
        aLinks[i].csi = i;
    }
}

ANALYTICSHELPER.attachLoggerLink = function(event) {
    var coords = findCoords(event);

    var csi = this.csi + '-' + (this.offsetLeft ? this.offsetLeft : 0) + '-' +
        (this.offsetTop ? this.offsetTop : 0) + '-' +
        coords[0] + '-' + coords[1];

    if (pageTracker && pageTracker._trackEvent) {
        pageTracker._trackEvent('link', csi, this.href, 1);
    }

    if (this.onprevclick) {
        return this.onprevclick();
    }
}

ANALYTICSHELPER.attachLoggerClick = function(event) {
    var coords = findCoords(event);
    var csi = coords[0] + '-' + coords[1];

    if (pageTracker && pageTracker._trackEvent) {
        pageTracker._trackEvent('mouse', csi, '', 0);
    }
}
/**
 * Set-up and instantiate our logger
 */

ANALYTICSHELPER.initHelper();
