
var DMNETlinkImg= new Image();;
var DMNETLversion = 86;
function LinkTrack(e)
{
  var clCode = '';
  var url    = '';
  if(document.layers)
    {
      if (e.target.onclick)
        {
          clCode = e.target.onclick.toString().toLowerCase();
          url = e.target.href;
        }
    }
  else
    {
      var parentCode = (document.all) ? "parentElement" : "parentNode";
	  
      var thing = (document.all) ? event.srcElement : e.target;//.parentNode;
      while(thing.tagName && thing.tagName.toString() != "A")
        {
          if(eval("thing."+parentCode))
            {
              thing = eval("thing."+parentCode);
            }
          else
            {
              return;
            }
        }
      var thingObj;
      if(navigator.userAgent.indexOf('Mac') != -1 && navigator.appVersion.indexOf('MSIE 4.5') != -1)
        {
          thingObj = thing.outerHTML;
        }
      else
        {
          thingObj = thing.onclick;
        }
      if(thingObj)
        {
          clCode = thingObj.toString().toLowerCase();
          url = thing.href;
        }
    }
  if(url.indexOf('http') > 0)
    {
      var mat = url.match(/http[^"'()]*/);
      if(mat != "")
        url = mat;
    }
  if((clCode.indexOf('dmnetclick') != -1))
    {
      var n = new Date();
      DMNETlinkImg.src = location.protocol+DMNETsendTo+"v="+DMNETLversion+"&id=" + DMNETsession + "&lnk=" + escape(url) + "&rnd="  +  n.getTime();
      Hold();
    }
  return true;
};
function Hold()
{
  if(DMNETlinkImg.readyState)
    {
      var secureCount = 0;
      while(DMNETlinkImg.readyState != 'complete')
        {
          if(secureCount > 10000)
            break;
          secureCount++;
        }
    }
  else
    {
      var endAt = new Date().getTime() + 250;
      var rightNow;
      while(true)
        {
          rightNow = new Date();
          if(rightNow.getTime() >= endAt)
            break;
        }
    }
};
if(document.layers || (!document.layers && !document.all))
  {
    if(document.layers)
      {document.captureEvents(Event.MOUSEDOWN);}
    document.onmousedown=LinkTrack;
  }
else
  {document.onmouseup=LinkTrack;}
  
//This Javascript works on IE only
//it finds all links to download documents and sets the link tracking code on them!
window.onload = function() {
	var regDownload = /[\w-]+\.(pdf|zip|ppt|doc|pps|xls|swf|rm|ram|exe|mp3|m4a)/ig;
	var regOffSite =  /^http(s)?:\/\//i;
	var regOnSite = new RegExp("^http(s)?:\/\/" + location.hostname,"i");
	if (document.getElementById) {
		var arrAnchors = document.getElementsByTagName("A");
		for (i=0; i < arrAnchors.length ; i++) {
			var strLink = arrAnchors[i].getAttribute("href");
			if ((regDownload.test(strLink)) || ((regOffSite.test(strLink)) && (!(regOnSite.test(strLink))))) {
				if (arrAnchors[i].getAttribute("onclick") != null) {
					strClick = "dmnetclick=1;" + arrAnchors[i].getAttribute("onclick");
				} else {
					strClick = "dmnetclick=1;";
				}
			arrAnchors[i].setAttribute("onclick",strClick);
			}
		}
	} else if (document.all) {
		for (i=0; i<document.all.length; i++){
			if (document.all[i].tagName == 'A'){
				var objAnchor = document.all[i];
				var strLink = objAnchor.href.toString();
				if ((regDownload.test(strLink)) || ((regOffSite.test(strLink)) && (!(regOnSite.test(strLink))))) {
					var strHTML = objAnchor.outerHTML;
					if (objAnchor.onclick != null){
						var regClick = /(onclick="([^"]*)\")|(onclick=([\S]*))/ig
						var objMatch = strHTML.match(regClick);
						var strClick = "onclick=\"dmnetclick=1;" + ((RegExp.$2 !="") ? RegExp.$2 : RegExp.$4) + "\"";
						strHTML = strHTML.replace(regClick, strClick);
						}
					else {
						var regClick = /(<a)([\s]+)(\S)/ig;
						var objMatch = strHTML.match(regClick);
						var strClick = " onclick=\"dmnetclick=1;\" ";
						strHTML = strHTML.replace(regClick, "$1" + strClick + "$3");
						}
					objAnchor.outerHTML = strHTML;
					}
				}
			}
		}
	if (this.myOnLoad != null) myOnLoad();
	}
