1 /* Track outgoing clicks */
\r
3 // By default, this script will track links to the follwoing file
\r
4 // types: .doc, .xls, .exe, .zip and .pdf
\r
6 var fileTypes = (".doc",".xls",".exe",".zip",".pdf");
\r
8 // This is a debug mode flag. Change to '' for production. In debug mode
\r
9 // the script will display an alert box and skip sending data to Google
\r
15 // This variable controls how outbond links will appear
\r
16 // the GA reports. By default, external links will appear as
\r
17 // '/outbound/<URL>' where URL is the URL in the anchor tag.
\r
19 var extIdentifier = '/outbound'+_udl.pathname+'/'+_udl.search+'/';
\r
21 /// No need to change anything below this line ///
\r
23 if (document.getElementsByTagName) {
\r
24 // Initialize external link handlers
\r
25 var hrefs = document.getElementsByTagName('a');
\r
27 for (var l = 0; l < hrefs.length; l++) {
\r
28 //protocol, host, hostname, port, pathname, search, hash
\r
29 if (hrefs[l].hostname == location.host) {
\r
30 var path = hrefs[l].pathname;
\r
31 if (path.indexOf(fileTypes) != -1) startListening(hrefs[l],"click",trackDocuments);
\r
33 startListening(hrefs[l],"click",trackExternalLinks);
\r
38 function startListening (obj,evnt,func) {
\r
39 if (obj.addEventListener) {
\r
40 obj.addEventListener(evnt,func,false);
\r
41 } else if (obj.attachEvent) {
\r
42 obj.attachEvent("on" + evnt,func);
\r
46 function trackDocuments (evnt) {
\r
47 var url = (evnt.srcElement) ? "/" + evnt.srcElement.pathname : this.pathname;
\r
49 if (typeof(urchinTracker) == "function") {
\r
59 function trackExternalLinks (evnt) {
\r
61 if (evnt.srcElement) {
\r
62 var elmnt = evnt.srcElement;
\r
63 while (elmnt.tagName != "A") {
\r
64 var newelmnt = elmnt.parentNode;
\r
67 lnk = extIdentifier +elmnt.hostname + "/" + elmnt.pathname + elmnt.search;
\r
69 lnk = extIdentifier + this.hostname + this.pathname + this.search;
\r
72 if (typeof(urchinTracker) == "function") {
\r
83 _uacct = "UA-79784-5";
\r
84 _uOsr.push("images.google");
\r