/*************************************************************************
    This code is from Dynamic Web Coding at dyn-web.com
    Copyright 2003-2008 by Sharon Paine 
    See Terms of Use at www.dyn-web.com/business/terms.php
    regarding conditions under which you may use this code.
    This notice must be retained in the code as is!
*/
var dw_Tooltip={offX:12,offY:12,showDelay:100,hideDelay:100,hoverDelay:500,tipID:"tipDiv",actuatorClass:"showTip",maxLoops:2,activateOnfocus:true,tip:null,shim:null,timer:0,hoverTimer:0,active:false,actuator:null,resetFlag:false,restored:true,on_show:function(){},on_position:function(){},on_hide:function(){},init:function(){var a=dw_Tooltip;if(document.createElement&&document.body&&typeof document.body.appendChild!="undefined"){var b=document.createElement("div");b.id=a.tipID;b.style.position="absolute"; b.style.visibility="hidden";b.style.zIndex=1E4;document.body.appendChild(b);a.tip=document.getElementById(a.tipID);a.setDefaults();a.checkOverlaySupport()&&a.prepOverlay();a.setPosition(0,0)}},setDefaults:function(){if(!this.defaultProps)this.defaultProps={};for(var a=[["followMouse","boolean",true],["sticky","boolean",false],["klass","string",""],["hoverable","boolean",false],["duration","number",0],["jumpAbove","boolean",true],["jumpLeft","boolean",true],["Left","boolean",false],["Above","boolean", false],["positionFn","function",this.positionRelEvent],["wrapFn","function",function(c){return c}]],b=0;a[b];b++)this[a[b][0]]=typeof this.defaultProps[a[b][0]]==a[b][1]?this.defaultProps[a[b][0]]:a[b][2];this.tip.className=this.klass;this.coordinateOptions()},activate:function(a,b,c,d){var e=dw_Tooltip;if(e.tip){e.clearTimer("timer");e.clearTimer("hoverTimer");e.restored||e.handleRestore();e.actuator=b;dw_Viewport.getAll();e.getContent(a,b,c,d);e.restored=false;if(e.tip.innerHTML){e.active=true; e.handleOptions(a);e.positionFn(a,b);e.adjust();e.timer=setTimeout(e.show,e.showDelay)}}},getContent:function(a,b,c,d){c=c||"";if(d&&!c){a=d&&this.content_vars&&this.content_vars[d]?this.content_vars[d]:false;if(typeof a=="string")c=a;else if(typeof a=="object"){this.checkForProps(a);if(a.content)c=a.content;else if(a.html_id){if(a=document.getElementById(a.html_id))c=a.innerHTML}else c=a}}this.writeTip(c)},writeTip:function(a,b){if(!(this.pendingReq&&this.respRecd&&!b)){a=this.wrapFn(a);this.tip.innerHTML= a}},positionRelEvent:function(a,b){var c=dw_Tooltip;if(typeof a=="object")if(a.type=="mouseover"||a.type=="mousemove"){c.evX=c.getMouseEventX(a);c.evY=c.getMouseEventY(a)}else{var d=dw_getPageOffsets(b);c.evX=d.x;c.evY=d.y}a=c.calcPosCoords(a,b);c.setPosition(a.x,a.y)},calcPosCoords:function(a,b){var c=this.evX,d=this.evY,e,i,h=this.getMaxX(),j=this.getMaxY(),f=c+this.offX,g=c-(this.width+this.offX),k=c-dw_Viewport.scrollX>dw_Viewport.width/2;if(typeof a=="object"&&a.type&&(a.type=="focus"||a.type== "focusin")){a=b.offsetWidth;if(f+a<h){c=this.evX=c+a;f+=a}else if(f+20<h){c=this.evX=c+20;f+=20}d=this.evY=d+10}a=d+this.offY;b=d-(this.height+this.offY);var l=d-dw_Viewport.scrollY>dw_Viewport.height/2;if(!this.Left&&f<h)c=f;else if(this.Left&&g>=dw_Viewport.scrollX||this.jumpLeft&&f>=h&&g>=dw_Viewport.scrollX)c=g;else if(this.Left&&g<dw_Viewport.scrollX||!this.Left&&this.jumpLeft&&g<dw_Viewport.scrollX&&k){c=dw_Viewport.scrollX;e="Left"}else if(!this.Left&&f>=h&&(!this.jumpLeft||this.jumpLeft&& g<dw_Viewport.scrollX&&!k)){c=h;e="Right"}if(!this.Above&&a<j)d=a;else if(this.Above&&b>=dw_Viewport.scrollY||this.jumpAbove&&a>=j&&b>=dw_Viewport.scrollY)d=b;else if(this.Above&&b<dw_Viewport.scrollY||!this.Above&&this.jumpAbove&&b<dw_Viewport.scrollY&&l){d=dw_Viewport.scrollY;i="Above"}else if(!this.Above&&a>=j&&(!this.jumpAbove||this.jumpAbove&&b<dw_Viewport.scrollY&&!l)){d=j;i="Below"}if(e&&i)if((e=="Left"?dw_Viewport.scrollX-g:f-h)<=(i=="Above"?dw_Viewport.scrollY-b:a-j))c=e=="Left"?g:f;else d= i=="Above"?b:a;return{x:c,y:d}},adjust:function(){function a(){if(b.active){b.positionFn();d&&!d.complete&&setTimeout(a,50)}}var b=dw_Tooltip,c=b.tip.getElementsByTagName("img"),d=c.length?c[c.length-1]:null;a()},setPosition:function(a,b){this.tip.style.left=a+"px";this.tip.style.top=b+"px";this.setOverlay();this.on_position()},show:function(){var a=dw_Tooltip;a.tip.style.visibility="visible";if(a.shim)a.shim.style.visibility="visible";a.on_show()},deactivate:function(a){var b=dw_Tooltip;if(!(!b.tip|| !b.active||b.sticky)){a=a?a:window.event;if(!(a.type&&a.type=="mouseout"&&!dw_mouseleave(a,b.actuator))){b.clearTimer("timer");b.clearTimer("hoverTimer");if(b.hoverable)b.hoverTimer=setTimeout(b.hide,b.hoverDelay);else b.timer=b.duration?setTimeout(b.hide,b.duration):setTimeout(b.hide,b.hideDelay)}}},hide:function(){var a=dw_Tooltip;if(a.tip){a.tip.style.visibility="hidden";if(a.shim)a.shim.style.visibility="hidden";a.handleRestore();a.on_hide()}},handleOptions:function(a){this.coordinateOptions(); if(this.klass)this.tip.className=this.klass;if(this.hoverable){this.tip.onmouseout=dw_Tooltip.tipOutCheck;this.tip.onmouseover=function(){dw_Tooltip.clearTimer("hoverTimer")}}if(this.followMouse&&!this.hoverable&&!(a.type=="focus"||a.type=="focusin"))dw_Event.add(document,"mousemove",this.positionRelEvent);if(this.sticky||this.duration)dw_Event.add(document,"mouseup",dw_Tooltip.checkDocClick)},coordinateOptions:function(){if(this.sticky||this.hoverable||this.duration)this.followMouse=false;if(this.sticky){this.hoverable= false;this.duration=0}if(this.hoverable)this.duration=0;if(this.positionFn!=this.positionRelEvent)this.followMouse=false},handleRestore:function(){this.followMouse&&dw_Event.remove(document,"mousemove",this.positionRelEvent);if(this.sticky||this.duration)dw_Event.remove(document,"mouseup",dw_Tooltip.checkDocClick,false);this.tip.onmouseover=this.tip.onmouseout=function(){};this.resetFlag&&this.setDefaults();this.writeTip("");this.active=false;this.actuator=null;this.tip.style.width="";this.restored= true},getTipClass:function(a){if(!a)return"";var b="";a=a.split(/\s+/);if(a[0]==this.actuatorClass&&a[1])b=a[1];return b},checkForProps:function(a){for(var b=["jumpAbove","jumpLeft","Above","Left","sticky","duration","hoverable","followMouse","klass","positionFn","wrapFn"],c=0;b[c];c++)if(typeof a[b[c]]!="undefined"){this[b[c]]=a[b[c]];this.resetFlag=true}},tipOutCheck:function(a){var b=dw_Tooltip;a=dw_Event.DOMit(a);if(dw_mouseleave(a,this))b.timer=setTimeout(b.hide,b.hideDelay)},checkEscKey:function(a){a= a?a:window.event;a.keyCode==27&&dw_Tooltip.hide()},checkDocClick:function(a){if(dw_Tooltip.active){a=dw_Event.getTarget(a);var b=document.getElementById(dw_Tooltip.tipID);if(a==b||dw_contained(a,b)){if(a.tagName&&a.tagName.toLowerCase()=="img")a=a.parentNode;if(a.tagName.toLowerCase()!="a"||a.href.indexOf("dw_Tooltip.hide")!=-1)return}dw_Tooltip.timer=setTimeout(dw_Tooltip.hide,50)}},checkOverlaySupport:function(){if(navigator.userAgent.indexOf("Windows")!=-1&&typeof document.body!="undefined"&&typeof document.body.insertAdjacentHTML!= "undefined"&&!window.opera&&navigator.appVersion.indexOf("MSIE 5.0")==-1)return true;return false},prepOverlay:function(){document.body.insertAdjacentHTML("beforeEnd",'<iframe id="tipShim" src="javascript: false" style="position:absolute; left:0; top:0; z-index:500; visibility:hidden" scrolling="no" frameborder="0"></iframe>');if((this.shim=document.getElementById("tipShim"))&&this.tip){this.shim.style.width=this.tip.offsetWidth+"px";this.shim.style.height=this.tip.offsetHeight+"px"}},setOverlay:function(){if(this.shim){this.shim.style.left= this.tip.style.left;this.shim.style.top=this.tip.style.top;this.shim.style.width=this.tip.offsetWidth+"px";this.shim.style.height=this.tip.offsetHeight+"px"}},clearTimer:function(a){if(dw_Tooltip[a]){clearTimeout(dw_Tooltip[a]);dw_Tooltip[a]=0}},getWidth:function(){return this.width=this.tip.offsetWidth},getHeight:function(){return this.height=this.tip.offsetHeight},getMaxX:function(){return dw_Viewport.width+dw_Viewport.scrollX-this.getWidth()-1},getMaxY:function(){return dw_Viewport.height+dw_Viewport.scrollY- this.getHeight()-1},getMouseEventX:function(a){return a.pageX?a.pageX:a.clientX+dw_Viewport.scrollX},getMouseEventY:function(a){return a.pageY?a.pageY:a.clientY+dw_Viewport.scrollY}}; dw_Tooltip.initHandlers=function(){dw_Event.add(document,"mouseover",dw_Tooltip.checkActuatorMouseover);dw_Event.add(document,"keydown",dw_Tooltip.checkEscKey,true);dw_Event.add(window,"blur",dw_Tooltip.deactivate,true);dw_Event.add(window,"unload",dw_Tooltip.deactivate,true);if(dw_Tooltip.activateOnfocus){document.onfocusin=dw_Tooltip.checkActuatorFocus;window.addEventListener&&dw_Event.add(document,"focus",dw_Tooltip.checkActuatorFocus,true)}}; dw_Tooltip.checkActuatorMouseover=function(a){var b=dw_Event.getTarget(a),c=null,d=0,e=dw_Tooltip.maxLoops;do{if(c=dw_Tooltip.getActuatorInfo(b)){dw_Tooltip.activate(a,b,c.msg,c.id);window.attachEvent&&dw_Event.remove(b,"mouseout",dw_Tooltip.deactivate);dw_Event.add(b,"mouseout",dw_Tooltip.deactivate);break}d++}while(d<e&&(b=b.parentNode))}; dw_Tooltip.checkActuatorFocus=function(a){a=a?a:window.event;var b=null,c=dw_Event.getTarget(a);if(c&&(b=dw_Tooltip.getActuatorInfo(c)))if(!(dw_Tooltip.active&&c==dw_Tooltip.actuator)){dw_Tooltip.activate(a,c,b.msg,b.id);if(window.attachEvent)c.onfocusout=dw_Tooltip.deactivate;else dw_Event.add(c,"blur",dw_Tooltip.deactivate,true)}}; dw_Tooltip.getActuatorInfo=function(a){var b=dw_Tooltip.defaultProps.actuatorQual||"actuatorClass",c=dw_Tooltip.defaultProps.content_source||"content_vars",d="",e="";dw_Tooltip.resetReqFlags();switch(b){case "actuatorClass":a=dw_Tooltip.getTipClass(a.className);if(!a)break;if(c=="content_vars")e=dw_Tooltip.content_vars&&dw_Tooltip.content_vars[a]?a:"";else if(c=="class_id")if(c=document.getElementById(a))d=c.innerHTML;break;case "queryVal":e=(a=(b=dw_Tooltip.defaultProps.queryVal)?dw_getValueFromQueryString(b, a):"")&&dw_Tooltip.content_vars&&dw_Tooltip.content_vars[a]?a:"";if(a&&c=="ajax"&&!e){d="Retrieving info ...";dw_Tooltip.pendingReq=true;c=encodeURIComponent(b)+"="+encodeURIComponent(a);dw_TooltipRequest(c,a)}break;case "id":e=a.id&&dw_Tooltip.content_vars&&dw_Tooltip.content_vars[a.id]?a.id:"";break}if(e||d)return{msg:d,id:e};return false};dw_Tooltip.resetReqFlags=function(){this.pendingReq=this.respRecd=false}; function dw_mouseleave(a,b){a=dw_Event.DOMit(a);a=a.relatedTarget?a.relatedTarget:a.toElement?a.toElement:null;if(b!=a&&!dw_contained(a,b))return true;return false}function dw_contained(a,b){if(a){for(;a=a.parentNode;)if(a==b)return true;return false}}function dw_getPageOffsets(a){var b=0,c=0;do{b+=a.offsetLeft;c+=a.offsetTop}while(a=a.offsetParent);return{x:b,y:c}} function dw_getValueFromQueryString(a,b){b=b?b:window.location;if(b.search&&b.search.indexOf(a!=-1)){b=b.search.slice(1).split("&");for(var c,d=0;b[d];d++){c=b[d].split("=");if(c[0]==a&&c[1])return c[1]}}return""} var dw_Event={add:function(a,b,c,d){d=d||false;if(a.addEventListener)a.addEventListener(b,c,d);else a.attachEvent&&a.attachEvent("on"+b,c)},remove:function(a,b,c,d){d=d||false;if(a.removeEventListener)a.removeEventListener(b,c,d);else a.detachEvent&&a.detachEvent("on"+b,c)},DOMit:function(a){a=a?a:window.event;if(!a.target)a.target=a.srcElement;if(!a.preventDefault)a.preventDefault=function(){return a.returnValue=false};if(!a.stopPropagation)a.stopPropagation=function(){a.cancelBubble=true};return a}, getTarget:function(a){a=dw_Event.DOMit(a);a=a.target;if(a.nodeType!=1)a=a.parentNode;return a}};function addLoadEvent(a){var b=window.onload?window.onload:function(){};window.onload=function(){b();a()}}dw_Tooltip.writeStyleRule=function(){if(document.createElement&&document.getElementsByTagName&&(document.addEventListener||document.attachEvent))document.write('<style type="text/css" media="screen">.tipContent { display:none; }</style>')};dw_Event.add(window,"load",dw_Tooltip.init); dw_Event.add(window,"load",dw_Tooltip.initHandlers);function dw_initShowTip(){}function dw_TooltipRequest(){}dw_Tooltip.positionWindowCenter=function(){var a=Math.round((dw_Viewport.width-dw_Tooltip.tip.offsetWidth)/2)+dw_Viewport.scrollX,b=Math.round((dw_Viewport.height-dw_Tooltip.tip.offsetHeight)/2)+dw_Viewport.scrollY;dw_Tooltip.setPosition(a,b)}; dw_Tooltip.wrapSticky=function(a,b){b=b||"";return'<table id="stickyTable" border="0" cellpadding="0" cellspacing="0" width="100%"><tr class="stickyBar"><td><div class="stickyTitle">'+b+'</div></td><td style="text-align:right"><a href="javascript: void dw_Tooltip.hide()"><img style="float:right" src="'+dw_Tooltip.defaultProps.closeBoxImage+'" border="0" /></a></td></tr><tr><td colspan="2"><div class="stickyContent">'+a+"</div></td></tr></table>"}; dw_Tooltip.wrapToWidth=function(a){if(!a)return"";var b=a.str,c=a.caption||"";if(this.sticky&&this.defaultProps.showCloseBox)b=dw_Tooltip.wrapSticky(b,c);else if(c)b='<div class="caption">'+a.caption+"</div>"+b;a.w&&this.setTipWidth(a.w);return b}; dw_Tooltip.wrapImageToWidth=function(a){if(!a)return"";dw_getImage(a.img);var b=a.caption||"",c=a.w,d='<img src="'+a.img+'" width="'+c+'" height="'+a.h+'" alt="">';if(this.sticky&&this.defaultProps.showCloseBox){d=dw_Tooltip.wrapSticky(d,b);c+=8}else if(b)d='<div class="caption">'+a.caption+"</div>"+d;c&&this.setTipWidth(c);return d}; dw_Tooltip.wrapTextByImage=function(a){if(!a)return"";dw_getImage(a.img);var b=a.caption||"",c='<table cellpadding="0" cellspacing="0" border="0"><tr><td><div class="txt">'+a.txt+'</div></td><td><div class="img"><img src="'+a.img+'" /></div></td></tr></table>';if(this.sticky&&this.defaultProps.showCloseBox)c=dw_Tooltip.wrapSticky(c,b);else if(b)c='<div class="caption">'+a.caption+"</div>"+c;a.w&&this.setTipWidth(a.w);return c}; dw_Tooltip.wrapImageOverText=function(a){if(!a)return"";dw_getImage(a.img);var b=a.caption||"",c='<div class="img"><img src="'+a.img+'" /></div><div class="txt">'+a.txt+"</div>";if(this.sticky&&this.defaultProps.showCloseBox)c=dw_Tooltip.wrapSticky(c,b);else if(b)c='<div class="caption">'+a.caption+"</div>"+c;a.w&&this.setTipWidth(a.w);return c}; dw_Tooltip.wrapTextOverImage=function(a){if(!a)return"";dw_getImage(a.img);var b=a.caption||"",c='<div class="txt">'+a.txt+'</div><div class="img"><img src="'+a.img+'" /></div>';if(this.sticky&&this.defaultProps.showCloseBox)c=dw_Tooltip.wrapSticky(c,b);else if(b)c='<div class="caption">'+a.caption+"</div>"+c;a.w&&this.setTipWidth(a.w);return c};dw_Tooltip.setTipWidth=function(a){a+=dw_backCompatWidth(this.tip);this.tip.style.width=a+"px"};function dw_getImage(a){(new Image).src=a} function dw_backCompatWidth(a){var b=0;if(a.currentStyle&&!window.opera&&(document.compatMode==null||document.compatMode=="BackCompat")){b=parseInt(dw_getCurrentStyle(a,"paddingLeft"))+parseInt(dw_getCurrentStyle(a,"paddingRight"));a=parseInt(dw_getCurrentStyle(a,"borderLeftWidth"))+parseInt(dw_getCurrentStyle(a,"borderRightWidth"));b=b+a}return b} function dw_getCurrentStyle(a,b){var c="";if(document.defaultView&&document.defaultView.getComputedStyle)c=document.defaultView.getComputedStyle(a,null)[b];else if(a.currentStyle){c=a.currentStyle[b];if(!/^\d+(px)?$/i.test(c)&&/^\d/.test(c)){b=a.style.left;var d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=c||0;c=a.style.pixelLeft+"px";a.style.left=b;a.runtimeStyle.left=d}}return c} var dw_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;return this.width},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;return this.height},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; return this.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;return this.scrollY},getAll:function(){this.getWinWidth();this.getWinHeight();this.getScrollX();this.getScrollY()}};