/** constructor 
@param targetSentinel if target contains this, it will be used to invoke dcsMultiTrack(...).
@param dcsuri         DCS.dcsuri.
@param ti             WT.ti.
@param cg_n           WT.cg_n.
@param cg_s           WT.cg_s.
*/
function WebTrendsLink(targetSentinel, dcsuri, ti, cg_n, cg_s){
    this.targetSentinel= targetSentinel;
    this.dcsuri = dcsuri;
    this.ti = ti;
    this.cg_n = cg_n;
    this.cg_s = cg_s;
} // WebTrendsLink class

/**
*/
WebTrendsLink.prototype.dcsMultiTrack = function(){
	dcsMultiTrack('DCS.dcsuri', this.dcsuri, 'WT.ti', this.ti, 'WT.cg_n', this.cg_n, 'WT.cg_s', this.cg_s);
}

/**
 * Requires global array of WebTrendsLink objects: webTrendsLinks.
 */
function onAnalyticsMousedownOrKeydown(event, webTrendsLinks) {
    var keycode, keycodeType;
    if (window.event) { 
        keycode = window.event.keyCode;
        keycodeType = typeof(window.event.keyCode);
    } else {
        keycode = event.keyCode;
        keycodeType = typeof(event.keyCode);
    }
    if (keycodeType == "undefined" || keycode == 13 || keycode == 0) {
        for (var i = 0; i < webTrendsLinks.length; i++) {
        	var href = event.target.href;
        	if (isIE())
        		href = href.replace(/ /g, "%20");
        	var invoked = false;
        	if (typeof(href) == "undefined") {
        		if (webTrendsLinks[i].targetSentinel == event.target.id)
        			invoked = true;
        	} else if (href.indexOf(webTrendsLinks[i].targetSentinel) > -1) {
        		invoked = true;
        		if (href.indexOf('js=') < 0) {
	        		if (href.indexOf('?') > -1)
	        			event.target.href += '&';
	        		else
	        			event.target.href += '?';
	        		event.target.href += "js=1";
        		}
        	}
        	if (invoked) {
                webTrendsLinks[i].dcsMultiTrack();
                break;
        	}
        }
        if (keycodeType != "undefined" || typeof(href) == "undefined") // keydown
            new Pause(100);
    }
}

function isIE() {
   return /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
}
