//  This script informs of attached files downloads to Google Analytics, based on
//  SITEAL's linking scheme.
//  Based on the gatag.js script by Goodwebpractices.com
//	www.goodwebpractices.com

function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function isURLtoPDF(url) {
  
  var urlParts = url.split('/');
  var lastPart = urlParts.pop();
  var fileParts = lastPart.split('.');
  var extension = fileParts.pop();
  return extension.toLowerCase() == 'pdf';
}

if (document.getElementsByTagName) {
  // Initialize external link handlers
  var hrefs = document.getElementsByTagName("a");
  for (var l = 0; l < hrefs.length; l++) {          
    try{
      var link = hrefs[l].pathname + hrefs[l].search;
      var matches = link.match(/^.*download_attach\.asp\?TipoDownload=([^\&]+)&Arch[^\=]*\=([^\&]+).*$/);
      if(matches != null && matches.length == 3) {
        monitorLink(hrefs[l], 'files/' + matches[1] + '/' + matches[2]);
      } else {        
        if(isURLtoPDF(link)) {
          monitorLink(hrefs[l], link);          
        }
      }
    } catch(e){
      continue;
    }
  }
}

function monitorLink(aElement, virtualFileName) {
  
  var func = function(event) {
    var e = (event.srcElement) ? event.srcElement : this;
    while (e.tagName != "A") {
      e = e.parentNode;
    }

    if (typeof(pageTracker) == "object") {
      //alert("Tracking " + virtualFileName);
      pageTracker._trackPageview(virtualFileName);
    }
  };
  
  if (aElement.addEventListener) {
    aElement.addEventListener("click", func, false);
  } else if (aElement.attachEvent) {
    aElement.attachEvent("onclick", func);
  }
}