(function($){$.cluetip={version:'1.1.2',setup:{insertionType:'appendTo',insertionElement:'body'},defaults:{width:275,height:'auto',cluezIndex:97,positionBy:'auto',topOffset:15,leftOffset:15,local:false,localPrefix:null,localIdSuffix: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:true,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:true,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 $cluetip,$cluetipInner,$cluetipOuter,$cluetipTitle,$cluetipArrows,$cluetipWait,$dropShadow,imgCount,standardClasses='ui-widget ui-widget-content ui-cluetip';$.fn.cluetip=function(js,options){if(typeof js=='object'){options=js;js=null;}if(js=='destroy'){$(document).unbind('.cluetip');$('#cluetip').remove();$.removeData(this,'title');$.removeData(this,'cluetip');return this.unbind('.cluetip');}options=$.extend(true,{},$.cluetip.defaults,options||{});var insertionType=(/appendTo|prependTo|insertBefore|insertAfter/).test(options.insertionType)?options.insertionType:'appendTo',insertionElement=options.insertionElement||'body';if(!$('#cluetip').length){$(['<div id="cluetip">','<div id="cluetip-outer" class="ui-cluetip-outer">','<h3 id="cluetip-title" class="ui-widget-header ui-cluetip-header"></h3>','<div id="cluetip-inner" class="ui-widget-content ui-cluetip-content"></div>','</div>','<div id="cluetip-extra"></div>','<div id="cluetip-arrows" class="cluetip-arrows"></div>','</div>'].join(''))[insertionType](insertionElement).hide();var cluezIndex=+options.cluezIndex;$cluetip=$('#cluetip').css({position:'absolute'});$cluetipOuter=$('#cluetip-outer').css({position:'relative',zIndex:cluezIndex});$cluetipInner=$('#cluetip-inner');$cluetipTitle=$('#cluetip-title');$cluetipArrows=$('#cluetip-arrows');$cluetipWait=$('<div id="cluetip-waitimage"></div>').css({position:'absolute'}).insertBefore($cluetip).hide();}var cluetipPadding=(parseInt($cluetip.css('paddingLeft'),10)||0)+(parseInt($cluetip.css('paddingRight'),10)||0);this.each(function(index){var link=this,$link=$(this),opts=$.extend(true,{},options,$.metadata?$link.metadata():$.meta?$link.data():{}),cluetipContents=false,isActive=false,closeOnDelay=0,tipAttribute=$link.attr(opts.attribute),ctClass=opts.cluetipClass;cluezIndex=+opts.cluezIndex;$link.data('cluetip',{title:link.title,zIndex:cluezIndex});if(!tipAttribute&&!opts.splitTitle&&!js){return true;}if(opts.local&& opts.localPrefix){tipAttribute=opts.localPrefix+tipAttribute;}if(opts.local&& opts.hideLocal&& tipAttribute){$(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+cluetipPadding+opts.dropShadowSteps,linkWidth=this.offsetWidth,linkLeft,posX,tipX,mouseX,winWidth;var tipParts;var tipTitle=(opts.attribute!='title')?$link.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){var continueOn=opts.onActivate($link);if(continueOn===false){return false;}isActive=true;$cluetip.removeClass().css({width:tipInnerWidth});if(tipAttribute==$link.attr('href')){$link.css('cursor',opts.cursor);}if(opts.hoverClass){$link.addClass(opts.hoverClass);}linkTop=posY=$link.offset().top;linkLeft=$link.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:$link.data('cluetip').zIndex});$cluetipArrows.css({zIndex:$link.data('cluetip').zIndex+1});}wHeight=$(window).height();if(js){if(typeof js=='function'){js=js.call(link);}$cluetipInner.html(js);cluetipShow(pY);}else if(tipParts){var tpl=tipParts.length;$cluetipInner.html(tpl?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{var optionBeforeSend=opts.ajaxSettings.beforeSend,optionError=opts.ajaxSettings.error,optionSuccess=opts.ajaxSettings.success,optionComplete=opts.ajaxSettings.complete;var ajaxSettings={cache:false,url:tipAttribute,beforeSend:function(xhr){if(optionBeforeSend){optionBeforeSend.call(link,xhr,$cluetip,$cluetipInner);}$cluetipOuter.children().empty();if(opts.waitImage){$cluetipWait.css({top:mouseY+20,left:mouseX+20,zIndex:$link.data('cluetip').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);}var imgs=$cluetipInner[0].getElementsByTagName('img');imgCount=imgs.length;for(var i=0,l=imgs.length;i<l;i++){if(imgs[i].complete){imgCount--;}}if(imgCount&&!$.browser.opera){$(imgs).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();if(opts.localIdSuffix){$localContent.attr('id',$localContent[0].id+opts.localIdSuffix);}$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(tipTitle):(opts.showTitle)?$cluetipTitle.show().html('&nbsp;'):$cluetipTitle.hide();if(opts.sticky){var $closeLink=$('<div id="cluetip-close"><a href="#">'+opts.closeText+'</a></div>');(opts.closePosition=='bottom')?$closeLink.appendTo($cluetipInner):(opts.closePosition=='title')?$closeLink.prependTo($cluetipTitle):$closeLink.prependTo($cluetipInner);$closeLink.bind('click.cluetip',function(){cluetipClose();return false;});if(opts.mouseOutClose){$cluetip.bind('mouseleave.cluetip',function(){cluetipClose();});}else{$cluetip.unbind('mouseleave.cluetip');}}var direction='';$cluetipOuter.css({zIndex:$link.data('cluetip').zIndex,overflow:defHeight=='auto'?'visible':'auto',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($link.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';}var dynamicClasses=' clue-'+direction+'-'+ctClass+' cluetip-'+ctClass;if(ctClass=='rounded'){dynamicClasses+=' ui-corner-all';}$cluetip.css({top:tipY+'px'}).attr({'className':standardClasses+dynamicClasses});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=createDropShadows(opts);if($dropShadow&& $dropShadow.length){$dropShadow.hide().css({height:tipHeight,width:tipInnerWidth,zIndex:$link.data('cluetip').zIndex-1}).show();}$cluetip.hide()[opts.fx.open](opts.fx.openSpeed||0);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){$link.removeClass(opts.hoverClass);}};var cluetipClose=function(){$cluetipOuter.parent().hide().removeClass();opts.onHide.call(link,$cluetip,$cluetipInner);$link.removeClass('cluetip-clicked');if(tipTitle){$link.attr(opts.titleAttribute,tipTitle);}$link.css('cursor','');if(opts.arrows){$cluetipArrows.css({top:''});}};$(document).bind('hideCluetip',function(e){cluetipClose();});if((/click|toggle/).test(opts.activation)){$link.bind('click.cluetip',function(event){if($cluetip.is(':hidden')||!$link.is('.cluetip-clicked')){activate(event);$('.cluetip-clicked').removeClass('cluetip-clicked');$link.addClass('cluetip-clicked');}else{inactivate(event);}return false;});}else if(opts.activation=='focus'){$link.bind('focus.cluetip',function(event){$link.attr('title','');activate(event);});$link.bind('blur.cluetip',function(event){$link.attr('title',$link.data('thisInfo').title);inactivate(event);});}else{$link[opts.clickThrough?'unbind':'bind']('click.cluetip',returnFalse);var mouseTracks=function(evt){if(opts.tracking==true){var trackX=posX-evt.pageX;var trackY=tipY?tipY-evt.pageY:posY-evt.pageY;$link.bind('mousemove.cluetip',function(evt){$cluetip.css({left:evt.pageX+trackX,top:evt.pageY+trackY});});}};if($.fn.hoverIntent&& opts.hoverIntent){$link.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);$link.unbind('mousemove.cluetip');}});}else{$link.bind('mouseenter.cluetip',function(event){activate(event);mouseTracks(event);}).bind('mouseleave.cluetip',function(event){inactivate(event);$link.unbind('mousemove.cluetip');});}$link.bind('mouseover.cluetip',function(event){$link.attr('title','');}).bind('mouseleave.cluetip',function(event){$link.attr('title',$link.data('cluetip').title);});}});function createDropShadows(options,newDropShadow){var dropShadowSteps=(options.dropShadow&& options.dropShadowSteps)?+options.dropShadowSteps:0;if($.support.boxShadow){var dsOffsets=dropShadowSteps===0?'0 0 ':'1px 1px ';$('#cluetip').css($.support.boxShadow,dsOffsets+dropShadowSteps+'px rgba(0,0,0,0.5)');return false;}var oldDropShadow=$('#cluetip .cluetip-drop-shadow');if(dropShadowSteps==oldDropShadow.length){return oldDropShadow;}oldDropShadow.remove();var dropShadows=[];for(var i=0;i<dropShadowSteps;){dropShadows[i++]='<div style="top:'+i+'px;left:'+i+'px;"></div>';}newDropShadow=$(dropShadows.join('')).css({position:'absolute',backgroundColor:'#000',zIndex:cluezIndex-1,opacity:0.1}).addClass('cluetip-drop-shadow').prependTo('#cluetip');return newDropShadow;}return this;};(function(){$.support=$.support||{};var div=document.createElement('div'),divStyle=div.style,styleProps=['boxShadow'],prefixes=['moz','Moz','webkit','o'];for(var i=0,sl=styleProps.length;i<sl;i++){var prop=styleProps[i],uProp=prop.charAt(0).toUpperCase()+prop.slice(1);if(typeof divStyle[prop]!=='undefined'){$.support[prop]=prop;}else{for(var j=0,pl=prefixes.length;j<pl;j++){if(typeof divStyle[prefixes[j]+uProp]!=='undefined'){$.support[prop]=prefixes[j]+uProp;break;}}}}div=null;})();$.fn.cluetip.defaults=$.cluetip.defaults;})(jQuery);
