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 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(); } }; var Toolimage = { followMouse: true, offX: 8, offY: 12, imageID: "imageDiv", showDelay: 100, hideDelay: 200, ready:false, timer:null, image:null, init:function() { if(document.createElement&&document.body&&typeof document.body.appendChild!="undefined") { if(!document.getElementById(this.imageID)) { var el=document.createElement("DIV"); el.id=this.imageID;document.body.appendChild(el); } this.ready=true; } }, show:function(e,msg) { if(this.timer) { clearTimeout(this.timer); this.timer=0; } this.image=document.getElementById(this.imageID); if(this.followMouse) dw_event.add(document,"mousemove",this.trackMouse,true); this.writeImage(""); this.writeImage(msg); viewport.getAll(); this.positionImage(e); this.timer=setTimeout("Toolimage.toggleVis('"+this.imageID+"', 'visible')",this.showDelay); }, writeImage:function(msg) { if(this.image&&typeof this.image.innerHTML!="undefined") this.image.innerHTML=msg; }, positionImage:function(e) { if(this.image&&this.image.style) { var x=e.pageX?e.pageX:e.clientX+viewport.scrollX; var y=e.pageY?e.pageY:e.clientY+viewport.scrollY; if(x+this.image.offsetWidth+this.offX>viewport.width+viewport.scrollX) { x=x-this.image.offsetWidth-this.offX;if(x<0)x=0; } else x=x+this.offX; if(y+this.image.offsetHeight+this.offY>viewport.height+viewport.scrollY) { y=y-this.image.offsetHeight-this.offY; if(y