(function(a){a.event.special.mousewheel={setup:function(){var b=a.event.special.mousewheel.handler;if(a.browser.mozilla){a(this).bind("mousemove.mousewheel",function(c){a.data(this,"mwcursorposdata",{pageX:c.pageX,pageY:c.pageY,clientX:c.clientX,clientY:c.clientY})})}if(this.addEventListener){this.addEventListener((a.browser.mozilla?"DOMMouseScroll":"mousewheel"),b,false)}else{this.onmousewheel=b}},teardown:function(){var b=a.event.special.mousewheel.handler;a(this).unbind("mousemove.mousewheel");if(this.removeEventListener){this.removeEventListener((a.browser.mozilla?"DOMMouseScroll":"mousewheel"),b,false)}else{this.onmousewheel=function(){}}a.removeData(this,"mwcursorposdata")},handler:function(d){var b=Array.prototype.slice.call(arguments,1);d=a.event.fix(d||window.event);a.extend(d,a.data(this,"mwcursorposdata")||{});var e=0,c=true;if(d.wheelDelta){e=d.wheelDelta/120}if(d.detail){e=-d.detail/3}d.data=d.data||{};d.type="mousewheel";b.unshift(e);b.unshift(d);return a.event.handle.apply(this,b)}};a.fn.extend({mousewheel:function(b){return b?this.bind("mousewheel",b):this.trigger("mousewheel")},unmousewheel:function(b){return this.unbind("mousewheel",b)}})})(jQuery);(function(a){a.jScrollPane={active:[]};a.fn.jScrollPane=function(c){c=a.extend({},a.fn.jScrollPane.defaults,c);var b=function(){return false};return this.each(function(){var w=a(this);var K=this;var at=0;var R;var au;var u;var ai=c.topCapHeight;if(a(this).parent().is(".jScrollPaneContainer")){at=c.maintainPosition?w.position().top:0;var t=a(this).parent();R=t.innerWidth();au=t.outerHeight();a(">.jScrollPaneTrack, >.jScrollArrowUp, >.jScrollArrowDown, >.jScollCap",t).remove();w.css({top:0})}else{w.data("originalStyleTag",w.attr("style"));w.css("overflow","hidden");this.originalPadding=w.css("paddingTop")+" "+w.css("paddingRight")+" "+w.css("paddingBottom")+" "+w.css("paddingLeft");this.originalSidePaddingTotal=(parseInt(w.css("paddingLeft"))||0)+(parseInt(w.css("paddingRight"))||0);R=w.innerWidth();au=w.innerHeight();var l=a("<div></div>").attr({className:"jScrollPaneContainer"}).css({height:au+"px",width:R+"px"});if(c.enableKeyboardNavigation){l.attr("tabindex",c.tabIndex)}w.wrap(l);a(document).bind("emchange",function(av,aw,p){w.jScrollPane(c)})}u=au;if(c.reinitialiseOnImageLoad){var v=a.data(K,"jScrollPaneImagesToLoad")||a("img",w);var k=[];if(v.length){v.each(function(p,av){a(this).bind("load readystatechange",function(){if(a.inArray(p,k)==-1){k.push(av);v=a.grep(v,function(ay,ax){return ay!=av});a.data(K,"jScrollPaneImagesToLoad",v);var aw=a.extend(c,{reinitialiseOnImageLoad:false});w.jScrollPane(aw)}}).each(function(aw,ax){if(this.complete||this.complete===undefined){this.src=this.src}})})}}var ad=this.originalSidePaddingTotal;var ao=R-c.scrollbarWidth-c.scrollbarMargin-ad;var aa={height:"auto",width:ao+"px"};if(c.scrollbarOnLeft){aa.paddingLeft=c.scrollbarMargin+c.scrollbarWidth+"px"}else{aa.paddingRight=c.scrollbarMargin+"px"}w.css(aa);var ab=w.outerHeight();var X=au/ab;if(X<0.99){var l=w.parent();l.append(a("<div></div>").addClass("jScrollCap jScrollCapTop").css({height:c.topCapHeight}),a("<div></div>").attr({className:"jScrollPaneTrack"}).css({width:c.scrollbarWidth+"px"}).append(a("<div></div>").attr({className:"jScrollPaneDrag"}).css({width:c.scrollbarWidth+"px"}).append(a("<div></div>").attr({className:"jScrollPaneDragTop"}).css({width:c.scrollbarWidth+"px"}),a("<div></div>").attr({className:"jScrollPaneDragBottom"}).css({width:c.scrollbarWidth+"px"}))),a("<div></div>").addClass("jScrollCap jScrollCapBottom").css({height:c.bottomCapHeight}));var ap=a(">.jScrollPaneTrack",l);var A=a(">.jScrollPaneTrack .jScrollPaneDrag",l);var ar;var g=[];var af;var Y=function(){if(af>4||af%4==0){an(ak+ar*O)}af++};if(c.enableKeyboardNavigation){l.bind("keydown.jscrollpane",function(p){switch(p.keyCode){case 38:ar=-1;af=0;Y();g[g.length]=setInterval(Y,100);return false;case 40:ar=1;af=0;Y();g[g.length]=setInterval(Y,100);return false;case 33:case 34:return false;default:}}).bind("keyup.jscrollpane",function(av){if(av.keyCode==38||av.keyCode==40){for(var p=0;p<g.length;p++){clearInterval(g[p])}return false}})}if(c.showArrows){var V;var E;var r=function(p){a("html").unbind("mouseup",r);V.removeClass("jScrollActiveArrowButton");clearInterval(E)};var N=function(){a("html").bind("mouseup",r);V.addClass("jScrollActiveArrowButton");af=0;Y();E=setInterval(Y,100)};l.append(a("<a></a>").attr({href:"javascript:;",className:"jScrollArrowUp",tabindex:-1}).css({width:c.scrollbarWidth+"px",top:c.topCapHeight+"px"}).html("Scroll up").bind("mousedown",function(){V=a(this);ar=-1;N();this.blur();return false}).bind("click",b),a("<a></a>").attr({href:"javascript:;",className:"jScrollArrowDown",tabindex:-1}).css({width:c.scrollbarWidth+"px",bottom:c.bottomCapHeight+"px"}).html("Scroll down").bind("mousedown",function(){V=a(this);ar=1;N();this.blur();return false}).bind("click",b));var B=a(">.jScrollArrowUp",l);var o=a(">.jScrollArrowDown",l)}if(c.arrowSize){u=au-c.arrowSize-c.arrowSize;ai+=c.arrowSize}else{if(B){var ag=B.height();c.arrowSize=ag;u=au-ag-o.height();ai+=ag}}u-=c.topCapHeight+c.bottomCapHeight;ap.css({height:u+"px",top:ai+"px"});var al=a(this).css({position:"absolute",overflow:"visible"});var d;var L;var O;var ak=0;var I=X*au/2;var M=function(av,ax){var aw=ax=="X"?"Left":"Top";return av["page"+ax]||(av["client"+ax]+(document.documentElement["scroll"+aw]||document.body["scroll"+aw]))||0};var U=function(){return false};var aj=function(){ac();d=A.offset(false);d.top-=ak;L=u-A[0].offsetHeight;O=2*c.wheelSpeed*L/ab};var e=function(p){aj();I=M(p,"Y")-ak-d.top;a("html").bind("mouseup",F).bind("mousemove",W);if(a.browser.msie){a("html").bind("dragstart",U).bind("selectstart",U)}return false};var F=function(){a("html").unbind("mouseup",F).unbind("mousemove",W);I=X*au/2;if(a.browser.msie){a("html").unbind("dragstart",U).unbind("selectstart",U)}};var an=function(av){l.scrollTop(0);av=av<0?0:(av>L?L:av);ak=av;A.css({top:av+"px"});var aw=av/L;w.data("jScrollPanePosition",(au-ab)*-aw);al.css({top:((au-ab)*aw)+"px"});w.trigger("scroll");if(c.showArrows){B[av==0?"addClass":"removeClass"]("disabled");o[av==L?"addClass":"removeClass"]("disabled")}};var W=function(p){an(M(p,"Y")-d.top-I)};var ae=Math.max(Math.min(X*(au-c.arrowSize*2),c.dragMaxHeight),c.dragMinHeight);A.css({height:ae+"px"}).bind("mousedown",e);var Z;var C;var n;var ah=function(){if(C>8||C%4==0){an((ak-((ak-n)/2)))}C++};var aq=function(){clearInterval(Z);a("html").unbind("mouseup",aq).unbind("mousemove",T)};var T=function(p){n=M(p,"Y")-d.top-I};var G=function(p){aj();T(p);C=0;a("html").bind("mouseup",aq).bind("mousemove",T);Z=setInterval(ah,100);ah();return false};ap.bind("mousedown",G);l.bind("mousewheel",function(av,ax){ax=ax||(av.wheelDelta?av.wheelDelta/120:(av.detail)?-av.detail/3:0);aj();ac();var aw=ak;an(ak-ax*O);var p=aw!=ak;return !p});var f;var J;function P(){var p=(f-ak)/c.animateStep;if(p>1||p<-1){an(ak+p)}else{an(f);ac()}}var ac=function(){if(J){clearInterval(J);delete f}};var am=function(ax,p){if(typeof ax=="string"){$e=a(ax,w);if(!$e.length){return}ax=$e.offset().top-w.offset().top}ac();var aw=ab-au;ax=ax>aw?aw:ax;w.data("jScrollPaneMaxScroll",aw);var av=ax/aw*L;if(p||!c.animateTo){an(av)}else{l.scrollTop(0);f=av;J=setInterval(P,c.animateInterval)}};w[0].scrollTo=am;w[0].scrollBy=function(av){var p=-parseInt(al.css("top"))||0;am(p+av)};aj();am(-at,true);a("*",this).bind("focus",function(ay){var ax=a(this);var aA=0;while(ax[0]!=w[0]){aA+=ax.position().top;ax=ax.offsetParent()}var p=-parseInt(al.css("top"))||0;var az=p+au;var aw=aA>p&&aA<az;if(!aw){var av=aA-c.scrollbarMargin;if(aA>p){av+=a(this).height()+15+c.scrollbarMargin-au}am(av)}});if(location.hash&&location.hash.length>1){setTimeout(function(){am(location.hash)},a.browser.safari?100:0)}a(document).bind("click",function(av){$target=a(av.target);if($target.is("a")){var p=$target.attr("href");if(p&&p.substr(0,1)=="#"&&p.length>1){setTimeout(function(){am(p,!c.animateToInternalLinks)},a.browser.safari?100:0)}}});function H(p){a(document).bind("mousemove.jScrollPaneDragging",D);a(document).bind("mouseup.jScrollPaneDragging",q)}var S;var h;function Q(){direction=S<0?-1:1;w[0].scrollBy(S/2)}function m(){if(h){clearInterval(h);h=undefined}}function D(aw){var ax=w.parent().offset().top;var p=ax+au;var av=M(aw,"Y");S=av<ax?av-ax:(av>p?av-p:0);if(S==0){m()}else{if(!h){h=setInterval(Q,100)}}}function q(p){a(document).unbind("mousemove.jScrollPaneDragging").unbind("mouseup.jScrollPaneDragging");m()}l.bind("mousedown.jScrollPane",H);a.jScrollPane.active.push(w[0])}else{w.css({height:au+"px",width:R-this.originalSidePaddingTotal+"px",padding:this.originalPadding});w[0].scrollTo=w[0].scrollBy=function(){};w.parent().unbind("mousewheel").unbind("mousedown.jScrollPane").unbind("keydown.jscrollpane").unbind("keyup.jscrollpane")}})};a.fn.jScrollPaneRemove=function(){a(this).each(function(){$this=a(this);var b=$this.parent();if(b.is(".jScrollPaneContainer")){$this.css({top:"",height:"",width:"",padding:"",overflow:"",position:""});$this.attr("style",$this.data("originalStyleTag"));b.after($this).remove()}})};a.fn.jScrollPane.defaults={scrollbarWidth:10,scrollbarMargin:5,wheelSpeed:18,showArrows:false,arrowSize:0,animateTo:false,dragMinHeight:1,dragMaxHeight:99999,animateInterval:100,animateStep:3,maintainPosition:true,scrollbarOnLeft:false,reinitialiseOnImageLoad:false,tabIndex:0,enableKeyboardNavigation:true,animateToInternalLinks:false,topCapHeight:0,bottomCapHeight:0};a(window).bind("unload",function(){var c=a.jScrollPane.active;for(var b=0;b<c.length;b++){c[b].scrollTo=c[b].scrollBy=null}})})(jQuery);jQuery.cookie=function(b,k,n){if(typeof k!="undefined"){n=n||{};if(k===null){k="";n.expires=-1}var e="";if(n.expires&&(typeof n.expires=="number"||n.expires.toUTCString)){var f;if(typeof n.expires=="number"){f=new Date();f.setTime(f.getTime()+(n.expires*24*60*60*1000))}else{f=n.expires}e="; expires="+f.toUTCString()}var m=n.path?"; path="+(n.path):"";var g=n.domain?"; domain="+(n.domain):"";var a=n.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(k),e,m,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var l=document.cookie.split(";");for(var h=0;h<l.length;h++){var c=jQuery.trim(l[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};jQuery.fn.highlight=function(b){function a(e,k){var m=0;if(e.nodeType==3){var l=e.data.toUpperCase().indexOf(k);if(l>=0){var h=document.createElement("span");h.className="highlight";var f=e.splitText(l);var c=f.splitText(k.length);var d=f.cloneNode(true);h.appendChild(d);f.parentNode.replaceChild(h,f);m=1}}else{if(e.nodeType==1&&e.childNodes&&!/(script|style)/i.test(e.tagName)){for(var g=0;g<e.childNodes.length;++g){g+=a(e.childNodes[g],k)}}}return m}return this.each(function(){a(this,b.toUpperCase())})};jQuery.fn.removeHighlight=function(){return this.find("span.highlight").each(function(){this.parentNode.firstChild.nodeName;with(this.parentNode){replaceChild(this.firstChild,this);normalize()}}).end()};jQuery.fn.linkup=function(a,c,e,d){if(!e){e=0}function b(k,p,o,m,q){var u=0;if(k.nodeType==3){var r=k.data.toUpperCase().indexOf(p);if(r>=0){var g=k.data.toUpperCase().indexOf(" ",r);if(g==-1){g=k.data.length}var t=document.createElement("a");t.className="linkup";var l=k.splitText(r);var f=l.splitText(g-r);var h=l.cloneNode(true);t.appendChild(h);t.target=q?q:"";t.href=(o?o:"")+h.data.substr(m,h.data.length-m);l.parentNode.replaceChild(t,l);u=1}}else{if(k.nodeType==1&&k.childNodes&&!/(script|style)/i.test(k.tagName)){for(var n=0;n<k.childNodes.length;++n){n+=b(k.childNodes[n],p,o,m,q)}}}return u}return this.each(function(){b(this,a.toUpperCase(),c,e,d)})};(function(f){f.fn.simpledraw=function(k,h,l){if(l&&this[0].vcanvas){return this[0].vcanvas}if(k==undefined){k=f(this).innerWidth()}if(h==undefined){h=f(this).innerHeight()}if(f.browser.hasCanvas){return new c(k,h,this)}else{if(f.browser.msie){return new d(k,h,this)}else{return false}}};var g=[];f.fn.sparkline=function(k,h){var h=f.extend({type:"line",lineColor:"#00f",fillColor:"#cdf",defaultPixelsPerValue:3,width:"auto",height:"auto",composite:false},h?h:{});return this.each(function(){var l=function(){var m=(k=="html"||k==undefined)?f(this).text().split(","):k;var o=h.width=="auto"?m.length*h.defaultPixelsPerValue:h.width;if(h.height=="auto"){if(!h.composite||!this.vcanvas){var n=document.createElement("span");n.innerHTML="a";f(this).html(n);height=f(n).innerHeight();f(n).remove()}}else{height=h.height}f.fn.sparkline[h.type].call(this,m,h,o,height)};if((f(this).html()&&f(this).is(":hidden"))||(f.fn.jquery<"1.3.0"&&f(this).parents().is(":hidden"))){g.push([this,l])}else{l.call(this)}})};f.sparkline_display_visible=function(){for(var h=g.length-1;h>=0;h--){var k=g[h][0];if(f(k).is(":visible")&&!f(k).parents().is(":hidden")){g[h][1].call(k);g.splice(h,1)}}};f.fn.sparkline.line=function(m,o,I,F){var o=f.extend({spotColor:"#f80",spotRadius:1.5,minSpotColor:"#f80",maxSpotColor:"#f80",normalRangeMin:undefined,normalRangeMax:undefined,normalRangeColor:"#ccc",chartRangeMin:undefined,chartRangeMax:undefined},o?o:{});var A=[],w=[];for(K=0;K<m.length;K++){var G=typeof(m[K])=="string";var t=typeof(m[K])=="object"&&m[K] instanceof Array;var L=G&&m[K].split(":");if(G&&L.length==2){A.push(Number(L[0]));w.push(Number(L[1]))}else{if(t){A.push(m[K][0]);w.push(m[K][1])}else{A.push(K);w.push(Number(m[K]))}}}if(o.xvalues){A=o.xvalues}var n=Math.max.apply(Math,w);var B=n;var p=Math.min.apply(Math,w);var u=p;var q=Math.max.apply(Math,A);var v=q;var r=Math.min.apply(Math,A);var l=r;if(o.normalRangeMin!=undefined){if(o.normalRangeMin<p){p=o.normalRangeMin}if(o.normalRangeMax>n){n=o.normalRangeMax}}if(o.chartRangeMin!=undefined&&o.chartRangeMin<p){p=o.chartRangeMin}if(o.chartRangeMax!=undefined&&o.chartRangeMax>n){n=o.chartRangeMax}var k=q-r==0?1:q-r;var h=n-p==0?1:n-p;var O=w.length-1;if(O<1){this.innerHTML="";return}var P=f(this).simpledraw(I,F,o.composite);if(P){var N=P.pixel_width;var J=P.pixel_height;var Q=0;var M=0;if(o.spotRadius&&(N<(o.spotRadius*4)||J<(o.spotRadius*4))){o.spotRadius=0}if(o.spotRadius){if(o.minSpotColor||(o.spotColor&&w[O]==p)){J-=Math.ceil(o.spotRadius)}if(o.maxSpotColor||(o.spotColor&&w[O]==n)){J-=Math.ceil(o.spotRadius);Q+=Math.ceil(o.spotRadius)}if(o.minSpotColor||o.maxSpotColor&&(w[0]==p||w[0]==n)){M+=Math.ceil(o.spotRadius);N-=Math.ceil(o.spotRadius)}if(o.spotColor||(o.minSpotColor||o.maxSpotColor&&(w[O]==p||w[O]==n))){N-=Math.ceil(o.spotRadius)}}J--;if(o.normalRangeMin!=undefined){var E=Q+Math.round(J-(J*((o.normalRangeMax-p)/h)));var F=Math.round((J*(o.normalRangeMax-o.normalRangeMin))/h);P.drawRect(M,E,N,F,undefined,o.normalRangeColor)}var H=[[M,Q+J]];for(var K=0;K<w.length;K++){var D=A[K],C=w[K];H.push([M+Math.round((D-r)*(N/k)),Q+Math.round(J-(J*((C-p)/h)))])}if(o.fillColor){H.push([M+N,Q+J-1]);P.drawShape(H,undefined,o.fillColor);H.pop()}H[0]=[M,Q+Math.round(J-(J*((w[0]-p)/h)))];P.drawShape(H,o.lineColor);if(o.spotRadius&&o.spotColor){P.drawCircle(M+N,Q+Math.round(J-(J*((w[O]-p)/h))),o.spotRadius,undefined,o.spotColor)}if(n!=u){if(o.spotRadius&&o.minSpotColor){var D=A[w.indexOf(u)];P.drawCircle(M+Math.round((D-r)*(N/k)),Q+Math.round(J-(J*((u-p)/h))),o.spotRadius,undefined,o.minSpotColor)}if(o.spotRadius&&o.maxSpotColor){var D=A[w.indexOf(B)];P.drawCircle(M+Math.round((D-r)*(N/k)),Q+Math.round(J-(J*((B-p)/h))),o.spotRadius,undefined,o.maxSpotColor)}}}else{this.innerHTML=""}};f.fn.sparkline.bar=function(A,C,l,B){A=f.map(A,Number);var C=f.extend({type:"bar",barColor:"#00f",negBarColor:"#f44",zeroColor:undefined,zeroAxis:undefined,barWidth:4,barSpacing:1,chartRangeMax:undefined,chartRangeMin:undefined},C?C:{});var l=(A.length*C.barWidth)+((A.length-1)*C.barSpacing);var v=Math.max.apply(Math,A);var o=Math.min.apply(Math,A);if(C.chartRangeMin!=undefined&&C.chartRangeMin<o){o=C.chartRangeMin}if(C.chartRangeMax!=undefined&&C.chartRangeMax>v){v=C.chartRangeMax}if(C.zeroAxis==undefined){C.zeroAxis=o<0}var q=v-o==0?1:v-o;var t=f(this).simpledraw(l,B);if(t){var r=t.pixel_width;var h=t.pixel_height;var k=o<0&&C.zeroAxis?h-Math.round(h*(Math.abs(o)/q))-1:h-1;for(var p=0;p<A.length;p++){var w=p*(C.barWidth+C.barSpacing);var m=A[p];var n=(m<0)?C.negBarColor:C.barColor;if(C.zeroAxis&&o<0){var B=Math.round(h*((Math.abs(m)/q)))+1;var u=(m<0)?k:k-B}else{var B=Math.round(h*((m-o)/q))+1;var u=h-B}if(m==0&&C.zeroColor!=undefined){n=C.zeroColor}t.drawRect(w,u,C.barWidth-1,B-1,n,n)}}else{this.innerHTML=""}};f.fn.sparkline.tristate=function(t,v,k,u){t=f.map(t,Number);var v=f.extend({barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{}},v);var k=(t.length*v.barWidth)+((t.length-1)*v.barSpacing);var o=f(this).simpledraw(k,u);if(o){var p=o.pixel_width;var h=o.pixel_height;var n=Math.round(h/2);for(var m=0;m<t.length;m++){var r=m*(v.barWidth+v.barSpacing);if(t[m]<0){var q=n;var u=n-1;var l=v.negBarColor}else{if(t[m]>0){var q=0;var u=n-1;var l=v.posBarColor}else{var q=n-1;var u=2;var l=v.zeroBarColor}}if(v.colorMap[t[m]]){l=v.colorMap[t[m]]}o.drawRect(r,q,v.barWidth-1,u-1,l,l)}}else{this.innerHTML=""}};f.fn.sparkline.discrete=function(B,D,k,C){B=f.map(B,Number);var D=f.extend({lineHeight:"auto",thresholdColor:undefined,thresholdValue:0,chartRangeMax:undefined,chartRangeMin:undefined},D);k=D.width=="auto"?B.length*2:k;var m=Math.floor(k/B.length);var t=f(this).simpledraw(k,C);if(t){var u=t.pixel_width;var h=t.pixel_height;var A=D.lineHeight=="auto"?Math.round(h*0.3):D.lineHeight;var r=h-A;var o=Math.min.apply(Math,B);var v=Math.max.apply(Math,B);if(D.chartRangeMin!=undefined&&D.chartRangeMin<o){o=D.chartRangeMin}if(D.chartRangeMax!=undefined&&D.chartRangeMax>v){v=D.chartRangeMax}var q=v-o;for(var p=0;p<B.length;p++){var n=B[p];var w=(p*m);var l=Math.round(r-r*((n-o)/q));t.drawLine(w,l,w,l+A,(D.thresholdColor&&n<D.thresholdValue)?D.thresholdColor:D.lineColor)}}else{this.innerHTML=""}};f.fn.sparkline.bullet=function(l,n,v,t){l=f.map(l,Number);var n=f.extend({targetColor:"red",targetWidth:3,performanceColor:"blue",rangeColors:["#D3DAFE","#A8B6FF","#7F94FF"],base:undefined},n);v=n.width=="auto"?"4.0em":v;var E=f(this).simpledraw(v,t);if(E&&l.length>1){var D=E.pixel_width-Math.ceil(n.targetWidth/2);var A=E.pixel_height;var w=Math.min.apply(Math,l);var B=Math.max.apply(Math,l);if(n.base==undefined){var w=w<0?w:0}else{w=n.base}var q=B-w;for(i=2;i<l.length;i++){var o=parseInt(l[i]);var k=Math.round(D*((o-w)/q));E.drawRect(0,0,k-1,A-1,n.rangeColors[i-2],n.rangeColors[i-2])}var u=parseInt(l[1]);var h=Math.round(D*((u-w)/q));E.drawRect(0,Math.round(A*0.3),h-1,Math.round(A*0.4)-1,n.performanceColor,n.performanceColor);var r=parseInt(l[0]);var p=Math.round(D*((r-w)/q)-(n.targetWidth/2));var m=Math.round(A*0.1);var C=A-(m*2);E.drawRect(p,m,n.targetWidth-1,C-1,n.targetColor,n.targetColor)}else{this.innerHTML=""}};f.fn.sparkline.pie=function(v,A,m,w){v=f.map(v,Number);var A=f.extend({sliceColors:["#f00","#0f0","#00f"]},A);m=A.width=="auto"?w:m;var r=f(this).simpledraw(m,w);if(r&&v.length>1){var t=r.pixel_width;var h=r.pixel_height;var q=Math.floor(Math.min(t,h)/2);var u=0;for(var o=0;o<v.length;o++){u+=v[o]}var p=0;if(A.offset){p+=(2*Math.PI)*(A.offset/360)}var k=2*Math.PI;for(var o=0;o<v.length;o++){var l=p;var n=p;if(u>0){n=p+(k*(v[o]/u))}r.drawPieSlice(q,q,q,l,n,undefined,A.sliceColors[o%A.sliceColors.length]);p=n}}};function a(k,l){if(l==2){var h=Math.floor(k.length/2);return k.length%2?k[h]:(k[h]+k[h+1])/2}else{var m=Math.floor(k.length/4);return k.length%2?(k[m*l]+k[m*l+1])/2:k[m*l]}}f.fn.sparkline.box=function(k,m,v,u){k=f.map(k,Number);var m=f.extend({raw:false,boxLineColor:"black",boxFillColor:"#cdf",whiskerColor:"black",outlierLineColor:"#333",outlierFillColor:"white",medianColor:"red",showOutliers:true,outlierIQR:1.5,spotRadius:1.5,target:undefined,targetColor:"#4a2",chartRangeMax:undefined,chartRangeMin:undefined},m);v=m.width=="auto"?"4.0em":v;minvalue=m.chartRangeMin==undefined?Math.min.apply(Math,k):m.chartRangeMin;maxvalue=m.chartRangeMax==undefined?Math.max.apply(Math,k):m.chartRangeMax;var F=f(this).simpledraw(v,u);if(F&&k.length>1){var C=F.pixel_width;var w=F.pixel_height;if(m.raw){if(m.showOutliers&&k.length>5){var D=k[0],r=k[1],q=k[2],p=k[3],o=k[4],h=k[5],n=k[6]}else{var r=k[0],q=k[1],p=k[2],o=k[3],h=k[4]}}else{k.sort(function(H,G){return H-G});var q=a(k,1);var p=a(k,2);var o=a(k,3);var l=o-q;if(m.showOutliers){var r=undefined,h=undefined;for(var A=0;A<k.length;A++){if(r==undefined&&k[A]>q-(l*m.outlierIQR)){r=k[A]}if(k[A]<o+(l*m.outlierIQR)){h=k[A]}}var D=k[0];var n=k[k.length-1]}else{var r=k[0];var h=k[k.length-1]}}var E=C/(maxvalue-minvalue+1);var B=0;if(m.showOutliers){B=Math.ceil(m.spotRadius);C-=2*Math.ceil(m.spotRadius);var E=C/(maxvalue-minvalue+1);if(D<r){F.drawCircle((D-minvalue)*E+B,w/2,m.spotRadius,m.outlierLineColor,m.outlierFillColor)}if(n>h){F.drawCircle((n-minvalue)*E+B,w/2,m.spotRadius,m.outlierLineColor,m.outlierFillColor)}}F.drawRect(Math.round((q-minvalue)*E+B),Math.round(w*0.1),Math.round((o-q)*E),Math.round(w*0.8),m.boxLineColor,m.boxFillColor);F.drawLine(Math.round((r-minvalue)*E+B),Math.round(w/2),Math.round((q-minvalue)*E+B),Math.round(w/2),m.lineColor);F.drawLine(Math.round((r-minvalue)*E+B),Math.round(w/4),Math.round((r-minvalue)*E+B),Math.round(w-w/4),m.whiskerColor);F.drawLine(Math.round((h-minvalue)*E+B),Math.round(w/2),Math.round((o-minvalue)*E+B),Math.round(w/2),m.lineColor);F.drawLine(Math.round((h-minvalue)*E+B),Math.round(w/4),Math.round((h-minvalue)*E+B),Math.round(w-w/4),m.whiskerColor);F.drawLine(Math.round((p-minvalue)*E+B),Math.round(w*0.1),Math.round((p-minvalue)*E+B),Math.round(w*0.9),m.medianColor);if(m.target){var t=Math.ceil(m.spotRadius);F.drawLine(Math.round((m.target-minvalue)*E+B),Math.round((w/2)-t),Math.round((m.target-minvalue)*E+B),Math.round((w/2)+t),m.targetColor);F.drawLine(Math.round((m.target-minvalue)*E+B-t),Math.round(w/2),Math.round((m.target-minvalue)*E+B+t),Math.round(w/2),m.targetColor)}}else{this.innerHTML=""}};if(!Array.prototype.indexOf){Array.prototype.indexOf=function(k){for(var h=0;h<this.length;h++){if(this[h]==k){return h}}return -1}}if(f.browser.msie&&!document.namespaces.v){document.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML")}if(f.browser.hasCanvas==undefined){var b=document.createElement("canvas");f.browser.hasCanvas=b.getContext!=undefined}var e=function(k,h,l){};e.prototype={init:function(k,h,l){this.width=k;this.height=h;this.target=l;if(l[0]){l=l[0]}l.vcanvas=this},drawShape:function(k,h,l){alert("drawShape not implemented")},drawLine:function(k,m,h,l,n){return this.drawShape([[k,m],[h,l]],n)},drawCircle:function(k,n,h,l,m){alert("drawCircle not implemented")},drawPieSlice:function(k,p,h,m,l,n,o){alert("drawPieSlice not implemented")},drawRect:function(k,o,l,h,m,n){alert("drawRect not implemented")},getElement:function(){return this.canvas},_insert:function(h,k){f(k).html(h)}};var c=function(k,h,l){return this.init(k,h,l)};c.prototype=f.extend(new e,{_super:e.prototype,init:function(k,h,l){this._super.init(k,h,l);this.canvas=document.createElement("canvas");if(l[0]){l=l[0]}l.vcanvas=this;f(this.canvas).css({display:"inline-block",width:k,height:h,verticalAlign:"top"});this._insert(this.canvas,l);this.pixel_height=f(this.canvas).height();this.pixel_width=f(this.canvas).width();this.canvas.width=this.pixel_width;this.canvas.height=this.pixel_height;f(this.canvas).css({width:this.pixel_width,height:this.pixel_height})},_getContext:function(k,l){var h=this.canvas.getContext("2d");if(k!=undefined){h.strokeStyle=k}h.lineWidth=1;if(l!=undefined){h.fillStyle=l}return h},drawShape:function(m,l,n){var k=this._getContext(l,n);k.beginPath();k.moveTo(m[0][0]+0.5,m[0][1]+0.5);for(var h=1;h<m.length;h++){k.lineTo(m[h][0]+0.5,m[h][1]+0.5)}if(l!=undefined){k.stroke()}if(n!=undefined){k.fill()}},drawCircle:function(k,o,h,m,n){var l=this._getContext(m,n);l.beginPath();l.arc(k,o,h,0,2*Math.PI,false);if(m!=undefined){l.stroke()}if(n!=undefined){l.fill()}},drawPieSlice:function(k,q,h,n,l,o,p){var m=this._getContext(o,p);m.beginPath();m.moveTo(k,q);m.arc(k,q,h,n,l,false);m.lineTo(k,q);m.closePath();if(o!=undefined){m.stroke()}if(p){m.fill()}},drawRect:function(k,o,l,h,m,n){return this.drawShape([[k,o],[k+l,o],[k+l,o+h],[k,o+h],[k,o]],m,n)}});var d=function(k,h,l){return this.init(k,h,l)};d.prototype=f.extend(new e,{_super:e.prototype,init:function(k,h,m){this._super.init(k,h,m);if(m[0]){m=m[0]}m.vcanvas=this;this.canvas=document.createElement("span");f(this.canvas).css({display:"inline-block",position:"relative",overflow:"hidden",width:k,height:h,margin:"0px",padding:"0px",verticalAlign:"top"});this._insert(this.canvas,m);this.pixel_height=f(this.canvas).height();this.pixel_width=f(this.canvas).width();this.canvas.width=this.pixel_width;this.canvas.height=this.pixel_height;var l='<v:group coordorigin="0 0" coordsize="'+this.pixel_width+" "+this.pixel_height+'" style="position:absolute;top:0;left:0;width:'+this.pixel_width+"px;height="+this.pixel_height+'px;"></v:group>';this.canvas.insertAdjacentHTML("beforeEnd",l);this.group=f(this.canvas).children()[0]},drawShape:function(t,n,h){var o=[];for(var k=0;k<t.length;k++){o[k]=""+(t[k][0])+","+(t[k][1])}var m=o.splice(0,1);var q=n==undefined?' stroked="false" ':' strokeWeight="1" strokeColor="'+n+'" ';var r=h==undefined?' filled="false"':' fillColor="'+h+'" filled="true" ';var l=o[0]==o[o.length-1]?"x ":"";var p='<v:shape coordorigin="0 0" coordsize="'+this.pixel_width+" "+this.pixel_height+'" '+q+r+' style="position:absolute;left:0px;top:0px;height:'+this.pixel_height+"px;width:"+this.pixel_width+'px;padding:0px;margin:0px;"  path="m '+m+" l "+o.join(", ")+" "+l+'e"> </v:shape>';this.group.insertAdjacentHTML("beforeEnd",p)},drawCircle:function(k,q,h,o,p){k-=h+1;q-=h+1;var n=o==undefined?' stroked="false" ':' strokeWeight="1" strokeColor="'+o+'" ';var m=p==undefined?' filled="false"':' fillColor="'+p+'" filled="true" ';var l="<v:oval "+n+m+' style="position:absolute;top:'+q+"px; left:"+k+"px; width:"+(h*2)+"px; height:"+(h*2)+'px"></v:oval>';this.group.insertAdjacentHTML("beforeEnd",l)},drawPieSlice:function(v,t,p,q,m,u,l){if(q==m){return}if((m-q)==(2*Math.PI)){q=0;m=(2*Math.PI)}var k=v+Math.round(Math.cos(q)*p);var h=t+Math.round(Math.sin(q)*p);var o=v+Math.round(Math.cos(m)*p);var n=t+Math.round(Math.sin(m)*p);var r=[v-p,t-p,v+p,t+p,k,h,o,n];var B=u==undefined?' stroked="false" ':' strokeWeight="1" strokeColor="'+u+'" ';var A=l==undefined?' filled="false"':' fillColor="'+l+'" filled="true" ';var w='<v:shape coordorigin="0 0" coordsize="'+this.pixel_width+" "+this.pixel_height+'" '+B+A+' style="position:absolute;left:0px;top:0px;height:'+this.pixel_height+"px;width:"+this.pixel_width+'px;padding:0px;margin:0px;"  path="m '+v+","+t+" wa "+r.join(", ")+' x e"> </v:shape>';this.group.insertAdjacentHTML("beforeEnd",w)},drawRect:function(k,o,l,h,m,n){return this.drawShape([[k,o],[k,o+h],[k+l,o+h],[k+l,o],[k,o]],m,n)}})})(jQuery);(function(d){d.timeago=function(g){if(g instanceof Date){return b(g)}else{if(typeof g=="string"){return b(d.timeago.parse(g))}else{return b(d.timeago.parse(d(g).attr("title")))}}};var f=d.timeago;d.extend(d.timeago,{settings:{refreshMillis:60000,allowFuture:false,strings:{prefixAgo:null,prefixFromNow:null,suffixAgo:"ago",suffixFromNow:"from now",ago:null,fromNow:null,seconds:"seconds",minute:"a minute",minutes:"%d minutes",hour:"an hour",hours:"%d hours",day:"a day",days:"%d days",month:"a month",months:"%d months",year:"a year",years:"%d years"}},inWords:function(m){var n=this.settings.strings;var h=n.prefixAgo;var r=n.suffixAgo||n.ago;if(this.settings.allowFuture){if(m<0){h=n.prefixFromNow;r=n.suffixFromNow||n.fromNow}m=Math.abs(m)}var p=m/1000;var g=p/60;var o=g/60;var q=o/24;var k=q/365;var l=p<45&&a(n.seconds,Math.round(p))||p<90&&a(n.minute,1)||g<45&&a(n.minutes,Math.round(g))||g<90&&a(n.hour,1)||o<24&&a(n.hours,Math.round(o))||o<48&&a(n.day,1)||q<30&&a(n.days,Math.floor(q))||q<60&&a(n.month,1)||q<365&&a(n.months,Math.floor(q/30))||k<2&&a(n.year,1)||a(n.years,Math.floor(k));return d.trim([h,l,r].join(" "))},parse:function(h){var g=d.trim(h);g=g.replace(/-/,"/").replace(/-/,"/");g=g.replace(/T/," ").replace(/Z/," UTC");g=g.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2");return new Date(g)}});d.fn.timeago=function(){var h=this;h.each(c);var g=f.settings;if(g.refreshMillis>0){setInterval(function(){h.each(c)},g.refreshMillis)}return h};function c(){var g=f.parse(this.title);if(!isNaN(g)){d(this).text(b(g))}return this}function b(g){return f.inWords(e(g))}function e(g){return(new Date().getTime()-g.getTime())}function a(g,k){var h=d.isFunction(g)?g(k):g;return h.replace(/%d/i,k)}document.createElement("abbr")})(jQuery);jQuery.url=function(){var e={};var b={};var d={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var c=function(){str=decodeURI(d.url);var k=d.parser[d.strictMode?"strict":"loose"].exec(str);var n={};var l=14;while(l--){n[d.key[l]]=k[l]||""}n[d.q.name]={};n[d.key[12]].replace(d.q.parser,function(o,m,p){if(m){n[d.q.name][m]=p}});return n};var f=function(k){if(!b.length){a()}if(k=="base"){if(b.port!==null&&b.port!==""){return b.protocol+"://"+b.host+":"+b.port+"/"}else{return b.protocol+"://"+b.host+"/"}}return(b[k]==="")?null:b[k]};var h=function(k){if(!b.length){a()}return(b.queryKey[k]===null)?null:b.queryKey[k]};var a=function(){b=c();g()};var g=function(){var k=b.path;e=[];e=b.path.length==1?{}:(k.charAt(k.length-1)=="/"?k.substring(1,k.length-1):path=k.substring(1)).split("/")};return{setMode:function(k){strictMode=k=="strict"?true:false;return this},setUrl:function(k){d.url=k===undefined?window.location:k;a();return this},segment:function(k){if(!b.length){a()}if(k===undefined){return e.length}return(e[k]===""||e[k]===undefined)?null:e[k]},attr:f,param:h}}();(function(ay){var aJ="colorbox",aL="hover",aC=true,ag=false,aa,aN=!ay.support.opacity,ae=aN&&!window.XMLHttpRequest,ab="click.colorbox",aB="cbox_open",am="cbox_load",aG="cbox_complete",an="cbox_cleanup",aM="cbox_closed",aj="resize.cbox_resize",ap="resize.cboxie6 scroll.cboxie6",at,ad,ac,aV,aA,aQ,aX,au,aW,ai,aw,aT,aI,aR,aO,al,aP,aq,aH,Z,aS,aU,aY,aD,ak,aK,az,ah,aE,ar,ax={transition:"elastic",speed:350,width:ag,height:ag,initialWidth:"400",initialHeight:"400",maxWidth:ag,maxHeight:ag,scalePhotos:aC,scrollbars:aC,inline:ag,html:ag,iframe:ag,photo:ag,href:ag,title:ag,rel:ag,opacity:0.9,preloading:aC,current:"image {current} of {total}",previous:"previous",next:"next",close:"close",open:ag,overlayClose:aC,slideshow:ag,slideshowAuto:aC,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow"};function ao(a){if(a.keyCode===37){a.preventDefault();aq.click()}else{if(a.keyCode===39){a.preventDefault();aP.click()}}}function av(b,a){a=a==="x"?document.documentElement.clientWidth:document.documentElement.clientHeight;return(typeof b==="string")?(b.match(/%/)?(a/100)*parseInt(b,10):parseInt(b,10)):b}function aF(a){return ah.photo||a.match(/\.(gif|png|jpg|jpeg|bmp)(?:\?([^#]*))?(?:#(\.*))?$/i)}function af(){for(var a in ah){if(typeof(ah[a])==="function"){ah[a]=ah[a].call(aK)}}}aa=ay.fn.colorbox=function(b,a){if(this.length){this.each(function(){var c=ay(this).data(aJ)?ay.extend({},ay(this).data(aJ),b):ay.extend({},ax,b);ay(this).data(aJ,c).addClass("cboxelement")})}else{ay(this).data(aJ,ay.extend({},ax,b))}ay(this).unbind(ab).bind(ab,function(c){aK=this;ah=ay(aK).data(aJ);af();ay().bind("keydown.cbox_close",function(e){if(e.keyCode===27){e.preventDefault();aa.close()}});if(ah.overlayClose){at.css({cursor:"pointer"}).one("click",aa.close)}aK.blur();ar=a||ag;var d=ah.rel||aK.rel;if(d&&d!=="nofollow"){aW=ay(".cboxelement").filter(function(){var e=ay(this).data(aJ).rel||this.rel;return(e===d)});az=aW.index(aK);if(az<0){aW=aW.add(aK);az=aW.length-1}}else{aW=ay(aK);az=0}if(!aE){aE=aC;ay.event.trigger(aB);aH.html(ah.close);at.css({opacity:ah.opacity}).show();aa.position(av(ah.initialWidth,"x"),av(ah.initialHeight,"y"),0);if(ae){ai.bind(ap,function(){at.css({width:ai.width(),height:ai.height(),top:ai.scrollTop(),left:ai.scrollLeft()})}).trigger(ap)}}aa.slideshow();aa.load();c.preventDefault()});if(b&&b.open){ay(this).triggerHandler(ab)}return this};aa.init=function(){function a(b){return ay('<div id="cbox'+b+'"/>')}ai=ay(window);ad=ay('<div id="colorbox"/>');at=a("Overlay").hide();ac=a("Wrapper");aV=a("Content").append(aw=a("LoadedContent").css({width:0,height:0}),aT=a("LoadingOverlay"),aI=a("LoadingGraphic"),aR=a("Title"),aO=a("Current"),al=a("Slideshow"),aP=a("Next"),aq=a("Previous"),aH=a("Close"));ac.append(ay("<div/>").append(a("TopLeft"),aA=a("TopCenter"),a("TopRight")),ay("<div/>").append(aQ=a("MiddleLeft"),aV,aX=a("MiddleRight")),ay("<div/>").append(a("BottomLeft"),au=a("BottomCenter"),a("BottomRight"))).children().children().css({"float":"left"});ay("body").prepend(at,ad.append(ac));if(aN){ad.addClass("cboxIE");if(ae){at.css("position","absolute")}}aV.children().addClass(aL).mouseover(function(){ay(this).addClass(aL)}).mouseout(function(){ay(this).removeClass(aL)}).hide();Z=aA.height()+au.height()+aV.outerHeight(aC)-aV.height();aS=aQ.width()+aX.width()+aV.outerWidth(aC)-aV.width();aU=aw.outerHeight(aC);aY=aw.outerWidth(aC);ad.css({"padding-bottom":Z,"padding-right":aS}).hide();aP.click(aa.next);aq.click(aa.prev);aH.click(aa.close);aV.children().removeClass(aL)};aa.position=function(h,k,a,g){var f=document.documentElement.clientHeight,d=f/2-k/2,e=document.documentElement.clientWidth/2-h/2,b;if(k>f){d-=(k-f)}if(d<0){d=0}if(e<0){e=0}d+=ai.scrollTop();e+=ai.scrollLeft();h=h-aS;k=k-Z;b=(ad.width()===h&&ad.height()===k)?0:a;ac[0].style.width=ac[0].style.height="9999px";function c(l){aA[0].style.width=au[0].style.width=aV[0].style.width=l.style.width;aI[0].style.height=aT[0].style.height=aV[0].style.height=aQ[0].style.height=aX[0].style.height=l.style.height}ad.dequeue().animate({height:k,width:h,top:d,left:e},{duration:b,complete:function(){c(this);ac[0].style.width=(h+aS)+"px";ac[0].style.height=(k+Z)+"px";if(g){g()}},step:function(){c(this)}})};aa.resize=function(m){if(!aE){return}var a,d,l,n,p,h,c,b,f,o=ah.transition==="none"?0:ah.speed;ai.unbind(aj);if(!m){f=setTimeout(function(){d=aw.children().outerHeight(aC);aw[0].style.height=d+"px";aa.position(aw.width()+aY+aS,d+aU+Z,o)},1);return}aw.remove();aw=ay(m);function g(){a=ah.width?aD:aD&&aD<aw.width()?aD:aw.width();return a}function k(){d=ah.height?ak:ak&&ak<aw.height()?ak:aw.height();return d}if(!ah.scrollbars){aw.css({overflow:"hidden"})}aw.hide().appendTo("body").attr({id:"cboxLoadedContent"}).css({width:g()}).css({height:k()}).prependTo(aV);if(ae){ay("select:not(#colorbox select)").filter(function(){return ay(this).css("visibility")!=="hidden"}).css({visibility:"hidden"}).one(an,function(){ay(this).css({visibility:"inherit"})})}b=ay("#cboxPhoto")[0];if(b&&ah.height){l=(d-parseInt(b.style.height,10))/2;b.style.marginTop=(l>0?l:0)+"px"}function e(r){var t=a+aY+aS,q=d+aU+Z;ay().unbind("keydown",ao);aa.position(t,q,r,function(){if(!aE){return}if(aN){if(b){aw.fadeIn(100)}ad[0].style.removeAttribute("filter")}aV.children().show();ay("#cboxIframeTemp").after("<iframe id='cboxIframe' name='iframe_"+new Date().getTime()+"' frameborder=0 src='"+(ah.href||aK.href)+"' />").remove();aT.hide();aI.hide();al.hide();if(aW.length>1){aO.html(ah.current.replace(/\{current\}/,az+1).replace(/\{total\}/,aW.length));aP.html(ah.next);aq.html(ah.previous);ay().bind("keydown",ao);if(ah.slideshow){al.show()}}else{aO.hide();aP.hide();aq.hide()}aR.html(ah.title||aK.title);ay.event.trigger(aG);if(ar){ar.call(aK)}if(ah.transition==="fade"){ad.fadeTo(o,1,function(){if(aN){ad[0].style.removeAttribute("filter")}})}ai.bind(aj,function(){aa.position(t,q,0)})})}if((ah.transition==="fade"&&ad.fadeTo(o,0,function(){e(0)}))||e(o)){}if(ah.preloading&&aW.length>1){n=az>0?aW[az-1]:aW[aW.length-1];h=az<aW.length-1?aW[az+1]:aW[0];c=ay(h).data(aJ).href||h.href;p=ay(n).data(aJ).href||n.href;if(aF(c)){ay("<img />").attr("src",c)}if(aF(p)){ay("<img />").attr("src",p)}}};aa.load=function(){var e,a,d,b,c=aa.resize;aK=aW[az];ah=ay(aK).data(aJ);af();ay.event.trigger(am);e=ah.height?av(ah.height,"y")-aU-Z:ag;a=ah.width?av(ah.width,"x")-aY-aS:ag;d=ah.href||aK.href;aT.show();aI.show();aH.show();if(ah.maxHeight){ak=ah.maxHeight?av(ah.maxHeight,"y")-aU-Z:ag;e=e&&e<ak?e:ak}if(ah.maxWidth){aD=ah.maxWidth?av(ah.maxWidth,"x")-aY-aS:ag;a=a&&a<aD?a:aD}ak=e;aD=a;if(ah.inline){ay('<div id="cboxInlineTemp" />').hide().insertBefore(ay(d)[0]).bind(am+" "+an,function(){aw.children().insertBefore(this);ay(this).remove()});c(ay(d).wrapAll("<div/>").parent())}else{if(ah.iframe){c(ay("<div><div id='cboxIframeTemp' /></div>"))}else{if(ah.html){c(ay("<div/>").html(ah.html))}else{if(aF(d)){b=new Image();b.onload=function(){b.onload=null;if((ak||aD)&&ah.scalePhotos){var h=this.width,l=this.height,f=0,g=this,k=function(){l+=l*f;h+=h*f;g.height=l;g.width=h};if(aD&&h>aD){f=(aD-h)/h;k()}if(ak&&l>ak){f=(ak-l)/l;k()}}c(ay("<div />").css({width:this.width,height:this.height}).append(ay(this).css({width:this.width,height:this.height,display:"block",margin:"auto",border:0}).attr("id","cboxPhoto")));if(aW.length>1){ay(this).css({cursor:"pointer"}).click(aa.next)}if(aN){this.style.msInterpolationMode="bicubic"}};b.src=d}else{ay("<div />").load(d,function(g,f){if(f==="success"){c(ay(this))}else{c(ay("<p>Request unsuccessful.</p>"))}})}}}}};aa.next=function(){az=az<aW.length-1?az+1:0;aa.load()};aa.prev=function(){az=az>0?az-1:aW.length-1;aa.load()};aa.slideshow=function(){var d,c,b="cboxSlideshow_";al.bind(an,function(){clearTimeout(c);al.unbind(aG+" "+am+" click")});function a(){al.text(ah.slideshowStop).bind(aG,function(){c=setTimeout(aa.next,ah.slideshowSpeed)}).bind(am,function(){clearTimeout(c)}).one("click",function(){d();ay(this).removeClass(aL)});ad.removeClass(b+"off").addClass(b+"on")}d=function(){clearTimeout(c);al.text(ah.slideshowStart).unbind(aG+" "+am).one("click",function(){a();c=setTimeout(aa.next,ah.slideshowSpeed);ay(this).removeClass(aL)});ad.removeClass(b+"on").addClass(b+"off")};if(ah.slideshow&&aW.length>1){if(ah.slideshowAuto){a()}else{d()}}};aa.close=function(){ay.event.trigger(an);aE=ag;ay().unbind("keydown",ao).unbind("keydown.cbox_close");ai.unbind(aj+" "+ap);at.css({cursor:"auto"}).fadeOut("fast");ad.stop(aC,ag).fadeOut("fast",function(){aw.remove();ad.css({opacity:1});aV.children().hide();ay.event.trigger(aM)})};aa.element=function(){return aK};aa.settings=ax;ay(aa.init)}(jQuery));function setupMap(f,k,e,h,b,c,d,g){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map_canvas"),{backgroundColor:"#99B3CC"});map.setCenter(new GLatLng(25,-100),2);map.setMapType(G_PHYSICAL_MAP);map.enableScrollWheelZoom();if(k){setupViewport()}if(e){var a=getViewport(lat,lon,zoom);lat=a[0];lon=a[1];zoom=a[2]}map.setCenter(new GLatLng(lat,lon),zoom);GEvent.addListener(map,"moveend",updateStatus);GEvent.addListener(map,"moveend",updateURLs);if(k){GEvent.addListener(map,"moveend",updateViewportCookie)}GEvent.addListener(map,"zoomend",checkZoom);$("#control_map_zoom_in").bind("click",function(){map.zoomIn();return false});$("#control_map_zoom_out").bind("click",function(){map.zoomOut();return false});$("#control_map_global").bind("click",function(){map.setCenter(new GLatLng(25,-100),2);return false});$("#control_map_locate").bind("click",function(){var l=getDefaultViewport();map.setCenter(new GLatLng(l[0],l[1]),l[2]);return false});$("#control_map_pinpoint").bind("click",function(){var l=getClientLocation();map.setCenter(new GLatLng(l[0],l[1]),l[2]);return false});addWordOverlay(f,h,b,c,d,g);updateStatus();updateURLs()}}function setupViewport(){var c=jQuery.url.param("vn");if(!c&&$.cookie("v")){var b=$.cookie("v").split(",");lat=parseFloat(b[0]);lon=parseFloat(b[1]);zoom=parseInt(b[2])}else{var a=getDefaultViewport(c);lat=a[0];lon=a[1];zoom=a[2];storeViewport(lat,lon,zoom)}}function updateViewportCookie(){var a=map.getCenter();storeViewport(a.lat(),a.lng(),map.getZoom())}function storeViewport(b,c,a){$.cookie("v",[b,c,a].join(","),{expires:365})}function drawCircle(b,m,d,a,o,g,e,q){var k=b.distanceFrom(new GLatLng(b.lat()+0.1,b.lng()))/100;var n=b.distanceFrom(new GLatLng(b.lat(),b.lng()+0.1))/100;var p=[];var f=parseInt(360/d)||10;for(var l=0;l<=360;l+=f){var h=new GLatLng(b.lat()+(m/k*Math.cos(l*Math.PI/180)),b.lng()+(m/n*Math.sin(l*Math.PI/180)));p.push(h)}p.push(p[0]);e=e||a||"#0055ff";o=o||2;var c=new GPolygon(p,a,o,g,e,q);map.addOverlay(c);c.center=b;return c}function drawRect(e,c,d,b){var a=new GPolygon([new GLatLng(e,c),new GLatLng(e,b),new GLatLng(d,b),new GLatLng(d,c),new GLatLng(e,c)],"#f33f00",2,1,"#ff0000",0.3);map.addOverlay(a);return a}function add_heatmap(){var a=new GCopyrightCollection();var b=new GTileLayer(a,0,11);b.getTileUrl=function(d,c){base="http://tiles"+(d.x*d.y*c)%4+".trendsmap.com/";color_scheme="classic";url=base+color_scheme+"/"+c+"/"+d.x+","+d.y+".png";return url};b.isPng=function(){return true};b.getOpacity=function(){return 1};map.addOverlay(new GTileLayerOverlay(b))}function drawLL(d){var c=10;for(var a=-80;a<90;a+=c){var b=1;if(a%90==0){b=4}d.addOverlay(new GPolyline([new GLatLng(a,-170),new GLatLng(a,-10),new GLatLng(a,10),new GLatLng(a,180)],"#FFFFFF",b))}for(var a=-180;a<180;a+=c){var b=1;if(a%90==0){b=4}d.addOverlay(new GPolyline([new GLatLng(-90,a),new GLatLng(90,a)],"#FFFFFF",b))}}function getViewport(c,e,a){var b=jQuery.url.param("ll");if(b){b=b.split(",");c=parseFloat(b[0]);e=parseFloat(b[1])}var d=jQuery.url.param("z");if(d){a=parseInt(d)}return[c,e,a]}function updateStatus(){var a=map.getCenter();$("#status").html("("+sprintf("%0.5f",a.lat())+","+sprintf("%0.5f",a.lng())+"),@Z"+map.getZoom())}function checkZoom(b,a){if(a>maxZoomLevel){map.setZoom(Math.min(b,maxZoomLevel))}if(a<minZoomLevel){map.setZoom(Math.min(b,minZoomLevel))}updateStatus();updateURLs()}function updateURLs(){if(!wordOverlay){return}var e,b,g,k;k=map.getZoom();g="";if(wordOverlay.currentWord){var h=wordOverlay.currentWord;e=h[0].lat;b=h[0].lon;g=encodeURIComponent(wordOverlay.currentWord.html())}else{var a=map.getCenter();e=a.lat();b=a.lng();if(topic){g=encodeURIComponent(topic)}}var f="/?ll="+e+","+b+"&z="+k;$("#main_link").attr("href",f);var d="/topic/"+g;$("#topic_link").attr("href",d);var c="/locations/goto?ll="+e+","+b+"&z="+k;$("#location_link").attr("href",c)}function addWordOverlay(k,m,d,e,h,l){var a=map.getBounds();var b=a.getSouthWest();var c=a.getNorthEast();var g=(c.lng()-b.lng())/4;var f=(c.lat()-b.lat())/4;var n=new GLatLngBounds(new GLatLng(b.lat()+f,b.lng()+g),new GLatLng(c.lat()-f,c.lng()-g));wordOverlay=new WordOverlay(wordTileURL,showWordInfo,1,l,jQuery.url.param("t"),k,m,d,e,h);map.addOverlay(wordOverlay)}function showWordInfo(a){if(a){if(wordOverlay.currentWord){wordOverlay.currentWord.removeClass("word_selected")}wordOverlay.currentWord=jQuery(this);wordOverlay.currentWord.addClass("word_selected")}updateSidebar()}function resizeMap(){var a=$(window).height()-76;$("#map_canvas").css("height",a);$("#map_area").css("height",a)}function rectOverlaps(f,g){var c=[[f[0],f[1]],[f[2],f[3]]];var a=[[g[0],g[1]],[g[2],g[3]]];var b=getRectPoints(c);for(var e=0;e<4;e++){if(pointInRect(a,b[e])){return true}}var d=getRectPoints(a);for(var e=0;e<4;e++){if(pointInRect(c,d[e])){return true}}if(c[0][1]<a[0][1]&&c[1][1]>a[1][1]&&((c[0][0]>a[0][0]&&c[0][0]<a[1][0])||(c[1][0]>a[0][0]&&c[1][0]<a[1][0]))){return true}if(a[0][1]<c[0][1]&&a[1][1]>c[1][1]&&((a[0][0]>c[0][0]&&a[0][0]<c[1][0])||(a[1][0]>c[0][0]&&a[1][0]<c[1][0]))){return true}return false}function getRectPoints(a){return[a[0],[a[1][0],a[0][1]],a[1],[a[0][0],a[1][1]]]}function pointInRect(a,b){return(b[0]>=a[0][0]&&b[0]<=a[1][0]&&b[1]>=a[0][1]&&b[1]<=a[1][1])}function rectContained(g,a){var f=[[a[0],a[1]],[a[2],a[3]]];var e=getRectPoints(f);var c=[[g[0],g[1]],[g[2],g[3]]];for(var d=0;d<4;d++){if(!pointInRect(c,e[d])){return false}}return true}function testOverlap(d,a){for(var c=0;c<d.length;c++){overlap=rectOverlaps(a,d[c]);if(overlap){return true}}return false}function RNG(a){this.m=4294967296;this.a=1103515245;this.c=12345;this.state=a?a:Math.floor(Math.random()*(this.m-1))}RNG.prototype.nextInt=function(){this.state=(this.a*this.state+this.c)%this.m;return this.state};RNG.prototype.nextFloat=function(){return this.nextInt()/(this.m-1)};RNG.prototype.nextRange=function(d,a){var c=a-d;var b=this.nextInt()/this.m;return d+Math.floor(b*c)};RNG.prototype.choice=function(a){return a[this.nextRange(0,a.length)]};function str_repeat(b,a){for(var c=[];a>0;c[--a]=b){}return(c.join(""))}function sprintf(){var g=0,e,h=arguments[g++],l=[],d,k,n,b;while(h){if(d=/^[^\x25]+/.exec(h)){l.push(d[0])}else{if(d=/^\x25{2}/.exec(h)){l.push("%")}else{if(d=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(h)){if(((e=arguments[d[1]||g++])==null)||(e==undefined)){throw ("Too few arguments.")}if(/[^s]/.test(d[7])&&(typeof(e)!="number")){throw ("Expecting number but found "+typeof(e))}switch(d[7]){case"b":e=e.toString(2);break;case"c":e=String.fromCharCode(e);break;case"d":e=parseInt(e);break;case"e":e=d[6]?e.toExponential(d[6]):e.toExponential();break;case"f":e=d[6]?parseFloat(e).toFixed(d[6]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=((e=String(e))&&d[6]?e.substring(0,d[6]):e);break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase();break}e=(/[def]/.test(d[7])&&d[2]&&e>0?"+"+e:e);n=d[3]?d[3]=="0"?"0":d[3].charAt(1):" ";b=d[5]-String(e).length;k=d[5]?str_repeat(n,b):"";l.push(d[4]?e+k:k+e)}else{throw ("Huh ?!")}}}h=h.substring(d[0].length)}return l.join("")}function Twitter(c,d,e,b,a){this.element=c;this.tweetClass=d;this.query=e;this.topic=b;$(this.element).html("");this.baseURL="http://search.twitter.com/search.json?";this.latestID=null;this.lastLoadedAt=0;this.timeout=10000;this.checkInterval=a*1000;this.loadSpeed="";this.quickDisplayCount=10;this.minFreq=3000;this.running=true;this.paused=false;this.maxElements=100;this.elementCount=0;this.coreTimer=null}Twitter.prototype=new Object();Twitter.prototype.setRunning=function(a){if(a==this.running){return}this.running=a;if(this.running){this.checkLoadTweets()}};Twitter.prototype.start=function(){log((new Date())+": "+this.query+" : Starting");this.running=true;this.checkLoadTweets()};Twitter.prototype.stop=function(){log((new Date())+": "+this.query+" : Stopping");this.running=false};Twitter.prototype.checkIn=function(){return this.lastLoadedAt+this.checkInterval-(new Date().getTime())};Twitter.prototype.checkLoadTweets=function(){if(this.coreTimer){return}if(!this.running){return}if(this.data&&this.data.length>0){return this.displayNextTweet()}var a=this.checkIn();log((new Date())+": "+this.query+" : Checking in "+parseInt(a/1000)+"s/"+(this.checkInterval/1000));if(a<0){this.loadTweets()}else{var b=this;this.coreTimer=setTimeout(function(){b.coreTimer=null;b.loadTweets()},a)}};Twitter.prototype.rpp=function(){return parseInt((this.loadSpeed==""?this.quickDisplayCount:0)+this.checkInterval/this.minFreq)};Twitter.prototype.loadTweets=function(){this.complete=false;var a=this.baseURL+this.query+"&rpp="+this.rpp();if(this.latestID){a+="&since_id="+this.latestID}var b=this;this.lastLoadedAt=new Date().getTime();log((new Date())+": "+this.query+" : "+a+" : Requesting new data.");if(this.elementCount==0){$(this.element).html("<div class='tweet_loading'>Loading...</div>")}$.ajax({url:a,type:"GET",dataType:"jsonp",timeout:this.timeout,error:function(e,c,d){b.onError(e,c,d)},success:function(c){b.complete=true;b.displayTweets(c)},complete:function(d,c){b.complete=true;log((new Date())+": "+b.query+" : Load complete for '"+b.query+"'.")}});setTimeout(function(){if(!b.complete){b.onError(null,null,"ForcedTimeout")}},(this.timeout*1.5))};Twitter.prototype.onError=function(c,a,b){this.complete=true;log((new Date())+": "+this.query+" : Failed to load : "+[c,a,b].join(","));this.data=[];this.checkLoadTweets()};Twitter.prototype.displayTweets=function(a){this.data=a.results;if(this.data&&this.data.length>0){this.latestID=this.data[0].id}log((new Date())+": "+this.query+" : Got "+(this.data?this.data.length:0)+" results");this.displayNextTweet();$(this.element).jScrollPane({scrollbarWidth:3,scrollbarMargin:1})};Twitter.prototype.displayNextTweet=function(){if(!this.running){return}if(!this.data||this.data.length==0){if(this.elementCount>0){this.loadSpeed="slow"}return this.checkLoadTweets()}log((new Date())+": "+this.query+" : Displaying "+this.loadSpeed+", "+this.data[this.data.length-1].id+", "+this.data.length+" left.");var d=this.data.pop();var a=jQuery.timeago(new Date(Date.parse(d.created_at)));var b="<div class='"+this.tweetClass+"' style='display:none;'><div class='avatar'><a target='_blank' alt='"+d.from_user+"' title='"+d.from_user+"' href='http://twitter.com/"+d.from_user+"'><img alt='@"+d.from_user+"' title='@"+d.from_user+"' src='"+d.profile_image_url+"' /></a></div>";b+="<div class='"+this.tweetClass+"_content'><p>"+d.text+"</p><p class='meta'>";if(d.location){b+="<span class='meta_location'>"+d.location+"</span> | "}b+="<span class='meta_time'>"+a+"</span></p></div><div class='clear'>&nbsp;</div></div>";var f=$(b);var c=$(this.element)[0];c.insertBefore(f[0],c.firstChild);if(this.elementCount==this.maxElements){c.removeChild(c.lastChild)}else{this.elementCount+=1}if(this.topic){f.highlight(this.topic)}f.linkup("http://","",0,"_blank");f.linkup("www.","http://",0,"_blank");f.linkup("@","http://twitter.com/",1,"_blank");f.linkup("#","/topic/%23",1,"");if(this.elementCount>this.quickDisplayCount){this.loadSpeed="slow"}delay=0;if(this.loadSpeed==""){f.show();this.displayNextTweet()}else{var h=this;delay=this.checkIn()/(this.data.length+1);if(delay<this.minFreq){delay=this.minFreq}var g=this.minFreq/parseFloat(d.id%7+1);delay+=g;f.show(this.loadSpeed,function(){if(!h.coreTimer){h.coreTimer=setTimeout(function(){h.coreTimer=null;h.displayNextTweet()},delay)}})}};var DEBUG=false;function log(a){if(DEBUG&&!!window.console){console.log(a)}}function getEmail(){s="mailto:";s+="trendsma";s+="p@";s+="stateles";s+="ssyste";s+="ms.c";s+="om";document.location.href=s}function extractTS(a){return parseInt(parseFloat(a)*1000)}function clearSparkline(a,b){$("#"+a).show();$("#"+a).html("<div class='sparkline_loading'>"+(b?"":"Loading...")+"</div>")}function updateSparkline(b,c,a){if(!a){a=1}$("#"+c).sparkline(b,{type:"line",height:"18px",lineColor:"#d1d6df",fillColor:"#2b3139",spotColor:"#dcf98c",spotRadius:0,defaultPixelsPerValue:a})}function updateTweets(c,d,e,b,a){if(!c){c="#tweets"}$(c).html("Loading...");if(twitter){twitter.stop()}twitter=new Twitter(c,d,e,b,a);twitter.start();setupHoverPausing(c,twitter)}function setupHoverPausing(a,b){$(a).bind("mouseenter",function(){if(!b.paused&&b.running){b.setRunning(false);b.paused=true}});$(a).bind("mouseleave",function(){if(b.paused){b.setRunning(true);b.paused=false}})}function displayTweetsError(c,b,a){log("Error loading twitter data '"+b+"' with url : '"+b+"'. : "+a);$(c.element).html("<div class='twitter_error_message'>Oh Bother!.  Seems twitter doesn't want to talk to us right now :(  You can click <a id='twitter_retry' href='/'>here</a> to try again if your feeling lucky.</div>");$("#twitter_retry").bind("click",function(){loadTweets(wordOverlay.currentWord);return false})}function toggleHeartbeat(){wordOverlay.toggleHeartbeat();$("#heartbeat_control_img").attr("src",wordOverlay.heartbeatTimer?"/images/pause.png":"/images/play.png");if(twitter){twitter.setRunning(!!wordOverlay.heartbeatTimer)}}function toggleDebug(){var a=$("#debug");if(!a){return}if(a.css("display")=="none"){a.show("normal")}else{a.hide("normal")}}function closeMapOverlay(){var a=$("#sidebar_info");if(!a){return}if($("#sidebar_info").css("display")=="none"){$("#map_overlay_close_img").attr("src","/images/arrow_up.png");$("#sidebar_info").show("normal");$("#map_overlay").animate({height:"576px"},"normal")}else{$("#map_overlay_close_img").attr("src","/images/arrow_down.png");$("#sidebar_info").hide("normal");$("#map_overlay").animate({height:"24px"},"normal")}return false}function updateWhatTheData(b,a,d){var c=$(b);if(d&&d.name){c.html("<strong>"+d.name+"</strong> : "+d.blurb["text"]);$(b+"_container").show();c.highlight(a);c.show()}else{c.hide();$(b+"_container").hide()}}function updateWhatThe(a,b){if(!b){b="#what_the"}var c=$(b);$.getJSON("/data/wtt/"+encodeURIComponent(a),function(d){return function(e){if(e&&e.name){c.html("<strong>"+e.name+"</strong> : "+e.blurb["text"]);$(b+"_container").show();c.highlight(a);c.show()}else{c.hide();$(b+"_container").hide()}}}(c))}function getClientCountry(){var a="US";if(google.loader.ClientLocation&&google.loader.ClientLocation.address.country_code){a=google.loader.ClientLocation.address.country_code}return a}function getClientLocation(){var a=google.loader.ClientLocation;if(a&&a.latitude&&a.longitude){return[a.latitude,a.longitude,7]}else{return[40,-100,4]}}function getDefaultViewport(a){var g=[];g[0]=[];g[1]=[];g[0][0]="SouthAmerica";g[0][1]="SouthAmerica";g[0][2]="Africa";g[0][3]="AusPac";g[1][0]="NorthAmerica";g[1][1]="NorthAmerica";g[1][2]="Europe";g[1][3]="Asia";var c={};c.Africa=[-20,25,4];c.AusPac=[-30,144,4];c.SouthAmerica=[-20,-65,4];c.Europe=[52,15,5];c.Asia=[15,90,4];c.NorthAmerica=[40,-100,4];if(a){return c[a]}var f;var b=google.loader.ClientLocation;if(b&&b.latitude&&b.longitude){var e=parseInt((b.latitude+90)/90);var d=parseInt((b.longitude+180)/90);f=g[e][d]}else{f="NorthAmerica"}a=c[f];return a}(function(a){a.fn.tipsy=function(b){b=a.extend({fade:false,gravity:"n"},b||{});var c=null,d=false;this.hover(function(){a.data(this,"cancel.tipsy",true);var e=a.data(this,"active.tipsy");if(!e){e=a('<div class="tipsy"><div class="tipsy-inner">'+a(this).attr("title")+"</div></div>");e.css({position:"absolute",zIndex:100000});a(this).attr("title","");a.data(this,"active.tipsy",e)}var h=a.extend({},a(this).offset(),{width:this.offsetWidth,height:this.offsetHeight});e.remove().css({top:0,left:0,visibility:"hidden",display:"block"}).appendTo(document.body);var f=e[0].offsetWidth,g=e[0].offsetHeight;switch(b.gravity.charAt(0)){case"n":e.css({top:h.top+h.height,left:h.left+h.width/2-f/2}).addClass("tipsy-north");break;case"s":e.css({top:h.top-g,left:h.left+h.width/2-f/2}).addClass("tipsy-south");break;case"e":e.css({top:h.top+h.height/2-g/2,left:h.left-f}).addClass("tipsy-east");break;case"w":e.css({top:h.top+h.height/2-g/2,left:h.left+h.width}).addClass("tipsy-west");break}if(b.fade){e.css({opacity:0,display:"block",visibility:"visible"}).animate({opacity:1})}else{e.css({visibility:"visible"})}},function(){a.data(this,"cancel.tipsy",false);var e=this;setTimeout(function(){if(a.data(this,"cancel.tipsy")){return}var f=a.data(e,"active.tipsy");if(b.fade){f.stop().fadeOut(function(){a(this).remove()})}else{f.remove()}},100)})}})(jQuery);$(function(){$(".toggleHUD").tipsy({fade:true,gravity:"e"});$("#control_map_zoom_out").tipsy({fade:true});$("#control_map_zoom_in").tipsy({fade:true});$("#control_map_pinpoint").tipsy({fade:true});$("#control_map_locate").tipsy({fade:true});$("#control_map_global").tipsy({fade:true})});$(document).ready(function(){$(".cb_image").colorbox({photo:true});$(".cb_youtube").colorbox({iframe:true,width:650,height:550});$("a.topic_search, a.location_search, a.area_search").hover(function(){$(this).animate({marginLeft:"5px"},150)},function(){$(this).animate({marginLeft:0},150)});$("#dropdown").hide();$("#container").click(closeSearchResults);$("#search_submit").click(updateSearchResults);$("#search").submit(updateSearchResults);$("#search").keyup(checkUpdateSearchResults);$().bind("cbox_complete",function(){var a=$("#cboxMore");if(!a||a.length==0){$("#cboxTitle").after("<p id='cboxMore'><a id='cboxMoreA' target='_new' title='Comment, find out more about this image.' href='#'>More...</a></p>")}$("#cboxMore").css("display","none");var b=$("#cboxLoadedContent").children()[0].src;$(".cb_image").each(function(){if($(this).attr("href")==b){var c=$(this).attr("dest");$("#cboxMoreA").attr("href",c);$("#cboxMore").css("display","inline")}})})});function checkUpdateSearchResults(){var a=$("#search_query");clearTimeout(a[0].timer);var b=a.val();if(b.length<3){closeSearchResults();return}if(a[0].previousQ==b){return}a[0].timer=setTimeout(function(){updateSearchResults(null,true)},700)}function closeSearchResults(){$("#dropdown").slideUp("normal")}function updateSearchResults(a,b){var c=$("#search_query");clearTimeout(c[0].timer);var d=c.val();if(d==c[0].previousQ&&$("#dropdown").css("display")!="none"){if(!b){$("#dropdown").slideUp("normal")}}else{$("#topic_search_results").html("Loading...");$("#location_search_results").html("Loading...");$("#dropdown").slideDown("normal");$.getJSON("/search?q="+encodeURIComponent(d),loadSearchResults);c[0].previousQ=d}return false}function loadSearchResults(e){var g=$("#topic_search_results");var c=$("#location_search_results");if(e&&e.l&&e.l.length>0){var d=["<ul>"];for(var b=0;b<e.l.length;b++){var a=e.l[b][0];var f=e.l[b][1];d[d.length]="<li><a class='location_search' href='/local/"+f+"' title='"+a+"'>"+a+"</a></li>"}d[d.length]=["</ul>"];c.html(d.join("\n"))}else{c.html("<ul><li>No Locations Found</li></ul>")}if(e&&e.t&&e.t.length>0){var d=["<ul>"];for(var b=0;b<e.t.length;b++){var a=e.t[b][0];d[d.length]="<li><a class='topic_search' href='/topic/"+encodeURIComponent(a)+"' title='"+a+"'>"+a+"</a></li>"}d[d.length]=["</ul>"];g.html(d.join("\n"))}else{g.html("<ul><li>No Topics Found</li></ul>")}}function Word(b,e,d,f,c,a){this.wordTile=b;this.wordOverlay=b.wordOverlay;this.word=e;this.lat=d;this.lon=f;this.classID=c;this.extra=a;this.div=null;this.forDelete=false}Word.prototype=new Object();Word.prototype.toS=function(){return this.word+"("+this.lat+","+this.lon+"), "+this.classID};Word.prototype.id=function(){return[this.word,this.lat,this.lon].join(",")};Word.prototype.className=function(){var a="word word_"+this.classID;if(this.extra.m){a+=" word_media"}return a};Word.prototype.urlsHTML=function(){var g="";if(this.extra.u){var e=this.extra.u.slice(0,3);urlsB=[];for(var c=0;c<e.length;c++){var a=e[c][0];var b=e[c][1];var f=$("<div/>").text(b).html().replace("'","&#146;");if(!b){b=a}b=(b.length>45)?$("<div/>").text(b.substr(0,45)).html()+"&#0133;":$("<div/>").text(b).html();var h=a.split("/")[2];urlsB[urlsB.length]="<li><a title='"+f+"' target='_new' href='"+a+"'><img class='favicon_img' src='http://www.google.com/s2/favicons?domain="+h+"'>"+b+"</a></li>"}g=urlsB.join("\n")}return g};Word.prototype.mediaHTML=function(){var e=[];if(this.extra.m){for(var c=0;c<this.extra.m.slice(0,12).length;c++){var h=this.extra.m[c];var f=$("<div/>").text(h[1]).html().replace("'","&#146;");var b=(h[5]=="v")?"<span/>":"";var g=h[6]?((h[5]=="v")?"cb_youtube":"cb_image"):"";var a=h[6]?h[6]:h[0];e[e.length]="<a title='"+f+"' target='_new' class='"+g+"' href='"+a+"' dest='"+h[0]+"'>"+b+"<img class='tweet_image' src='"+h[4]+"'></a>"}}return e.join("\n")};Word.prototype.createDiv=function(){var a=this.className();var d=this.urlsHTML();var c=this.mediaHTML();var e=$("<div class='"+a+"' style='top: -1000px;left: -1000px'>"+this.word+"</div>");var b=e[0];b.lat=this.lat;b.lon=this.lon;b.urls=d;b.media=c;b.classID=this.classID;b.word=this;this.wordOverlay.div_.appendChild(b);return e};Word.prototype.update=function(){};Word.prototype.show=function(){var h=this.createDiv();var c=this.wordTile.getWordOffsetPlaced(this,h);overlap=c[0];x=c[1];y=c[2];if(overlap){log("Failed to place '"+this.toS());return 0}var b=true;var a=[0.3,0.3,0.3,0.4,0.4,0.5,0.6,0.7,0.8,0.9][this.classID];if(this.wordOverlay.opaque){a=1}if(this.wordOverlay.uniqueWords&&!!this.div){this.wordOverlay.div_.removeChild(h[0]);if((this.div.css("left")==x+"px")&&(this.div.css("top")==y+"px")&&(this.div[0].classID==this.classID)){return 0}this.wordTile.wordCounts[2]+=1;var g=989+this.classID;var d=[10,12,14,16,18,22,26,30,36,42][this.classID]+"px";var f=x+"px";var e=y+"px";b={fontSize:d,opacity:a,left:f,top:e};this.div.css("zIndex",g);this.div[0].classID=this.classID}else{this.div=h;this.div.wordTile=this.wordTile;this.wordTile.wordCounts[0]+=1;this.div.css("left",x+"px");this.div.css("top",y+"px");this.div.css("display","none");this.div.css("opacity",a);this.div.bind("click",this.wordOverlay.onWordClick)}this.wordOverlay.queueWord(this.div,x,y,b);this.checkCurrent();return 1};Word.prototype.checkCurrent=function(){if(this.wordOverlay.currentWord!==undefined){return}var a=this.wordOverlay.map.getCenter();var b=(this.lat==a.lat()&&this.lon==a.lng());if(this.wordOverlay.topic==this.word&&b){log("Setting current topic '"+this.toS());this.wordOverlay.currentWord=this.div;this.wordOverlay.onWordClick()}};Word.prototype.hide=function(){if(!this.div){return}if(!this.div[0]){return}if(!this.div[0].parentNode){return}this.div[0].parentNode.removeChild(this.div[0]);delete this.div};var TILE_NEW=-1;var TILE_FAILED=0;var TILE_LOADING=1;var TILE_LOADED=2;var TILE_DISPLAYING=3;var TILE_DISPLAYED=4;var TILE_HIDDEN=5;var BASE_FONT_SIZE=10;var MAX_FONT_SIZE=40;var FONT_SCALING=3;var WORD_RESOLUTION=0.17578125;var TILE_SCALE=360;var RANDOM_OFFSET=20;var WORD_MARGIN=5;var HEARTBEAT_INTERVAL=1000;var PARALLEL_WORD_DISPLAY_COUNT=1;var DISPLAY_UPDATE_CHECK_INTERVAL=200;var CHECK_INTERVAL_FAIL_SCALE=10;var debugExtra="";var REDRAW_AFTER=300;var OLD_AGE_TILE=3600;var NEW_AGE_TILE=120;function WordOverlay(f,a,b,d,g,k,l,c,e,h){this.wordTileURL=f;this.onWordClick=a;this.wordTiles={};this.wordTileCache={};this.custom_tile_scale=b;this.max_tile_size=d;this.topic=g;this.tileCheckInterval=k;this.uniqueWords=l;this.update=c;this.opaque=e;this.cci=h||[];this.displayQueue=[];this.displayTimer;this.heartbeatTimer;this.topTopics=null;this.lastHeartbeat=null;this.tileLoads=0;this.startTime=null;this.redrawTimer=null}if(typeof GOverlay!=="undefined"){WordOverlay.prototype=new GOverlay()}WordOverlay.prototype.initialize=function(a){this.map=a;this.createDiv();this.currentWord=undefined;this.currentZoom=-1;a.getPane(G_MAP_MARKER_PANE).appendChild(this.div_);this.startTime=new Date().getTime();if(this.update){this.heartbeat()}};WordOverlay.prototype.setInactive=function(){if($("#activity_spinner").attr("src")!="/images/activity_stopped.png"){$("#activity_spinner").attr("src","/images/activity_stopped.png")}};WordOverlay.prototype.setActive=function(){if($("#activity_spinner").attr("src")!="/images/activity.gif"){$("#activity_spinner").attr("src","/images/activity.gif")}};WordOverlay.prototype.toggleHeartbeat=function(){if(this.heartbeatTimer){this.stopHeartbeat()}else{if(((new Date().getTime())-this.lastHeartbeat)>this.tileCheckInterval){var c=this.wordTiles;for(var d in c){var b=c[d];if(b.displayed()&&b.hasData()){b.prioritise=true}}}this.heartbeat()}};WordOverlay.prototype.stopHeartbeat=function(){clearTimeout(this.heartbeatTimer);this.heartbeatTimer=null};WordOverlay.prototype.heartbeat=function(){this.updateTiles();this.debugUpdate();this.lastHeartbeat=new Date().getTime();this.heartbeatTimer=setTimeout(function(){wordOverlay.heartbeat()},HEARTBEAT_INTERVAL);this.finished()?this.setInactive():this.setActive()};WordOverlay.prototype.debugUpdate=function(){var o=$("#debug");if(!o){return}if(o.css("display")=="none"){return}var t=[];var b=0;var q=0;var l=0;var m=0;var p=this.wordTiles;for(var c in p){var n=p[c];if(((n.loaded()||n.loading()||n.displayed()||n.displaying())&&(n.hasData()))||n.failed()){var h="<a href='/' onclick='wordOverlay.findWordTile("+n.lat+","+n.lon+","+n.tileSize+").debugToggleOutline();return false;'>"+((n.outlineRect)?"Rem":"Add")+"</a>";var r=n.dataAge(true);var e=parseInt(r/3600)+":"+parseInt((r%3600)/60)+":"+r%60;t[t.length]="<tr><td>"+[n.status,n.lat,n.lon,n.tileSize,e,n.age(),n.timeToNextCheck(),n.wordsToDisplay,n.wordCount,n.updateCount,n.wordCounts.join(","),n.quickLoad,n.prioritise,h].join("</td><td>")+"</td></tr>";b+=1}else{if(n.wordCount==0){q+=1}else{if(n.hidden()){m+=1}else{throw ("Tile in unknown state : "+n.toS()+".")}}}if(n.failed()){l+=1}}var g=parseInt(10*1000*this.tileLoads/((new Date().getTime())-this.startTime))/10;var f="<table border=1><tr><th>"+["Status","Lat","Lon","Size","DataAge","LoadAge","ChkIn","ToDisp","Words","Updates","Add/Rem/Mod","QL","PRI","Outline"].join("</th><th>")+"</th></tr>\n"+t.join("\n")+"</table>";f+="Tile counts : Loaded="+p.length+", NoData="+q+", Active="+b+", Failed="+l+", Hidden="+m+", Tile Loads="+this.tileLoads+", Req/Sec="+g+"<br>";f+=debugExtra;o.html(f)};WordOverlay.prototype.remove=function(){this.div_.parentNode.removeChild(this.div_)};WordOverlay.prototype.copy=function(){return new WordOverlay()};WordOverlay.prototype.redraw=function(a){if(this.redrawTimer){clearTimeout(this.redrawTimer);this.redrawTimer=null}var b=this;this.redrawTimer=setTimeout(function(){b.redraw_(a)},REDRAW_AFTER)};WordOverlay.prototype.redraw_=function(g){log("Redraw starting...");redrawStart=new Date().getTime();if(g||(this.currentZoom!=this.map.getZoom())){this.changeZoom()}var h=this.getTileList();var e=[];var c=h.length;for(var d=0;d<c;d++){var f=h[d];e[e.length]=[f[0],f[1],f[2]].join(",")}for(var b in this.wordTiles){var a=this.wordTiles[b];if(a.displayed()&&(e.indexOf(a.toS())==-1)){a.hide();log("Hiding : "+a.toS())}}for(var d in h){this.displayWordTile(h[d][0],h[d][1],h[d][2])}log("Redraw took "+((new Date().getTime())-redrawStart)/1000+"s")};WordOverlay.prototype.displayWordTile=function(c,d,b){var a=this.findWordTile(c,d,b);if(a&&(a.loading()||a.loaded())){return}if(a==undefined){a=this.createTile(c,d,b);a.quickLoad=true;a.wordsToDisplay=0;a.load();a.setDisplayed()}else{if(!a.displayed()){a.quickLoad=true;a.wordsToDisplay=0;a.show()}}};WordOverlay.prototype.updateTopTopics=function(b){if(this.loading()){return}if(!b&&this.topTopics){return}maxResults=4;this.topTopics=[];var o=this.wordTiles;if(!o){return}for(var d in o){this.topTopics=this.topTopics.concat(o[d].topTopics)}this.topTopics=this.topTopics.sort(function(f,c){return c[3]-f[3]});this.topTopics=this.topTopics.slice(0,6);var l=this.topTopics;var m=$("#hot_topics_container");z=map.getZoom();for(var g in l){var q=l[g];var p=q[0];var h=q[3];var n="hot_topic_"+g;var e="ht_sparkline_"+g;m.append("<div class='grey_rounded hot_topic'><h3><a href='/topic/"+p+"'>"+p+"</a>("+h+")</h3>\n<div id='"+e+"' class='ht_sparkline'></div>\n<div id='"+n+"'  class='live_tweets_wide local_main grey_rounded'></div>\n</div>");updateTweets("q="+p+"&lang=en&rpp=100&geocode="+q[1]+","+q[2]+",100km","#"+n,maxResults);$.getJSON("/data/trend?x="+new Date().getTime()+"&q="+encodeURIComponent(p)+"&l="+q[1]+","+q[2],(function(a){return function(c){updateSparkline(c[1],a)}})(e))}};WordOverlay.prototype.loading=function(){var b=this.wordTiles;for(var c in b){if(b[c].loading()){return true}}return false};WordOverlay.prototype.finished=function(){var b=this.wordTiles;for(var c in b){if(!b[c].finished()){return false}}return true};WordOverlay.prototype.createDiv=function(){var a=document.createElement("div");a.className="points";this.div_=a;return a};WordOverlay.prototype.changeZoom=function(){if(!this.wordTileCache[this.tileSize()]){this.wordTileCache[this.tileSize()]=this.wordTiles}var b=this.wordTiles;for(var c in b){b[c].hide()}this.currentZoom=this.map.getZoom();this.wordTiles=this.wordTileCache[this.tileSize()];if(!this.wordTiles){this.wordTiles={};this.wordTileCache[this.tileSize()]=this.wordTiles}};WordOverlay.prototype.tileSize=function(a){if(!a){a=this.currentZoom}var b=TILE_SCALE*this.custom_tile_scale/(Math.pow(2,a));if(b>this.max_tile_size){b=this.max_tile_size}if(b<WORD_RESOLUTION){b=WORD_RESOLUTION}return b};WordOverlay.prototype.getTileList=function(){var l=this.tileSize();var a=this.map.getBounds();var f=a.getSouthWest().lat()+90;var e=a.getNorthEast().lat()+90;var h=a.getSouthWest().lng()+180;var g=a.getNorthEast().lng()+180;f-=f%l;h-=h%l;e-=e%l;g-=g%l;var b=f/l;var m=e/l;var d=h/l;var n=g/l;var c=Math.ceil(360/l);if(n<d){n+=c}var k=[];for(i=b;i<=m;i++){for(j=d;j<=n;j++){j2=j;if(j2>=c){j2-=c}k[k.length]=[Math.round((i*l-90)/WORD_RESOLUTION)*WORD_RESOLUTION,Math.round((j2*l-180)/WORD_RESOLUTION)*WORD_RESOLUTION,l]}}return k};WordOverlay.prototype.findWordTile=function(b,c,a){return this.wordTiles[[b,c,a].join(",")]};WordOverlay.prototype.updateTiles=function(){var f=99999;var e=null;var c=this.wordTiles;for(var d in c){var b=c[d];if(!b.finished()){continue}var g=b.timeToNextCheck();if(b.prioritise&&g<0){b.prioritise=false;f=g;e=b;break}if(f>g){f=g;e=b}}if(e&&f<=0){e.load()}};WordOverlay.prototype.createTile=function(c,d,b){var a=new WordTile(this,c,d,b);this.wordTiles[a.toS()]=a;return a};WordOverlay.prototype.updateWord=function(e,a,d,c,b){if(c){if(b===true){e.css("left",a+"px");e.css("top",d+"px");e.css("display","block")}else{if(b===false){e.parent().removeChild(e)}else{e.animate(b,0)}}e.wordTile.checkDisplayed()}else{if(b===true){e.show("normal",function(){e.wordTile.decrementWordsToDisplay()})}else{if(b===false){e.hide(1000,function(){e.wordTile.decrementWordsToDisplay()})}else{e.animate(b,1000,null,function(){e.wordTile.decrementWordsToDisplay()})}}}};WordOverlay.prototype.queueWord=function(d,a,c,b){if(d.wordTile.quickLoad){this.updateWord(d,a,c,true,true)}else{if(d.wordTile.wordsToDisplay===null){d.wordTile.wordsToDisplay=1}else{d.wordTile.wordsToDisplay+=1}this.displayQueue[this.displayQueue.length]=[d,a,c,b];if(!this.displayTimer){this.displayTimer=setTimeout(function(){wordOverlay.updateDisplay()},5)}}};WordOverlay.prototype.updateDisplay=function(){for(var c=0;c<PARALLEL_WORD_DISPLAY_COUNT;c++){if(this.displayQueue.length==0){break}var b=this.displayQueue.pop();this.updateWord(b[0],b[1],b[2],false,b[3])}if(this.displayQueue.length>0){this.displayTimer=setTimeout(function(){wordOverlay.updateDisplay()},DISPLAY_UPDATE_CHECK_INTERVAL)}else{this.displayTimer=null}};function WordTile(c,b,d,a){this.wordOverlay=c;this.map=c.map;this.lat=b;this.lon=d;this.tileSize=a;this.data=null;this.status=TILE_NEW;this.lastUpdated=new Date().getTime();this.updateCheckTimes(0);this.updateCount=0;this.words={};this.rng=null;this.bounds={};this.wordsToDisplay=null;this.wordCount=0;this.wordCounts=[0,0,0];this.quickLoad=false;this.topTopics=[];this.prioritise=false;this.serverTimeOffset=0}WordTile.prototype=new Object();WordTile.prototype.url=function(){return this.wordOverlay.wordTileURL(this.lat,this.lon,this.tileSize,WORD_RESOLUTION)};WordTile.prototype.loading=function(){return(this.status==TILE_LOADING)};WordTile.prototype.loaded=function(){return(this.status==TILE_LOADED)};WordTile.prototype.failed=function(){return(this.status==TILE_FAILED)};WordTile.prototype.displaying=function(){return(this.status==TILE_DISPLAYING)};WordTile.prototype.displayed=function(){return(this.status==TILE_DISPLAYED)};WordTile.prototype.finished=function(){return(this.failed()||this.displayed())};WordTile.prototype.hidden=function(){return(this.status==TILE_HIDDEN)};WordTile.prototype.hasData=function(){return(this.wordCount>0)};WordTile.prototype.setFailed=function(){this.status=TILE_FAILED};WordTile.prototype.setLoading=function(){this.status=TILE_LOADING};WordTile.prototype.setLoaded=function(){this.status=TILE_LOADED};WordTile.prototype.setDisplaying=function(){this.status=TILE_DISPLAYING};WordTile.prototype.setDisplayed=function(){this.status=TILE_DISPLAYED};WordTile.prototype.setHidden=function(){this.status=TILE_HIDDEN};WordTile.prototype.decrementWordsToDisplay=function(){this.wordsToDisplay-=1;if(this.wordsToDisplay<0){log("ERROR : Negative words to dislpay for tile "+this.toS()+".")}this.checkDisplayed()};WordTile.prototype.checkDisplayed=function(){if(this.wordsToDisplay==0){this.setDisplayed()}};WordTile.prototype.age=function(){return parseInt(((new Date().getTime())-this.lastUpdated)/1000)};WordTile.prototype.dataAge=function(){return parseInt(((new Date().getTime())-this.dataCreatedAt(true))/1000)};WordTile.prototype.dataCreatedAt=function(a){if(!this.data){return 0}if(this.data.ts.undefined){this.data.ts=new Date().getTime()/1000}return extractTS(this.data.ts)+(a?this.serverTimeOffset:0)};WordTile.prototype.updateCheckTimes=function(a){var b=this.dataAge();if(a){interval_scale=CHECK_INTERVAL_FAIL_SCALE}else{if(b>OLD_AGE_TILE){interval_scale=CHECK_INTERVAL_FAIL_SCALE}else{if(b<NEW_AGE_TILE){interval_scale=2}else{interval_scale=1}}}this.lastChecked=new Date().getTime();this.nextCheck=this.lastChecked+this.wordOverlay.tileCheckInterval*interval_scale*1000};WordTile.prototype.timeToNextCheck=function(){return parseInt((this.nextCheck-(new Date().getTime()))/1000)};WordTile.prototype.needsChecking=function(){return(this.nextCheck<(new Date().getTime()))};WordTile.prototype.reset=function(){this.wordsToDisplay=null;this.wordCount=0;this.bounds={};this.debugRemoveOutline();this.topTopics=[];this.prioritise=false};WordTile.prototype.loadData=function(){if(!this.data){throw ("Called load data with no data for tile "+this.toS()+".")}var f={};f.word="";f.tag="#";f.user="@";for(var a in this.words){this.words[a].forDelete=true}var d=this.data.words.length;for(i=0;i<d;i++){var c=this.data.words[i];var b=f[c[5]]+c[0];if(this.wordOverlay.cci.indexOf(b)!=-1){continue}var g=new Word(this,b,c[1],c[2],c[3],c[4]);var e=this.words[g.id()];if(!e){this.words[g.id()]=g}else{e.classID=c[3];e.extra=c[4];e.forDelete=false}}};WordTile.prototype.load=function(){this.setLoading();var c=this;var a=this.url();if(!a){return false}this.wordOverlay.tileLoads+=1;var b=$.ajax({url:a,type:"GET",dataType:"json",timeout:30000,cache:false,error:function(f,d,e){log("Error loading tile '"+c.toS()+"' with url : '"+a+"'. : "+f+","+d+","+e);c.setFailed();c.updateCheckTimes(CHECK_INTERVAL_FAIL_SCALE*c.wordOverlay.tileCheckInterval)},success:function(d){c.load_(d,Date.parse(b.getResponseHeader("Date")))}});return true};WordTile.prototype.load_=function(a,b){this.serverTimeOffset=(new Date().getTime())-b;if(a.ts==-1){this.hide();this.reset();this.updateCheckTimes(true);this.setDisplayed();return}if(this.dataCreatedAt()==extractTS(a.ts)){this.updateCheckTimes(false);this.setDisplayed();return}if(this.data){log((new Date())+" : "+this.tileSize+","+this.lat+","+this.lon+" : New data to load, is "+parseInt((extractTS(a.ts)-this.dataCreatedAt())/1000)+" seconds newer than existing data")}else{log((new Date())+" : "+this.tileSize+","+this.lat+","+this.lon+" : Loading data for the first time")}this.reset();this.setLoaded();this.data=a;this.loadData();this.updateCount+=1;this.lastUpdated=new Date().getTime();if(this.data.words){this.wordCount+=this.data.words.length}this.cities=this.data.c;this.updateCheckTimes((this.wordCount==0));this.show()};WordTile.prototype.hide=function(){this.debugRemoveOutline();for(var a in this.words){this.words[a].hide()}this.bounds={};this.setHidden()};WordTile.prototype.show=function(){if(this.wordOverlay.tileSize()!=this.tileSize){log("WARNING : Tile Size Changed before load : "+this.toS());this.wordsToDisplay=0;this.quickLoad=false;this.hide();return}if(!this.data){return}if(!(this.loaded()||this.hidden())){this.quickLoad=false;return}this.setDisplaying();var c=this.data;newWords={};for(var a in this.words){var d=this.words[a];if(d.forDelete){this.wordCounts[1]+=1;this.wordOverlay.queueWord(d.div,0,0,false);delete this.words[i]}else{newWords[a]=d}}this.words=newWords;var b=this.render();if(this.age()>0){log("Rendered tile loaded "+this.age()+" seconds ago")}if(this.quickLoad||b==0){this.quickLoad=false;this.wordsToDisplay=0;this.setDisplayed()}};WordTile.prototype.render=function(){this.rng=new RNG(this.lat+this.lon);var b=0;for(var a in this.words){b+=this.words[a].show()}return b};WordTile.prototype.updateTopTopics=function(){if(!this.data.words||this.data.words.length==0){return}this.topTopics=this.data.words.sort(function(d,c){return c[3]-d[3]})};WordTile.prototype.debugToggleOutline=function(){if(this.outlineRect){this.debugRemoveOutline()}else{this.debugShowOutline()}};WordTile.prototype.debugRemoveOutline=function(){if(this.outlineRect){this.map.removeOverlay(this.outlineRect);this.outlineRect=null}};WordTile.prototype.debugShowOutline=function(){if(this.outlineRect){return}this.outlineRect=drawRect(this.lat,this.lon,this.lat+this.tileSize,this.lon+this.tileSize)};WordTile.prototype.toS=function(){return this.lat+","+this.lon+","+this.tileSize};WordTile.prototype.initialiseWordBounds=function(a,b){if(this.bounds[a]==undefined){this.bounds[a]={}}if(this.bounds[a][b]==undefined){this.bounds[a][b]=[]}};WordTile.prototype.getWordOffsetPlaced=function(E,t){var F,D,B,a;var h=E.lat;var f=E.lon;this.initialiseWordBounds(h,f);var p=this.bounds[h][f];var e=this.map.fromLatLngToDivPixel(new GLatLng(h+WORD_RESOLUTION,f));var G=this.map.fromLatLngToDivPixel(new GLatLng(h,f+WORD_RESOLUTION));var d=t.width()+2*WORD_MARGIN;var r=t.height()+2*WORD_MARGIN;var g=[e.x,e.y,G.x,G.y];if(p.length===0){var q=g[0]+(g[2]-g[0]-d)/2;var o=g[1]+(g[3]-g[1]-r)/2;F=[q,o,q+d,o+r];a=false;D=0;B=0}else{var A=0;a=true;for(var C=0;C<p.length;C++){var l=p[C];var u=[[l[0],l[1]],[l[2],l[1]],[l[0],l[3]],[l[2],l[3]]];for(var w=0;w<u.length;w++){var c=u[(w+C)%u.length][0];var n=u[(w+C)%u.length][1];var m=[[c+1,n-r-1,c+d+1,n-1],[c-d-1,n-r-1,c-1,n-1],[c-d-1,n+1,c-1,n+r+1],[c+1,n+1,c+d+1,n+r+1]];for(var v=0;v<m.length;v++){F=m[v];a=testOverlap(p,F);if(!a){break}}if(!a){break}}if(!a){break}}D=Math.floor(this.rng.nextFloat()*RANDOM_OFFSET)-RANDOM_OFFSET/2;B=Math.floor(this.rng.nextFloat()*RANDOM_OFFSET)-RANDOM_OFFSET/2}p[p.length]=F;return[a,F[0]+D,F[1]+B]};