// Title: Tigra Hints
// URL: http://www.softcomplex.com/products/tigra_hints/
// Version: 2.0
// Date: 02/22/2007
// Note: This script is free for any kind of applications
//	The development of this software is funded by your donations

function THints(a_items,a_cfg){if(!a_items)a_items=[];if(!a_cfg)a_cfg=[];this.a_cfg=a_cfg;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)a_cfg.IEfix=false;for(var R in a_items){R=String(R).replace(/\W/g,'');document.write('<div style="background:#343434;position:absolute;left:0;top:0;visibility:hidden;z-index:',((a_cfg['z-index']==null?2:a_cfg['z-index'])+(a_cfg.IEfix?1:0)),';',(a_cfg.IEtrans?'filter:'+a_cfg.IEtrans.join(' '):''),(a_cfg.opacity?' alpha(opacity='+a_cfg.opacity+'); -moz-opacity:'+(a_cfg.opacity/100)+';opacity:'+(a_cfg.opacity/100)+'':''),'" id="h',this.n_id,'_',R,'" class="',(this.a_cfg.css?this.a_cfg.css:'tigraHint'),'" onmouseover="A_HINTS[',this.n_id+'].show(\'',R,'\')" onmouseout="A_HINTS[',this.n_id,'].hide(\'',R,'\')" onmousemove="f_onMouseMove(event)">',a_items[R],'</div>');if(a_cfg.IEfix)document.write('<iframe style="position:absolute;left:0;top:0;visibility:hidden;z-index:',(a_cfg['z-index']==null?2:a_cfg['z-index']),';filter:alpha(opacity=0);" id="h',this.n_id,'_',R,'_if" frameborder="0" scrolling="No"></iframe>');}if(document.addEventListener){document.addEventListener('mousemove',f_onMouseMove,true);window.addEventListener('scroll',f_onwindowChange,true);window.addEventListener('resize',f_onwindowChange,true);}else{document.onmousemove=f_onMouseMove;window.onscroll=f_onwindowChange;window.onresize=f_onwindowChange;}}function f_hintShow(R,G){if(this.e_timer){clearTimeout(this.e_timer);this.e_timer=null;}var R=String(R).replace(/\W/g,'');if(!this.a_hints[R])this.a_hints[R]=getElement('h'+this.n_id+'_'+R);if(!this.a_hints[R])this.a_hints[R]=getElement(R);if(!this.a_hints[R])throw new Error('001','Can not find the hint with ID='+R);this.a_elements[R]=G;var O=this.a_cfg.show_delay==null?200:this.a_cfg.show_delay;if(!O)return this.showD(R,G);this.e_timer=setTimeout('A_HINTS['+this.n_id+'].showD("'+R+'")',O);}function f_hintShowNow(R,G){if(R==this.o_lastHintID)return;if(G)this.a_elements[R]=G;if(this.o_lastHintID!=null)this.hideD(this.o_lastHintID);f_hintPosition(this.a_elements[R],this.a_hints[R],this.a_cfg);this.o_lastIframe=getElement('h'+this.n_id+'_'+R+'_if');if(this.o_lastIframe)this.o_lastIframe.style.visibility='visible';if(this.a_cfg.IEtrans&&this.a_cfg.IEtrans[0]){try{var D=this.a_hints[R].filters.item(0);D.apply();this.a_hints[R].style.visibility='visible';D.play();}catch(e){this.a_hints[R].style.visibility='visible';};}else this.a_hints[R].style.visibility='visible';this.o_lastHintID=R;}function f_hintHide(R){if(this.e_timer){clearTimeout(this.e_timer);this.e_timer=null;}if(R!=null)R=String(R).replace(/\W/g,'');else if(this.o_lastHintID)R=this.o_lastHintID;else return;if(!this.a_hints[R])throw new Error('001','Can not find the hint with ID='+R);var K=this.a_cfg.hide_delay==null?200:this.a_cfg.hide_delay;if(!K)return this.hideD(R);this.e_timer=setTimeout('A_HINTS['+this.n_id+'].hideD("'+R+'")',K);}function f_hintHideNow(R){if(this.a_cfg.IEtrans&&this.a_cfg.IEtrans[1]){try{var D=this.a_hints[R].filters.item(this.a_cfg.IEtrans[0]?1:0);D.apply();this.a_hints[R].style.visibility='hidden';D.play();}catch(e){this.a_hints[R].style.visibility='hidden';};}else this.a_hints[R].style.visibility='hidden';this.o_lastHintID=null;if(this.o_lastIframe){this.o_lastIframe.style.visibility='hidden';this.o_lastIframe=null;}}function f_hintPosition(G,e_hint,A){if(!e_hint)throw new Error('001','hint object reference is missing in parameters');if(!A)A=[];var a_={n_elementWidth:G?G.offsetWidth:0,n_elementHeight:G?G.offsetHeight:0,n_elementLeft:G?f_getPosition(G,'Left'):n_mouseX,n_elementTop:G?f_getPosition(G,'Top'):n_mouseY,n_hintWidth:e_hint.offsetWidth,n_hintHeight:e_hint.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:A.align?A.align:'tlbl',n_gap:A.gap==null?5:A.gap,n_margin:A.margin==null?10:A.margin};f_applyAlign(a_);if(A.smart||A.smart==null)f_checkFit(a_);e_hint.style.left=a_.n_hintLeft+'px';e_hint.style.top=a_.n_hintTop+'px';var I=getElement(e_hint.id+'_if');if(I){I.style.left=a_.n_hintLeft+'px';I.style.top=a_.n_hintTop+'px';I.style.width=a_.n_hintWidth+'px';I.style.height=a_.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 M=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)<M)a_.n_hintLeft=n_hintLeft;a_.n_hintTop=n_hintTop;}if(!C&&(a_.n_spaceT<0||a_.n_spaceB<0)){var M=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)<M)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 J=RegExp.$1,n_top=a_.n_elementTop;if(J=='m')n_top+=Math.round(a_.n_elementHeight/2);else if(J=='b')n_top+=a_.n_elementHeight+a_.n_gap;else n_top-=a_.n_gap;J=RegExp.$3;if(J=='m')n_top-=Math.round(a_.n_hintHeight/2);else if(J=='b')n_top-=a_.n_hintHeight;var L=a_.n_elementLeft;J=RegExp.$2;if(J=='c')L+=Math.round(a_.n_elementWidth/2);else if(J=='r')L+=a_.n_elementWidth+a_.n_gap;else L-=a_.n_gap;J=RegExp.$4;if(J=='c')L-=Math.round(a_.n_hintWidth/2);else if(J=='r')L-=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=L-a_.n_scrollLeft-a_.n_margin,a_.n_spaceR=a_.n_clientWidth+a_.n_scrollLeft-a_.n_margin-L-a_.n_hintWidth;a_.n_hintLeft=L;a_.n_hintTop=n_top;}function f_onMouseMove(H){if(!H&&window.event)H=window.event;if(!H)return true;n_mouseX=H.pageX?H.pageX:H.clientX+f_scrollLeft();n_mouseY=H.pageY?H.pageY+2:H.clientY+f_scrollTop();return f_onwindowChange();}function f_onwindowChange(){var P;for(var i=0;i<A_HINTS.length;i++)P=A_HINTS[i];if(P.a_cfg.follow&&P.o_lastHintID)f_hintPosition(P.a_elements[P.o_lastHintID],P.a_hints[P.o_lastHintID],P.a_cfg);return true;}function f_getPosition(F,Q){var N=0,n_offset,e_elem=F;while(e_elem){n_offset=e_elem["offset"+Q];N+=n_offset;e_elem=e_elem.offsetParent;}if(b_ieMac)N+=parseInt(document.body[Q.toLowerCase()+'Margin']);else if(b_safari&&(!this.o_block.b_relative||this.n_depth))N-=n_offset;e_elem=F;while(e_elem!=document.body){n_offset=e_elem["scroll"+Q];if(n_offset&&e_elem.style.overflow=='scroll')N-=n_offset;e_elem=e_elem.parentNode;}return N;}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;}getElement=document.all?function(R){return document.all[R]}:function(R){return document.getElementById(R)};var A_HINTS=[],n_mouseX=0,n_mouseY=0,s_userAgent=navigator.userAgent.toLowerCase(),re_align=/^([tmb])([lcr])([tmb])([lcr])$/;var b_mac=s_userAgent.indexOf('mac')!=-1,b_ie5=s_userAgent.indexOf('msie 5')!=-1,b_ie6=s_userAgent.indexOf('msie 6')!=-1&&s_userAgent.indexOf('opera')==-1,b_ieMac=b_mac&&b_ie5,b_safari=b_mac&&s_userAgent.indexOf('safari')!=-1,b_opera6=s_userAgent.indexOf('opera 6')!=-1;