
Array.prototype.contains=function(value)
{for(var i=0;i<this.length;i++){if(this[i]==value){return true;}}
return false;}
var Tooltip={showEvent:"click",hideEvent:"click",fade:0.5,closeText:"Close",showMethod:Effect.Appear,hideMethod:Effect.Fade,autoFollowMouse:false,autoHideTimeout:40,autoHideClick:true,autoMoveToCursor:true,CURRENT_TOOLTIP:1,_current:false,setup:function()
{match_class=new RegExp("^(.*)\s?tooltip\s?(.*)$",'i');match_for=new RegExp("^.*\s?for_(.*)\s?.*$",'i');var divs=document.getElementsByTagName('div');var for_result;if(divs.length>0){if(Tooltip.autoFollowMouse&&Tooltip.autoHideTimeout){Tooltip.hideEvent[Tooltip.hideEvent.length]="mouseout";}
if(Tooltip.autoHideClick){Tooltip._attachEvent(document.getElementsByTagName("body").item(0),"clickanywhere");}
for(var i=0;i<divs.length;i++){if(divs.item(i).className.match(match_class)){for_result=divs.item(i).className.match(match_for);if(for_result&&for_result.length>0){if(document.getElementById(for_result[1])){var activator=document.getElementById(for_result[1]);}}else{var foundPrevious=false;var activator=divs.item(i);while(foundPrevious==false){activator=activator.previousSibling;if(activator.tagName){foundPrevious=true;break;}}}
activator.Tooltip=divs.item(i);if(!activator.id){activator.id="tt"+i;}
activator.Tooltip.activator=activator.id;Tooltip.init(activator);}}}},init:function(activator)
{var tooltip=activator.Tooltip;activator.Tooltip.style.visibility="hidden";Tooltip._attachEvent(activator,"toggle");if(activator.tagName.toLowerCase()=="a"){try{activator.removeAttribute("href");activator.style.cursor=(document.links[0].style.cursor.length>0)?document.links[0].style.cursor:"pointer";}
catch(e){}}
tooltip.style.zIndex="1000";if(Tooltip.autoFollowMouse!=true){var p=document.createElement('p');p.style.textAlign="right";p.style.padding.padding="0";p.style.margin="0";p.className="close";var link=document.createElement('a');link.Tooltip=tooltip;link.style.cursor="pointer";Tooltip._attachEvent(link,"click");var close=document.createTextNode(Tooltip.closeText);link.appendChild(close);var img=document.createElement('img');img.src='../../css/img/close.gif';img.alt=Tooltip.closeText;link.appendChild(img);p.appendChild(link);tooltip.appendChild(p,tooltip.firstChild);}},add:function(activator,tooltip)
{if(typeof activator=='string'){activator=document.getElementById(activator);}
if(typeof tooltip=='string'){tooltip=document.getElementById(tooltip);}
activator.Tooltip=tooltip;Tooltip.init(activator);},toggle:function(activator,event)
{try{if(activator==1){activator=document.getElementById(window._currentTT);}}
catch(e){}
if(Tooltip.autoHideClick&&event.type=="click"){var close_class=new RegExp("^(.*)\s?close\s?(.*)$",'i');var tooltip_class=new RegExp("^(.*)\s?tooltip\s?(.*)$",'i');if(event.srcElement){var node=event.srcElement;}else if(event.fromElement){var node=event.fromElement;}else if(event.target){var node=event.target;}
if(node.className==null||!node.className.match(close_class)){var isWithinTooltip=false;while(!isWithinTooltip&&node.parentNode){if(node.className&&node.className.match(close_class)){break;}
if(node.className&&node.className!=null&&node.className.match(tooltip_class)){isWithinTooltip=true;break;}
node=node.parentNode;}}
if(isWithinTooltip){return;}}
try{if(activator.Tooltip.isVisible){Tooltip._hide(activator,event);}else{Tooltip._show(activator,event);}}
catch(e){try{Tooltip._hide(activator,event);}
catch(e){}}
event.cancelBubble=true;try{event.stopPropagation();}
catch(e){}},_show:function(activator,event,ignore_event)
{if(Tooltip.autoHideClick&&window._currentTT){Tooltip._hide(document.getElementById(window._currentTT),event,true);}
window._currentTT=activator.id;if(ignore_event==true||typeof Tooltip.showEvent=="string"||Tooltip.showEvent.constructor&&Tooltip.showEvent.constructor==Array&&Tooltip.showEvent.contains(event.type)){activator.Tooltip.isVisible=true;if(Tooltip.autoFollowMouse||Tooltip.autoMoveToCursor){Tooltip._follow(activator,event);}
try{if(typeof Effect){Element.setOpacity(activator.Tooltip,0.1);activator.Tooltip.style.visibility="visible";Tooltip.showMethod(activator.Tooltip,{duration:Tooltip.fade});}else{activator.Tooltip.style.visibility="visible";}}
catch(e){try{activator.Tooltip.style.visibility="visible";}
catch(e){}}
if(Tooltip.autoFollowMouse){Tooltip._attachEvent(activator,"follow");}
if(Tooltip.autoHideTimeout&&!Tooltip.autoFollowMouse){activator.timer=setTimeout(function(){try{Tooltip.hideMethod(activator.Tooltip,{duration:Tooltip.fade});}
catch(e){activator.Tooltip.style.visibility="hidden";}},Tooltip.autoHideTimeout*1000);}
return;}},_hide:function(activator,event,ignore_event)
{if(!activator){return;}
event=event.type;var tooltip=activator.Tooltip;if(event=="mouseout"&&Tooltip.autoFollowMouse){activator.timer=setTimeout(function(){try{Tooltip.hideMethod(tooltip,{duration:Tooltip.fade});}
catch(e){activator.Tooltip.style.visibility="hidden";}},Tooltip.autoHideTimeout*1000);}else if(ignore_event==true||((typeof Tooltip.hideEvent=="string"&&Tooltip.hideEvent==event)||Tooltip.hideEvent.constructor&&Tooltip.hideEvent.constructor==Array&&Tooltip.hideEvent.contains(event))){activator.Tooltip.isVisible=false;try{Tooltip.hideMethod(tooltip,{duration:Tooltip.fade});}
catch(e){activator.Tooltip.style.visibility="hidden";}
if(Tooltip.autoFollowMouse){Tooltip._removeEvent(activator,"follow");}
window._currentTT=false;return;}},_follow:function(activator,event)
{if(activator.timer){try{clearTimeout(activator.timer);}
catch(e){}}
var winWidth,winHeight,d=document;if(typeof window.innerWidth!='undefined'){winWidth=window.innerWidth;winHeight=window.innerHeight;}else{if(d.documentElement&&typeof d.documentElement.clientWidth!='undefined'&&d.documentElement.clientWidth!=0){winWidth=d.documentElement.clientWidth
winHeight=d.documentElement.clientHeight}else{if(d.body&&typeof d.body.clientWidth!='undefined'){winWidth=d.body.clientWidth
winHeight=d.body.clientHeight}}}
var tooltipWidth,tooltipHeight;if(activator.Tooltip.currentStyle){tooltipWidth=activator.Tooltip.currentStyle.width;tooltipHeight=activator.Tooltip.currentStyle.height;}else if(window.getComputedStyle){tooltipWidth=window.getComputedStyle(activator.Tooltip,null).width;tooltipHeight=window.getComputedStyle(activator.Tooltip,null).height;}
activator.Tooltip.style.position="absolute";if(event.pageY){var top=event.pageY;var left=event.pageX;}else if(event.clientY){if(document.body.scrollTop>document.documentElement.scrollTop){var top=event.clientY+document.body.scrollTop;}else{var top=event.clientY+document.documentElement.scrollTop;}
if(document.body.scrollLeft>document.documentElement.scrollLeft){var left=event.clientX+document.body.scrollLeft;}else{var left=event.clientX+document.documentElement.scrollLeft;}}
if((left+parseInt(tooltipWidth))>winWidth){left=winWidth-parseInt(tooltipWidth)*1.2;}
activator.Tooltip.style.top=top+"px";activator.Tooltip.style.left=left+"px";},_attachEvent:function(element,event)
{var i;var events=new Array();if(event=="toggle"){if(Tooltip.showEvent.constructor&&Tooltip.showEvent.constructor==Array){for(i=0;i<Tooltip.showEvent.length;i++){events.push(Tooltip.showEvent[i]);if(element.addEventListener){element.addEventListener(Tooltip.showEvent[i],function(e){Tooltip.toggle(element,e,false);return false;},false);}else if(element.attachEvent){element.attachEvent('on'+Tooltip.showEvent[i],function(e){Tooltip.toggle(element,e,false);return false;});}}}else{events.push(Tooltip.showEvent);if(element.addEventListener){element.addEventListener(Tooltip.showEvent,function(e){Tooltip.toggle(element,e,false);return false;},false);}else if(element.attachEvent){element.attachEvent('on'+Tooltip.showEvent,function(e){Tooltip.toggle(element,e,false);return false;});}}
if(Tooltip.hideEvent.constructor&&Tooltip.hideEvent.constructor==Array){for(i=0;i<Tooltip.hideEvent.length;i++){if(!events.contains(Tooltip.hideEvent[i])){events.push(Tooltip.hideEvent[i]);if(element.addEventListener){element.addEventListener(Tooltip.hideEvent[i],function(e){Tooltip.toggle(element,e,false);return false;},false);}else if(element.attachEvent){element.attachEvent('on'+Tooltip.hideEvent[i],function(e){Tooltip.toggle(element,e,false);return false;});}}}}else{if(!events.contains(Tooltip.hideEvent)){events.push(Tooltip.hideEvent);if(element.addEventListener){element.addEventListener(Tooltip.hideEvent,function(e){Tooltip.toggle(element,e,false);return false;},false);}else if(element.attachEvent){element.attachEvent('on'+Tooltip.hideEvent,function(e){Tooltip.toggle(element,e,false);return false;});}}}}else if(event=="load"){if(element.addEventListener){element.addEventListener("load",function(){Tooltip.setup();},false);}else if(element.attachEvent){element.attachEvent('on'+"load",function(){Tooltip.setup();});}}else if(event=="click"){if(element.addEventListener){element.addEventListener("click",function(e){Tooltip.toggle(element,e,true);},false);}else if(element.attachEvent){element.attachEvent('on'+"click",function(e){Tooltip.toggle(element,e,true);});}}else if(event=="follow"){if(element.addEventListener){element.addEventListener("mousemove",function(e){Tooltip._follow(element,e);},false);}else{element.attachEvent('onmousemove',function(e){Tooltip._follow(element,e);});}}else if(event=="clickanywhere"){if(element.addEventListener){element.addEventListener("click",function(e){Tooltip.toggle(Tooltip.CURRENT_TOOLTIP,e,false);},false);}else{element.attachEvent('onclick',function(e){Tooltip.toggle(Tooltip.CURRENT_TOOLTIP,e,false);});}}},_removeEvent:function(element,event)
{try{if(event=="follow"){if(element.addEventListener){element.removeEventListener("mousemove",function(e){Tooltip._follow(element,e);},false);}else{element.dettachEvent('onmousemove',function(e){Tooltip._follow(element,e);});}}}
catch(e){}}}
try{Tooltip._attachEvent(window,'load');Tooltip.closeText='';}
catch(e){}
