   var drstTrackPath = "http://stattracker.developmentresults.com/Track.drst?LogVersion=1";
   //var drstTrackPath = "http://localhost.stattracker/Track.drst?LogVersion=1";
   var drst_clickExts = ",pdf,xls,doc,csv,xml,ppt,mp3,wmv,wma,mov,avi,zip,txt,vsd,exe,docx,xlsx,pptx,avi,gif,jpg,jpeg,png,bmp,tif,rar,ra,rm,wav,mpg,mpeg,aac,xps,";
   var drst_ClientID = 35;

   var drstDoTrace = false;
   var drstDiv;
   var drst_bV  = parseInt(navigator.appVersion);
   var drst_bNS = navigator.appName=="Netscape";
   var drst_bIE = navigator.appName=="Microsoft Internet Explorer";
   
   function drstSetup()
   {    
        drstTrace("drstSetup Start");
        
        if(drstDiv == null)
        {
            drstDiv = window.document.createElement("div");
            drstDiv.name = "divDRST";
            drstDiv.id = "divDRST";
            
            drstDiv.style.display = "none";
            drstDiv.style.height = "0px";
            drstDiv.style.width = "0px";
            drstDiv.style.overflow = "hidden";
            
            document.body.insertBefore(drstDiv,document.body.childNodes[0]);
        }
        
        drstTrace("drstSetup Complete");
   }

   function drstMakeRequest(drstSrc)
   {
        drstTrace("drstMakeRequest Start");
        
        drstSetup();
        
        var IF = document.createElement("iframe");
        IF.width="0px";
        IF.height="0px";
        IF.scrolling="no";
        IF.frameborder="0";
        IF.marginheight="0";
        IF.marginwidth="0";
        IF.src = drstSrc + "&ClientID=" + drst_ClientID;
                        
        drstDiv.appendChild(IF);
        
        drstTrace("drstMakeRequest Complete");
   }
   
   function drstSetupClickLogging()
   {
        document.onmousedown = drstHandleDocumentClick;
        if (document.layers) window.captureEvents(Event.MOUSEDOWN);
        if (drst_bNS && drst_bV<5) window.onmousedown = drstHandleDocumentClick;
   }
   
   function drstHandleDocumentClick(drst_e)
   {
       var targ;
	    if (!drst_e) var drst_e = window.event;
	    if (drst_e.target) targ = drst_e.target;
	    else if (drst_e.srcElement) targ = drst_e.srcElement;
	    if (targ.nodeType == 3) // defeat Safari bug
		    targ = targ.parentNode;
		    
		drstTrace("drstHandleDocumentClick nodeName: " + targ.nodeName);
		
		if (targ.nodeName != "A")
		    targ = targ.parentNode;
		
		if(targ.href != undefined)
		{
		    var ext = "";
		    var extIdx = targ.href.indexOf("?");
		    if(extIdx > 0)
		    {
		        ext = targ.href.substring(0,extIdx);
		    }else{
		        ext = targ.href;
		    }
		    
		    extIdx = ext.lastIndexOf(".");
		    if(extIdx > 0)
		    {
		        ext = ext.substring(extIdx + 1);
		        if(drst_clickExts.indexOf(',' + ext + ',') >= 0)
		        {
	                drstTrackLink(targ, "");
		        }
		    }
	    }
       
       return true;
   }
    
    
   function drstTrackPageView()
   {
        try
        {
            drstTrace("drstTrackPageView Start");
            var drstBrowserResults = new Object();
            var drstBrowserDetect = {
	            init: function () {
		            drstBrowserResults.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		            drstBrowserResults.version = this.searchVersion(navigator.userAgent)
			            || this.searchVersion(navigator.appVersion)
			            || "an unknown version";
		            drstBrowserResults.OS = this.searchString(this.dataOS) || "an unknown OS";
		            drstBrowserResults.cookies = navigator.cookieEnabled;
		            drstBrowserResults.language = (navigator.userLanguage) ? navigator.userLanguage : navigator.language;
		            drstBrowserResults.platform = navigator.platform;
		            drstBrowserResults.page = escape(location.href.split("?")[0]);
		            drstBrowserResults.referrer = escape(document.referrer);
	                drstBrowserResults.width = screen.width;
	                drstBrowserResults.height = screen.height;
	            },
	            searchString: function (data) {
		            for (var i=0;i<data.length;i++)	{
			            var dataString = data[i].string;
			            var dataProp = data[i].prop;
			            this.versionSearchString = data[i].versionSearch || data[i].identity;
			            if (dataString) {
				            if (dataString.indexOf(data[i].subString) != -1)
					            return data[i].identity;
			            }
			            else if (dataProp)
				            return data[i].identity;
		            }
	            },
	            searchVersion: function (dataString) {
		            var drstIndex = dataString.indexOf(this.versionSearchString);
		            if (drstIndex == -1) return;
		            return parseFloat(dataString.substring(drstIndex+this.versionSearchString.length+1));
	            },
	            dataBrowser: [
		            { 	string: navigator.userAgent,
			            subString: "OmniWeb",
			            versionSearch: "OmniWeb/",
			            identity: "OmniWeb"
		            },
		            {
			            string: navigator.vendor,
			            subString: "Apple",
			            identity: "Safari"
		            },
		            {
			            prop: window.opera,
			            identity: "Opera"
		            },
		            {
			            string: navigator.vendor,
			            subString: "iCab",
			            identity: "iCab"
		            },
		            {
			            string: navigator.vendor,
			            subString: "KDE",
			            identity: "Konqueror"
		            },
		            {
			            string: navigator.userAgent,
			            subString: "Firefox",
			            identity: "Firefox"
		            },
		            {
			            string: navigator.vendor,
			            subString: "Camino",
			            identity: "Camino"
		            },
		            {		// for newer Netscapes (6+)
			            string: navigator.userAgent,
			            subString: "Netscape",
			            identity: "Netscape"
		            },
		            {
			            string: navigator.userAgent,
			            subString: "MSIE",
			            identity: "Explorer",
			            versionSearch: "MSIE"
		            },
		            {
			            string: navigator.userAgent,
			            subString: "Gecko",
			            identity: "Mozilla",
			            versionSearch: "rv"
		            },
		            { 		// for older Netscapes (4-)
			            string: navigator.userAgent,
			            subString: "Mozilla",
			            identity: "Netscape",
			            versionSearch: "Mozilla"
		            }
	            ],
	            dataOS : [
		            {
			            string: navigator.platform,
			            subString: "Win",
			            identity: "Windows"
		            },
		            {
			            string: navigator.platform,
			            subString: "Mac",
			            identity: "Mac"
		            },
		            {
			            string: navigator.platform,
			            subString: "Linux",
			            identity: "Linux"
		            }
	            ]

            };
            drstBrowserDetect.init();
        }
        catch(err)
        {
            //nothing
        }
            
        drstTrace("drstTrackPageView Detection Complete");
        
        //start tag with the type of transaction it is; 0 = pageview, lpVer is the version of the logP that should be used
        var drstSrc = drstTrackPath + '&Type=0';
        var sep = "&";
        
        //load all the values that were built in the BrowserDetect object
        for (drstV in drstBrowserResults)
        {
            if(drstBrowserResults[drstV])
            {
                drstSrc += sep + drstV + "=" + drstBrowserResults[drstV];
                //sep = "|";
            }
        }
        
        drstTrace("drstTrackPageView src: " + drstSrc);
		
		drstMakeRequest(drstSrc);
		
		drstTrace("drstTrackPageView Complete");
    }
    
    function drstTrace(msg)
    {
        if(drstDoTrace)
        {
            alert("Trace:\n\n" + msg);
        }
    }
    
    function drstTrackLink(anchor, args)
    {
        drstTrace("drstTrackLink Start");
        
        var drstSrc = drstTrackPath + '&Type=1';
        drstSrc += "&page=" + anchor.href;
		drstSrc += "&referrer=" + escape(location.href.split("?")[0]);
		
		if(args != null && args.length > 0)
		{
		    drstSrc += "&args=" + escape(args);
		}
		
		drstMakeRequest(drstSrc);
		
		drstTrace("drstTrackLink Complete");
		
		return true;
    }
    
    function drstTrackAction(name, args)
    {
        drstTrace("drstTrackAction Start");
        
        var drstSrc = drstTrackPath + '&Type=2';
        drstSrc += "&page=" + name;
		drstSrc += "&referrer=" + escape(location.href.split("?")[0]);
		
		if(args != null && args.length > 0)
		{
		    drstSrc += "&args=" + escape(args);
		}
				
		drstMakeRequest(drstSrc);
		
		drstTrace("drstTrackAction Complete");
    }
        
    drstSetupClickLogging();

    drstTrace("2.3");
