window.onload = metrics_start;
window.onunload = metrics_end;

// Metrics tracking for pathing, dwell time and drop off
//failing in IE, we need to pause execution before end
var tStart;
var tEnd;
function metrics_start() {
   tStart   = new Date().getTime();
}
function metrics_end() {
    if(document.images['metrics']) {
        tEnd   = new Date().getTime();
        send_end_metrics(); 
    }
}
function metrics_end_delay(endMetrics) {
    return endMetrics;
}

function send_end_metrics(page_id) {
   var d = tEnd - tStart;
   var r = document.referrer;
   var ua = navigator.userAgent;
   var fv = deconcept.SWFObjectUtil.getPlayerVersion();
   var res;
   res = get_screen_res();

   var host    = document.images['metrics'].src.replace(/^(http:\/\/([^\/]+)\/).*$/, '$1');
   var client  = document.images['metrics'].src.replace(/^http:\/\/([^\/]+)\/(([^\/]+)\/).*$/, '$2');
   var site    = document.images['metrics'].src.replace(/^http:\/\/([^\/]+)\/([^\/]+)\/(([^\/]+)\/).*$/, '$3');
   var page_id = document.images['metrics'].src.replace(/^.*(page_id=)([^&]*).*$/, '$2');

   var url = host + client + site;

   var params = new Array();
   params['d'] = d;
   params['r'] = r;
   params['ua'] = ua;
   params['fv'] = fv;
   params['w'] = res.width;
   params['h'] = res.height;
   for(var key in params) {
      var endMetrics = new Image();
      endMetrics.src = url + "page_id=" + page_id;
      endMetrics.src += "&" + key + "=" + params[key];
      endMetrics.src += "&et=ea";
      metrics_end_delay(endMetrics);
   }

}

function get_screen_res() {
   if (self.screen) {
      width = screen.width;
      height = screen.height;
   }
   // for NN3 w/Java
   else if (self.java) {
      var javakit = java.awt.Toolkit.getDefaultToolkit();
      var scrsize = javakit.getScreenSize();
      width = scrsize.width;
      height = scrsize.height;
   }
   else {
      // N2, E3, N3 w/o Java (Opera and WebTV)
      width = height = '?';
   }
   return new Array(width,height);
}

