(function($){$.cluetip={version:"1.0.4"};var $cluetip,$cluetipInner,$cluetipOuter,$cluetipTitle,$cluetipArrows,$cluetipWait,$dropShadow,imgCount;$.fn.cluetip=function(js,options){if(typeof js=="object"){options=js;js=null}if(js=="destroy"){return this.unbind(".cluetip")}return this.each(function(index){var link=this,$this=$(this);var opts=$.extend(true,{},$.fn.cluetip.defaults,options||{},$.metadata?$this.metadata():$.meta?$this.data():{});var cluetipContents=false;var cluezIndex=+opts.cluezIndex;$this.data("thisInfo",{title:link.title,zIndex:cluezIndex});var isActive=false,closeOnDelay=0;if(!$("#cluetip").length){$(['<div id="cluetip">','<div id="cluetip-outer">','<kbd class="xclose">x</kbd>','<kbd class="yclose">close</kbd>','<h3 id="cluetip-title"></h3>','<div id="cluetip-inner"></div>',"</div>",'<div id="cluetip-extra"></div>','<div id="cluetip-arrows" class="cluetip-arrows"></div>',"</div>"].join(""))[insertionType](insertionElement).hide();$cluetip=$("#cluetip");$cluetipOuter=$("#cluetip-outer").css({zIndex:cluezIndex});$xclose=$(".xclose");$yclose=$(".yclose");$cluetipInner=$("#cluetip-inner");$cluetipTitle=$("#cluetip-title");$cluetipArrows=$("#cluetip-arrows");$cluetipWait=$('<div id="cluetip-waitimage"></div>').insertBefore($cluetip).hide()}var dropShadowSteps=(opts.dropShadow)?+opts.dropShadowSteps:0;if(!$dropShadow){$dropShadow=$([]);for(var i=0;i<dropShadowSteps;i++){$dropShadow=$dropShadow.add($("<div></div>").css({zIndex:cluezIndex-1,opacity:0.1,top:1+i,left:1+i}))}$dropShadow.css({position:"absolute",backgroundColor:"#000"}).prependTo($cluetip)}var tipAttribute=$this.attr(opts.attribute),ctClass=opts.cluetipClass;if(!tipAttribute&&!opts.splitTitle&&!js){return true}if(opts.local&&opts.localPrefix){tipAttribute=opts.localPrefix+tipAttribute}if(opts.local&&opts.hideLocal){$(tipAttribute+":first").hide()}var tOffset=parseInt(opts.topOffset,10),lOffset=parseInt(opts.leftOffset,10);var tipHeight,wHeight,defHeight=isNaN(parseInt(opts.height,10))?"auto":(/\D/g).test(opts.height)?opts.height:opts.height+"px";var sTop,linkTop,posY,tipY,mouseY,baseline;var tipInnerWidth=parseInt(opts.width,10)||275,tipWidth=tipInnerWidth+(parseInt($cluetip.css("paddingLeft"),10)||0)+(parseInt($cluetip.css("paddingRight"),10)||0)+dropShadowSteps,linkWidth=this.offsetWidth,linkLeft,posX,tipX,mouseX,winWidth;var tipParts;var tipTitle=(opts.attribute!="title")?$this.attr(opts.titleAttribute):"";if(opts.splitTitle){if(tipTitle==undefined){tipTitle=""}tipParts=tipTitle.split(opts.splitTitle);tipTitle=tipParts.shift()}if(opts.escapeTitle){tipTitle=tipTitle.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/</g,"&lt;")}var localContent;function returnFalse(){return false}var activate=function(event){if(!opts.onActivate($this)){return false}isActive=true;$cluetip.removeClass().css({width:tipInnerWidth});if(tipAttribute==$this.attr("href")){$this.css("cursor",opts.cursor)}if(opts.hoverClass){$this.addClass(opts.hoverClass)}linkTop=posY=$this.offset().top;linkLeft=$this.offset().left;mouseX=event.pageX;mouseY=event.pageY;if(link.tagName.toLowerCase()!="area"){sTop=$(document).scrollTop();winWidth=$(window).width()}if(opts.positionBy=="fixed"){posX=linkWidth+linkLeft+lOffset;$cluetip.css({left:posX})}else{posX=(linkWidth>linkLeft&&linkLeft>tipWidth)||linkLeft+linkWidth+tipWidth+lOffset>winWidth?linkLeft-tipWidth-lOffset:linkWidth+linkLeft+lOffset;if(link.tagName.toLowerCase()=="area"||opts.positionBy=="mouse"||linkWidth+tipWidth>winWidth){if(mouseX+20+tipWidth>winWidth){$cluetip.addClass(" cluetip-"+ctClass);posX=(mouseX-tipWidth-lOffset)>=0?mouseX-tipWidth-lOffset-parseInt($cluetip.css("marginLeft"),10)+parseInt($cluetipInner.css("marginRight"),10):mouseX-(tipWidth/2)}else{posX=mouseX+lOffset}}var pY=posX<0?event.pageY+tOffset:event.pageY;$cluetip.css({left:(posX>0&&opts.positionBy!="bottomTop")?posX:(mouseX+(tipWidth/2)>winWidth)?winWidth/2-tipWidth/2:Math.max(mouseX-(tipWidth/2),0),zIndex:$this.data("thisInfo").zIndex});$cluetipArrows.css({zIndex:$this.data("thisInfo").zIndex+1})}wHeight=$(window).height();if(js){if(typeof js=="function"){js=js(link)}$cluetipInner.html(js);cluetipShow(pY)}else{if(tipParts){var tpl=tipParts.length;$cluetipInner.html(tipParts[0]);if(tpl>1){for(var i=1;i<tpl;i++){$cluetipInner.append('<div class="split-body">'+tipParts[i]+"</div>")}}cluetipShow(pY)}else{if(!opts.local&&tipAttribute.indexOf("#")!=0){if(/\.(jpe?g|tiff?|gif|png)$/i.test(tipAttribute)){$cluetipInner.html('<img src="'+tipAttribute+'" alt="'+tipTitle+'" />');cluetipShow(pY)}else{if(cluetipContents&&opts.ajaxCache){$cluetipInner.html(cluetipContents);cluetipShow(pY)}else{var optionBeforeSend=opts.ajaxSettings.beforeSend,optionError=opts.ajaxSettings.error,optionSuccess=opts.ajaxSettings.success,optionComplete=opts.ajaxSettings.complete;var ajaxSettings={cache:false,url:$this.attr(opts.attribute),beforeSend:function(xhr){if(optionBeforeSend){optionBeforeSend.call(link,xhr,$cluetip,$cluetipInner)}$cluetipOuter.children("h3").empty();$cluetipOuter.children("div").empty();if(opts.waitImage){$cluetipWait.css({top:mouseY+20,left:mouseX+20,zIndex:$this.data("thisInfo").zIndex-1}).show()}},error:function(xhr,textStatus){if(isActive){if(optionError){optionError.call(link,xhr,textStatus,$cluetip,$cluetipInner)}else{$cluetipInner.html("<i>sorry, the contents could not be loaded</i>")}}},success:function(data,textStatus){cluetipContents=opts.ajaxProcess.call(link,data);if(isActive){if(optionSuccess){optionSuccess.call(link,data,textStatus,$cluetip,$cluetipInner)}$cluetipInner.html(cluetipContents)}},complete:function(xhr,textStatus){if(optionComplete){optionComplete.call(link,xhr,textStatus,$cluetip,$cluetipInner)}imgCount=$("#cluetip-inner img").length;if(imgCount&&!$.browser.opera){$("#cluetip-inner img").bind("load error",function(){imgCount--;if(imgCount<1){$cluetipWait.hide();if(isActive){cluetipShow(pY)}}})}else{$cluetipWait.hide();if(isActive){cluetipShow(pY)}}}};var ajaxMergedSettings=$.extend(true,{},opts.ajaxSettings,ajaxSettings);$.ajax(ajaxMergedSettings)}}}else{if(opts.local){var $localContent=$(tipAttribute+(/#\S+$/.test(tipAttribute)?"":":eq("+index+")")).clone(true).show();$cluetipInner.html($localContent);cluetipShow(pY)}}}}};var cluetipShow=function(bpY){$cluetip.addClass("cluetip-"+ctClass);if(opts.truncate){var $truncloaded=$cluetipInner.text().slice(0,opts.truncate)+"...";$cluetipInner.html($truncloaded)}function doNothing(){}tipTitle?$cluetipTitle.show().html($this.attr(opts.titleAttribute)):(opts.showTitle)?$cluetipTitle.show().html("&nbsp;"):$cluetipTitle.hide();if(opts.sticky){$xclose.bind("click.xclose",function(){cluetipClose();return false});$yclose.bind("click.yclose",function(){cluetipClose();return false});if(opts.mouseOutClose){$cluetip.bind("mouseleave.cluetip",function(){cluetipClose()})}else{$cluetip.unbind("mouseleave.cluetip")}}var direction="";$cluetipOuter.css({zIndex:$this.data("thisInfo").zIndex,height:defHeight});tipHeight=defHeight=="auto"?Math.max($cluetip.outerHeight(),$cluetip.height()):parseInt(defHeight,10);tipY=posY;baseline=sTop+wHeight;if(opts.positionBy=="fixed"){tipY=posY-opts.dropShadowSteps+tOffset}else{if((posX<mouseX&&Math.max(posX,0)+tipWidth>mouseX)||opts.positionBy=="bottomTop"){if(posY+tipHeight+tOffset>baseline&&mouseY-sTop>tipHeight+tOffset){tipY=mouseY-tipHeight-tOffset;direction="top"}else{tipY=mouseY+tOffset;direction="bottom"}}else{if(posY+tipHeight+tOffset>baseline){tipY=(tipHeight>=wHeight)?sTop:baseline-tipHeight-tOffset}else{if($this.css("display")=="block"||link.tagName.toLowerCase()=="area"||opts.positionBy=="mouse"){tipY=bpY-tOffset}else{tipY=posY-opts.dropShadowSteps}}}}if(direction==""){posX<linkLeft?direction="left":direction="right"}$cluetip.css({top:tipY+"px"}).removeClass().addClass("clue-"+direction+"-"+ctClass).addClass(" cluetip-"+ctClass);if(opts.arrows){var bgY=(posY-tipY-opts.dropShadowSteps);$cluetipArrows.css({top:(/(left|right)/.test(direction)&&posX>=0&&bgY>0)?bgY+"px":/(left|right)/.test(direction)?0:""}).show()}else{$cluetipArrows.hide()}$dropShadow.hide();$cluetip.hide()[opts.fx.open](opts.fx.open!="show"&&opts.fx.openSpeed);if(opts.dropShadow){$dropShadow.css({height:tipHeight,width:tipInnerWidth,zIndex:$this.data("thisInfo").zIndex-1}).show()}if($.fn.bgiframe){$cluetip.bgiframe()}if(opts.delayedClose>0){closeOnDelay=setTimeout(cluetipClose,opts.delayedClose)}opts.onShow.call(link,$cluetip,$cluetipInner)};var inactivate=function(event){isActive=false;$cluetipWait.hide();if(!opts.sticky||(/click|toggle/).test(opts.activation)){cluetipClose();clearTimeout(closeOnDelay)}if(opts.hoverClass){$this.removeClass(opts.hoverClass)}};var cluetipClose=function(){$cluetipOuter.parent().hide().removeClass();opts.onHide.call(link,$cluetip,$cluetipInner);$this.removeClass("cluetip-clicked");$this.css("cursor","");if(opts.arrows){$cluetipArrows.css({top:""})}};$(document).bind("hideCluetip",function(e){cluetipClose()});if((/click|toggle/).test(opts.activation)){$this.bind("click.cluetip",function(event){if($cluetip.is(":hidden")||!$this.is(".cluetip-clicked")){activate(event);$(".cluetip-clicked").removeClass("cluetip-clicked");$this.addClass("cluetip-clicked")}else{inactivate(event)}this.blur();return false})}else{if(opts.activation=="focus"){$this.bind("focus.cluetip",function(event){activate(event)});$this.bind("blur.cluetip",function(event){inactivate(event)})}else{$this[opts.clickThrough?"unbind":"bind"]("click",returnFalse);var mouseTracks=function(evt){if(opts.tracking==true){var trackX=posX-evt.pageX;var trackY=tipY?tipY-evt.pageY:posY-evt.pageY;$this.bind("mousemove.cluetip",function(evt){$cluetip.css({left:evt.pageX+trackX,top:evt.pageY+trackY})})}};if($.fn.hoverIntent&&opts.hoverIntent){$this.hoverIntent({sensitivity:opts.hoverIntent.sensitivity,interval:opts.hoverIntent.interval,over:function(event){activate(event);mouseTracks(event)},timeout:opts.hoverIntent.timeout,out:function(event){inactivate(event);$this.unbind("mousemove.cluetip")}})}else{$this.bind("mouseenter.cluetip",function(event){activate(event);mouseTracks(event)}).bind("mouseleave.cluetip",function(event){inactivate(event);$this.unbind("mousemove.cluetip")})}$this.bind("mouseenter.cluetip",function(event){$this.attr("title","")}).bind("mouseleave.cluetip",function(event){$this.attr("title",$this.data("thisInfo").title)})}}})};$.fn.cluetip.defaults={width:275,height:"auto",cluezIndex:97,positionBy:"auto",topOffset:15,leftOffset:15,local:false,localPrefix:null,hideLocal:true,attribute:"rel",titleAttribute:"title",splitTitle:"",escapeTitle:false,showTitle:true,cluetipClass:"default",hoverClass:"",waitImage:true,cursor:"help",arrows:false,dropShadow:true,dropShadowSteps:6,sticky:false,mouseOutClose:false,activation:"hover",clickThrough:false,tracking:false,delayedClose:0,closePosition:"top",closeText:"Close",truncate:0,fx:{open:"show",openSpeed:""},hoverIntent:{sensitivity:3,interval:50,timeout:0},onActivate:function(e){return true},onShow:function(ct,ci){},onHide:function(ct,ci){},ajaxCache:false,ajaxProcess:function(data){data=data.replace(/<(script|style|title)[^<]+<\/(script|style|title)>/gm,"").replace(/<(link|meta)[^>]+>/g,"");return data},ajaxSettings:{dataType:"html"},debug:false};var insertionType="appendTo",insertionElement="body";$.cluetip.setup=function(options){if(options&&options.insertionType&&(options.insertionType).match(/appendTo|prependTo|insertBefore|insertAfter/)){insertionType=options.insertionType}if(options&&options.insertionElement){insertionElement=options.insertionElement}}})(jQuery);