var qTipTag = new Array("span","div","img","a","abbr","acronym","input","textarea"); // Array com as tags que nos implementaremos o Tool-tip
var qTipX = -30; // qTip's X offset//
var qTipY = 25; //qTip's Y offset//
var IE = false;
var nn = navigator.appName;

tooltip = {
	name : "qTip",
	offsetX : qTipX,
	offsetY : qTipY,
	tip : null
}

// simplificando o document.getElementByID()
function getID(id) {return document.getElementById(id);}

tooltip.init = function () {
	if(nn == "Microsoft Internet Explorer") IE= true;

	var tipNameSpaceURI = "http://www.w3.org/1999/xhtml";
	if(!tipContainerID){ var tipContainerID = "qTip";}
	var tipContainer = getID(tipContainerID);

	if(!tipContainer) {
	  tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
	  tipContainer.setAttribute("id", tipContainerID);
	  tipContainer.setAttribute("style", "position:absolute; z-index:3000");
	  document.body.appendChild(tipContainer);
	}

	if (!getID) return;
	this.tip = getID(this.name);
	if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};

	var a, sTitle;
	for (var j = 0; j < qTipTag.length; j ++) { // loop que vai implementar o tool-tip nas tags escolhidas
		anchors = document.getElementsByTagName ( qTipTag[j] ); // pegamos a tag escolhida
		
		for (var i = 0; i < anchors.length; i ++) { // atribuicao dos tool tips
			a = anchors[i];
			sTitle = a.getAttribute("title"); // pegamos o atributo title
			if(sTitle) { // se estiver setado
				a.setAttribute("tiptitle", sTitle);
				//a.style.cursor="help";
				a.removeAttribute("title");
				if(IE) {a.removeAttribute("alt");}
				a.onmouseover = function() {tooltip.show(this.getAttribute('tiptitle'))};
				a.onmouseout = function() {tooltip.hide()};
			}
		}// fim do for
	}
}

tooltip.move = function (evt) {
	var x=0, y=0;
	if (IE) { //internet exploder
		x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
		y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
		x += event.clientX;
		y += event.clientY;
		var tipExists = getID("temp");
		if(tipExists) {
			tipExists.style.left =(x + this.offsetX) + "px";
			tipExists.style.top =(y + this.offsetY) + "px";
		}
	} else { //Bons Navegadores
		x = evt.pageX;
		y = evt.pageY;
		this.tip.style.left = (x + this.offsetX) + "px";
		this.tip.style.top = (y + this.offsetY) + "px";
	}
}

tooltip.show = function (text) {
	if (!this.tip) return;
	if(IE) {this.tip.innerHTML = "<div class='tooltip' id='temp' style='position:absolute; top:-1000px;'>" + text + "</div>";}
	else {this.tip.innerHTML = "<div class='tooltip'>" + text + "</div>";}
	this.tip.style.display = "block";
}

tooltip.hide = function () {
	if (!this.tip) return;
	this.tip.innerHTML = "";
	this.tip.style.display = "none";
}

$(document).ready(function(){
	tooltip.init();
});
