var isDOM=document.getElementById?1:0, isIE=document.all?1:0, isNS4=navigator.appName=='Netscape'&&!isDOM?1:0, isOp=self.opera?1:0, isDyn=isDOM||isIE||isNS4; function getRef(i, p) { p=!p?document:p.navigator?p.document:p; return isIE ? p.all[i] : isDOM ? (p.getElementById?p:p.ownerDocument).getElementById(i) : isNS4 ? p.layers[i] : null; }; function getSty(i, p) { var r=getRef(i, p); return r?isNS4?r:r.style:null; }; if (!self.LayerObj) var LayerObj = new Function('i', 'p', 'this.ref=getRef(i, p); this.sty=getSty(i, p); return this'); function getLyr(i, p) { return new LayerObj(i, p) }; function LyrFn(n, f) { LayerObj.prototype[n] = new Function('var a=arguments,p=a[0],px=isNS4||isOp?0:"px"; ' + 'with (this) { '+f+' }'); }; LyrFn('x','if (!isNaN(p)) sty.left=p+px; else return parseInt(sty.left)'); LyrFn('y','if (!isNaN(p)) sty.top=p+px; else return parseInt(sty.top)'); LyrFn('w','if (p) (isNS4?sty.clip:sty).width=p+px; ' + 'else return (isNS4?ref.document.width:ref.offsetWidth)'); LyrFn('h','if (p) (isNS4?sty.clip:sty).height=p+px; ' + 'else return (isNS4?ref.document.height:ref.offsetHeight)'); LyrFn('vis','sty.visibility=p'); LyrFn('write','if (isNS4) with (ref.document){write(p);close()} else ref.innerHTML=p'); LyrFn('alpha','var f=ref.filters,d=(p==null),o=d?"inherit":p/100; if (f) {' + 'if (!d&&sty.filter.indexOf("alpha")==-1) sty.filter+=" alpha(opacity="+p+")"; ' + 'else if (f.length&&f.alpha) with(f.alpha){if(d)enabled=false;else{opacity=p;enabled=true}} }' + 'else if (isDOM)sty.opacity=sty.MozOpacity=o'); if (!self.page) var page = { win:self, minW:0, minH:0, MS:isIE&&!isOp }; page.db = function(p) { with (this.win.document) return (isDOM?documentElement[p]:0)||body[p]||0 }; page.winW=function() { with (this) return Math.max(minW, MS ? db('clientWidth') : win.innerWidth) }; page.winH=function() { with (this) return Math.max(minH, MS ? db('clientHeight') : win.innerHeight) }; page.scrollX=function() { with (this) return MS ? db('scrollLeft') : win.pageXOffset }; page.scrollY=function() { with (this) return MS ? db('scrollTop') : win.pageYOffset }; function TipObj(myName) { this.myName = myName; this.template = ''; this.tips = new Array(); this.parentObj = null; this.div = null; this.actTip = ''; this.showTip = false; this.xPos = this.yPos = this.sX = this.sY = this.mX = this.mY = 0; this.trackTimer = this.fadeTimer = 0; this.alpha = 0; this.doFades = false; this.minAlpha = 0; this.maxAlpha = 100; this.fadeInSpeed = 20; this.fadeOutSpeed = 20; this.tipStick = 1; this.showDelay = 20; this.hideDelay = 20; this.IESelectBoxFix = 0; TipObj.list[myName] = this; }; TipObj.list = {}; var ToPt = TipObj.prototype; ToPt.track = function(evt) { with (this) { if (!isIE || document.body) { evt=evt||window.event; sX = page.scrollX(); sY = page.scrollY(); mX = evt.pageX || sX + evt.clientX || 0; mY = evt.pageY || sY + evt.clientY || 0; if (tipStick == 1) position(); } }}; ToPt.position = function(forcePos) { with (this) { if (!actTip) return; var wW = page.winW(), wH = page.winH(); if (!isIE||isOp) { wW-=16; wH-=16 } var t=tips[actTip], tipX=eval(t[0]), tipY=eval(t[1]), tipW=div.w(), tipH=div.h(), adjY = 1; if (typeof(t[0])=='number') tipX += mX; if (typeof(t[1])=='number') tipY += mY; if (tipX + tipW + 5 > sX + wW) tipX = sX + wW - tipW - 5; if (tipY + tipH + 5 > sY + wH) tipY = sY + wH - tipH - 5; if (tipX < sX + 5) tipX = sX + 5; if (tipY < sY + 5) tipY = sY + 5; if ((!showTip && (doFades ? !alpha : true)) || forcePos) { xPos = tipX; yPos = tipY; } xPos += (tipX - xPos) * tipStick; yPos += (tipY - yPos) * tipStick; div.x(xPos); div.y(yPos); return; }}; ToPt.replaceContent = function(tipN) { with (this) { actTip = tipN; if (tipStick == parseInt(tipStick)) { var rE = ''; if (isNS4) { div.ref.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT); rE = '; return this.routeEvent(evt)'; } div.ref.onmouseover = new Function('evt', myName+'.show("' + tipN + '"' + (parentObj ? ','+parentObj.myName : '') + ')' + rE); div.ref.onmouseout = new Function('evt', myName + '.hide()' + rE); } var str = template; for (var i = 0; i < tips[tipN].length; i++) str = str.replace(new RegExp('%'+i+'%', 'g'), tips[tipN][i]); if (window.createPopup && IESelectBoxFix) { var filt = 'filter: progid:DXImageTransform.Microsoft.Alpha(opacity='; str += '' + '