
var xOffset,yOffset;
var tempX = 0;
var tempY = 0;
var heatmap_page ='';
var heatmap_site ='';
var IE;

function initHeatMap()
{
	//detect browser
 	IE = document.all?true:false
	if (!IE) {
		document.captureEvents(Event.MOUSEMOVE)
	}
	
	
		
		
	// attach a handler to the onmousedown event that calls a function to store the values
	document.onmousedown = getMouseXY;
}



//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) {

	//find the position of the first item on screen and store offsets
		//find the first item on screen (after body)

		//find the offset coordinates

		if (IE){ // In IE there's a default margin in the page body. If margin's not defined, use defaults
			var marginLeftExplorer  = parseInt(document.getElementsByTagName('body')[0].style.marginLeft);
			var marginTopExplorer   = parseInt(document.getElementsByTagName('body')[0].style.marginTop);
			// assume default 10px/15px margin in explorer
			if (isNaN(marginLeftExplorer)) {marginLeftExplorer=10;}
			if (isNaN(marginTopExplorer)) {marginTopExplorer=15;}
			xOffset=xOffset+marginLeftExplorer;
			yOffset=yOffset+marginTopExplorer;
		}
		else
		{
			var firstElement=document.getElementsByTagName('body')[0].childNodes[1];
			xOffset=findPosX(firstElement);
			yOffset=findPosY(firstElement);			
		}






	
		if (IE) {



			var x = event.clientX;
			var y = event.clientY;
			var w = document.documentElement.clientWidth;
			var h = document.documentElement.clientHeight;
			var scrollx = document.documentElement.scrollLeft;
			var scrolly = document.documentElement.scrollTop;
		
			if (x > w || y > h)
			{

				return true;
			}
			
			
			tempX = event.clientX + document.body.scrollLeft
			tempY = event.clientY + document.body.scrollTop
			
			
			
		} else {
			
	
			clickDocument = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;
			
			var x = e.clientX;
			var y = e.clientY;
			var w = clickDocument.clientWidth != undefined ? clickDocument.clientWidth : window.innerWidth;
			var h = clickDocument.clientHeight != undefined ? clickDocument.clientHeight : window.innerHeight;
			var scrollx = window.pageXOffset == undefined ? clickDocument.scrollLeft : window.pageXOffset;
			var scrolly = window.pageYOffset == undefined ? clickDocument.scrollTop : window.pageYOffset;
		
			if (x > w || y > h)
			{
				return true;
			}


			tempX = e.pageX
			tempY = e.pageY
			
		}
	

	
		tempX-=xOffset;
		tempY-=yOffset;
		tempX = x + scrollx;
		tempY = y + scrolly;
		var url='http://www.trumanguan.com/heatmap/click.php';	
		
		var docHeight = (document.height !== undefined) ? document.height : document.body.offsetHeight;
		var docWidth = (document.width !== undefined) ? document.width : document.body.offsetWidth;
	
		
	
		var param = '&s='+heatmap_site + '&x='+tempX + '&y='+tempY + '&p='+heatmap_page + '&u='+window.location + '&w='+docWidth + '&h='+getDocHeight();
		




		if (e == undefined)
		{
			e = window.event;
		}
		var clickHeatDocument = (document.documentElement != undefined && document.documentElement.clientHeight != 0) ? document.documentElement : document.body;
		var x = e.clientX;
		var y = e.clientY;
		var w = clickHeatDocument.clientWidth != undefined ? clickHeatDocument.clientWidth : window.innerWidth;
		var h = clickHeatDocument.clientHeight != undefined ? clickHeatDocument.clientHeight : window.innerHeight;
		var scrollx = window.pageXOffset == undefined ? clickHeatDocument.scrollLeft : window.pageXOffset;
		var scrolly = window.pageYOffset == undefined ? clickHeatDocument.scrollTop : window.pageYOffset;


		tempX = x + scrollx;
		tempY = y + scrolly;




		dataImage = new Image(); 
		dataImage.src = 'http://www.trumanguan.com/heatmap/click.php?s='+heatmap_site + '&x='+tempX + '&y='+tempY + '&p='+heatmap_page + '&u='+window.location + '&w='+docWidth + '&h='+getDocHeight() + '&r='+document.referrer;


//	guardar(url, param);
	return true;
}


function guardar(url, param)
{
	var xmlDoc = null ;
	if (typeof window.ActiveXObject != 'undefined' ) {
		xmlDoc = new ActiveXObject('Microsoft.XMLHTTP');
	}else {
		xmlDoc = new XMLHttpRequest();
	}
	xmlDoc.open( 'POST', url, true );
	xmlDoc.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	xmlDoc.send( param );
}




function getViewPortHeight()
{
    var viewportwidth;
    var viewportheight;

    //Standards compliant browsers (mozilla/netscape/opera/IE7)
    if (typeof window.innerWidth != 'undefined')
    {
        viewportwidth = window.innerWidth,
        viewportheight = window.innerHeight
    }

    // IE6
    else if (typeof document.documentElement != 'undefined'
    && typeof document.documentElement.clientWidth !=
    'undefined' && document.documentElement.clientWidth != 0)
    {
        viewportwidth = document.documentElement.clientWidth,
        viewportheight = document.documentElement.clientHeight
    }

    //Older IE
    else
    {
        viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
        viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }

    return viewportheight;
	//viewportwidth// + "~" + 
}



function GetWidth()
{
	var x = 0;
	if (self.innerHeight)
	{
		  x = self.innerWidth;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	{
		  x = document.documentElement.clientWidth;
	}
	else if (document.body)
	{
		  x = document.body.clientWidth;
	}
	return x;
}
 
 
function getDocHeight() {
	var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}



