var conteudoAjuda = new Array();

function mostrarAjuda(obj, urlAjuda, offsetHorizontalExtra){
	if ( offsetHorizontalExtra == undefined ) offsetHorizontalExtra=0;
	
	contAjuda = conteudoAjuda[urlAjuda];
	if(contAjuda==null){
		jQuery.get(urlAjuda,
		function(data){
		    conteudoAjuda[urlAjuda] = data;
		    gerarBalao(obj,data,offsetHorizontalExtra);
		}
		);
	}
	else{
		gerarBalao(obj,contAjuda,offsetHorizontalExtra);
	}
}

function gerarBalao(obj, data, offsetHorizontalExtra){
	var objBody = document.getElementsByTagName("BODY")[0];
	var laAjuda = document.createElement("DIV");
	laAjuda.className = "layerAjuda";
	laAjuda.innerHTML = data;
	var balaoX = getPositionX(obj) + offsetHorizontalExtra;
	var balaoY = getPositionY(obj);
	laAjuda.style.top = balaoY + (obj.offsetHeight/2) - 12;
	laAjuda.style.left = balaoX + 6;
	objBody.appendChild(laAjuda);
	jQuery(laAjuda).hide();
	var imgBalao = document.createElement("DIV");
	if(offsetHorizontalExtra >= 0){
		imgBalao.className = "setaToolTipEsquerda";
		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;
	}else{
		imgBalao.className = "setaToolTipDireita";
		imgBalao.style.width = "5px";
		imgBalao.style.height = "9px";
		imgBalao.style.position = "absolute";
		imgBalao.style.top = balaoY + (obj.offsetHeight/2) - 5;
		imgBalao.style.left = balaoX + laAjuda.offsetWidth + 5;
	}
	objBody.appendChild(imgBalao);	
	jQuery(imgBalao).hide();
	jQuery(laAjuda).fadeIn('slow');
	jQuery(imgBalao).fadeIn('slow');
}


function mostrarAjudaAbaixo(obj, urlAjuda, offsetVerticalExtra){
	if ( offsetVerticalExtra == undefined ) offsetVerticalExtra=0;

	contAjuda = conteudoAjuda[urlAjuda];
	if(contAjuda==null){
		jQuery.get(urlAjuda,
		function(data){
		    conteudoAjuda[urlAjuda] = data;
		    gerarBalaoAbaixo(obj,data,offsetVerticalExtra)
		}
		);
	}
	else{
		gerarBalaoAbaixo(obj,contAjuda,offsetVerticalExtra)
	}
}


function gerarBalaoAbaixo(obj, data, offsetVerticalExtra){
	var posicaoX = getPositionX(obj)
	var posicaoY = getPositionY(obj) + offsetVerticalExtra;
	
	var laAjuda = document.createElement("DIV");
	laAjuda.className = "layerAjuda";
	laAjuda.innerHTML = data;
	laAjuda.style.top = posicaoY + obj.offsetHeight + 7;
	laAjuda.style.left = posicaoX - obj.offsetWidth;
	
	var objBody = document.getElementsByTagName("BODY")[0];
	objBody.appendChild(laAjuda);
	jQuery(laAjuda).hide();
	
	var imgBalao = document.createElement("DIV");
	imgBalao.className = "setaToolTipCima";
	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);
	jQuery(imgBalao).hide();
	
	jQuery(laAjuda).fadeIn('slow');
	jQuery(imgBalao).fadeIn('slow');
}



function ocultarAjuda(){
	jQuery('div.layerAjuda').remove();
	jQuery('div.setaToolTipCima,div.setaToolTipEsquerda,div.setaToolTipDireita').remove();
}


/** 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 
}


