
/* HEAT MAP*/
/**
 * @author David Pardo: Corunet
 * Run after loading
 */

var xOffset,yOffset;
var tempX = 0;
var tempY = 0;

//detect browser
var IE = document.all?true:false
if (!IE) {
	document.captureEvents(Event.MOUSEMOVE)
}
//find the position of the first item on screen and store offsets
	//find the first item on screen (after body)
	//var firstElement=document.getElementsByTagName('body')[0].childNodes[1];
	var firstElement=document.getElementById("master_menu");
	//find the offset coordinates
	xOffset=findPosX(firstElement);
	yOffset=findPosY(firstElement);
	if (IE){ // In IE there's a default margin in the page body. If margin's not defined, use defaults
		if (document.getElementsByTagName('body')[0].style.marginLeft) {
			var marginLeftExplorer = parseInt(document.getElementsByTagName('body')[0].style.marginLeft);
		} else if (document.getElementsByTagName('body')[0].leftMargin) {
			var marginLeftExplorer = parseInt(document.getElementsByTagName('body')[0].leftMargin);
		} 
		
		if (document.getElementsByTagName('body')[0].style.marginTop) {
			var marginTopExplorer = parseInt(document.getElementsByTagName('body')[0].style.marginTop);
		} else if (document.getElementsByTagName('body')[0].topMargin) {
			var marginTopExplorer = parseInt(document.getElementsByTagName('body')[0].topMargin);
		} 
		
		/*assume default 10px/15px margin in explorer*/
		if (isNaN(marginLeftExplorer)) {marginLeftExplorer=10;}
		if (isNaN(marginTopExplorer)) {marginTopExplorer=15;}
		xOffset=xOffset+marginLeftExplorer;
		yOffset=yOffset+marginTopExplorer;
	}
/*attach a handler to the onmousedown event that calls a function to store the values*/
document.onmousedown = getMouseXY;

/*Functions*/
/*Find positions*/
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}else if (obj.x){
		curleft += obj.x;
	}
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}else if (obj.y){
		curtop += obj.y;
	}
	return curtop;
}
function getMouseXY(e) {
	var scroller = getScrollXY();
	if (IE) {
		tempX = event.clientX + scroller[0];
		tempY = event.clientY + scroller[1];
	} else {
		tempX = e.pageX
		tempY = e.pageY
	}
	tempX-=xOffset;
	tempY-=yOffset;
	u=escape(window.location.href);
	var url='/scripts/heatmap.ashx?x='+tempX+'&y='+tempY+'&u='+u;
	//document.title="("+tempX+","+tempY+")";
	
	guardar(url);
	return true;
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  //document.title="("+scrOfX+","+scrOfY+")";
  return [ scrOfX, scrOfY ];
}

function guardar(url){
	var xmlDoc = null ;
	if (typeof window.ActiveXObject != 'undefined' ) {
		xmlDoc = new ActiveXObject('Microsoft.XMLHTTP');
	}else {
		xmlDoc = new XMLHttpRequest();
	}
	xmlDoc.open( 'GET', url, true );
	xmlDoc.send( null );
}
/* HEAT MAP */
