var Tip={types:{_default:{classOverride:null,tipPosition:"top",mouseTrack:false,show:function(a){a.fadeIn(200)},hide:function(a){a.fadeOut(200)}}},enabled:true,hidden:false,activeContent:null,target:null,init:function(a,b){var c=this;if(b==undefined){b={}}this.types=$.extend(this.types,b);$(a).live("mouseover mouseout mousemove",function(h){if(c.tip==null){c.initHtml()}if(c.target==null){c.hidden=false}if(!c.enabled||c.hidden){return}var g=$(this).attr("ctip")?(c.types[$(this).attr("ctip")]!=undefined?$(this).attr("ctip"):"_default"):"_default";var f=$.extend({},c.types._default,c.types[g]);var d=$(this).attr("ctip")&&f.classOverride==null?$(this).attr("ctip"):f.classOverride;if(h.type=="mouseover"){c.tip.stop(1,1);c.update($(this).attr("tip"));c.target=$(this);c.tip.removeAttr("class").addClass(d);f.show(c.tip);c.reposition(f,h);c.autoUpdateInterval=setInterval(function(){if(c.target==null){clearInterval(c.autoUpdateInterval);return}if(c.activeContent!=c.target.attr("tip")){c.update(c.target.attr("tip"))}},100)}else{if(h.type=="mouseout"){f.hide(c.tip);c.afterHide()}else{if(h.type=="mousemove"){if(f.mouseTrack){c.reposition(f,h)}}}}})},autoUpdateInterval:null,afterHide:function(){this.target=null;clearInterval(this.autoUpdateInterval)},reposition:function(a,f){var d=this.getPos(a,f);var c=this.tip.outerHeight(),b=this.tip.outerWidth();switch(a.tipPosition){case"top":if(d.top<0){d=this.getPos({tipPosition:"bottom",mouseTrack:a.mouseTrack},f)}if(d.left<0){d.left=0}if(d.left+b>$(window).width()){d.left=$(window).width()-b}break;case"bottom":if(d.top+c>$(window).height()-10){d=this.getPos({tipPosition:"top",mouseTrack:a.mouseTrack},f)}if(d.left<0){d.left=0}if(d.left+b>$(window).width()-10){d.left=$(window).width()-b}break;case"left":if(d.left<0){d=this.getPos({tipPosition:"right",mouseTrack:a.mouseTrack},f)}if(d.top<0){d.top=0}if(d.top+c>$(window).height()-10){d.top=$(window).height()-c}break;case"right":if(d.left+b>$(window).width()-10){d=this.getPos({tipPosition:"left",mouseTrack:a.mouseTrack},f)}if(d.top<0){d.top=0}if(d.top+c>$(window).height()-10){d.top=$(window).height()-c}break}this.tip.css(d)},getPos:function(a,f){var d=a.mouseTrack?{top:f.clientY,left:f.clientX}:this.target.offset();var c=this.tip.outerHeight(),b=this.tip.outerWidth();switch(a.tipPosition){case"top":d.top-=(a.mouseTrack?(c+10):c+2);d.left-=(b/2-(a.mouseTrack?0:this.target.outerWidth()/2));break;case"bottom":d.top+=(a.mouseTrack?10:this.target.outerHeight()+2);d.left-=(b/2-(a.mouseTrack?0:this.target.outerWidth()/2));break;case"left":d.left-=((a.mouseTrack?10:2)+b);d.top-=(c/2-(a.mouseTrack?0:this.target.outerHeight()/2));break;case"right":d.left+=(a.mouseTrack?10:(this.target.outerWidth()+2));d.top-=(c/2-(a.mouseTrack?0:this.target.outerHeight()/2));break}return d},update:function(a){this.activeContent=a;this.tipContentHandler.html(this.activeContent)},initHtml:function(){var a=this;a.tip=$(document.createElement("div")).attr("id","tip").append('<div id=tip-o1></div><div id=tip-o2></div><div class="tipInnerContainer"></div>');a.tipContentHandler=a.tip.find(".tipInnerContainer");$("body").append(a.tip)},hide:function(){if(this.tip!=undefined){this.tip.hide()}this.afterHide();this.hidden=true},disable:function(){if(this.tip!=undefined){this.tip.hide()}this.afterHide();this.enabled=false},enable:function(){this.enabled=true}};Tip.init("[tip]");
