// Track Adsense in Google Analytics
function as_click () {
  pageTracker._trackPageview('/asclick');
}

if (typeof window.addEventListener != 'undefined')
  {
    //.. gecko, safari, konqueror and standard
    window.addEventListener('load', adsense_init, false);
  }
 else if (typeof document.addEventListener != 'undefined')
   {
     //.. opera 7
     document.addEventListener('load', adsense_init, false);
   }
 else if (typeof window.attachEvent != 'undefined')
   {
     //.. win/ie
     window.attachEvent('onload', adsense_init);
   }
 else
   {
     //.. mac/ie5 and anything else that gets this far
     
     // if there's an existing onload function
     if (typeof window.onload == 'function')
       {
	 //store it
	 var existing = onload;
	 
	 //add new onload handler
	 window.onload = function()
	   {
	     //call existing onload function
	     existing();
	     
	     //call adsense_init onload function
	     adsense_init();
	   };
       }
     else
       {
	 //setup onload function
	 window.onload = adsense_init;
       }
   }

function adsense_init () {
  if (document.all)
    {  //ie
      var el = document.getElementsByTagName("iframe");
    
      for (var i = 0; i < el.length; i++)
	{
	  if (el[i].src.indexOf('googlesyndication.com') > -1)
	    {
	      el[i].onfocus =  as_click;
	    }
	}
    }
  else
    {   // firefox
      window.addEventListener('beforeunload', doPageExit, false);
      window.addEventListener('mousemove', getMouse, true);
    }
}

// for firefox
var px;
var py;

function getMouse(e) {
  px = e.pageX;
  py = e.clientY;
}

function findY(obj) {
  var y = 0;
  while (obj)
    {
      y += obj.offsetTop;
      obj = obj.offsetParent;
    }
  return(y);
}

function findX(obj) {
  var x = 0;
  while (obj)
    {
      x += obj.offsetLeft;
      obj = obj.offsetParent;
    }
  return(x);
}

function doPageExit(e) {
  ad = document.getElementsByTagName("iframe");
  for (i=0; i<ad.length; i++)
    {
      var adLeft = findX(ad[i]);
      var adTop = findY(ad[i]);
      var inFrameX = (px > (adLeft - 10) && px < (parseInt(adLeft) + parseInt(ad[i].width) + 15));
      var inFrameY = (py > (adTop - 10) && py < (parseInt(adTop) + parseInt(ad[i].height) + 10));
    
      if (inFrameY && inFrameX)
	{
	  pageTracker._trackPageview('/asclick');
	}
    }
}

