var numLinks = document.links.length;
var i;
var cmOnClickCounter = 0;
var cmOnClickPointer = new Array();

for (i = 0; i < numLinks; i++) {
    var linkObj = document.links[i];
    
    // Check if it's a link
    if ((linkObj.href && linkObj.href.toLowerCase().indexOf(".pdf") > -1)
		|| (linkObj.href && linkObj.href.toLowerCase().indexOf(".doc") > -1)
		|| (linkObj.href && linkObj.href.toLowerCase().indexOf("docrepo") > -1)) {
        addClickHandlerToLink(linkObj);
    }
}

function addClickHandlerToLink(linkObj) {
	pageID = getLinkPageID(linkObj);

	if (linkObj.onclick)
	{
		cmOnClickPointer[cmOnClickCounter] = linkObj.onclick;
		linkObj.onclick = new Function("addPageviewOnClick(" + cmOnClickCounter + ",'" + pageID + "','" + linkObj.href + "');");
		cmOnClickCounter++;
	} else {
	    linkObj.onclick = new Function("addPageviewOnClick(-1,'" + pageID + "','" + linkObj.href + "');");
	}
}

function addPageviewOnClick(oldOnClick,pageID,theURL) {
	if (pageID && pageID != "")
	{		
		var cm = new _cm("tid", "1", "vn2", "e3.1");
		cm.pi = pageID;
		if (theURL && theURL != "") 
		{
			cm.ul = theURL;
		}

		var imgRequest = new Image();
		imgRequest.src = cm.getImgSrc();
	}	
	
	if (oldOnClick>-1)
	{
		cmOnClickPointer[oldOnClick]();
	}

	return true;
}

function getLinkPageID(linkObj) {

	var paramIndex;
	var questIndex;
	var param = "/docrepo/";
	var pdfName;
	var requestor = "";
	var urlParams;
	var end;
	
	if (linkObj)
	{
		var link = linkObj.href;
		if (link && link.toLowerCase().indexOf(param) > -1) {
			paramIndex = link.toLowerCase().lastIndexOf("/");
			questIndex = link.indexOf("?", paramIndex);
			pdfName = link.substr(paramIndex+1, questIndex-(paramIndex+1));
			urlParams = link.substr(questIndex);
			
			param = "requester=";
			paramIndex = urlParams.indexOf(param);
			if(paramIndex > 0) {
				leadChar = urlParams.charAt(paramIndex-1);
				if(leadChar == '?' || leadChar == '&') {
					paramIndex = paramIndex + param.length;
					end = urlParams.indexOf("&", paramIndex);
					if(end < 0) {
						requestor = urlParams.substr(paramIndex);
					} else {
						requestor = urlParams.substr(paramIndex, end-(paramIndex));
					}
				}
			}

			param = "type=";
			paramIndex = urlParams.indexOf(param);
			if(!pdfName && paramIndex >= 0) {
				leadChar = urlParams.charAt(paramIndex-1);
				if(leadChar == '?' || leadChar == '&') {
					paramIndex = paramIndex + param.length;
					end = urlParams.indexOf("&", paramIndex);
					if(end < 0) {
						pdfName = urlParams.substr(paramIndex);
					} else {
						pdfName = urlParams.substr(paramIndex, end-(paramIndex));
					}
				}
			}
			
			if(!pdfName) {
				pdfName = "PDF:Filename/Type Not Available";
			}
			pdfName = pdfName + " | " + requestor;
			return pdfName;
		}
		else {
			var link = linkObj.href;
			// alert( "a-ha! " + link );
			return link.pathname + " | " + link.split("'").join("").split("\"").join("").split("\n").join("");
		}
	} else {
		return null;
	}
}
