dojo.provide("fglDijit.fglTooltip");
var oldTarget="";
var tooltipShowed=false;
var tooltipNode="";
var tooltipId="tooltip";
var tooltipDefaultClass="normal";
var tooltipOpacity=1;
var tooltipDefaultOpacity=0.8;
var tooltipTime=0;
var tooltipDefaultTime=400;
var tooltipTimeOut;
var tooltipLeft=0;
var tooltipTop=0;
var tooltipAnimation;
var tooltipDefaultMargin=5;
function tooltipDetect(_1){
var _2=_1.target;
var _3=true;
tooltipNode=(tooltipNode=="")?dojo.byId(tooltipId):tooltipNode;
if(dojo.hasAttr(_2,"tooltip")){
tooltipTime=(_2.attributes.tooltipTime)?dojo.attr(_2,"tooltipTime"):tooltipDefaultTime;
tooltipOpacity=(_2.attributes.tooltipOpacity)?dojo.attr(_2,"tooltipOpacity"):tooltipDefaultOpacity;
var _4="auto";
var _5="auto";
if(dojo.hasAttr(_2,"tooltipWidth")){
_4=dojo.attr(_2,"tooltipWidth");
}
if(dojo.hasAttr(_2,"tooltipHeight")){
_5=dojo.attr(_2,"tooltipheight");
}
if(dojo.hasAttr(_2,"tooltipClass")){
tooltipShow(_2,dojo.attr(_2,"tooltip"),dojo.attr(_2,"tooltipClass"),tooltipTime,tooltipOpacity,_4,_5);
}else{
if(dojo.hasAttr(_2,"tooltipColor")){
dojo.style(tooltipNode,"background",dojo.attr(_2,"tooltipColor"));
tooltipShow(_2,dojo.attr(_2,"tooltip"),"",tooltipTime,tooltipOpacity,_4,_5);
}else{
tooltipShow(_2,dojo.attr(_2,"tooltip"),tooltipDefaultClass,tooltipTime,tooltipOpacity,_4,_5);
}
}
var _6=0;
if(window.innerWidth){
_6=window.innerWidth;
}else{
if(document.documentElement&&document.documentElement.clientWidth){
_6=document.documentElement.clientWidth;
}else{
if(document.body){
_6=document.body.clientWidth;
}
}
}
var _7=0;
if(window.innerHeight){
_7=window.innerHeight;
}else{
if(document.documentElement&&document.documentElement.clientHeight){
_7=document.documentElement.clientHeight;
}else{
if(document.body){
_7=document.body.clientHeight;
}
}
}
var _8=document.createElement("div");
_8.innerHTML=dojo.attr(_2,"tooltip");
_8.className="tooltip"+(dojo.hasAttr(_2,"tooltipClass")?(" "+dojo.attr(_2,"tooltipClass")):"");
dojo.style(_8,"visibility","visible");
dojo.style(_8,"width",_4);
dojo.style(_8,"height",_5);
document.body.appendChild(_8);
if(_3=!dojo.hasAttr(_2,"tooltipAlign")){
if((_1.clientX+35+_8.offsetWidth)<_6){
tooltipLeft=_1.pageX+15;
}else{
tooltipLeft=_1.pageX-_8.offsetWidth-5;
}
if((_1.clientY+15+_8.offsetHeight)<_7){
tooltipTop=_1.pageY+15;
}else{
tooltipTop=_1.pageY-_8.offsetHeight-5;
}
}else{
var _9=dojo.coords(_2,true);
var _a=dojo.attr(_2,"tooltipAlign");
var _b=tooltipDefaultMargin;
if(dojo.hasAttr(_2,"tooltipMargin")){
_b=parseInt(dojo.attr(_2,"tooltipMargin"));
}
if((_a=="tl")||(_a=="tc")||(_a=="tr")||(_a=="lt")||(_a=="rt")){
if((_a=="lt")||(_a=="rt")){
tooltipTop=_9.y;
}else{
tooltipTop=_9.y-_8.offsetHeight-_b;
}
}else{
if((_a=="lm")||(_a=="rm")){
tooltipTop=_9.y+(_2.offsetHeight/2)-(_8.clientHeight/2);
}else{
if((_a=="lb")||(_a=="rb")){
tooltipTop=_9.y+_2.offsetHeight-_8.clientHeight;
}else{
if((_a=="bl")||(_a=="bc")||(_a=="br")){
tooltipTop=_9.y+_8.clientHeight+_b;
}
}
}
}
if((_a=="tl")||(_a=="bl")){
tooltipLeft=_9.x+_b;
}else{
if((_a=="tc")||(_a=="bc")){
tooltipLeft=_9.x+(_2.offsetWidth/2)-(_8.offsetWidth/2);
}else{
if((_a=="lt")||(_a=="lm")||(_a=="lb")){
tooltipLeft=_9.x-_8.offsetWidth-_b;
}else{
if((_a=="rt")||(_a=="rm")||(_a=="rb")){
tooltipLeft=_9.x+_2.offsetWidth+_b;
}else{
if((_a=="tr")||(_a=="br")){
tooltipLeft=_9.x+_2.offsetWidth-_8.offsetWidth-_b;
}
}
}
}
}
}
document.body.removeChild(_8);
}else{
tooltipHide();
}
if(tooltipShowed){
if(_2!=oldTarget){
tooltipHide();
}
tooltipMove();
}
};
function tooltipMove(){
dojo.style(tooltipNode,"left",tooltipLeft+"px");
dojo.style(tooltipNode,"top",tooltipTop+"px");
};
function tooltipShow(_c,_d,_e,_f,_10,_11,_12){
if(!tooltipShowed){
oldTarget=_c;
tooltipShowed=true;
tooltipTimeOut=setTimeout(function(){
tooltipStart(_d,_e,_10,_11,_12);
},_f);
}
};
function tooltipStart(_13,_14,_15,_16,_17){
tooltipNode.innerHTML=_13;
tooltipNode.className=(_14!="")?_14:tooltipDefaultClass;
dojo.style(tooltipNode,"visibility","visible");
dojo.style(tooltipNode,"width",_16);
dojo.style(tooltipNode,"height",_17);
if(!(typeof (tooltipAnimation)=="undefined")&&(tooltipAnimation.status()=="playing")){
tooltipAnimation.stop();
}
tooltipMove();
tooltipAnimation=dojo.animateProperty({node:tooltipNode,duration:300,properties:{opacity:{start:0,end:_15}}});
tooltipAnimation.play();
};
function tooltipHide(){
if(tooltipShowed){
clearTimeout(tooltipTimeOut);
if(!(typeof (tooltipAnimation)=="undefined")&&(tooltipAnimation.status()=="playing")){
tooltipAnimation.stop();
}
tooltipAnimation=dojo.animateProperty({node:tooltipNode,duration:0,properties:{opacity:{end:0}},onEnd:function(){
dojo.style(tooltipNode,"visibility","hidden");
tooltipLeft=0;
tooltipTop=0;
tooltipMove();
}});
tooltipAnimation.play();
tooltipShowed=false;
}
};
dojo.connect(document,"onmousemove",tooltipDetect);
dojo.connect(document,"onscroll",tooltipDetect);
document.onclick=function(){
tooltipHide();
};

