/**
* MouseCoordinates Class
*
* @author: pedrocorreia.net
*/

/**
* Get Mouse Coordinates
* @param Event
*
* @return Int X Coordinate
* @return Int Y Coordinate
*/
var MouseCoord = function(event) {
  event = event || window.event;

  //get mouse position
  var e = {
    _x: (event.pageX || event.clientX + (document.documentElement || document.body).scrollLeft),
    _y: (event.pageY || event.clientY + (document.documentElement || document.body).scrollTop)
  };
  
  
  //output coordinates
  var _console = function(o){
	var fullW = screen.width;
	var fullH = screen.height;
	var midW = screen.width/2;
	var midH = screen.height/2;
	var bd = document.getElementsByTagName('body');
	var bdW = parseInt(bd[0].offsetWidth);
	var bdH = parseInt(bd[0].offsetHeight);
	var sobraW = (screen.width-bdW)/2;
	var sobraH = (screen.width-bdH)/2;
	var tipT = document.getElementById(o);
	var tipW = parseInt(tipT.offsetWidth);
	var tipH = parseInt(tipT.offsetHeight);

	if(event.pageX){
		var d = event.pageX;
	}else{
		var d = event.clientX;
	}
	
	var s = (screen.width-1024)/2;
	
	//Se o tooltip estiver do lado esquerdo da tela
	if(e._x < midW)
	{
		document.getElementById(o).style.left = (d-s)+"px";
		
	//Se o tooltip estiver do lado direito da tela
	}else{
		
		//Se a tela for menor ou igual a 1024 pixels de largura
		if(screen.width<=1024)
		{
 			document.getElementById(o).style.left = (d-tipW)+"px";
		
		}
		//Se a tela for maior que 1024 pixels de largura
		else
		{
			//Se o início da tooltip for menor ao início da página será igual ao início da página
			if((d-tipW-s)<10){
				document.getElementById(o).style.left = "10px";
			}else{
				document.getElementById(o).style.left = (d-tipW-s)+"px";
			}
		}
	}
	
	if(e._y>midH){
		document.getElementById(o).style.top = (e._y-tipH-10)+"px";
	}else{
		document.getElementById(o).style.top = (e._y+20)+"px";
	}
	
	/*
	if(e._x>midW){
		document.getElementById(o).style.left = (e._x-tipW-sobraW)+"px";
	}else{
		document.getElementById(o).style.left = (e._x-sobraW)+"px";
	}
	
	if(e._y>midH){
		document.getElementById(o).style.top = (e._y-tipH)+"px";
	}else{
		document.getElementById(o).style.top = (e._y+15)+"px";
	}
	*/
	
  };
  
  return {
    X: e._x,
    Y: e._y,
    toString: _console
  };
};
