
(function($){$.cluetip={version:'1.2.5',template:['<div>','<div class="cluetip-outer">','<h3 class="cluetip-title ui-widget-header ui-cluetip-header"></h3>','<div class="cluetip-inner ui-widget-content ui-cluetip-content"></div>','</div>','<div class="cluetip-extra"></div>','<div class="cluetip-arrows ui-state-default"></div>','</div>'].join(''),setup:{insertionType:'appendTo',insertionElement:'body'},defaults:{multiple:false,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 $cluetipWait,standardClasses='cluetip ui-widget ui-widget-content ui-cluetip',caches={},counter=0,imgCount=0;$.fn.attrProp=$.fn.prop||$.fn.attr;$.fn.cluetip=function(js,options){var $cluetip,$cluetipInner,$cluetipOuter,$cluetipTitle,$cluetipArrows,$dropShadow;if(typeof js=='object'){options=js;js=null;}
if(js=='destroy'){var data=this.data('cluetip');if(data){$(data.selector).remove();$.removeData(this,'title');$.removeData(this,'cluetip');$(document).unbind('.cluetip');return this.unbind('.cluetip');}}
options=$.extend(true,{},$.cluetip.defaults,options||{});counter++;var cluezIndex,cluetipId=$.cluetip.backCompat||!options.multiple?'cluetip':'cluetip-'+counter,cluetipSelector='#'+cluetipId,prefix=$.cluetip.backCompat?'#':'.',insertionType=$.cluetip.setup.insertionType,insertionElement=$.cluetip.setup.insertionElement||'body';insertionType=(/appendTo|prependTo|insertBefore|insertAfter/).test(insertionType)?insertionType:'appendTo';$cluetip=$(cluetipSelector);if(!$cluetip.length){$cluetip=$($.cluetip.template)
[insertionType](insertionElement).attr('id',cluetipId).css({position:'absolute',display:'none'});cluezIndex=+options.cluezIndex;$cluetipOuter=$cluetip.find(prefix+'cluetip-outer').css({position:'relative',zIndex:cluezIndex});$cluetipInner=$cluetip.find(prefix+'cluetip-inner');$cluetipTitle=$cluetip.find(prefix+'cluetip-title');}
$cluetipWait=$('#cluetip-waitimage');if(!$cluetipWait.length){$cluetipWait=$('<div></div>').attr('id','cluetip-waitimage').css({position:'absolute'});}
$cluetipWait.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():$link.data('cluetip')||{}),cluetipContents=false,isActive=false,closeOnDelay=0,tipAttribute=opts[opts.attribute]||$link.attrProp(opts.attribute)||$link.attr(opts.attribute),ctClass=opts.cluetipClass;cluezIndex=+opts.cluezIndex;$link.data('cluetip',{title:link.title,zIndex:cluezIndex,selector:cluetipSelector});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.attrProp(opts.titleAttribute)||'':'';if(opts.splitTitle){tipParts=tipTitle.split(opts.splitTitle);tipTitle=opts.showTitle||tipParts[0]===''?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 pY,continueOn=opts.onActivate($link),ajaxMergedSettings;if(continueOn===false){return false;}
isActive=true;$cluetip=$(cluetipSelector).css({position:'absolute'});$cluetipOuter=$cluetip.find(prefix+'cluetip-outer');$cluetipInner=$cluetip.find(prefix+'cluetip-inner');$cluetipTitle=$cluetip.find(prefix+'cluetip-title');$cluetipArrows=$cluetip.find(prefix+'cluetip-arrows');$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;linkWidth=$link.innerWidth();if(event.type==focus){mouseX=linkLeft+(linkWidth/2)+lOffset;$cluetip.css({left:posX});mouseY=posY+tOffset;}else{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;}}
pY=posX<0?event.pageY+tOffset:event.pageY;if(posX<0||opts.positionBy=='bottomTop'){posX=(mouseX+(tipWidth/2)>winWidth)?winWidth/2-tipWidth/2:Math.max(mouseX-(tipWidth/2),0);}}
$cluetipArrows.css({zIndex:$link.data('cluetip').zIndex+1});$cluetip.css({left:posX,zIndex:$link.data('cluetip').zIndex});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:opts.ajaxCache,url:tipAttribute,beforeSend:function(xhr,settings){if(optionBeforeSend){optionBeforeSend.call(link,xhr,$cluetip,$cluetipInner,settings);}
$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(options.ajaxCache&&!caches[tipAttribute]){caches[tipAttribute]={status:'error',textStatus:textStatus,xhr:xhr};}
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,xhr){if(options.ajaxCache&&!caches[tipAttribute]){caches[tipAttribute]={status:'success',data:data,textStatus:textStatus,xhr:xhr};}
cluetipContents=opts.ajaxProcess.call(link,data);if(typeof cluetipContents=='object'&&cluetipContents!==null){tipTitle=cluetipContents.title;cluetipContents=cluetipContents.content;}
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.ct error.ct',function(){imgCount--;if(imgCount===0){$cluetipWait.hide();$(imgs).unbind('.ct');if(isActive){cluetipShow(pY);}}});}else{$cluetipWait.hide();if(isActive){cluetipShow(pY);}}}};ajaxMergedSettings=$.extend(true,{},opts.ajaxSettings,ajaxSettings);if(caches[tipAttribute]){cachedAjax(caches[tipAttribute],ajaxMergedSettings);}else{$.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){var $closeLink,dynamicClasses,heightDiff,titleHTML=tipTitle||opts.showTitle&&'&nbsp;',bgY='',direction='';$cluetip.addClass('cluetip-'+ctClass);if(opts.truncate){var $truncloaded=$cluetipInner.text().slice(0,opts.truncate)+'...';$cluetipInner.html($truncloaded);}
if(titleHTML){$cluetipTitle.show().html(titleHTML);}else{$cluetipTitle.hide();}
if(opts.sticky){$closeLink=$('<div class="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');}}
$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===''){direction=posX<linkLeft?'left':'right';}
dynamicClasses=' clue-'+direction+'-'+ctClass+' cluetip-'+ctClass;if(ctClass=='rounded'){dynamicClasses+=' ui-corner-all';}
$cluetip.css({top:tipY+'px'}).attrProp({'className':standardClasses+dynamicClasses});if(opts.arrows){if(/(left|right)/.test(direction)){heightDiff=$cluetip.height()-$cluetipArrows.height();bgY=posX>=0&&bpY>0?(posY-tipY-opts.dropShadowSteps):0;bgY=heightDiff>bgY?bgY:heightDiff;bgY+='px';}
$cluetipArrows.css({top:bgY}).show();}else{$cluetipArrows.hide();}
$dropShadow=createDropShadows($cluetip,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(el){var $closer=el&&el.data('cluetip')?el:$link,ct=$closer.data('cluetip')&&$closer.data('cluetip').selector,ctSelector=ct||'div.cluetip',$cluetip=$(ctSelector),$cluetipInner=$cluetip.find(prefix+'cluetip-inner'),$cluetipArrows=$cluetip.find(prefix+'cluetip-arrows');$cluetip.hide().removeClass();opts.onHide.call($closer[0],$cluetip,$cluetipInner);if(ct){$closer.removeClass('cluetip-clicked');$closer.css('cursor','');}
if(ct&&tipTitle){$closer.attrProp(opts.titleAttribute,tipTitle);}
if(opts.arrows){$cluetipArrows.css({top:''});}};$(document).unbind('hideCluetip.cluetip').bind('hideCluetip.cluetip',function(e){cluetipClose($(e.target));});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.attrProp('title','');activate(event);});$link.bind('blur.cluetip',function(event){$link.attrProp('title',$link.data('cluetip').title);inactivate(event);});}else{$link[opts.clickThrough?'unbind':'bind']('click.cluetip',returnFalse);var mouseTracks=function(evt){if(opts.tracking){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.attrProp('title','');}).bind('mouseleave.cluetip',function(event){$link.attrProp('title',$link.data('cluetip').title);});}
function cachedAjax(info,settings){var status=info.status;settings.beforeSend(info.xhr,settings);if(status=='error'){settings[status](info.xhr,info.textStatus);}else if(status=='success'){settings[status](info.data,info.textStatus,info.xhr);}
settings.complete(info.xhr,settings.textStatus);}});function doNothing(){}
function createDropShadows($cluetip,options,newDropShadow){var dsStyle='',dropShadowSteps=(options.dropShadow&&options.dropShadowSteps)?+options.dropShadowSteps:0;if($.support.boxShadow){if(dropShadowSteps){dsStyle='1px 1px '+dropShadowSteps+'px rgba(0,0,0,0.5)';}
var dsOffsets=dropShadowSteps===0?'0 0 ':'1px 1px ';$cluetip.css($.support.boxShadow,dsStyle);return false;}
var oldDropShadow=$cluetip.find('.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);
