var dw_event={add:function(obj,etype,fp,cap){cap=cap||false;if(obj.addEventListener)obj.addEventListener(etype,fp,cap);else if(obj.attachEvent)obj.attachEvent("on"+etype,fp);},remove:function(obj,etype,fp,cap){cap=cap||false;if(obj.removeEventListener)obj.removeEventListener(etype,fp,cap);else if(obj.detachEvent)obj.detachEvent("on"+etype,fp);},DOMit:function(e){e=e?e:window.event;e.tgt=e.srcElement?e.srcElement:e.target;if(!e.preventDefault)e.preventDefault=function(){return false;}
if(!e.stopPropagation)e.stopPropagation=function(){if(window.event)window.event.cancelBubble=true;}
return e;}}
var Tooltip={followMouse:true,offX:8,offY:12,tipID:"tipDiv",showDelay:200,hideDelay:1,ready:false,timer:null,tip:null,init:function(){if(document.createElement&&document.body&&typeof document.body.appendChild!="undefined"){if(!get(this.tipID)){var el=document.createElement("DIV");el.id=this.tipID;document.body.appendChild(el);}
this.ready=true;}},show:function(e,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.positionTip(e);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible'); Tooltip.toggleVisWithClasses('rating', 'visible');",this.showDelay);},dzshow:function(x,y,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.dzpositionTip(x,y);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible');",this.showDelay);},dzshow2:function(x,y,msg){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.tip=get(this.tipID);if(this.followMouse)
dw_event.add(document,"mousemove",this.trackMouse,true);this.writeTip("");this.writeTip(msg);viewport.getAll();this.positionTip2(x,y);this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'visible'); Tooltip.toggleVisWithClasses('rating', 'visible');",this.showDelay);},writeTip:function(msg){if(this.tip&&typeof this.tip.innerHTML!="undefined")this.tip.innerHTML=msg;},positionTip:function(e){if(this.tip&&this.tip.style){var x=e.pageX?e.pageX:e.clientX+viewport.scrollX;var y=e.pageY?e.pageY:e.clientY+viewport.scrollY;if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;if(y+this.tip.offsetHeight+this.offY>viewport.height+viewport.scrollY){y=y-this.tip.offsetHeight-this.offY;if(y<viewport.scrollY)y=viewport.height+viewport.scrollY-this.tip.offsetHeight;}else y=y+this.offY;this.tip.style.left=x+"px";this.tip.style.top=y+"px";}},positionTip2:function(x,y){if(this.tip&&this.tip.style){if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;var newy;newy=y-this.tip.offsetHeight-this.offY;if(newy<viewport.scrollY){newy=y+this.offY+10;}
this.tip.style.left=x+"px";this.tip.style.top=newy+"px";}},dzpositionTip:function(x,y){if(this.tip&&this.tip.style){if(x+this.tip.offsetWidth+this.offX>viewport.width+viewport.scrollX){x=x-this.tip.offsetWidth-this.offX;if(x<0)x=0;}else x=x+this.offX;if(y+this.tip.offsetHeight+this.offY>viewport.height+viewport.scrollY){y=y-this.tip.offsetHeight-this.offY;if(y<viewport.scrollY)y=viewport.height+viewport.scrollY-this.tip.offsetHeight;}else{y=y+this.offY;}
this.tip.style.left=x+"px";this.tip.style.top=y+"px";}},hide:function(){if(this.timer){clearTimeout(this.timer);this.timer=0;}
this.timer=setTimeout("Tooltip.toggleVis('"+this.tipID+"', 'hidden');Tooltip.toggleVisWithClasses('rating', 'hidden');",this.hideDelay);if(this.followMouse)
dw_event.remove(document,"mousemove",this.trackMouse,true);this.tip=null;},toggleVis:function(id,vis){var el=get(id);if(el)el.style.visibility=vis;},toggleVisWithClasses:function(theClass,vis){var tags=document.getElementsByTagName("div");for(i=0;i<tags.length;i++){if(tags[i].className==theClass){tags[i].style.visibility=vis;}}},trackMouse:function(e){e=dw_event.DOMit(e);Tooltip.positionTip(e);}}
var viewport={getWinWidth:function(){this.width=0;if(window.innerWidth)this.width=window.innerWidth-18;else if(document.documentElement&&document.documentElement.clientWidth)
this.width=document.documentElement.clientWidth;else if(document.body&&document.body.clientWidth)
this.width=document.body.clientWidth;},getWinHeight:function(){this.height=0;if(window.innerHeight)this.height=window.innerHeight-18;else if(document.documentElement&&document.documentElement.clientHeight)
this.height=document.documentElement.clientHeight;else if(document.body&&document.body.clientHeight)
this.height=document.body.clientHeight;},getScrollX:function(){this.scrollX=0;if(typeof window.pageXOffset=="number")this.scrollX=window.pageXOffset;else if(document.documentElement&&document.documentElement.scrollLeft)
this.scrollX=document.documentElement.scrollLeft;else if(document.body&&document.body.scrollLeft)
this.scrollX=document.body.scrollLeft;else if(window.scrollX)this.scrollX=window.scrollX;},getScrollY:function(){this.scrollY=0;if(typeof window.pageYOffset=="number")this.scrollY=window.pageYOffset;else if(document.documentElement&&document.documentElement.scrollTop)
this.scrollY=document.documentElement.scrollTop;else if(document.body&&document.body.scrollTop)
this.scrollY=document.body.scrollTop;else if(window.scrollY)this.scrollY=window.scrollY;},getAll:function(){this.getWinWidth();this.getWinHeight();this.getScrollX();this.getScrollY();}}