 /************************************************************************************
	* *** Note: **************************************************************************
	* The use of methods with oToolTip._ prefix is for internal use only (I wish there was a private/public)*
	* In order to use this code you just need to use the oToolTip.showToolTip and the oToolTip.hideToolTip*
	* methods.****************************************************************************
	*************************************************************************************/

/* ESTE TRECHO EST? COMENTADO PQ N?O EST? SENDO UTILIZADO

	var oToolTip = new Object();
	oToolTip._topDivZIndex = 10000;
	oToolTip._oBody = null;
	oToolTip._oHelperIframe = null;
	oToolTip._oToolTipDiv = null;
	oToolTip._mousePos = new Object();
	
	// Add dynamic div to the page
	oToolTip._init = function(){
		// Creating and adding dynamic iframe to the page source.
		oToolTip._oBody = document.getElementsByTagName("BODY").item(0);
		oToolTip._oHelperIframe = document.createElement("IFRAME");
		oToolTip._oHelperIframe.style.border = 0;
		oToolTip._oHelperIframe.width = 0;
		oToolTip._oHelperIframe.height = 0;
		oToolTip._oHelperIframe.style.position = "absolute";
		oToolTip._oBody.appendChild(oToolTip._oHelperIframe);
	
		// Creating and adding dynamic DIV to the page source (for the tool-tip).
		oToolTip._oToolTipDiv = document.createElement("DIV");
		oToolTip._oToolTipDiv.style.border = 0;
		oToolTip._oToolTipDiv.width = 0;
		oToolTip._oToolTipDiv.height = 0;
		oToolTip._oToolTipDiv.style.position = "absolute";
		oToolTip._oBody.appendChild(oToolTip._oToolTipDiv);
	
		oToolTip._attachToEvent(document, 'onmousemove', oToolTip._mousemove);
	}
	
	// Should return the div actual width.
	oToolTip._getToolTipDivWidth = function(){
		// We are checking the inner table because of a bug in NS/Mozilla with the DIV-->offsetWidth
		var tableWidth = "" + oToolTip._oToolTipDiv.getElementsByTagName("table").item(0).offsetWidth;
		if(tableWidth.indexOf('px') > -1){
			return parseInt(tableWidth.substring(0, tableWidth.infexOf('px')));
		} else {
			return tableWidth;
		}
	}
	
	// Should return the div actual Height.
	oToolTip._getToolTipDivHeight = function(){
		// We are checking the inner table because of a bug in NS/Mozilla with the DIV-->offsetHeight
		var tableHeight = "" + oToolTip._oToolTipDiv.getElementsByTagName("table").item(0).offsetHeight;
		if(tableHeight.indexOf('px') > -1){
			return parseInt(tableHeight.substring(0, tableHeight.infexOf('px')));
		} else {
			return tableHeight;
		}
	}
	
	oToolTip._mousemove = function(e){
		if(typeof(e) == 'undefined')e = event;
		oToolTip._mousePos.Y = e.clientY;
		oToolTip._mousePos.X = e.clientX;
		
		if(oToolTip._oToolTipDiv.style.visibility == 'visible'){
			oToolTip._fixTipPosition();
		}
	}
	
	// Will move the div and the helper iframe to the given X and Y position
	oToolTip._fixTipPosition = function(){
		// Set the Y position
		if(oToolTip._mousePos.Y > Math.round(oToolTip._oBody.clientHeight / 2)){
			// Open to top
			oToolTip._oHelperIframe.style.top = oToolTip._mousePos.Y - oToolTip._getToolTipDivHeight() + oToolTip._oBody.scrollTop; 
		} else {
			// Open to bottom
			oToolTip._oHelperIframe.style.top = oToolTip._mousePos.Y + oToolTip._oBody.scrollTop; 
		}
	
		// Set the X position
		if(oToolTip._mousePos.X > Math.round(oToolTip._oBody.clientWidth / 2)){
			// Open to left
			oToolTip._oHelperIframe.style.left = oToolTip._mousePos.X - oToolTip._getToolTipDivWidth() + oToolTip._oBody.scrollLeft; 
		} else {
			// Open to right
			oToolTip._oHelperIframe.style.left = oToolTip._mousePos.X + 5 + oToolTip._oBody.scrollLeft; 
		}
	
		oToolTip._oToolTipDiv.style.top = oToolTip._oHelperIframe.style.top;
		oToolTip._oToolTipDiv.style.left = oToolTip._oHelperIframe.style.left;
	}
	
	oToolTip._attachToEvent = function(obj, name, func) {
		name = name.toLowerCase();
		// Add the hookup for the event.
		if(typeof(obj.addEventListener) != "undefined") {
			if(name.length > 2 && name.indexOf("on") == 0) name = name.substring(2, name.length);
				obj.addEventListener(name, func, false);
			} else if(typeof(obj.attachEvent) != "undefined"){
				obj.attachEvent(name, func);
			} else {
			if(eval("obj." + name) != null){
				// Save whatever defined in the event
				var oldOnEvents = eval("obj." + name);
				eval("obj." + name) = function(e) {
					try{
						func(e);
						eval(oldOnEvents);
					} catch(e){}
				};
			} else {
				eval("obj." + name) = func;
			}
		}
	}
	
	// Will show the div and the helper iframe.
	oToolTip.showToolTip = function(toolTipMessage){
		oToolTip._oHelperIframe.style.zIndex = oToolTip._topDivZIndex++;
		var divContent = "<table style='border:1px solid black;background-color:LightGoldenrodYellow' cellspacing='0' cellpading='0'><tr><td>" + toolTipMessage + "</td></tr></table>";
		oToolTip._oToolTipDiv.innerHTML				= divContent; 
		oToolTip._mousePos
		oToolTip._oToolTipDiv.style.zIndex			= oToolTip._topDivZIndex++;
		oToolTip._oHelperIframe.style.top			= oToolTip._oToolTipDiv.style.top;
		oToolTip._oHelperIframe.style.left			= oToolTip._oToolTipDiv.style.left;
		oToolTip._oHelperIframe.width				= oToolTip._getToolTipDivWidth();
		oToolTip._oHelperIframe.height				= oToolTip._getToolTipDivHeight();
		oToolTip._oHelperIframe.style.visibility	= 'visible';
		oToolTip._oToolTipDiv.style.visibility		= 'visible';
		//Se colocar a sombra ela fica por baixo das combos (select)
		//oToolTip._oToolTipDiv.style.filter			= 'progid:DXImageTransform.Microsoft.DropShadow(color=gray, OffX=5, Offy=5, Positive=true)';
	
		oToolTip._fixTipPosition();
	}
	
	// Will hide the div and the helper iframe.
	oToolTip.hideToolTip = function(){
		oToolTip._oHelperIframe.style.visibility = 'hidden';
		oToolTip._oToolTipDiv.style.visibility = 'hidden';
	}

	// Exibe a ToolTip.
	function showToolTip(evt){
		var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
		
		txt = '&nbsp;' + getToolTip(node.name) + '&nbsp;';
		
		oToolTip.showToolTip(txt);
	}
	
	// Esconde a ToolTip
	function hideToolTip(){
		oToolTip.hideToolTip();
	}
			
	// Attach to the onload event
	oToolTip._attachToEvent(window, 'onload', oToolTip._init);
	
	// Metodo criado para adicionar um evento a um objeto.
	function addEvent(obj, tipo, metodo){
				
		if (obj.addEventListener){ 
			obj.addEventListener(tipo, metodo, true); 
			return true;

		} else if (obj.attachEvent){
			var r = obj.attachEvent("on" + tipo, metodo); 
			return r;

		} else {
			return false; 
		}
	} 
	
*/
	
	// Retorna o texto da ToolTip do campo informado.
	function getToolTip(nome)
	{
		for(x = 0; x < campos.length; x++)
		{
			if (campos[x].nome == nome)
			{
				return campos[x].tooltip;
			}
		}
		return '';
	}
	
	// Aqui sao adicionados as chamadas das tooltips aos controles do form.
	var f = document.forms[0];
	var img, tipo, nome;
	for(i = 0; i < f.elements.length; i++)
	{
		tipo = f.elements[i].type;
		nome = f.elements[i].name;
		//alert(i + ' = ' + nome + ' -> ' + tipo);
		if(tipo != 'hidden' &&
       tipo != 'button' && 
       tipo != 'submit' && 
       tipo != 'reset' ) {
			
		  img = document.getElementById('img_' + nome);
		  if(img != null)
		  {
			  img.alt = getToolTip(nome);
		  }
		  
		  //f.elements[i].title = getToolTip(f.elements[i].name);
			
			//addEvent(f.elements[i], 'focus', showToolTip);
			//addEvent(f.elements[i], 'blur' , hideToolTip);
		
			//alert(f.elements[i].type);
			
			//addEvent(f.elements[i], 'mouseover', showToolTip);
			//addEvent(f.elements[i], 'mouseout' , hideToolTip);
		}
	}
	

/*	
  function procurarIndiceCampo(strNomeCampo)
  {
    //pressupoe-se que nao vai encontrar entao retorno = -1
    var retorno = -1;
    for(var i = 0; campos.length - 1; i++)
    {
      if( strNomeCampo.toUpperCase() == campos[i].nome.toUpperCase() )
      {
        retorno = i;
        break;
      }
    }
    return retorno;
  }
           
  function mostrarOuEsconderToolTip(strNomeCampo)
  {
    var indiceCampo  = procurarIndiceCampo(strNomeCampo);
    if(indiceCampo >= 0)
    {
      var textoToolTip       = campos[indiceCampo].tooltip;
      var div_toolTip        = document.getElementById('div_toolTipCampoFormulario');
      var div_backToolTip    = document.getElementById('div_backToolTip');
      var iframe_backToolTip = document.getElementById('iframe_backToolTip');
      
      var obj_campo    = document.forms[0].elements[strNomeCampo];
      
      if(div_toolTip.style.display != 'block')
      {
        var H = div_toolTip.getBoundingClientRect().bottom - div_toolTip.getBoundingClientRect().top;
        var W = div_toolTip.getBoundingClientRect().right  - div_toolTip.getBoundingClientRect().left;
        var L = obj_campo.getBoundingClientRect().right;
        var T = obj_campo.getBoundingClientRect().top;
        
      
        div_toolTip.innerHTML     = textoToolTip;
        div_toolTip.style.display = 'block';
        div_toolTip.style.left    = L + 20;
        div_toolTip.style.top     = T + 2;
        
        div_backToolTip.style.height     = H + 18;
        div_backToolTip.style.width      = W + 18;
        div_backToolTip.style.display    = 'block';
        div_backToolTip.style.left       = L + 10;
        div_backToolTip.style.top        = T + 10;
        
        iframe_backToolTip.style.height  = H + 2;
        iframe_backToolTip.style.width   = W + 2;
      }
      else
      {
        div_toolTip.style.display        = 'none';
        div_backToolTip.style.display    = 'none';
      }
    }
  }
  
*/