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;

$(document).ready(pgAct_init);
$(window).click(pgAct_logClick);
$(window).unload(pgAct_unload);

function pgAct_unload()
{
  if( pgAct_pointerX == -1 || pgAct_pointerY == -1 )
  {
	return;
  }
  
  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_maxFold = Math.max( pgAct_maxFold, ($(document).scrollTop() + $(window).height()) );
  
  // get view port
  pgAct_viewPortWidth  = $(window).width();
  pgAct_viewPortHeight = $(window).height();
  
  //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);
  }
}

/* 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  = $(window).height();
  pgAct_maxFold  = pgAct_minFold;
}

function pgAct_offsetCorrect()
{
  return (typeof(pgAct_offset)=="undefined" || $(pgAct_offset).length == 0)?(0):($(pgAct_offset).offset().left);
}

/* click logger */
function pgAct_logClick( evnt )
{
  pgAct_pointerX = evnt.pageX - pgAct_offsetCorrect();
  pgAct_pointerY = evnt.pageY;
  
  pgAct_clickTime = new Date();
}
