
var laAjuda;
var imgBalao;
var conteudoAjuda = new Array();


function mostrarAjuda(obj, urlAjuda, offsetHorizontalExtra){
	if ( offsetHorizontalExtra == undefined ) offsetHorizontalExtra=0;
	ocultarAjuda();
	var objBody = document.getElementsByTagName("BODY")[0]
	
	laAjuda = document.createElement("DIV")
	laAjuda.className = "layerAjuda"
	objBody.appendChild(laAjuda)
	
	contAjuda = conteudoAjuda[urlAjuda];
	if(contAjuda==null){
		new Ajax.Request(urlAjuda,
	 	{
	    method:'get',
	    onSuccess: function(transport){
	      var response = transport.responseText || "no response text";
	      conteudoAjuda[urlAjuda] = response;
		  laAjuda.innerHTML = response;
	    }
	  });
	}
	else{
		laAjuda.innerHTML = contAjuda ;
	}
	
	var balaoX = getPositionX(obj) + offsetHorizontalExtra;
	var balaoY = getPositionY(obj);
	laAjuda.style.top = balaoY + (obj.offsetHeight/2) - 12;
	laAjuda.style.left = balaoX + 6;
	
	imgBalao = document.createElement("DIV");
	imgBalao.className = "setaBalaoEsquerda";
	imgBalao.style.width = "5px";
	imgBalao.style.height = "9px";
	imgBalao.style.position = "absolute";
	imgBalao.style.top = balaoY + (obj.offsetHeight/2) - 5;
	imgBalao.style.left = balaoX + 2;
	
	objBody.appendChild(imgBalao);		
}


function mostrarAjudaAbaixo(obj, urlAjuda, offsetVerticalExtra){
	if ( offsetVerticalExtra == undefined ) offsetVerticalExtra=0;
	ocultarAjuda();
	var objBody = document.getElementsByTagName("BODY")[0]
	
	laAjuda = document.createElement("DIV")
	laAjuda.className = "layerAjuda"
	objBody.appendChild(laAjuda)
	
	contAjuda = conteudoAjuda[urlAjuda];
	if(contAjuda==null){
		new Ajax.Request(urlAjuda,
	 	{
	    method:'get',
	    onSuccess: function(transport){
	      var response = transport.responseText || "no response text";
	      conteudoAjuda[urlAjuda] = response;
		  laAjuda.innerHTML = response;
	    }
	  });
	}
	else{
		laAjuda.innerHTML = contAjuda ;
	}
	
	var posicaoX = getPositionX(obj)
	var posicaoY = getPositionY(obj) + offsetVerticalExtra;
	laAjuda.style.top = posicaoY + obj.offsetHeight + 7;
	laAjuda.style.left = posicaoX - obj.offsetWidth;
	
	imgBalao = document.createElement("DIV");
	imgBalao.className = "setaBalaoCima";
	imgBalao.style.width = "9px";
	imgBalao.style.height = "5px";
	imgBalao.style.position = "absolute";
	imgBalao.style.top = posicaoY + obj.offsetHeight + 2 ;
	imgBalao.style.left = posicaoX - (obj.offsetWidth/2) - 5;
	
	objBody.appendChild(imgBalao);		
}



function ocultarAjuda(){
	if(laAjuda != null ){
		if(laAjuda.parentNode != null){
			laAjuda.parentNode.removeChild(laAjuda)	
		}
		if(imgBalao.parentNode != null){
			imgBalao.parentNode.removeChild(imgBalao)
		}
	}
}


/** pega a posicao X absoluta do objeto **/
function getPositionX(obj){
    var posX = 0
    var corpo = document.getElementsByTagName("body")[0]
    var objAtual = obj
    while(objAtual != corpo){   
        posX += objAtual.offsetLeft - objAtual.scrollLeft
        objAtual = objAtual.offsetParent
    }
    return posX + obj.offsetWidth
}

/** pega a posicao Y absoluta do objeto **/
function getPositionY(obj){
    var posY = 0
    var corpo = document.getElementsByTagName("body")[0]
    var objAtual = obj
    while(objAtual != corpo){   
            posY += objAtual.offsetTop - objAtual.scrollTop
            objAtual = objAtual.offsetParent            
    }
    return posY 
}

