function THints(a,b){if(!a)a=[];if(!b)b=[];this.a_cfg=b;this.a_elements=[];this.a_hints=[];this.show=f_hintShow;this.showD=f_hintShowNow;this.hide=f_hintHide;this.hideD=f_hintHideNow;this.n_id=A_HINTS.length;A_HINTS[this.n_id]=this;if(!b_ie5&&!b_ie6)b.IEfix=false;for(var c in a){c=String(c).replace(/\W/g,'');document.write('<div style="position:absolute;left:0;top:0;visibility:hidden;z-index:',((b['z-index']==null?2:b['z-index'])+(b.IEfix?1:0)),';',(b.IEtrans?'filter:'+b.IEtrans.join(' '):''),(b.opacity?' alpha(opacity='+b.opacity+'); -moz-opacity:'+(b.opacity/100)+';opacity:'+(b.opacity/100)+'':''),'" id="h',this.n_id,'_',c,'" class="',(this.a_cfg.css?this.a_cfg.css:'tigraHint'),'" onmouseover="A_HINTS[',this.n_id+'].show(\'',c,'\')" onmouseout="A_HINTS[',this.n_id,'].hide(\'',c,'\')" onmousemove="f_onMouseMove(event)">',a[c],'</div>');if(b.IEfix)document.write('<iframe style="position:absolute;left:0;top:0;visibility:hidden;z-index:',(b['z-index']==null?2:b['z-index']),';filter:alpha(opacity=0);" id="h',this.n_id,'_',c,'_if" frameborder="0" scrolling="No"></iframe>')}if(document.addEventListener){document.addEventListener('mousemove',f_onMouseMove,false);window.addEventListener('scroll',f_onwindowChange,false);window.addEventListener('resize',f_onwindowChange,false)}if(window.attachEvent){document.attachEvent('onmousemove',f_onMouseMove);window.attachEvent('onscroll',f_onwindowChange);window.attachEvent('onresize',f_onwindowChange)}else{document.onmousemove=f_onMouseMove;window.onscroll=f_onwindowChange;window.onresize=f_onwindowChange}}var n_flag=false;function f_hintShow(a,b){if(this.e_timer){clearTimeout(this.e_timer);this.e_timer=null}var a=String(a).replace(/\W/g,'');if(!this.a_hints[a])this.a_hints[a]=$('h'+this.n_id+'_'+a);if(!this.a_hints[a])this.a_hints[a]=$(a);if(!this.a_hints[a])throw new Error('001','Can not find the hint with ID='+a);this.a_elements[a]=b;var c=this.a_cfg.show_delay==null?200:this.a_cfg.show_delay;if(!c)return this.showD(a,b);this.e_timer=setTimeout('A_HINTS['+this.n_id+'].showD("'+a+'")',c)}function f_hintShowNow(a,b){if(a==this.o_lastHintID)return;if(b)this.a_elements[a]=b;if(this.o_lastHintID!=null)this.hideD(this.o_lastHintID);this.o_lastIframe=$('h'+this.n_id+'_'+a+'_if');if(this.o_lastIframe)this.o_lastIframe.style.visibility='visible';f_hintPosition(this.a_elements[a],this.a_hints[a],this.a_cfg);if(this.a_cfg.IEtrans&&this.a_cfg.IEtrans[0]){try{var c=this.a_hints[a].filters.item(0);c.apply();this.a_hints[a].style.visibility='visible';c.play()}catch(e){this.a_hints[a].style.visibility='visible'}}else{this.a_hints[a].style.visibility='visible'}this.o_lastHintID=a}function f_hintHide(a){if(this.e_timer){clearTimeout(this.e_timer);this.e_timer=null}if(a!=null)a=String(a).replace(/\W/g,'');else if(this.o_lastHintID)a=this.o_lastHintID;else return;if(!this.a_hints[a])throw new Error('001','Can not find the hint with ID='+a);var b=this.a_cfg.hide_delay==null?200:this.a_cfg.hide_delay;if(!b)return this.hideD(a);this.e_timer=setTimeout('A_HINTS['+this.n_id+'].hideD("'+a+'")',b)}function f_hintHideNow(a){if(this.a_cfg.IEtrans&&this.a_cfg.IEtrans[1]){try{var b=this.a_hints[a].filters.item(this.a_cfg.IEtrans[0]?1:0);b.apply();this.a_hints[a].style.visibility='hidden';b.play()}catch(e){this.a_hints[a].style.visibility='hidden'}}else this.a_hints[a].style.visibility='hidden';this.o_lastHintID=null;if(this.o_lastIframe){this.o_lastIframe.style.visibility='hidden';this.o_lastIframe=null}}function f_hintPosition(a,b,c){if(!b)throw new Error('001','hint object reference is missing in parameters');if(!c)c=[];var d={n_elementWidth:a?a.offsetWidth:0,n_elementHeight:a?a.offsetHeight:0,n_elementLeft:a?f_getPosition(a,'Left'):n_mouseX,n_elementTop:a?f_getPosition(a,'Top'):n_mouseY,n_hintWidth:b.offsetWidth,n_hintHeight:b.offsetHeight,n_hintLeft:0,n_hintTop:0,n_clientWidth:f_clientWidth(),n_clientHeight:f_clientHeight(),n_scrollTop:f_scrollTop(),n_scrollLeft:f_scrollLeft(),s_align:c.align?c.align:'tlbl',n_gap:c.gap==null?5:c.gap,n_margin:c.margin==null?10:c.margin};f_applyAlign(d);if(d.n_hintLeft==0)d.n_hintLeft=-10000;else if(c.smart||c.smart==null)f_checkFit(d);b.style.left=d.n_hintLeft+'px';b.style.top=d.n_hintTop+'px';var e=$(b.id+'_if');if(e){e.style.left=d.n_hintLeft+'px';e.style.top=d.n_hintTop+'px';e.style.width=d.n_hintWidth+'px';e.style.height=d.n_hintHeight+'px'}}function f_checkFit(a){if(a.n_spaceT>=0&&a.n_spaceR>=0&&a.n_spaceB>=0&&a.n_spaceL>=0)return;var b=(a.n_hintTop+a.n_hintHeight+a.n_gap<=a.n_elementTop)||(a.n_elementTop+a.n_elementHeight+a.n_gap<=a.n_hintTop);if(b){if(a.n_spaceL<0||(a.n_spaceL+a.n_spaceR<0))a.n_hintLeft=a.n_scrollLeft+a.n_margin;else if(a.n_spaceR<0)a.n_hintLeft=a.n_scrollLeft+a.n_clientWidth-a.n_margin-a.n_hintWidth}var c=(a.n_hintLeft+a.n_hintWidth+a.n_gap<=a.n_elementLeft)||(a.n_elementLeft+a.n_elementWidth+a.n_gap<=a.n_hintLeft);if(c){if(a.n_spaceT<0||(a.n_spaceT+a.n_spaceB<0))a.n_hintTop=a.n_scrollTop+a.n_margin;else if(a.n_spaceB<0)a.n_hintTop=a.n_scrollTop+a.n_clientHeight-a.n_margin-a.n_hintHeight}if(!b&&(a.n_spaceL<0||a.n_spaceR<0)){var d=a.n_spaceL+a.n_spaceR,n_hintLeft=a.n_hintLeft,n_hintTop=a.n_hintTop;a.s_align=a.s_align.replace('r','-');a.s_align=a.s_align.replace('l','r');a.s_align=a.s_align.replace('-','l');f_applyAlign(a);if(Math.min(a.n_spaceL,a.n_spaceR)<d)a.n_hintLeft=n_hintLeft;a.n_hintTop=n_hintTop}if(!c&&(a.n_spaceT<0||a.n_spaceB<0)){var d=Math.min(a.n_spaceT,a.n_spaceB),n_hintLeft=a.n_hintLeft,n_hintTop=a.n_hintTop;a.s_align=a.s_align.replace('t','-');a.s_align=a.s_align.replace('b','t');a.s_align=a.s_align.replace('-','b');f_applyAlign(a);if(Math.min(a.n_spaceT,a.n_spaceB)<d)a.n_hintTop=n_hintTop;a.n_hintLeft=n_hintLeft}}function f_applyAlign(a){if(!re_align.exec(a.s_align))throw new Error('001','Invalid format of align parameter: '+a.s_align);var b=RegExp.$1,n_top=a.n_elementTop;if(b=='m')n_top+=Math.round(a.n_elementHeight/2);else if(b=='b')n_top+=a.n_elementHeight+a.n_gap;else n_top-=a.n_gap;b=RegExp.$3;if(b=='m')n_top-=Math.round(a.n_hintHeight/2);else if(b=='b')n_top-=a.n_hintHeight;var c=a.n_elementLeft;b=RegExp.$2;if(b=='c')c+=Math.round(a.n_elementWidth/2);else if(b=='r')c+=a.n_elementWidth+a.n_gap;else c-=a.n_gap;b=RegExp.$4;if(b=='c')c-=Math.round(a.n_hintWidth/2);else if(b=='r')c-=a.n_hintWidth;a.n_spaceT=n_top-a.n_scrollTop-a.n_margin,a.n_spaceB=a.n_clientHeight+a.n_scrollTop-a.n_margin-n_top-a.n_hintHeight,a.n_spaceL=c-a.n_scrollLeft-a.n_margin,a.n_spaceR=a.n_clientWidth+a.n_scrollLeft-a.n_margin-c-a.n_hintWidth;a.n_hintLeft=c;a.n_hintTop=n_top}function f_onMouseMove(a){if(!a&&window.event)a=window.event;if(!a)return true;n_mouseX=a.pageX?a.pageX:a.clientX+f_scrollLeft();n_mouseY=a.pageY?a.pageY+2:a.clientY+f_scrollTop();return f_onwindowChange()}function f_onwindowChange(){var a;for(var i=0;i<A_HINTS.length;i++){a=A_HINTS[i];if(a.a_cfg.follow&&a.o_lastHintID)f_hintPosition(a.a_elements[a.o_lastHintID],a.a_hints[a.o_lastHintID],a.a_cfg)}return true}function f_getPosition(a,b){var c=0,n_offset,e_elem=a;while(e_elem){n_offset=e_elem["offset"+b];c+=n_offset;e_elem=e_elem.offsetParent}if(b_ieMac)c+=parseInt(document.body[b.toLowerCase()+'Margin']);e_elem=a;while(e_elem!=document.body){n_offset=e_elem["scroll"+b];if(n_offset&&e_elem.style.overflow=='scroll')c-=n_offset;e_elem=e_elem.parentNode}return c}function f_clientWidth(){if(typeof(window.innerWidth)=='number')return window.innerWidth;if(document.documentElement&&document.documentElement.clientWidth)return document.documentElement.clientWidth;if(document.body&&document.body.clientWidth)return document.body.clientWidth;return null}function f_clientHeight(){if(typeof(window.innerHeight)=='number')return window.innerHeight;if(document.documentElement&&document.documentElement.clientHeight)return document.documentElement.clientHeight;if(document.body&&document.body.clientHeight)return document.body.clientHeight;return null}function f_scrollLeft(){if(typeof(window.pageXOffset)=='number')return window.pageXOffset;if(document.body&&document.body.scrollLeft)return document.body.scrollLeft;if(document.documentElement&&document.documentElement.scrollLeft)return document.documentElement.scrollLeft;return 0}function f_scrollTop(){if(typeof(window.pageYOffset)=='number')return window.pageYOffset;if(document.body&&document.body.scrollTop)return document.body.scrollTop;if(document.documentElement&&document.documentElement.scrollTop)return document.documentElement.scrollTop;return 0}var A_HINTS=[],n_mouseX=0,n_mouseY=0,re_align=/^([tmb])([lcr])([tmb])([lcr])$/;