var pgAct_path           = -1;
var pgAct_pointerX       = -1;
var pgAct_pointerY       = -1;
var pgAct_clickTime      = -1;
var pgAct_sectionType    = -1;
var pgAct_resolution     = 4;
var pgAct_dwellDatum     = 0;
var pgAct_viewPortWidth  = 0;
var pgAct_viewPortHeight = 0;
var pgAct_minFold        = 0;
var pgAct_maxFold        = 0;
var pgAct_debugLog       = false;
var pgAct_postLoad       = (typeof(window.onload)!="undefined" && window.onload != null )  ?(window.onload)  :(function(){});
var pgAct_postUnLoad     = (typeof(window.onunload)!="undefined" && window.onunload != null )?(window.onunload):(function(){});
var pgAct_postScroll     = (typeof(window.onscroll)!="undefined" && window.onscroll != null )?(window.onscroll):(function(){});
var pgAct_postClick;
var pgAct_IE4=(navigator.userAgent.indexOf('MSIE 4') > 0)?true:false;
var pgAct_IE5=(document.all)?true:false;
window.onload = pgAct_init;
window.onunload = pgAct_unload;
if( window.captureEvents )
{
  window.captureEvents(Event.CLICK);
  pgAct_postClick   = ( typeof(window.onclick)!="undefined" && window.onclick != null ) ?(window.onclick) :(function(){});
  window.onclick    = pgAct_logClick;
}
else
{
  pgAct_postClick  = ( typeof(document.onclick)!="undefined" && document.onclick != null ) ?(document.onclick) :(function(){});
  document.onclick = pgAct_logClick;
}

window.onclick = pgAct_logClick
window.onscroll = pgAct_logScroll;

function pgAct_unload()
{
  var uri = document.location.href;
  pgAct_path = uri.substr( uri.indexOf( "/", uri.indexOf(":")+3) );
    
  // check current fold/scroll - in case link took user to point down page = no scroll event
  pgAct_logFold();
  
  // get view port
  pgAct_logViewPort()
  
  //get dwell time
  var dwell = (pgAct_dwellDatum>0)?(new Date() - pgAct_dwellDatum):(0);
  
  //call log URI with
  var srcUri = "/trace/pageActivity.jsp?p="+escape(pgAct_path)+"&t="+pgAct_sectionType+"&x="+pgAct_pointerX+"&y="+pgAct_pointerY+"&d="+dwell+"&f="+pgAct_minFold+"&s="+pgAct_maxFold+"&w="+pgAct_viewPortWidth+"&h="+pgAct_viewPortHeight+"&r="+pgAct_resolution;
  if( !pgAct_debugLog )
  {
    var img = new Image();
    img.src = srcUri;
  }
  else
  {
    alert(srcUri);
  }
  
  pgAct_postUnLoad();
}

/* onload - start max scroll checking and dwell timer */
function pgAct_init()
{
  pgAct_debugLog    = (typeof(pgAct_debug)=="undefined")?(pgAct_debugLog):(pgAct_debug);
  pgAct_sectionType = (typeof(pgAct_section)=="undefined")?(pgAct_sectionType):(pgAct_section);
  pgAct_resolution  = (typeof(pgAct_res)=="undefined")?(pgAct_resolution):(pgAct_res);
  
  pgAct_dwellDatum = new Date();
  pgAct_minFold  = 0;
  pgAct_maxFold  = 0;

  pgAct_postLoad();
}

/* click logger */
function pgAct_logClick( evnt )
{  
  evnt = (typeof(event)!="undefined")?(event):(evnt);	//IEeeeee

  pgAct_pointerX = (evnt.x) ? evnt.x : evnt.pageX;
  pgAct_pointerX = (pgAct_IE5 && !pgAct_IE4) ? (pgAct_pointerX+document.body.scrollLeft) : (pgAct_pointerX);
  
  pgAct_pointerY = (evnt.y) ? evnt.y : evnt.pageY;
  pgAct_pointerY = (pgAct_IE5 && !pgAct_IE4) ? (pgAct_pointerY+document.body.scrollTop) : (pgAct_pointerY);
  
  pgAct_clickTime = new Date();
  return pgAct_postClick();
}

/* max scroll logger */
function pgAct_logScroll()
{
  pgAct_logFold()  
  pgAct_postScroll();
  return true;
}

function pgAct_logFold()
{
  pgAct_minFold = document.body.clientHeight;
  if( document.body.scrollTop && !pgAct_IE4 )
  {
    pgAct_maxFold = Math.max( pgAct_maxFold, (document.body.scrollTop + document.body.clientHeight) );
  }
  else if( document.documentElement )
  {
    pgAct_maxFold = Math.max( pgAct_maxFold, (document.documentElement.scrollTop + document.body.clientHeight) );
  }
}

function pgAct_logViewPort()
{
  pgAct_viewPortWidth  = document.body.clientWidth;
  pgAct_viewPortHeight = document.body.clientHeight;
}
