ie = (document.all)? true:false;
// Compatibilizando o event.type para Mozilla
function MOZEventHandlers(_eventos){var i; for (i=0; i< _eventos.length; i++){document.addEventListener(_eventos[i], function(e){window.event = e;}, true);}}
if(!document.all){MOZEventHandlers(["click","mousedown","mouseup","mouseover","mouseout","mousemove","keyup","keydown","load","focus","blur"]);}
//-->
// Hint

function callHint(conteudo){

	var strPasta = "/javascript/bibliotecas/divHint/";
	var cstTipoEventoOver = "mouseover";
	var cstTipoEventoMove = "mousemove";

	//Procura o primeiro item da página, para inserir a caixa antes dele, e não dentro.
	var objFirstChild;
	if(document.getElementsByTagName("body")[0])
	{
		objFirstChild = document.getElementsByTagName("body")[0].firstChild;
	}
	else if(document.getElementsByTagName("table")[0])
	{
		objFirstChild = document.getElementsByTagName("table")[0];
	}
	else if(document.getElementsByTagName("div")[0])
	{
		objFirstChild = document.getElementsByTagName("div")[0];
	}

	if(!checaVazio(conteudo))
	{
		//Valor utilizado nos cálculos
		var cstDistanciaPadrao = 15;
		if(window.event && (event.type == cstTipoEventoOver || event.type == cstTipoEventoMove) && ! document.getElementById("hintAjuda"))
		{
			if(ie)
			{
				numPosLeft = event.offsetX;
				numPosTop = event.offsetY;
				numPosX = event.clientX;
				numPosY = event.clientY;
			}
			else
			{
				numPosLeft = event.layerX;
				numPosTop = event.layerY;
				numPosX = event.pageX;
				numPosY = event.pageY;
			}

			var objBody = document.getElementsByTagName("body");
			var objHTMLHint  = '<div id="hint" class="hint_principal" ><table cellspacing="0" cellpadding="0" border="0">';
			objHTMLHint += '<tr><td><div id="hint_conteudo" class="hint_conteudo">' + conteudo + '</div></td></tr></table>';		    
			objHTMLHint += '<div id="hint_seta" class="hint_seta_bottom"><img id="hint_seta_img" src="' + strPasta + 'imagens/hint_seta_bottom.gif" alt="" /></div></div>';
			var objIfr = '<iframe id="ifr_hint" class="hint_ifr" frameborder="0" border="0" scrolling="no"></iframe>';
			var objHint = document.createElement("div");
			objHint.setAttribute("id","hintAjuda");			    
			objHint.innerHTML = objIfr + objHTMLHint;

			//Tenta atachar antes do primeiro item.      
			try
			{                    
				if (document.all)
				{
					objFirstChild.parentNode.insertBefore(objHint, objFirstChild);
				}
				else
				{
					objFirstChild.parentNode.appendChild(objHint);
				}
			}
			catch(e)
			{
				alert('Não possível criar o hint pois o corpo da página não foi encontrado!');
			}

			var objDivHint = document.getElementById("hint");
			var objIfrHint = document.getElementById("ifr_hint");
			var objConteudo = document.getElementById("hint_conteudo");
			var objSeta = document.getElementById("hint_seta");
			var objIMGSeta = document.getElementById("hint_seta_img");

			//Caso o tamanho do div ultrapasse 300px, ele é redimensionado.
			var numClientWidth = parseInt(objDivHint.offsetWidth);
			if (numClientWidth > 300)
			{
				objDivHint.style.width = "300px";
				numClientWidth = parseInt(objDivHint.offsetWidth);
			}

			var numClientHeight = parseInt(objDivHint.offsetHeight);			    
			var numPosLeft;
			var numPosTop;
			var numPosX;
			var numPosY;
			var scrollT = ie ? document.getElementsByTagName("body")[0].scrollTop : 0;
			var scrollL = ie ? document.getElementsByTagName("body")[0].scrollLeft : 0;
			var lngLarguraJanela;		    

			//Busca a largura da janela           
			if(window.innerWidth)
			{ 
				lngLarguraJanela = window.innerWidth;
			}
			else
			{ 
				lngLarguraJanela = document.body.offsetWidth; 
			}

			//Verifica a posição horizontal
			if ( numPosX + numClientWidth + scrollL <= (lngLarguraJanela + scrollL))
			{
				numPosLeft = numPosX + scrollL - cstDistanciaPadrao;
				objSeta.style.left = "10px";
			}
			else
			{
				numPosLeft = (lngLarguraJanela + scrollL ) - (numClientWidth + (cstDistanciaPadrao * 2));
				objSeta.style.left = (numPosX + numClientWidth + scrollL)-(lngLarguraJanela + scrollL) + 20  + "px";
			}

			//Verifica a posição vertical		    
			if ( numClientHeight + scrollT <= (numPosY + scrollT))
			{
				//Balão acima da seta
				numPosTop = numPosY + scrollT - (numClientHeight + cstDistanciaPadrao);
				objSeta.className = "hint_seta_bottom";
				objIMGSeta.src = strPasta + "imagens/hint_seta_bottom.gif";
			}
			else
			{ 
				//Abaixo da seta
				numPosTop = numPosY + scrollT + (numClientHeight - cstDistanciaPadrao);
				objSeta.className = "hint_seta_top";
				objIMGSeta.src = strPasta + "imagens/hint_seta_top.gif";
			}
			//Posiciona a div, iframe e seta de acordo com a verificação acima
			objDivHint.style.top = numPosTop + "px";
			objDivHint.style.left = numPosLeft + "px";
			objIfrHint.style.top = numPosTop + "px";
			objIfrHint.style.left = numPosLeft + "px";
			objSeta.style.bottom = "-5px";

			//Redimensiona o iframe de acordo com o tamanho da div
			objIfrHint.style.height  = numClientHeight - ((ie)? 1:0) + "px";
			objIfrHint.style.width   = numClientWidth - ((ie)? 1:0) + "px";
			objIfrHint.style.display = "block";				    		    

		}
		else
		{
			//Remove a div
			if(document.getElementById("hintAjuda"))
			{
				objFirstChild.parentNode.removeChild(document.getElementById("hintAjuda"));
			}
		}
	}
	else
	{
		//Remove a div
		if(document.getElementById("hintAjuda"))
		{
			objFirstChild.parentNode.removeChild(document.getElementById("hintAjuda"));
		}
	}
}

// Realizando o atachamanento dinâmico
function atachamentoDinamico(strObjeto, strPath, strJanela)
{
	strJanela = (strJanela == undefined ? "window" : strJanela);
	var cstObject = "object";
	var cstFunction = "function";
	var cstJS = "js";
	var arrPath = strPath.split(".");
	var blnJS = (arrPath[arrPath.length - 1] == cstJS);
	var strTipo = eval("typeof(" + strJanela + "." + strObjeto + ");");
	var objJanela = eval(strJanela);
	var blnCSS = false;
	if (!blnJS)
	{
		for (var i = 0 ; i < document.styleSheets.length ; i ++)
		{
			if (document.styleSheets[i].href.indexOf(strObjeto + ".css") != -1)
			{
				blnCSS = true;
				break;
			}
		}
	}
	if ( ( !blnJS && !blnCSS) || (blnJS && strTipo != cstObject && strTipo != cstFunction) )
	{
		if (document.all && blnJS)
		{
			objJanela.document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/' + strPath + '"></scr'+'ipt>');
		}
		else
		{
			var objScript
			if (blnJS)
			{
				objScript = document.createElement("script");
				objScript.setAttribute("language","javascript")
				objScript.setAttribute("type", "text/javascript")
				objScript.setAttribute("src", "/" + strPath)
			}
			else
			{
				objScript = document.createElement("link");
				objScript.setAttribute("rel","stylesheet")
				objScript.setAttribute("type", "text/css")
				objScript.setAttribute("href", "/" + strPath)
			}
			try 
			{  
				objJanela.document.getElementsByTagName("head")[0].appendChild(objScript);
			}
			catch(e) 
			{
				try 
				{  
					objJanela.document.getElementsByTagName("body")[0].appendChild(objScript);
				}
				catch(e) 
				{
				}
			}
		}
	}
}
/*
Desenvolvido por Darlesson
www.darlesson.com.br
*/