
function ConnectInlineHTMLTooltipTargetEvents(targetElement){
if((!(targetElement.onmouseover))&&(!(targetElement.onmouseout))){
targetElement.onmouseover=InlineHTMLTooltipTarget_MouseOver;
targetElement.onmouseout=InlineHTMLTooltipTarget_MouseOut;}
if((!(targetElement.onfocus))&&(!(targetElement.onblur))){
targetElement.onfocus=InlineHTMLTooltipTarget_Focus;
targetElement.onblur=InlineHTMLTooltipTarget_Blur;}
if(!(targetElement.onclick)){
targetElement.onclick=InlineHTMLTooltipTarget_Click;}}
function DisconnectInlineHTMLTooltipTargetEvents(targetElement){
if((targetElement.onmouseover===InlineHTMLTooltipTarget_MouseOver)&&(targetElement.onmouseout===InlineHTMLTooltipTarget_MouseOut)){
targetElement.onmouseover=null;
targetElement.onmouseout=null;}
if((targetElement.onfocus===InlineHTMLTooltipTarget_Focus)&&(targetElement.onblur===InlineHTMLTooltipTarget_Blur)){
targetElement.onfocus=null;
targetElement.onblur=null;}
if(targetElement.onclick===InlineHTMLTooltipTarget_Click){
targetElement.onclick=null;}}
function ConnectInlineHTMLTooltipEvents(targetElement){
if((!(targetElement.onmouseover))&&(!(targetElement.onmouseout))){
targetElement.onmouseover=StopTearDownTimer;
targetElement.onmouseout=InlineHTMLTooltipTarget_MouseOut;}}
var InlineHTMLTooltipCurrentTarget=null;
var InlineHTMLTooltipCurrentTooltip=null;
var InlineHTMLTooltipPositioningFactorX=0;
var InlineHTMLTooltipPositioningFactorY=0;
var InlineHTMLTooltipPositioningSignX=1;
var InlineHTMLTooltipPositioningSignY=1;
var InlineHTMLTooltipLoadTimer=NaN;
var InlineHTMLTooltipTargetMousePositionX=NaN;
var InlineHTMLTooltipTargetMousePositionY=NaN;
var InlineHTMLTooltipTeardownTimer=NaN;
function SaveInlineHTMLTooltipContext(targetElement){
if(!!targetElement.attributes['defaulttooltipid']&&!!targetElement.attributes['defaulttooltipid'].value){
CloneDefaultToolTip(targetElement);}
InlineHTMLTooltipCurrentTarget=targetElement;
InlineHTMLTooltipCurrentTooltip=window.document.getElementById(targetElement.attributes["tooltipid"].value);
var attribute=targetElement.attributes["tooltippositioningsignx"];
if(!!attribute){
InlineHTMLTooltipPositioningSignX=parseInt(attribute.value,10);}
if(isNaN(InlineHTMLTooltipPositioningSignX)){
InlineHTMLTooltipPositioningSignX=1;}
InlineHTMLTooltipPositioningFactorX=((InlineHTMLTooltipPositioningSignX+1)*0.5)-1;
attribute=targetElement.attributes["tooltippositioningsigny"];
if(!!attribute){
InlineHTMLTooltipPositioningSignY=parseInt(attribute.value,10);}
if(isNaN(InlineHTMLTooltipPositioningSignY)){
InlineHTMLTooltipPositioningSignY=1;}
InlineHTMLTooltipPositioningFactorY=((InlineHTMLTooltipPositioningSignY+1)*0.5)-1;}
function InlineHTMLTooltipTarget_Click(){
SaveInlineHTMLTooltipContext(this);
ShowInlineHTMLTooltip();
return false;}
function InlineHTMLTooltipTarget_MouseOver(eventDetails){
var timeout;
eventDetails=eventDetails||window.event;
var currentTipValue=InlineHTMLTooltipCurrentTooltip;
SaveInlineHTMLTooltipContext(this);
if((!!InlineHTMLTooltipCurrentTarget)&&(!!currentTipValue)){
if(currentTipValue.id!=InlineHTMLTooltipCurrentTooltip.id){
InlineHTMLTooltipCurrentTooltip=currentTipValue;
HideInlineHTMLTooltip();
SaveInlineHTMLTooltipContext(this);}
else{
if(!(isNaN(window.InlineHTMLTooltipTeardownTimer))){
window.clearTimeout(window.InlineHTMLTooltipTeardownTimer);
window.InlineHTMLTooltipTeardownTimer=NaN;}
attrib=InlineHTMLTooltipCurrentTarget.attributes["tooltipteardownduration"]||{};
timeout=+(attrib.value)||0;
window.InlineHTMLTooltipTeardownTimer=window.setTimeout(ShowInlineHTMLTooltip,timeout);}}
InlineHTMLTooltipCurrentTarget.onmousemove=InlineHTMLTooltipTarget_MouseMove;
InlineHTMLTooltipTarget_MouseMove(eventDetails);}
function InlineHTMLTooltipTarget_MouseMove(eventDetails){
eventDetails=eventDetails||window.event;
InlineHTMLTooltipTargetMousePositionX=eventDetails.clientX+window.document.documentElement.scrollLeft;
InlineHTMLTooltipTargetMousePositionY=eventDetails.clientY+window.document.documentElement.scrollTop;
if(!(isNaN(window.InlineHTMLTooltipLoadTimer))){
window.clearTimeout(window.InlineHTMLTooltipLoadTimer);
window.InlineHTMLTooltipLoadTimer=NaN;}
window.InlineHTMLTooltipLoadTimer=window.setTimeout(ShowInlineHTMLTooltip,500);}
function InlineHTMLTooltipTarget_MouseOut(){
var timeout,attrib;
if(InlineHTMLTooltipCurrentTarget!==null&&InlineHTMLTooltipCurrentTooltip.style.display!=="none"){
if(!(isNaN(window.InlineHTMLTooltipTeardownTimer))){
window.clearTimeout(window.InlineHTMLTooltipTeardownTimer);
window.InlineHTMLTooltipTeardownTimer=NaN;}
attrib=InlineHTMLTooltipCurrentTarget.attributes["tooltipteardownduration"]||{};
timeout=+(attrib.value)||0;
window.InlineHTMLTooltipTeardownTimer=window.setTimeout(HideInlineHTMLTooltip,timeout);}
else{
HideInlineHTMLTooltip();}}
function InlineHTMLTooltipTarget_Focus(){
SaveInlineHTMLTooltipContext(this);
ShowInlineHTMLTooltip();}
function InlineHTMLTooltipTarget_Blur(){
var timeout,attrib;
if(InlineHTMLTooltipCurrentTarget!==null&&InlineHTMLTooltipCurrentTooltip.style.display!=="none"){
if(!(isNaN(window.InlineHTMLTooltipTeardownTimer))){
window.clearTimeout(window.InlineHTMLTooltipTeardownTimer);
window.InlineHTMLTooltipTeardownTimer=NaN;}
attrib=InlineHTMLTooltipCurrentTarget.attributes["tooltipteardownduration"]||{};
timeout=+(attrib.value)||0;
window.InlineHTMLTooltipTeardownTimer=window.setTimeout(HideInlineHTMLTooltip,timeout);}
else{
HideInlineHTMLTooltip();}}
function ShowInlineHTMLTooltip(){
if(InlineHTMLTooltipCurrentTooltip!==null){
if(!(isNaN(window.InlineHTMLTooltipLoadTimer))){
window.clearTimeout(window.InlineHTMLTooltipLoadTimer);
window.InlineHTMLTooltipLoadTimer=NaN;}
InlineHTMLTooltipCurrentTarget.onmousemove=null;
InlineHTMLTooltipCurrentTooltip.style.left="-999px";
InlineHTMLTooltipCurrentTooltip.style.top="-999px";
InlineHTMLTooltipCurrentTooltip.style.display="block";
InlineHTMLTooltipCurrentTooltip.style.visibility="hidden";
if(isNaN(InlineHTMLTooltipTargetMousePositionX)){
InlineHTMLTooltipTargetMousePositionX=0;
InlineHTMLTooltipTargetMousePositionY=0;
for(var cursor=InlineHTMLTooltipCurrentTarget;cursor!==null;cursor=cursor.offsetParent){
InlineHTMLTooltipTargetMousePositionX+=cursor.offsetLeft;
InlineHTMLTooltipTargetMousePositionY+=cursor.offsetTop;}}
InlineHTMLTooltipCurrentTooltip.style.left=(InlineHTMLTooltipTargetMousePositionX+(InlineHTMLTooltipCurrentTooltip.offsetWidth*InlineHTMLTooltipPositioningFactorX)+(10*InlineHTMLTooltipPositioningSignX)).toString()+"px";
InlineHTMLTooltipCurrentTooltip.style.top=(InlineHTMLTooltipTargetMousePositionY+(InlineHTMLTooltipCurrentTooltip.offsetHeight*InlineHTMLTooltipPositioningFactorY)+(10*InlineHTMLTooltipPositioningSignY)).toString()+"px";
if(parseInt(InlineHTMLTooltipCurrentTooltip.style.top,10)+InlineHTMLTooltipCurrentTooltip.offsetHeight>document.documentElement.scrollTop+(window.innerHeight||document.documentElement.offsetHeight)){
InlineHTMLTooltipCurrentTooltip.style.top=(InlineHTMLTooltipTargetMousePositionY+(InlineHTMLTooltipCurrentTooltip.offsetHeight*-1)).toString()+"px";}
InlineHTMLTooltipCurrentTooltip.style.visibility="visible";
if(!!InlineHTMLTooltipCurrentTooltip.onfocus){
InlineHTMLTooltipCurrentTooltip.onfocus();}
if(!!InlineHTMLTooltipCurrentTarget.attributes['tooltipajaxurl']&&!!InlineHTMLTooltipCurrentTarget.attributes['tooltipajaxurl'].value){
AjaxInlineHTMLTooltip(InlineHTMLTooltipCurrentTarget);}}}
function HideInlineHTMLTooltip(){
if(InlineHTMLTooltipCurrentTooltip!==null){
InlineHTMLTooltipCurrentTooltip.style.display="none";
window.InlineHTMLTooltipTeardownTimer=window.InlineHTMLTooltipTeardownTimer||NaN;
if(!(isNaN(window.InlineHTMLTooltipTeardownTimer))){
window.clearTimeout(window.InlineHTMLTooltipTeardownTimer);
window.InlineHTMLTooltipTeardownTimer=NaN;}
InlineHTMLTooltipCurrentTarget.onmousemove=null;
InlineHTMLTooltipTargetMousePositionX=NaN;
InlineHTMLTooltipTargetMousePositionY=NaN;
if(!!InlineHTMLTooltipCurrentTooltip.onblur){
InlineHTMLTooltipCurrentTooltip.onblur();}
InlineHTMLTooltipCurrentTarget=null;
InlineHTMLTooltipCurrentTooltip=null;}}
function AjaxInlineHTMLTooltip(targetElement){
var toolTip=document.getElementById(targetElement.attributes['tooltipid'].value);
if(!toolTip.attributes['loaded']||!toolTip.attributes['loaded'].value){
new Ajax.Updater(targetElement.attributes['tooltipid'].value,
targetElement.attributes['tooltipajaxurl'].value,{
method:'get',
onSuccess:function(){
targetElement.attributes['tooltipajaxurl'].value='';
toolTip.setAttribute('loaded',true);
if(toolTip==InlineHTMLTooltipCurrentTooltip){
setTimeout(ShowInlineHTMLTooltip,0);}}});}}
function CloneDefaultToolTip(targetElement){
if(!document.getElementById(targetElement.attributes['tooltipid'].value)){
var toolTip=document.getElementById(targetElement.attributes['defaulttooltipid'].value);
toolTip=toolTip.cloneNode(true);
toolTip.id=targetElement.attributes['tooltipid'].value;
document.body.appendChild(toolTip);
ConnectInlineHTMLTooltipEvents(toolTip);}
targetElement.attributes['defaulttooltipid'].value='';}
function StopTearDownTimer(){
window.InlineHTMLTooltipTeardownTimer=window.InlineHTMLTooltipTeardownTimer||NaN;
if(!(isNaN(window.InlineHTMLTooltipTeardownTimer))){
window.clearTimeout(window.InlineHTMLTooltipTeardownTimer);
window.InlineHTMLTooltipTeardownTimer=NaN;}}
