/*
 * jQuery Color Animations
 * Copyright 2007 John Resig
 * Released under the MIT and GPL licenses.
 */

(function(jQuery){

    // We override the animation for all of these color styles
    jQuery.each(['backgroundColor', 'borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor', 'color', 'outlineColor'], function(i,attr){
        jQuery.fx.step[attr] = function(fx){
            if ( fx.state == 0 ) {
                fx.start = getColor( fx.elem, attr );
                fx.end = getRGB( fx.end );
            }

            fx.elem.style[attr] = "rgb(" + [
                Math.max(Math.min( parseInt((fx.pos * (fx.end[0] - fx.start[0])) + fx.start[0]), 255), 0),
                Math.max(Math.min( parseInt((fx.pos * (fx.end[1] - fx.start[1])) + fx.start[1]), 255), 0),
                Math.max(Math.min( parseInt((fx.pos * (fx.end[2] - fx.start[2])) + fx.start[2]), 255), 0)
            ].join(",") + ")";
        }
    });

    // Color Conversion functions from highlightFade
    // By Blair Mitchelmore
    // http://jquery.offput.ca/highlightFade/

    // Parse strings looking for color tuples [255,255,255]
    function getRGB(color) {
        var result;

        // Check if we're already dealing with an array of colors
        if ( color && color.constructor == Array && color.length == 3 )
            return color;

        // Look for rgb(num,num,num)
        if (result = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
            return [parseInt(result[1]), parseInt(result[2]), parseInt(result[3])];

        // Look for rgb(num%,num%,num%)
        if (result = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
            return [parseFloat(result[1])*2.55, parseFloat(result[2])*2.55, parseFloat(result[3])*2.55];

        // Look for #a0b1c2
        if (result = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
            return [parseInt(result[1],16), parseInt(result[2],16), parseInt(result[3],16)];

        // Look for #fff
        if (result = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
            return [parseInt(result[1]+result[1],16), parseInt(result[2]+result[2],16), parseInt(result[3]+result[3],16)];

        // Look for rgba(0, 0, 0, 0) == transparent in Safari 3
        if (result = /rgba\(0, 0, 0, 0\)/.exec(color))
            return colors['transparent'];

        // Otherwise, we're most likely dealing with a named color
        return colors[jQuery.trim(color).toLowerCase()];
    }

    function getColor(elem, attr) {
        var color;

        do {
            color = jQuery.curCSS(elem, attr);

            // Keep going until we find an element that has color, or we hit the body
            if ( color != '' && color != 'transparent' || jQuery.nodeName(elem, "body") )
                break;

            attr = "backgroundColor";
        } while ( elem = elem.parentNode );

        return getRGB(color);
    };

    // Some named colors to work with
    // From Interface by Stefan Petre
    // http://interface.eyecon.ro/

    var colors = {
        aqua:[0,255,255],
        azure:[240,255,255],
        beige:[245,245,220],
        black:[0,0,0],
        blue:[0,0,255],
        brown:[165,42,42],
        cyan:[0,255,255],
        darkblue:[0,0,139],
        darkcyan:[0,139,139],
        darkgrey:[169,169,169],
        darkgreen:[0,100,0],
        darkkhaki:[189,183,107],
        darkmagenta:[139,0,139],
        darkolivegreen:[85,107,47],
        darkorange:[255,140,0],
        darkorchid:[153,50,204],
        darkred:[139,0,0],
        darksalmon:[233,150,122],
        darkviolet:[148,0,211],
        fuchsia:[255,0,255],
        gold:[255,215,0],
        green:[0,128,0],
        indigo:[75,0,130],
        khaki:[240,230,140],
        lightblue:[173,216,230],
        lightcyan:[224,255,255],
        lightgreen:[144,238,144],
        lightgrey:[211,211,211],
        lightpink:[255,182,193],
        lightyellow:[255,255,224],
        lime:[0,255,0],
        magenta:[255,0,255],
        maroon:[128,0,0],
        navy:[0,0,128],
        olive:[128,128,0],
        orange:[255,165,0],
        pink:[255,192,203],
        purple:[128,0,128],
        violet:[128,0,128],
        red:[255,0,0],
        silver:[192,192,192],
        white:[255,255,255],
        yellow:[255,255,0],
        transparent: [255,255,255]
    };

})(jQuery);



/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version 1.09i
 */
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E<B;++E){D=C[E].split("=",2).reverse();G.stops.push([D[1]||E/(B-1),D[0]])}return G}),quotedList:j(function(E){var D=[],C=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,B;while(B=C.exec(E)){D.push(B[3]||B[1])}return D}),recognizesMedia:j(function(G){var E=document.createElement("style"),D,C,B;E.type="text/css";E.media=G;try{E.appendChild(document.createTextNode("/**/"))}catch(F){}C=g("head")[0];C.insertBefore(E,C.firstChild);D=(E.sheet||E.styleSheet);B=D&&!D.disabled;C.removeChild(E);return B}),removeClass:function(D,C){var B=RegExp("(?:^|\\s+)"+C+"(?=\\s|$)","g");D.className=D.className.replace(B,"");return D},supports:function(D,C){var B=document.createElement("span").style;if(B[D]===undefined){return false}B[D]=C;return B[D]===C},textAlign:function(E,D,B,C){if(D.get("textAlign")=="right"){if(B>0){E=" "+E}}else{if(B<C-1){E+=" "}}return E},textShadow:j(function(F){if(F=="none"){return null}var E=[],G={},B,C=0;var D=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(B=D.exec(F)){if(B[0]==","){E.push(G);G={};C=0}else{if(B[1]){G.color=B[1]}else{G[["offX","offY","blur"][C++]]=B[2]}}}E.push(G);return E}),textTransform:(function(){var B={uppercase:function(C){return C.toUpperCase()},lowercase:function(C){return C.toLowerCase()},capitalize:function(C){return C.replace(/\b./g,function(D){return D.toUpperCase()})}};return function(E,D){var C=B[D.get("textTransform")];return C?C(E):E}})(),whiteSpace:(function(){var D={inline:1,"inline-block":1,"run-in":1};var C=/^\s+/,B=/\s+$/;return function(H,F,G,E){if(E){if(E.nodeName.toLowerCase()=="br"){H=H.replace(C,"")}}if(D[F.get("display")]){return H}if(!G.previousSibling){H=H.replace(C,"")}if(!G.nextSibling){H=H.replace(B,"")}return H}})()};n.ready=(function(){var B=!n.recognizesMedia("all"),E=false;var D=[],H=function(){B=true;for(var K;K=D.shift();K()){}};var I=g("link"),J=g("style");function C(K){return K.disabled||G(K.sheet,K.media||"screen")}function G(M,P){if(!n.recognizesMedia(P||"all")){return true}if(!M||M.disabled){return false}try{var Q=M.cssRules,O;if(Q){search:for(var L=0,K=Q.length;O=Q[L],L<K;++L){switch(O.type){case 2:break;case 3:if(!G(O.styleSheet,O.media.mediaText)){return false}break;default:break search}}}}catch(N){}return true}function F(){if(document.createStyleSheet){return true}var L,K;for(K=0;L=I[K];++K){if(L.rel.toLowerCase()=="stylesheet"&&!C(L)){return false}}for(K=0;L=J[K];++K){if(!C(L)){return false}}return true}x.ready(function(){if(!E){E=n.getStyle(document.body).isUsable()}if(B||(E&&F())){H()}else{setTimeout(arguments.callee,10)}});return function(K){if(B){K()}else{D.push(K)}}})();function s(D){var C=this.face=D.face,B={"\u0020":1,"\u00a0":1,"\u3000":1};this.glyphs=D.glyphs;this.w=D.w;this.baseSize=parseInt(C["units-per-em"],10);this.family=C["font-family"].toLowerCase();this.weight=C["font-weight"];this.style=C["font-style"]||"normal";this.viewBox=(function(){var F=C.bbox.split(/\s+/);var E={minX:parseInt(F[0],10),minY:parseInt(F[1],10),maxX:parseInt(F[2],10),maxY:parseInt(F[3],10)};E.width=E.maxX-E.minX;E.height=E.maxY-E.minY;E.toString=function(){return[this.minX,this.minY,this.width,this.height].join(" ")};return E})();this.ascent=-parseInt(C.ascent,10);this.descent=-parseInt(C.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(L,N,E){var O=this.glyphs,M,K,G,P=[],F=0,J=-1,I=-1,H;while(H=L[++J]){M=O[H]||this.missingGlyph;if(!M){continue}if(K){F-=G=K[H]||0;P[I]-=G}F+=P[++I]=~~(M.w||this.w)+N+(B[H]?E:0);K=M.k}P.total=F;return P}}function f(){var C={},B={oblique:"italic",italic:"oblique"};this.add=function(D){(C[D.style]||(C[D.style]={}))[D.weight]=D};this.get=function(H,I){var G=C[H]||C[B[H]]||C.normal||C.italic||C.oblique;if(!G){return null}I={normal:400,bold:700}[I]||parseInt(I,10);if(G[I]){return G[I]}var E={1:1,99:0}[I%100],K=[],F,D;if(E===undefined){E=I>400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||J<F){F=J}if(!D||J>D){D=J}K.push(J)}if(I<F){I=F}if(I>D){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?M<L:M>L:(M<=I&&L<=I)?M>L:M<L)?-1:1});return G[K[0]]}}function r(){function D(F,G){if(F.contains){return F.contains(G)}return F.compareDocumentPosition(G)&16}function B(G){var F=G.relatedTarget;if(!F||D(this,F)){return}C(this,G.type=="mouseover")}function E(F){C(this,F.type=="mouseenter")}function C(F,G){setTimeout(function(){var H=d.get(F).options;m.replace(F,G?h(H,H.hover):H,true)},10)}this.attach=function(F){if(F.onmouseenter===undefined){q(F,"mouseover",B);q(F,"mouseout",B)}else{q(F,"mouseenter",E);q(F,"mouseleave",E)}}}function u(){var C=[],D={};function B(H){var E=[],G;for(var F=0;G=H[F];++F){E[F]=C[D[G]]}return E}this.add=function(F,E){D[F]=C.push(E)-1};this.repeat=function(){var E=arguments.length?B(arguments):C,F;for(var G=0;F=E[G++];){m.replace(F[0],F[1],true)}}}function A(){var D={},B=0;function C(E){return E.cufid||(E.cufid=++B)}this.get=function(E){var F=C(E);return D[F]||(D[F]={})}}function a(B){var D={},C={};this.extend=function(E){for(var F in E){if(k(E,F)){D[F]=E[F]}}return this};this.get=function(E){return D[E]!=undefined?D[E]:B[E]};this.getSize=function(F,E){return C[F]||(C[F]=new n.Size(this.get(F),E))};this.isUsable=function(){return !!B}}function q(C,B,D){if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}}function v(C,B){var D=d.get(C);if(D.options){return C}if(B.hover&&B.hoverables[C.nodeName.toLowerCase()]){b.attach(C)}D.options=B;return C}function j(B){var C={};return function(D){if(!k(C,D)){C[D]=B.apply(null,arguments)}return C[D]}}function c(F,E){var B=n.quotedList(E.get("fontFamily").toLowerCase()),D;for(var C=0;D=B[C];++C){if(i[D]){return i[D].get(E.get("fontStyle"),E.get("fontWeight"))}}return null}function g(B){return document.getElementsByTagName(B)}function k(C,B){return C.hasOwnProperty(B)}function h(){var C={},B,F;for(var E=0,D=arguments.length;B=arguments[E],E<D;++E){for(F in B){if(k(B,F)){C[F]=B[F]}}}return C}function o(E,M,C,N,F,D){var K=document.createDocumentFragment(),H;if(M===""){return K}var L=N.separate;var I=M.split(p[L]),B=(L=="words");if(B&&t){if(/^\s/.test(M)){I.unshift("")}if(/\s$/.test(M)){I.push("")}}for(var J=0,G=I.length;J<G;++J){H=z[N.engine](E,B?n.textAlign(I[J],C,J,G):I[J],C,N,F,D,J<G-1);if(H){K.appendChild(H)}}return K}function l(D,M){var C=D.nodeName.toLowerCase();if(M.ignore[C]){return}var E=!M.textless[C];var B=n.getStyle(v(D,M)).extend(M);var F=c(D,B),G,K,I,H,L,J;if(!F){return}for(G=D.firstChild;G;G=I){K=G.nodeType;I=G.nextSibling;if(E&&K==3){if(H){H.appendData(G.data);D.removeChild(G)}else{H=G}if(I){continue}}if(H){D.replaceChild(o(F,n.whiteSpace(H.data,B,H,J),B,M,G,D),H);H=null}if(K==1){if(G.firstChild){if(G.nodeName.toLowerCase()=="cufon"){z[M.engine](F,null,B,M,G,D)}else{arguments.callee(G,M)}}J=G}}}var t=" ".split(/\s+/).length==0;var d=new A();var b=new r();var y=new u();var e=false;var z={},i={},w={autoDetect:false,engine:null,forceHitArea:false,hover:false,hoverables:{a:true},ignore:{applet:1,canvas:1,col:1,colgroup:1,head:1,iframe:1,map:1,optgroup:1,option:1,script:1,select:1,style:1,textarea:1,title:1,pre:1},printable:true,selector:(window.Sizzle||(window.jQuery&&function(B){return jQuery(B)})||(window.dojo&&dojo.query)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(B){return $$(B)})||(window.$&&function(B){return $(B)})||(document.querySelectorAll&&function(B){return document.querySelectorAll(B)})||g),separate:"words",textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:"none"};var p={words:/\s/.test("\u00a0")?/[^\S\u00a0]+/:/\s+/,characters:"",none:/^/};m.now=function(){x.ready();return m};m.refresh=function(){y.repeat.apply(y,arguments);return m};m.registerEngine=function(C,B){if(!B){return m}z[C]=B;return m.set("engine",C)};m.registerFont=function(D){if(!D){return m}var B=new s(D),C=B.family;if(!i[C]){i[C]=new f()}i[C].add(B);return m.set("fontFamily",'"'+C+'"')};m.replace=function(D,C,B){C=h(w,C);if(!C.engine){return m}if(!e){n.addClass(x.root(),"cufon-active cufon-loading");n.ready(function(){n.addClass(n.removeClass(x.root(),"cufon-loading"),"cufon-ready")});e=true}if(C.hover){C.forceHitArea=true}if(C.autoDetect){delete C.fontFamily}if(typeof C.textShadow=="string"){C.textShadow=n.textShadow(C.textShadow)}if(typeof C.color=="string"&&/^-/.test(C.color)){C.textGradient=n.gradient(C.color)}else{delete C.textGradient}if(!B){y.add(D,arguments)}if(D.nodeType||typeof D=="string"){D=[D]}n.ready(function(){for(var F=0,E=D.length;F<E;++F){var G=D[F];if(typeof G=="string"){m.replace(C.selector(G),C,true)}else{l(G,C)}}});return m};m.set=function(B,C){w[B]=C;return m};return m})();Cufon.registerEngine("vml",(function(){var e=document.namespaces;if(!e){return}e.add("cvml","urn:schemas-microsoft-com:vml");e=null;var b=document.createElement("cvml:shape");b.style.behavior="url(#default#VML)";if(!b.coordsize){return}b=null;var h=(document.documentMode||0)<8;document.write(('<style type="text/css">cufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}</style>").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;m<l;++m){i.push(n[m][0]*100+"% "+n[m][1])}o.colors=i.join(",");o.color2=n[l][1];g[q]=o}return g[q]}return function(ac,G,Y,C,K,ad,W){var n=(G===null);if(n){G=K.alt}var I=ac.viewBox;var p=Y.computedFontSize||(Y.computedFontSize=new Cufon.CSS.Size(c(ad,Y.get("fontSize"))+"px",ac.baseSize));var y,q;if(n){y=K;q=K.firstChild}else{y=document.createElement("cufon");y.className="cufon cufon-vml";y.alt=G;q=document.createElement("cufoncanvas");y.appendChild(q);if(C.printable){var Z=document.createElement("cufontext");Z.appendChild(document.createTextNode(G));y.appendChild(Z)}if(!W){y.appendChild(document.createElement("cvml:shape"))}}var ai=y.style;var R=q.style;var l=p.convert(I.height),af=Math.ceil(l);var V=af/l;var P=V*Cufon.CSS.fontStretch(Y.get("fontStretch"));var U=I.minX,T=I.minY;R.height=af;R.top=Math.round(p.convert(T-ac.ascent));R.left=Math.round(p.convert(U));ai.height=p.convert(ac.height)+"px";var F=Y.get("color");var ag=Cufon.CSS.textTransform(G,Y).split("");var L=ac.spacing(ag,f(ad,Y,p,"letterSpacing"),f(ad,Y,p,"wordSpacing"));if(!L.length){return null}var k=L.total;var x=-U+k+(I.width-L[L.length-1]);var ah=p.convert(x*P),X=Math.round(ah);var O=x+","+I.height,m;var J="r"+O+"ns";var u=C.textGradient&&d(C.textGradient);var o=ac.glyphs,S=0;var H=C.textShadow;var ab=-1,aa=0,w;while(w=ag[++ab]){var D=o[ag[ab]]||ac.missingGlyph,v;if(!D){continue}if(n){v=q.childNodes[aa];while(v.firstChild){v.removeChild(v.firstChild)}}else{v=document.createElement("cvml:shape");q.appendChild(v)}v.stroked="f";v.coordsize=O;v.coordorigin=m=(U-S)+","+T;v.path=(D.d?"m"+D.d+"xe":"")+"m"+m+J;v.fillcolor=F;if(u){v.appendChild(u.cloneNode(false))}var ae=v.style;ae.width=X;ae.height=af;if(H){var s=H[0],r=H[1];var B=Cufon.CSS.color(s.color),z;var N=document.createElement("cvml:shadow");N.on="t";N.color=B.color;N.offset=s.offX+","+s.offY;if(r){z=Cufon.CSS.color(r.color);N.type="double";N.color2=z.color;N.offset2=r.offX+","+r.offY}N.opacity=B.opacity||(z&&z.opacity)||1;v.appendChild(N)}S+=L[aa++]}var M=v.nextSibling,t,A;if(C.forceHitArea){if(!M){M=document.createElement("cvml:rect");M.stroked="f";M.className="cufon-vml-cover";t=document.createElement("cvml:fill");t.opacity=0;M.appendChild(t);q.appendChild(M)}A=M.style;A.width=X;A.height=af}else{if(M){q.removeChild(M)}}ai.width=Math.max(Math.ceil(p.convert(k*P)),0);if(h){var Q=Y.computedYAdjust;if(Q===undefined){var E=Y.get("lineHeight");if(E=="normal"){E="1em"}else{if(!isNaN(E)){E+="em"}}Y.computedYAdjust=Q=0.5*(a(ad,E)-parseFloat(ai.height))}if(Q){ai.marginTop=Math.ceil(Q)+"px";ai.marginBottom=Q+"px"}}return y}})());Cufon.registerEngine("canvas",(function(){var b=document.createElement("canvas");if(!b||!b.getContext||!b.getContext.apply){return}b=null;var a=Cufon.CSS.supports("display","inline-block");var e=!a&&(document.compatMode=="BackCompat"||/frameset|transitional/i.test(document.doctype.publicId));var f=document.createElement("style");f.type="text/css";f.appendChild(document.createTextNode(("cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;"+(e?"":"font-size:1px;line-height:1px;")+"}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;text-indent:-10000in;}"+(a?"cufon canvas{position:relative;}":"cufon canvas{position:absolute;}")+"}@media print{cufon{padding:0;}cufon canvas{display:none;}}").replace(/;/g,"!important;")));document.getElementsByTagName("head")[0].appendChild(f);function d(p,h){var n=0,m=0;var g=[],o=/([mrvxe])([^a-z]*)/g,k;generate:for(var j=0;k=o.exec(p);++j){var l=k[2].split(",");switch(k[1]){case"v":g[j]={m:"bezierCurveTo",a:[n+~~l[0],m+~~l[1],n+~~l[2],m+~~l[3],n+=~~l[4],m+=~~l[5]]};break;case"r":g[j]={m:"lineTo",a:[n+=~~l[0],m+=~~l[1]]};break;case"m":g[j]={m:"moveTo",a:[n=~~l[0],m=~~l[1]]};break;case"x":g[j]={m:"closePath"};break;case"e":break generate}h[g[j].m].apply(h,g[j].a)}return g}function c(m,k){for(var j=0,h=m.length;j<h;++j){var g=m[j];k[g.m].apply(k,g.a)}}return function(V,w,P,t,C,W){var k=(w===null);if(k){w=C.getAttribute("alt")}var A=V.viewBox;var m=P.getSize("fontSize",V.baseSize);var B=0,O=0,N=0,u=0;var z=t.textShadow,L=[];if(z){for(var U=z.length;U--;){var F=z[U];var K=m.convertFrom(parseFloat(F.offX));var I=m.convertFrom(parseFloat(F.offY));L[U]=[K,I];if(I<B){B=I}if(K>O){O=K}if(I>N){N=I}if(K<u){u=K}}}var Z=Cufon.CSS.textTransform(w,P).split("");var E=V.spacing(Z,~~m.convertFrom(parseFloat(P.get("letterSpacing"))||0),~~m.convertFrom(parseFloat(P.get("wordSpacing"))||0));if(!E.length){return null}var h=E.total;O+=A.width-E[E.length-1];u+=A.minX;var s,n;if(k){s=C;n=C.firstChild}else{s=document.createElement("cufon");s.className="cufon cufon-canvas";s.setAttribute("alt",w);n=document.createElement("canvas");s.appendChild(n);if(t.printable){var S=document.createElement("cufontext");S.appendChild(document.createTextNode(w));s.appendChild(S)}}var aa=s.style;var H=n.style;var j=m.convert(A.height);var Y=Math.ceil(j);var M=Y/j;var G=M*Cufon.CSS.fontStretch(P.get("fontStretch"));var J=h*G;var Q=Math.ceil(m.convert(J+O-u));var o=Math.ceil(m.convert(A.height-B+N));n.width=Q;n.height=o;H.width=Q+"px";H.height=o+"px";B+=A.minY;H.top=Math.round(m.convert(B-V.ascent))+"px";H.left=Math.round(m.convert(u))+"px";var r=Math.max(Math.ceil(m.convert(J)),0)+"px";if(a){aa.width=r;aa.height=m.convert(V.height)+"px"}else{aa.paddingLeft=r;aa.paddingBottom=(m.convert(V.height)-1)+"px"}var X=n.getContext("2d"),D=j/A.height;X.scale(D,D*M);X.translate(-u,-B);X.save();function T(){var x=V.glyphs,ab,l=-1,g=-1,y;X.scale(G,1);while(y=Z[++l]){var ab=x[Z[l]]||V.missingGlyph;if(!ab){continue}if(ab.d){X.beginPath();if(ab.code){c(ab.code,X)}else{ab.code=d("m"+ab.d,X)}X.fill()}X.translate(E[++g],0)}X.restore()}if(z){for(var U=z.length;U--;){var F=z[U];X.save();X.fillStyle=F.color;X.translate.apply(X,L[U]);T()}}var q=t.textGradient;if(q){var v=q.stops,p=X.createLinearGradient(0,A.minY,0,A.maxY);for(var U=0,R=v.length;U<R;++U){p.addColorStop.apply(p,v[U])}X.fillStyle=p}else{X.fillStyle=P.get("color")}T();return s}})());

/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Copyright:
 * 1993, Tobias Frere-Jones. Designed by Tobias Frere-Jones. Produced by The Font
 * Bureau, Inc.
 */
Cufon.registerFont({"w":167,"face":{"font-family":"InterstateBoldCondensed","font-weight":700,"font-stretch":"condensed","units-per-em":"360","panose-1":"2 0 8 6 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"4","bbox":"-18 -326 300 69","underline-thickness":"7.2","underline-position":"-47.88","stemh":"38","stemv":"42","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":82},"$":{"d":"159,-70v0,34,-18,58,-50,67r0,32r-46,0r0,-31v-23,-6,-40,-20,-54,-37r30,-31v15,20,32,29,47,29v19,0,28,-11,28,-28v0,-14,-10,-24,-39,-39v-37,-19,-60,-37,-60,-78v0,-31,18,-55,48,-63r0,-32r46,0r0,32v19,5,32,16,45,33r-29,28v-15,-17,-22,-23,-40,-23v-14,0,-24,9,-24,22v0,15,8,24,36,38v44,23,62,39,62,81","w":169},"%":{"d":"88,-177v0,-30,-5,-47,-21,-47v-16,0,-21,16,-21,46v0,30,5,47,21,47v16,0,21,-19,21,-46xm264,-74v0,-30,-5,-46,-21,-46v-16,0,-21,15,-21,45v0,30,5,47,21,47v16,0,21,-19,21,-46xm125,-178v0,48,-21,79,-58,79v-37,0,-57,-30,-57,-78v0,-49,19,-79,57,-79v39,0,58,30,58,78xm108,0r-36,0r129,-252r37,0xm300,-75v0,48,-21,79,-58,79v-37,0,-57,-30,-57,-78v0,-49,20,-79,58,-79v39,0,57,30,57,78","w":309},"&":{"d":"74,-103v-15,13,-20,25,-20,38v-2,31,39,36,55,15xm144,0r-13,-18v-38,43,-119,20,-119,-46v0,-29,12,-50,40,-70v-11,-18,-26,-38,-26,-62v0,-67,88,-74,128,-39r-20,37v-18,-15,-59,-28,-63,3v8,41,42,69,60,103v4,-11,6,-22,9,-35r34,15v-4,22,-10,41,-18,58r36,54r-48,0","w":195},"\u2019":{"d":"51,-161r-29,0r5,-91r50,0","w":93},"(":{"d":"80,40v-35,-34,-64,-85,-64,-148v0,-66,28,-114,64,-150r25,19v-56,57,-54,204,0,260","w":117},")":{"d":"101,-110v0,65,-27,114,-64,150r-25,-19v56,-57,54,-204,0,-260r25,-19v35,34,64,85,64,148","w":117},"*":{"d":"132,-130r-39,-27r3,48r-34,0r3,-48r-39,26r-17,-29r46,-21r-46,-21r17,-29r39,27r-3,-48r34,0r-3,47r39,-26r17,29r-46,21r46,21","w":158},"+":{"d":"114,-103r0,64r-43,0r0,-64r-58,0r0,-41r58,0r0,-64r43,0r0,64r58,0r0,41r-58,0","w":184},",":{"d":"47,40r-29,0r4,-93r52,0","w":88},"-":{"d":"16,-109r0,-44r92,0r0,44r-92,0","w":124},".":{"d":"74,-26v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30","w":88},"\/":{"d":"46,32r-45,0r99,-316r45,0","w":145},"0":{"d":"129,-126v0,-57,-11,-86,-35,-86v-24,0,-34,29,-34,86v0,57,11,86,35,86v24,0,34,-29,34,-86xm175,-126v0,73,-22,130,-81,130v-59,0,-80,-58,-80,-130v0,-73,22,-130,81,-130v58,0,80,58,80,130","w":190},"1":{"d":"42,0r0,-188r-34,0r0,-28v25,-3,36,-17,41,-36r38,0r0,252r-45,0","w":113},"2":{"d":"160,-188v0,69,-97,91,-93,144r94,0r0,44r-145,0v3,-77,24,-112,74,-143v30,-19,34,-66,-5,-68v-16,0,-28,9,-40,23r-28,-33v32,-54,143,-46,143,33","w":187},"3":{"d":"122,-135v70,20,46,139,-38,139v-34,0,-58,-14,-78,-46r36,-25v19,38,77,37,77,-8v0,-32,-26,-38,-58,-36r0,-43v28,2,51,-3,51,-28v0,-35,-48,-38,-66,-11r-31,-30v32,-53,142,-41,142,36v0,29,-14,44,-35,52","w":182},"4":{"d":"108,-193v-14,31,-36,74,-54,103r53,0xm149,-51r0,51r-42,0r0,-51r-99,0r0,-36r93,-165r48,0r0,162r26,0r0,39r-26,0","w":183},"5":{"d":"165,-85v0,90,-103,113,-155,62r25,-35v30,28,84,25,84,-24v0,-44,-38,-46,-61,-24r-37,-17r6,-129r125,0r0,44r-85,0r-3,55v45,-26,101,0,101,68","w":178},"6":{"d":"127,-81v0,-23,-11,-41,-33,-41v-24,0,-36,19,-36,40v0,24,9,44,36,44v22,0,33,-20,33,-43xm171,-84v0,57,-32,88,-79,88v-44,0,-78,-30,-78,-102v0,-86,38,-151,128,-158r0,45v-52,3,-74,35,-83,67v42,-41,112,-15,112,60","w":184},"7":{"d":"152,-207v-41,54,-59,118,-59,207r-44,0v0,-85,18,-153,56,-210r-95,0r0,-42r142,0r0,45","w":165},"8":{"d":"129,-75v0,-23,-13,-38,-36,-38v-23,0,-35,15,-35,38v0,22,12,38,35,38v23,0,36,-16,36,-38xm121,-184v0,-17,-7,-31,-28,-31v-21,0,-28,14,-28,31v0,17,10,31,28,31v18,0,28,-14,28,-31xm172,-75v0,45,-26,79,-79,79v-86,0,-103,-115,-43,-140v-47,-27,-26,-129,43,-120v68,-8,91,92,43,120v20,9,36,28,36,61","w":186},"9":{"d":"126,-170v0,-24,-9,-44,-36,-44v-22,0,-32,20,-32,43v0,23,10,41,32,41v24,0,36,-19,36,-40xm170,-154v0,86,-38,151,-128,158r0,-45v52,-3,74,-35,83,-67v-41,41,-111,15,-111,-60v0,-57,32,-88,79,-88v44,0,77,30,77,102","w":184},":":{"d":"74,-26v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30xm74,-163v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30","w":88},";":{"d":"45,40r-30,0r5,-93r52,0xm74,-163v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30","w":88},"<":{"d":"15,-107r0,-34r112,-97r0,58r-68,56r68,56r0,58","w":147},"=":{"d":"22,-59r0,-45r145,0r0,45r-145,0xm22,-143r0,-45r145,0r0,45r-145,0","w":188},">":{"d":"21,-10r0,-57r68,-56r-68,-57r0,-58r111,97r0,34","w":147},"?":{"d":"102,-25v0,16,-14,29,-30,29v-16,0,-29,-13,-29,-29v0,-16,13,-29,29,-29v16,0,30,13,30,29xm149,-190v0,55,-58,57,-55,114r-43,0v0,-39,9,-58,39,-81v21,-16,23,-56,-15,-55v-15,0,-29,10,-42,26r-30,-29v28,-56,146,-60,146,25","w":159},"@":{"d":"132,-118v-10,-14,-45,-15,-41,12v-4,31,34,34,41,8r0,-20xm215,-130v0,64,-44,98,-72,56v-24,34,-80,26,-80,-31v0,-44,37,-57,69,-42v7,-34,-27,-39,-48,-21r-11,-22v32,-26,90,-17,87,32v4,27,-11,76,13,82v14,0,21,-15,21,-54v0,-67,-34,-105,-80,-105v-48,0,-78,43,-78,108v0,81,49,131,116,101r7,17v-77,42,-146,-20,-145,-117v0,-79,42,-130,100,-130v59,0,101,50,101,126","w":228},"A":{"d":"115,-95r-19,-91v-3,22,-11,66,-18,91r37,0xm136,0r-11,-53r-57,0r-12,53r-46,0r65,-252r43,0r65,252r-47,0","w":192},"B":{"d":"128,-77v0,-35,-25,-40,-61,-38r0,74v35,3,61,-5,61,-36xm122,-183v3,-27,-26,-30,-55,-28r0,55v28,3,59,-3,55,-27xm172,-78v0,78,-70,82,-149,78r0,-252v72,-4,146,-1,143,67v0,22,-11,41,-31,50v20,8,37,26,37,57","w":184},"C":{"d":"168,-60v-12,42,-33,64,-72,64v-56,0,-82,-58,-82,-130v0,-73,27,-130,83,-130v43,0,61,28,71,64r-42,13v-7,-23,-13,-32,-30,-32v-24,0,-36,31,-36,85v0,83,46,118,70,49","w":180},"D":{"d":"130,-126v0,-51,-11,-87,-62,-82r0,164v51,5,62,-31,62,-82xm176,-126v0,115,-53,133,-153,126r0,-252v101,-7,153,11,153,126","w":190},"E":{"d":"23,0r0,-252r130,0r0,43r-85,0r0,53r57,0r0,43r-57,0r0,70r88,0r0,43r-133,0","w":171},"F":{"d":"68,-208r0,55r59,0r0,44r-59,0r0,109r-45,0r0,-252r133,0r0,44r-88,0"},"G":{"d":"178,-134v5,77,-11,138,-80,138v-59,0,-84,-58,-84,-130v0,-73,26,-130,85,-130v39,0,65,20,76,64r-42,13v-7,-24,-18,-32,-35,-32v-27,0,-38,31,-38,85v0,54,12,85,39,85v27,0,35,-14,35,-51r-36,0r0,-42r80,0","w":193},"H":{"d":"126,0r0,-109r-58,0r0,109r-45,0r0,-252r45,0r0,99r58,0r0,-99r45,0r0,252r-45,0","w":194},"I":{"d":"25,0r0,-252r45,0r0,252r-45,0","w":95},"J":{"d":"150,-252v-6,100,30,256,-73,256v-41,0,-66,-27,-71,-75r43,-13v3,26,10,43,29,43v19,0,27,-13,27,-55r0,-156r45,0","w":172},"K":{"d":"132,0r-41,-108r-23,40r0,68r-45,0r0,-252r45,0r0,113v17,-37,40,-77,59,-113r48,0r-54,94r61,158r-50,0","w":188},"L":{"d":"23,0r0,-252r45,0r0,208r79,0r0,44r-124,0","w":159},"M":{"d":"166,0r1,-158r-52,164r-52,-164r1,158r-41,0r0,-252r46,0r47,150v11,-44,32,-105,46,-150r45,0r0,252r-41,0","w":230},"N":{"d":"129,0r-65,-163r0,163r-41,0r0,-252r46,0r64,163r-2,-163r41,0r0,252r-43,0","w":195},"O":{"d":"136,-126v0,-54,-11,-85,-38,-85v-27,0,-38,31,-38,85v0,54,12,85,39,85v27,0,37,-31,37,-85xm182,-126v0,73,-25,130,-84,130v-59,0,-84,-58,-84,-130v0,-73,26,-130,85,-130v58,0,83,58,83,130","w":196},"P":{"d":"126,-171v0,-30,-23,-41,-58,-37r0,74v34,3,58,-4,58,-37xm171,-172v-2,62,-44,87,-103,82r0,90r-45,0r0,-252v80,-4,150,-1,148,80","w":179},"Q":{"d":"129,-64v12,-36,12,-158,-31,-147v-27,0,-38,31,-38,85v1,54,12,92,43,87r-18,-29r31,-19xm99,-256v93,0,103,172,54,231r17,29r-30,19r-15,-25v-73,26,-111,-42,-111,-124v0,-73,26,-130,85,-130","w":196},"R":{"d":"126,-173v0,-31,-24,-38,-58,-35r0,70v33,2,58,-3,58,-35xm122,0r-39,-96r-15,0r0,96r-45,0r0,-252v79,-4,148,-1,148,78v0,36,-19,57,-43,69r43,105r-49,0","w":183},"S":{"d":"159,-68v0,42,-28,72,-75,72v-34,0,-58,-18,-75,-40r30,-32v15,20,32,28,47,28v19,0,28,-10,28,-27v0,-14,-10,-26,-39,-41v-37,-19,-60,-38,-60,-80v0,-38,29,-68,71,-68v32,0,50,13,68,36r-29,30v-15,-17,-22,-22,-40,-22v-39,8,-27,44,12,61v45,20,62,41,62,83","w":169},"T":{"d":"106,-209r0,209r-45,0r0,-209r-52,0r0,-43r149,0r0,43r-52,0"},"U":{"d":"172,-252v-6,101,29,256,-75,256v-104,0,-69,-155,-75,-256r45,0r0,152v0,44,10,59,31,59v21,0,29,-15,29,-59r0,-152r45,0","w":194},"V":{"d":"114,0r-43,0r-61,-252r46,0r37,186v8,-58,25,-128,36,-186r46,0","w":184},"W":{"d":"189,0r-39,0r-32,-169r-32,169r-38,0r-41,-252r43,0r20,165r30,-165r37,0r31,165r20,-165r42,0","w":237},"X":{"d":"129,0r-36,-86r-36,86r-49,0r60,-129r-57,-123r49,0r33,79r32,-79r49,0r-57,122r60,130r-48,0","w":185},"Y":{"d":"116,-95r0,95r-45,0r0,-94r-65,-158r50,0r38,110v7,-28,26,-79,38,-110r49,0","w":187},"Z":{"d":"13,0r0,-40r91,-172r-85,1r0,-41r132,0r0,40r-91,172r91,-1r0,41r-138,0","w":168},"[":{"d":"27,40r0,-292r85,0r0,36r-41,0r0,220r41,0r0,36r-85,0","w":131},"\\":{"d":"100,32r-99,-316r45,0r99,316r-45,0","w":145},"]":{"d":"19,40r0,-36r41,0r0,-220r-41,0r0,-36r85,0r0,292r-85,0","w":131},"^":{"d":"112,-138r-29,-70r-29,70r-43,0r51,-114r43,0r51,114r-44,0"},"_":{"d":"0,64r0,-38r137,0r0,38r-137,0","w":136},"\u2018":{"d":"67,-161r-51,0r26,-91r29,0","w":93},"a":{"d":"99,-80v-14,-14,-46,-13,-46,17v0,34,35,36,46,13r0,-30xm99,0r0,-13v-32,38,-89,8,-89,-49v0,-52,51,-77,89,-55v0,-21,1,-38,-22,-38v-16,0,-26,3,-38,11r-18,-31v41,-32,121,-25,121,45r0,130r-43,0","w":159},"b":{"d":"111,-93v0,-64,-23,-72,-49,-45r0,86v23,26,49,26,49,-41xm154,-95v0,74,-43,125,-92,85r0,10r-42,0r0,-241r42,-21r0,86v47,-40,92,-8,92,81"},"c":{"d":"109,-127v-7,-15,-13,-26,-26,-26v-19,0,-27,22,-27,58v0,62,40,78,56,31r31,23v-33,77,-130,50,-130,-53v0,-103,98,-132,131,-56","w":154},"d":{"d":"105,-137v-23,-25,-48,-26,-48,41v0,64,22,72,48,45r0,-86xm105,0r0,-13v-47,40,-92,8,-92,-81v0,-74,43,-125,92,-85r0,-62r42,-21r0,262r-42,0"},"e":{"d":"109,-113v-2,-23,-9,-42,-27,-42v-15,0,-25,14,-27,42r54,0xm82,-193v53,0,75,57,69,115r-96,0v0,47,42,54,60,25r30,23v-43,67,-132,29,-132,-64v0,-63,28,-99,69,-99","w":164},"f":{"d":"108,-219v-13,-7,-39,-8,-36,15r0,15r31,0r0,40r-31,0r0,149r-42,0r0,-149r-19,0r0,-40r19,0v-10,-59,30,-85,78,-67r0,37","w":113},"g":{"d":"105,-137v-23,-25,-48,-26,-48,41v0,64,22,72,48,45r0,-86xm147,-19v0,57,-16,79,-81,88r-12,-31v45,-9,51,-16,51,-51v-47,40,-92,8,-92,-81v0,-74,43,-125,92,-85r0,-10r42,0r0,170"},"h":{"d":"105,0r0,-122v5,-42,-31,-35,-43,-16r0,138r-42,0r0,-241r42,-21r0,86v35,-35,86,-14,86,52r0,124r-43,0","w":165},"i":{"d":"22,0r0,-189r42,0r0,189r-42,0xm70,-234v0,15,-12,27,-27,27v-15,0,-27,-12,-27,-27v0,-15,12,-27,27,-27v15,0,27,12,27,27","w":85},"j":{"d":"64,-12v0,56,-13,71,-70,81r-12,-32v36,-8,40,-15,40,-47r0,-179r42,0r0,177xm70,-234v0,15,-12,27,-27,27v-15,0,-27,-12,-27,-27v0,-15,12,-27,27,-27v15,0,27,12,27,27","w":85},"k":{"d":"107,0r-28,-87r-17,28r0,59r-42,0r0,-241r42,-21r0,145v12,-28,27,-47,41,-72r46,0r-41,62r44,127r-45,0","w":159},"l":{"d":"22,0r0,-241r42,-21r0,262r-42,0","w":85},"m":{"d":"185,0r0,-122v5,-42,-28,-35,-40,-16r0,138r-42,0r0,-122v5,-42,-29,-35,-41,-16r0,138r-42,0r0,-189r42,0r0,13v18,-25,66,-21,76,4v10,-11,23,-21,41,-21v79,-2,40,123,49,193r-43,0","w":245},"n":{"d":"105,0r0,-122v5,-42,-31,-35,-43,-16r0,138r-42,0r0,-189r42,0r0,13v35,-35,86,-14,86,52r0,124r-43,0","w":165},"o":{"d":"113,-94v0,-35,-9,-59,-29,-59v-21,0,-28,22,-28,58v0,36,8,59,29,59v20,0,28,-26,28,-58xm156,-95v0,64,-30,99,-72,99v-42,0,-71,-34,-71,-98v0,-64,30,-99,72,-99v42,0,71,35,71,98","w":168},"p":{"d":"111,-93v0,-64,-23,-72,-49,-45r0,86v23,26,49,26,49,-41xm154,-95v0,74,-43,125,-92,85r0,58r-42,21r0,-258r42,0r0,13v47,-40,92,-8,92,81"},"q":{"d":"105,-137v-23,-25,-48,-26,-48,41v0,64,22,72,48,45r0,-86xm105,69r0,-82v-47,40,-92,8,-92,-81v0,-74,43,-125,92,-85r0,-10r42,0r0,237"},"r":{"d":"114,-142v-16,-14,-40,-12,-52,7r0,135r-42,0r0,-189r42,0r0,13v12,-16,47,-24,65,-7","w":131},"s":{"d":"134,-55v0,66,-82,73,-121,38r15,-36v15,11,30,17,45,17v13,0,20,-6,20,-16v0,-11,-8,-15,-34,-28v-27,-13,-41,-30,-41,-59v0,-56,73,-69,111,-37r-15,35v-16,-9,-25,-12,-39,-12v-10,0,-16,5,-16,13v0,9,6,13,32,26v28,13,43,29,43,59","w":149},"t":{"d":"111,-4v-38,18,-79,8,-79,-50r0,-95r-23,0r0,-40r23,0r0,-52r43,-21r0,73r38,0r0,40r-38,0r0,94v-1,28,27,20,41,10","w":131},"u":{"d":"104,0r0,-13v-35,35,-86,14,-86,-52r0,-124r42,0r0,122v-6,42,32,35,44,16r0,-138r42,0r0,189r-42,0","w":165},"v":{"d":"102,0r-47,0r-48,-189r43,0r29,140r29,-140r42,0","w":156},"w":{"d":"161,0r-31,0r-25,-125r-24,125r-32,0r-42,-189r39,0r20,117r24,-117r30,0r25,117r19,-117r39,0","w":210},"x":{"d":"107,0r-27,-63v-7,21,-18,43,-27,63r-45,0r51,-98r-47,-91r45,0v9,17,17,37,24,55r23,-55r45,0r-47,91r50,98r-45,0","w":160},"y":{"d":"84,67r-40,0r19,-70r-56,-186r45,0r31,131r28,-131r45,0","w":162},"z":{"d":"14,0r0,-37r77,-115r-72,1r0,-38r114,0r0,37r-76,115r76,-1r0,38r-119,0","w":149},"{":{"d":"121,40v-70,1,-82,-37,-82,-103v0,-20,-11,-27,-30,-25r0,-38v31,6,30,-23,30,-52v0,-50,23,-76,82,-76r0,29v-38,3,-36,26,-36,62v0,39,-12,49,-35,56v27,5,35,29,35,71v0,30,4,42,36,46r0,30","w":135},"|":{"d":"27,67r0,-355r39,0r0,355r-39,0","w":92},"}":{"d":"126,-89v-31,-6,-30,23,-30,53v0,50,-23,76,-82,76r0,-30v38,-3,36,-25,36,-61v0,-39,12,-49,35,-56v-27,-5,-35,-29,-35,-71v0,-30,-4,-43,-36,-47r0,-29v70,-1,82,37,82,103v0,20,11,27,30,25r0,37","w":135},"~":{"d":"70,-165v39,-1,70,60,91,-1r26,13v-13,33,-28,51,-55,51v-24,0,-49,-28,-64,-27v-12,0,-17,7,-27,28r-26,-13v13,-33,28,-51,55,-51","w":202},"'":{"d":"61,-134r-30,0r-12,-118r54,0","w":91},"\u201c":{"d":"67,-161r-51,0r26,-91r29,0xm148,-161r-51,0r26,-91r29,0","w":174},"\u2013":{"d":"16,-108r0,-46r119,0r0,46r-119,0","w":151},"\u201d":{"d":"51,-161r-29,0r5,-91r50,0xm132,-161r-29,0r5,-91r50,0","w":174},"\u2026":{"d":"74,-26v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30xm163,-26v0,16,-14,30,-30,30v-16,0,-30,-14,-30,-30v0,-16,14,-30,30,-30v16,0,30,14,30,30xm251,-26v0,16,-14,30,-30,30v-16,0,-29,-14,-29,-30v0,-16,13,-30,29,-30v16,0,30,14,30,30","w":265},"`":{"d":"76,-214r-53,-58r56,0r32,58r-35,0","w":144},"\u2014":{"d":"16,-108r0,-46r166,0r0,46r-166,0","w":198},"!":{"d":"77,-25v0,16,-13,29,-29,29v-16,0,-30,-13,-30,-29v0,-16,14,-29,30,-29v16,0,29,13,29,29xm63,-76r-31,0v-9,-52,-7,-115,-7,-176r45,0v0,61,3,125,-7,176","w":95},"\u00c9":{"d":"98,-268r-35,0r32,-58r55,0xm23,0r0,-252r130,0r0,43r-85,0r0,53r57,0r0,43r-57,0r0,70r88,0r0,43r-133,0","w":171},"\u00d6":{"d":"90,-294v0,14,-12,26,-26,26v-14,0,-25,-12,-25,-26v0,-14,11,-26,25,-26v13,0,26,12,26,26xm159,-294v0,14,-12,26,-26,26v-14,0,-26,-12,-26,-26v0,-14,12,-26,26,-26v13,0,26,12,26,26xm136,-126v0,-54,-11,-85,-38,-85v-27,0,-38,31,-38,85v0,54,12,85,39,85v27,0,37,-31,37,-85xm182,-126v0,73,-25,130,-84,130v-59,0,-84,-58,-84,-130v0,-73,26,-130,85,-130v58,0,83,58,83,130","w":196},"\u00a9":{"d":"156,-90v-7,23,-19,36,-41,36v-31,0,-46,-31,-46,-72v0,-40,16,-73,47,-73v24,0,35,15,40,36r-24,7v-4,-13,-7,-18,-17,-18v-14,0,-20,17,-20,47v0,45,26,67,39,28xm193,-125v0,-66,-32,-110,-79,-110v-48,0,-78,43,-78,108v0,66,31,110,79,110v48,0,78,-43,78,-108xm215,-126v0,79,-43,130,-101,130v-58,0,-100,-51,-100,-130v0,-79,42,-130,100,-130v58,0,101,51,101,130","w":232},"\u2122":{"d":"58,-228r0,117r-25,0r0,-117r-29,0r0,-24r83,0r0,24r-29,0xm183,-111r1,-82r-29,86r-29,-86r0,82r-23,0r0,-141r26,0r26,83r26,-83r25,0r0,141r-23,0","w":223},"\u00c0":{"d":"115,-95r-19,-91v-3,22,-11,66,-18,91r37,0xm136,0r-11,-53r-57,0r-12,53r-46,0r65,-252r43,0r65,252r-47,0xm82,-268r-53,-58r56,0r32,58r-35,0","w":192},"\u00ca":{"d":"23,0r0,-252r130,0r0,43r-85,0r0,53r57,0r0,43r-57,0r0,70r88,0r0,43r-133,0xm114,-268r-28,-26r-27,26r-31,0r39,-58r40,0r39,58r-32,0","w":171},"\u00c1":{"d":"110,-268r-35,0r31,-58r56,0xm115,-95r-19,-91v-3,22,-11,66,-18,91r37,0xm136,0r-11,-53r-57,0r-12,53r-46,0r65,-252r43,0r65,252r-47,0","w":192},"\u00cb":{"d":"77,-294v0,14,-12,26,-26,26v-14,0,-25,-12,-25,-26v0,-14,11,-26,25,-26v13,0,26,12,26,26xm146,-294v0,14,-12,26,-26,26v-14,0,-26,-12,-26,-26v0,-14,12,-26,26,-26v13,0,26,12,26,26xm23,0r0,-252r130,0r0,43r-85,0r0,53r57,0r0,43r-57,0r0,70r88,0r0,43r-133,0","w":171},"\u00c8":{"d":"23,0r0,-252r130,0r0,43r-85,0r0,53r57,0r0,43r-57,0r0,70r88,0r0,43r-133,0xm72,-268r-52,-58r56,0r31,58r-35,0","w":171},"\u00cf":{"d":"39,-294v0,14,-12,26,-26,26v-14,0,-26,-12,-26,-26v0,-14,12,-26,26,-26v13,0,26,12,26,26xm107,-294v0,14,-11,26,-25,26v-14,0,-26,-12,-26,-26v0,-14,12,-26,26,-26v13,0,25,12,25,26xm25,0r0,-252r45,0r0,252r-45,0","w":95},"\u00d4":{"d":"136,-126v0,-54,-11,-85,-38,-85v-27,0,-38,31,-38,85v0,54,12,85,39,85v27,0,37,-31,37,-85xm182,-126v0,73,-25,130,-84,130v-59,0,-84,-58,-84,-130v0,-73,26,-130,85,-130v58,0,83,58,83,130xm124,-266r-28,-27r-27,27r-31,0r39,-58r40,0r39,58r-32,0","w":196},"\u00db":{"d":"172,-252v-6,101,29,256,-75,256v-104,0,-69,-155,-75,-256r45,0r0,152v0,44,10,59,31,59v21,0,29,-15,29,-59r0,-152r45,0xm125,-268r-28,-26r-28,26r-31,0r39,-58r40,0r39,58r-31,0","w":194},"#":{"d":"143,-163r-48,0r0,74r48,0r0,-74xm185,-50r0,50r-42,0r0,-50r-48,0r0,50r-43,0r0,-50r-36,0r0,-39r36,0r0,-74r-36,0r0,-39r36,0r0,-50r43,0r0,50r48,0r0,-50r42,0r0,50r36,0r0,39r-36,0r0,74r36,0r0,39r-36,0","w":237},"\"":{"d":"59,-134r-28,0r-12,-118r52,0xm139,-134r-29,0r-11,-118r51,0","w":169},"\u00d7":{"d":"207,-78v-9,6,-16,-2,-13,-11r5,-18r-42,0r0,41v10,-4,36,-11,28,8r-46,63r-48,-63v-6,-9,3,-15,10,-13r18,5r0,-41r-41,0v1,9,10,22,2,30v-29,-6,-48,-35,-73,-49r64,-47v8,-6,15,1,12,10r-5,18r41,0r0,-41v-10,4,-36,11,-28,-8r48,-63r46,63v5,8,-1,15,-9,13r-19,-5r0,41r42,0v-3,-10,-12,-36,8,-28r63,47","w":277},"\u00a0":{"w":82}}});

/*
 * imgPreview jQuery plugin
 * Copyright (c) 2009 James Padolsey
 * j@qd9.co.uk | http://james.padolsey.com
 * Dual licensed under MIT and GPL.
 * Updated: 09/02/09
 * @author James Padolsey
 * @version 0.22
 */
(function(c){c.expr[':'].linkingToImage=function(a,g,e){return!!(c(a).attr(e[3])&&c(a).attr(e[3]).match(/\.(gif|jpe?g|png|bmp)$/i))};c.fn.imgPreview=function(j){var b=c.extend({imgCSS:{},distanceFromCursor:{top:10,left:10},preloadImages:true,onShow:function(){},onHide:function(){},onLoad:function(){},containerID:'imgPreviewContainer',containerLoadingClass:'loading',thumbPrefix:'',srcAttr:'href'},j),d=c('<div/>').attr('id',b.containerID).append('<img/>').hide().css('position','absolute').appendTo('body'),f=c('img',d).css(b.imgCSS),h=this.filter(':linkingToImage('+b.srcAttr+')');function i(a){return a.replace(/(\/?)([^\/]+)$/,'$1'+b.thumbPrefix+'$2')}if(b.preloadImages){(function(a){var g=new Image(),e=arguments.callee;g.src=i(c(h[a]).attr(b.srcAttr));g.onload=function(){h[a+1]&&e(a+1)}})(0)}h.mousemove(function(a){d.css({top:a.pageY+b.distanceFromCursor.top+'px',left:a.pageX+b.distanceFromCursor.left+'px'})}).hover(function(){var a=this;d.addClass(b.containerLoadingClass).show();f.load(function(){d.removeClass(b.containerLoadingClass);f.show();b.onLoad.call(f[0],a)}).attr('src',i(c(a).attr(b.srcAttr)));b.onShow.call(d[0],a)},function(){d.hide();f.unbind('load').attr('src','').hide();b.onHide.call(d[0],this)});return this}})(jQuery);(function($){$.tiny=$.tiny||{};$.tiny.carousel={options:{start:1,display:1,axis:'x',controls:true,pager:false,interval:false,intervaltime:6000,rewind:false,animation:true,duration:1000,callback:null}};$.fn.tinycarousel=function(options){var options=$.extend({},$.tiny.carousel.options,options);this.each(function(){$(this).data('tcl',new Carousel($(this),options));});return this;};$.fn.tinycarousel_start=function(){$(this).data('tcl').start();};$.fn.tinycarousel_stop=function(){$(this).data('tcl').stop();};$.fn.tinycarousel_move=function(iNum){$(this).data('tcl').move(iNum-1,true);};function Carousel(root,options){var oSelf=this;var oViewport=$('.viewport:first',root);var oContent=$('.overview:first',root);var oPages=oContent.children();var oBtnNext=$('.next:first',root);var oBtnPrev=$('.prev:first',root);var oPager=$('.pager:first',root);var iPageSize,iSteps,iCurrent,oTimer,bPause,bForward=true,bAxis=options.axis=='x';function initialize(){iPageSize=bAxis?$(oPages[0]).outerWidth(true):$(oPages[0]).outerHeight(true);var iLeftover=Math.ceil(((bAxis?oViewport.outerWidth():oViewport.outerHeight())/(iPageSize*options.display))-1);iSteps=Math.max(1,Math.ceil(oPages.length/options.display)-iLeftover);iCurrent=Math.min(iSteps,Math.max(1,options.start))-2;oContent.css(bAxis?'width':'height',(iPageSize*oPages.length));oSelf.move(1);setEvents();return oSelf;};function setEvents(){if(options.controls&&oBtnPrev.length>0&&oBtnNext.length>0){oBtnPrev.click(function(){oSelf.move(-1);return false;});oBtnNext.click(function(){oSelf.move(1);return false;});}if(options.interval){root.hover(oSelf.stop,oSelf.start);}if(options.pager&&oPager.length>0){$('a',oPager).click(setPager);}};function setButtons(){if(options.controls){oBtnPrev.toggleClass('disable',!(iCurrent>0));oBtnNext.toggleClass('disable',!(iCurrent+1<iSteps));}if(options.pager){var oNumbers=$('.pagenum',oPager);oNumbers.removeClass('active');$(oNumbers[iCurrent]).addClass('active');}};function setPager(oEvent){if($(this).hasClass('pagenum')){oSelf.move(parseInt(this.rel),true);}return false;};function setTimer(){if(options.interval&&!bPause){clearTimeout(oTimer);oTimer=setTimeout(function(){iCurrent=iCurrent+1==iSteps?-1:iCurrent;bForward=iCurrent+1==iSteps?false:iCurrent==0?true:bForward;oSelf.move(bForward?1:-1);},options.intervaltime);}};this.stop=function(){clearTimeout(oTimer);bPause=true;};this.start=function(){bPause=false;setTimer();};this.move=function(iDirection,bPublic){iCurrent=bPublic?iDirection:iCurrent+=iDirection;if(iCurrent>-1&&iCurrent<iSteps){var oPosition={};oPosition[bAxis?'left':'top']=-(iCurrent*(iPageSize*options.display));oContent.animate(oPosition,{queue:false,duration:options.animation?options.duration:0,complete:function(){if(typeof options.callback=='function')options.callback.call(this,oPages[iCurrent],iCurrent);}});setButtons();setTimer();}};return initialize();};})(jQuery);

/*
 * jQuery UI Accordion 1.6
 * 
 * Copyright (c) 2007 Jörn Zaefferer
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id: jquery.accordion.js 4876 2008-03-08 11:49:04Z joern.zaefferer $
 *
 */

;(function($) {
	
// If the UI scope is not available, add it
$.ui = $.ui || {};

$.fn.extend({
	accordion: function(options, data) {
		var args = Array.prototype.slice.call(arguments, 1);

		return this.each(function() {
			if (typeof options == "string") {
				var accordion = $.data(this, "ui-accordion");
				accordion[options].apply(accordion, args);
			// INIT with optional options
			} else if (!$(this).is(".ui-accordion"))
				$.data(this, "ui-accordion", new $.ui.accordion(this, options));
		});
	},
	// deprecated, use accordion("activate", index) instead
	activate: function(index) {
		return this.accordion("activate", index);
	}
});

$.ui.accordion = function(container, options) {
	
	// setup configuration
	this.options = options = $.extend({}, $.ui.accordion.defaults, options);
	this.element = container;
	
	$(container).addClass("ui-accordion");
	
	if ( options.navigation ) {
		var current = $(container).find("a").filter(options.navigationFilter);
		if ( current.length ) {
			if ( current.filter(options.header).length ) {
				options.active = current;
			} else {
				options.active = current.parent().parent().prev();
				current.addClass("current");
			}
		}
	}
	
	// calculate active if not specified, using the first header
	options.headers = $(container).find(options.header);
	options.active = findActive(options.headers, options.active);

	if ( options.fillSpace ) {
		var maxHeight = $(container).parent().height();
		options.headers.each(function() {
			maxHeight -= $(this).outerHeight();
		});
		var maxPadding = 0;
		options.headers.next().each(function() {
			maxPadding = Math.max(maxPadding, $(this).innerHeight() - $(this).height());
		}).height(maxHeight - maxPadding);
	} else if ( options.autoheight ) {
		var maxHeight = 0;
		options.headers.next().each(function() {
			maxHeight = Math.max(maxHeight, $(this).outerHeight());
		}).height(maxHeight);
	}

	options.headers
		.not(options.active || "")
		.next()
		.hide();
	options.active.parent().andSelf().addClass(options.selectedClass);
	
	if (options.event)
		$(container).bind((options.event) + ".ui-accordion", clickHandler);
};

$.ui.accordion.prototype = {
	activate: function(index) {
		// call clickHandler with custom event
		clickHandler.call(this.element, {
			target: findActive( this.options.headers, index )[0]
		});
	},
	
	enable: function() {
		this.options.disabled = false;
	},
	disable: function() {
		this.options.disabled = true;
	},
	destroy: function() {
		this.options.headers.next().css("display", "");
		if ( this.options.fillSpace || this.options.autoheight ) {
			this.options.headers.next().css("height", "");
		}
		$.removeData(this.element, "ui-accordion");
		$(this.element).removeClass("ui-accordion").unbind(".ui-accordion");
	}
}

function scopeCallback(callback, scope) {
	return function() {
		return callback.apply(scope, arguments);
	};
}

function completed(cancel) {
	// if removed while animated data can be empty
	if (!$.data(this, "ui-accordion"))
		return;
	var instance = $.data(this, "ui-accordion");
	var options = instance.options;
	options.running = cancel ? 0 : --options.running;
	if ( options.running )
		return;
	if ( options.clearStyle ) {
		options.toShow.add(options.toHide).css({
			height: "",
			overflow: ""
		});
	}
	$(this).triggerHandler("change.ui-accordion", [options.data], options.change);
}

function toggle(toShow, toHide, data, clickedActive, down) {
	var options = $.data(this, "ui-accordion").options;
	options.toShow = toShow;
	options.toHide = toHide;
	options.data = data;
	var complete = scopeCallback(completed, this);
	
	// count elements to animate
	options.running = toHide.size() == 0 ? toShow.size() : toHide.size();
	
	if ( options.animated ) {
		if ( !options.alwaysOpen && clickedActive ) {
			$.ui.accordion.animations[options.animated]({
				toShow: jQuery([]),
				toHide: toHide,
				complete: complete,
				down: down,
				autoheight: options.autoheight
			});
		} else {
			$.ui.accordion.animations[options.animated]({
				toShow: toShow,
				toHide: toHide,
				complete: complete,
				down: down,
				autoheight: options.autoheight
			});
		}
	} else {
		if ( !options.alwaysOpen && clickedActive ) {
			toShow.toggle();
		} else {
			toHide.hide();
			toShow.show();
		}
		complete(true);
	}
}

function clickHandler(event) {
	var options = $.data(this, "ui-accordion").options;
	if (options.disabled)
		return false;
	
	// called only when using activate(false) to close all parts programmatically
	if ( !event.target && !options.alwaysOpen ) {
		options.active.parent().andSelf().toggleClass(options.selectedClass);
		var toHide = options.active.next(),
			data = {
				instance: this,
				options: options,
				newHeader: jQuery([]),
				oldHeader: options.active,
				newContent: jQuery([]),
				oldContent: toHide
			},
			toShow = options.active = $([]);
		toggle.call(this, toShow, toHide, data );
		return false;
	}
	// get the click target
	var clicked = $(event.target);
	
	// due to the event delegation model, we have to check if one
	// of the parent elements is our actual header, and find that
	if ( clicked.parents(options.header).length )
		while ( !clicked.is(options.header) )
			clicked = clicked.parent();
	
	var clickedActive = clicked[0] == options.active[0];
	
	// if animations are still active, or the active header is the target, ignore click
	if (options.running || (options.alwaysOpen && clickedActive))
		return false;
	if (!clicked.is(options.header))
		return;

	// switch classes
	options.active.parent().andSelf().toggleClass(options.selectedClass);
	if ( !clickedActive ) {
		clicked.parent().andSelf().addClass(options.selectedClass);
	}

	// find elements to show and hide
	var toShow = clicked.next(),
		toHide = options.active.next(),
		//data = [clicked, options.active, toShow, toHide],
		data = {
			instance: this,
			options: options,
			newHeader: clicked,
			oldHeader: options.active,
			newContent: toShow,
			oldContent: toHide
		},
		down = options.headers.index( options.active[0] ) > options.headers.index( clicked[0] );
	
	options.active = clickedActive ? $([]) : clicked;
	toggle.call(this, toShow, toHide, data, clickedActive, down );

	return false;
};

function findActive(headers, selector) {
	return selector != undefined
		? typeof selector == "number"
			? headers.filter(":eq(" + selector + ")")
			: headers.not(headers.not(selector))
		: selector === false
			? $([])
			: headers.filter(":eq(0)");
}

$.extend($.ui.accordion, {
	defaults: {
		selectedClass: "selected",
		alwaysOpen: true,
		animated: 'slide',
		event: "click",
		header: "li",
		autoheight: true,
		running: 0,
		navigationFilter: function() {
			return this.href.toLowerCase() == location.href.toLowerCase();
		}
	},
	animations: {
		slide: function(options, additions) {
			options = $.extend({
				easing: "swing",
				duration: 300
			}, options, additions);
			if ( !options.toHide.size() ) {
				options.toShow.animate({height: "show"}, options);
				return;
			}
			var hideHeight = options.toHide.height(),
				showHeight = options.toShow.height(),
				difference = showHeight / hideHeight;
			options.toShow.css({ height: 0, overflow: 'hidden' }).show();
			options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{
				step: function(now) {
					var current = (hideHeight - now) * difference;
					if ($.browser.msie || $.browser.opera) {
						current = Math.ceil(current);
					}
					options.toShow.height( current );
				},
				duration: options.duration,
				easing: options.easing,
				complete: function() {
					if ( !options.autoheight ) {
						options.toShow.css("height", "auto");
					}
					options.complete();
				}
			});
		},
		bounceslide: function(options) {
			this.slide(options, {
				easing: options.down ? "bounceout" : "swing",
				duration: options.down ? 1000 : 200
			});
		},
		easeslide: function(options) {
			this.slide(options, {
				easing: "easeinout",
				duration: 700
			})
		}
	}
});

})(jQuery);


/**
 * jQuery Roundabout - v1.1
 * http://fredhq.com/projects/roundabout/
 *
 * Moves list-items of enabled ordered and unordered lists long
 * a chosen path. Includes the default "lazySusan" path, that
 * moves items long a spinning turntable.
 *
 * Terms of Use // jQuery Roundabout
 * 
 * Open source under the BSD license
 *
 * Copyright (c) 2010, Fred LeBlanc
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions are met:
 * 
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *   - Redistributions in binary form must reproduce the above 
 *     copyright notice, this list of conditions and the following 
 *     disclaimer in the documentation and/or other materials provided 
 *     with the distribution.
 *   - Neither the name of the author nor the names of its contributors 
 *     may be used to endorse or promote products derived from this 
 *     software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
 * POSSIBILITY OF SUCH DAMAGE.
 */


// creates a default shape to be used for pathing
jQuery.extend({
	roundabout_shape: {
		def: 'lazySusan',
		lazySusan: function(r, a, t) {
			return {
				x: Math.sin(r + a), 
				y: (Math.sin(r + 3*Math.PI/2 + a) / 8) * t, 
				z: (Math.cos(r + a) + 1) / 2,
				scale: (Math.sin(r + Math.PI/2 + a) / 2) + 0.5
			};
		}
	}
});

jQuery.fn.roundabout = function() {
	var options = (typeof arguments[0] != 'object') ? {} : arguments[0];

	// set options and fill in defaults
	options = {
		bearing: (typeof options.bearing == 'undefined') ? 0.0 : jQuery.roundabout_toFloat(options.bearing % 360.0),
		tilt: (typeof options.tilt == 'undefined') ? 0.0 : jQuery.roundabout_toFloat(options.tilt),
		minZ: (typeof options.minZ == 'undefined') ? 100 : parseInt(options.minZ, 10),
		maxZ: (typeof options.maxZ == 'undefined') ? 400 : parseInt(options.maxZ, 10),
		minOpacity: (typeof options.minOpacity == 'undefined') ? 0.40 : jQuery.roundabout_toFloat(options.minOpacity),
		maxOpacity: (typeof options.maxOpacity == 'undefined') ? 1.00 : jQuery.roundabout_toFloat(options.maxOpacity),
		minScale: (typeof options.minScale == 'undefined') ? 0.40 : jQuery.roundabout_toFloat(options.minScale),
		maxScale: (typeof options.maxScale == 'undefined') ? 1.00 : jQuery.roundabout_toFloat(options.maxScale),
		duration: (typeof options.duration == 'undefined') ? 600 : parseInt(options.duration, 10),
		btnNext: options.btnNext || null,
		btnPrev: options.btnPrev || null,
		easing: options.easing || 'swing',
		clickToFocus: (options.clickToFocus !== false),
		focusBearing: (typeof options.focusBearing == 'undefined') ? 0.0 : jQuery.roundabout_toFloat(options.focusBearing % 360.0),
		shape: options.shape || 'lazySusan',
		debug: options.debug || false,
		childSelector: options.childSelector || 'li',
		startingChild: (typeof options.startingChild == 'undefined') ? null : parseInt(options.startingChild, 10),
		reflect: (typeof options.reflect == 'undefined' || options.reflect === false) ? false : true
	};

	// assign things 
	this.each(function(i) {
		var ref = jQuery(this);
		var period = jQuery.roundabout_toFloat(360.0 / ref.children(options.childSelector).length);
		var startingBearing = (options.startingChild === null) ? options.bearing : options.startingChild * period;
		
		// set starting styles
		ref
			.addClass('roundabout-holder')
			.css('padding', 0)
			.css('position', 'relative')
			.css('z-index', options.minZ);
		
		// set starting options
		ref.data('roundabout', {
			'bearing': startingBearing,
			'tilt': options.tilt,
			'minZ': options.minZ,
			'maxZ': options.maxZ,
			'minOpacity': options.minOpacity,
			'maxOpacity': options.maxOpacity,
			'minScale': options.minScale,
			'maxScale': options.maxScale,
			'duration': options.duration,
			'easing': options.easing,
			'clickToFocus': options.clickToFocus,
			'focusBearing': options.focusBearing,
			'animating': 0,
			'childInFocus': -1,
			'shape': options.shape,
			'period': period,
			'debug': options.debug,
			'childSelector': options.childSelector,
			'reflect': options.reflect
		});
				
		// bind click events
		if (options.clickToFocus === true) {
			ref.children(options.childSelector).each(function(i) {
				jQuery(this).click(function(e) {
					var degrees = (options.reflect === true) ? 360.0 - (period * i) : period * i;
					degrees = jQuery.roundabout_toFloat(degrees);
					if (!jQuery.roundabout_isInFocus(ref, degrees)) {
						e.preventDefault();
						if (ref.data('roundabout').animating === 0) {
							ref.roundabout_animateAngleToFocus(degrees);
						}
						return false;
					}
				});
			});
		}
		
		// bind next buttons
		if (options.btnNext) {
			jQuery(options.btnNext).bind('click.roundabout', function(e) {
				e.preventDefault();
				if (ref.data('roundabout').animating === 0) {
					ref.roundabout_animateToNextChild();
				}
				return false;
			});
		}
		
		// bind previous buttons
		if (options.btnPrev) {
			jQuery(options.btnPrev).bind('click.roundabout', function(e) {
				e.preventDefault();
				if (ref.data('roundabout').animating === 0) {
					ref.roundabout_animateToPreviousChild();
				}
				return false;
			});
		}
	});

	// start children
	this.roundabout_startChildren();

	// callback once ready
	if (typeof arguments[1] === 'function') {
		var callback = arguments[1], ref = this;
		setTimeout(function() { callback(ref); }, 0);
	}

	return this;
};

jQuery.fn.roundabout_startChildren = function() {
	this.each(function(i) {
		var ref = jQuery(this);
		var data = ref.data('roundabout');
		var children = ref.children(data.childSelector);
		
		children.each(function(i) {
			var degrees = (data.reflect === true) ? 360.0 - (data.period * i) : data.period * i;

			// apply classes and css first
			jQuery(this)
				.addClass('roundabout-moveable-item')
				.css('position', 'absolute');
			
			// then measure
			jQuery(this).data('roundabout', {
				'startWidth': jQuery(this).width(),
				'startHeight': jQuery(this).height(),
				'startFontSize': parseInt(jQuery(this).css('font-size'), 10),
				'degrees': degrees
			});
		});
		
		ref.roundabout_updateChildPositions();
	});
	return this;
};

jQuery.fn.roundabout_setTilt = function(newTilt) {
	this.each(function(i) {
		jQuery(this).data('roundabout').tilt = newTilt;
		jQuery(this).roundabout_updateChildPositions();
	});
	
	if (typeof arguments[1] === 'function') {
		var callback = arguments[1], ref = this;
		setTimeout(function() { callback(ref); }, 0);
	}
	
	return this;
};

jQuery.fn.roundabout_setBearing = function(newBearing) {
	this.each(function(i) {
		jQuery(this).data('roundabout').bearing = jQuery.roundabout_toFloat(newBearing % 360, 2);
		jQuery(this).roundabout_updateChildPositions();
	});

	if (typeof arguments[1] === 'function') {
		var callback = arguments[1], ref = this;
		setTimeout(function() { callback(ref); }, 0);
	}
	
	return this;
};

jQuery.fn.roundabout_adjustBearing = function(delta) {
	delta = jQuery.roundabout_toFloat(delta);
	if (delta !== 0) {
		this.each(function(i) {
			jQuery(this).data('roundabout').bearing = jQuery.roundabout_getBearing(jQuery(this)) + delta;
			jQuery(this).roundabout_updateChildPositions();
		});
	}
	
	if (typeof arguments[1] === 'function') {
		var callback = arguments[1], ref = this;
		setTimeout(function() { callback(ref); }, 0);
	}

	return this;
};

jQuery.fn.roundabout_adjustTilt = function(delta) {
	delta = jQuery.roundabout_toFloat(delta);
	if (delta !== 0) {
		this.each(function(i) {
			jQuery(this).data('roundabout').tilt = jQuery.roundabout_toFloat(jQuery(this).roundabout_get('tilt') + delta);
			jQuery(this).roundabout_updateChildPositions();
		});
	}
	
	if (typeof arguments[1] === 'function') {
		var callback = arguments[1], ref = this;
		setTimeout(function() { callback(ref); }, 0);
	}

	return this;
};

jQuery.fn.roundabout_animateToBearing = function(bearing) {
	bearing = jQuery.roundabout_toFloat(bearing);
	var currentTime = new Date();
	var duration    = (typeof arguments[1] == 'undefined') ? null : arguments[1];
	var easingType  = (typeof arguments[2] == 'undefined') ? null : arguments[2];
	var passedData  = (typeof arguments[3] !== 'object')   ? null : arguments[3];

	this.each(function(i) {
		var ref = jQuery(this), data = ref.data('roundabout'), timer, easingFn, newBearing;
		var thisDuration = (duration === null) ? data.duration : duration;
		var thisEasingType = (easingType !== null) ? easingType : data.easing || 'swing';

		if (passedData === null) {
			passedData = {
				timerStart: currentTime,
				start: jQuery.roundabout_getBearing(ref),
				totalTime: thisDuration
			};
		}
		timer = currentTime - passedData.timerStart;

		if (timer < thisDuration) {
			data.animating = 1;
			
			if (typeof jQuery.easing.def == 'string') {
				easingFn = jQuery.easing[thisEasingType] || jQuery.easing[jQuery.easing.def];
				newBearing = easingFn(null, timer, passedData.start, bearing - passedData.start, passedData.totalTime);
			} else {
				newBearing = jQuery.easing[thisEasingType]((timer / passedData.totalTime), timer, passedData.start, bearing - passedData.start, passedData.totalTime);
			}
			
			ref.roundabout_setBearing(newBearing, function() { ref.roundabout_animateToBearing(bearing, thisDuration, thisEasingType, passedData); });
		} else {
			bearing = (bearing < 0) ? bearing + 360 : bearing % 360;
			data.animating = 0;
			ref.roundabout_setBearing(bearing);
		}
	});	
	return this;
};

jQuery.fn.roundabout_animateToDelta = function(delta) {
	var duration = arguments[1], easing = arguments[2];
	this.each(function(i) {
		delta = jQuery.roundabout_getBearing(jQuery(this)) + jQuery.roundabout_toFloat(delta);
		jQuery(this).roundabout_animateToBearing(delta, duration, easing);
	});
	return this;
};

jQuery.fn.roundabout_animateToChild = function(childPos) {	
	var duration = arguments[1], easing = arguments[2];	
	this.each(function(i) {
		var ref = jQuery(this), data = ref.data('roundabout');
		if (data.childInFocus !== childPos && data.animating === 0) {		
			var child = jQuery(ref.children(data.childSelector)[childPos]);
			ref.roundabout_animateAngleToFocus(child.data('roundabout').degrees, duration, easing);
		}
	});
	return this;
};

jQuery.fn.roundabout_animateToNearbyChild = function(passedArgs, which) {
	var duration = passedArgs[0], easing = passedArgs[1];
	this.each(function(i) {
		var data     = jQuery(this).data('roundabout');
		var bearing  = jQuery.roundabout_toFloat(360.0 - jQuery.roundabout_getBearing(jQuery(this)));
		var period   = data.period, j = 0, range;
		var reflect  = data.reflect;
		var length   = jQuery(this).children(data.childSelector).length;

		bearing = (reflect === true) ? bearing % 360.0 : bearing;
		
		if (data.animating === 0) {
			// if we're not reflecting and we're moving to next or
			//    we are reflecting and we're moving previous
			if ((reflect === false && which === 'next') || (reflect === true && which !== 'next')) {
				bearing = (bearing === 0) ? 360 : bearing;
							
				// counterclockwise
				while (true && j < length) {
					range = { lower: jQuery.roundabout_toFloat(period * j), upper: jQuery.roundabout_toFloat(period * (j + 1)) };
					range.upper = (j == length - 1) ? 360.0 : range.upper;  // adjust for javascript being bad at floats

					if (bearing <= range.upper && bearing > range.lower) {
						jQuery(this).roundabout_animateToDelta(bearing - range.lower, duration, easing);
						break;
					}
					j++;
				}
			} else {
				// clockwise
				while (true) {
					range = { lower: jQuery.roundabout_toFloat(period * j), upper: jQuery.roundabout_toFloat(period * (j + 1)) };
					range.upper = (j == length - 1) ? 360.0 : range.upper;  // adjust for javascript being bad at floats

					if (bearing >= range.lower && bearing < range.upper) {
						jQuery(this).roundabout_animateToDelta(bearing - range.upper, duration, easing);
						break;
					}
					j++;
				}
			}
		}
	});
	return this;
};

jQuery.fn.roundabout_animateToNextChild = function() {	
	return this.roundabout_animateToNearbyChild(arguments, 'next');
};

jQuery.fn.roundabout_animateToPreviousChild = function() {	
	return this.roundabout_animateToNearbyChild(arguments, 'previous');
};

// moves a given angle to the focus by the shortest means possible
jQuery.fn.roundabout_animateAngleToFocus = function(target) {
	var duration = arguments[1], easing = arguments[2];
	this.each(function(i) {
		var delta = jQuery.roundabout_getBearing(jQuery(this)) - target;
		delta = (Math.abs(360.0 - delta) < Math.abs(0.0 - delta)) ? 360.0 - delta : 0.0 - delta;
		delta = (delta > 180) ? -(360.0 - delta) : delta;
		
		if (delta !== 0) {
			jQuery(this).roundabout_animateToDelta(delta, duration, easing);	
		}
	});
	return this;
};

jQuery.fn.roundabout_updateChildPositions = function() {
	this.each(function(i) {
		var ref = jQuery(this), data = ref.data('roundabout');
		var inFocus = -1;
		var info = {
			bearing: jQuery.roundabout_getBearing(ref),
			tilt: data.tilt,
			stage: { width: Math.floor(ref.width() * 0.9), height: Math.floor(ref.height() * 0.9) },
			animating: data.animating,
			inFocus: data.childInFocus,
			focusBearingRad: jQuery.roundabout_degToRad(data.focusBearing),
			shape: jQuery.roundabout_shape[data.shape] || jQuery.roundabout_shape[jQuery.roundabout_shape.def]
		};
		info.midStage = { width: info.stage.width / 2, height: info.stage.height / 2 };
		info.nudge = { width: info.midStage.width + info.stage.width * 0.05, height: info.midStage.height + info.stage.height * 0.05 };
		info.zValues = { min: data.minZ, max: data.maxZ, diff: data.maxZ - data.minZ };
		info.opacity = { min: data.minOpacity, max: data.maxOpacity, diff: data.maxOpacity - data.minOpacity };
		info.scale = { min: data.minScale, max: data.maxScale, diff: data.maxScale - data.minScale };

		// update child positions
		ref.children(data.childSelector).each(function(i) {
			if (jQuery.roundabout_updateChildPosition(jQuery(this), ref, info, i) && info.animating === 0) {
				inFocus = i;
				jQuery(this).addClass('roundabout-in-focus');
			} else {
				jQuery(this).removeClass('roundabout-in-focus');
			}
		});

		// update status of who is in focus
		if (inFocus !== info.inFocus) {
			jQuery.roundabout_triggerEvent(ref, info.inFocus, 'blur');

			if (inFocus !== -1) {
				jQuery.roundabout_triggerEvent(ref, inFocus, 'focus');
			}

			data.childInFocus = inFocus;
		}
	});	
	return this;	
};

//----------------

jQuery.roundabout_getBearing = function(el) {
	return jQuery.roundabout_toFloat(el.data('roundabout').bearing) % 360;
};

jQuery.roundabout_degToRad = function(degrees) {
	return (degrees % 360.0) * Math.PI / 180.0;
};

jQuery.roundabout_isInFocus = function(el, target) {
	return (jQuery.roundabout_getBearing(el) % 360 === (target % 360));
};

jQuery.roundabout_triggerEvent = function(el, child, eventType) {
	return (child < 0) ? this : jQuery(el.children(el.data('roundabout').childSelector)[child]).trigger(eventType);
};

jQuery.roundabout_toFloat = function(number) {
	number = Math.round(parseFloat(number) * 1000) / 1000;
	return parseFloat(number.toFixed(2));
};

jQuery.roundabout_updateChildPosition = function(child, container, info, childPos) {
	var ref = jQuery(child), data = ref.data('roundabout'), out = [];
	var rad = jQuery.roundabout_degToRad((360.0 - ref.data('roundabout').degrees) + info.bearing);
	
	// adjust radians to be between 0 and Math.PI * 2
	while (rad < 0) {
		rad = rad + Math.PI * 2;
	}
	while (rad > Math.PI * 2) {
		rad = rad - Math.PI * 2;
	}
	
	var factors = info.shape(rad, info.focusBearingRad, info.tilt); // obj with x, y, z, and scale values

	// correct
	factors.scale = (factors.scale > 1) ? 1 : factors.scale;
	factors.adjustedScale = (info.scale.min + (info.scale.diff * factors.scale)).toFixed(4);
	factors.width = (factors.adjustedScale * data.startWidth).toFixed(4);
	factors.height = (factors.adjustedScale * data.startHeight).toFixed(4);
	
	// alter item
	ref
		.css('left', ((factors.x * info.midStage.width + info.nudge.width) - factors.width / 2.0).toFixed(1) + 'px')
		.css('top', ((factors.y * info.midStage.height + info.nudge.height) - factors.height / 2.0).toFixed(1) + 'px')
		.css('width', factors.width + 'px')
		.css('height', factors.height + 'px')
		.css('opacity', (info.opacity.min + (info.opacity.diff * factors.scale)).toFixed(2))
		.css('z-index', Math.round(info.zValues.min + (info.zValues.diff * factors.z)))
		.css('font-size', (factors.adjustedScale * data.startFontSize).toFixed(2) + 'px')
		.attr('current-scale', factors.adjustedScale);
	
	if (container.data('roundabout').debug === true) {
		out.push('<div style="font-weight: normal; font-size: 10px; padding: 2px; width: ' + ref.css('width') + '; background-color: #ffc;">');
		out.push('<strong style="font-size: 12px; white-space: nowrap;">Child ' + childPos + '</strong><br />');
		out.push('<strong>left:</strong> ' + ref.css('left') + '<br /><strong>top:</strong> ' + ref.css('top') + '<br />');
		out.push('<strong>width:</strong> ' + ref.css('width') + '<br /><strong>opacity:</strong> ' + ref.css('opacity') + '<br />');
		out.push('<strong>z-index:</strong> ' + ref.css('z-index') + '<br /><strong>font-size:</strong> ' + ref.css('font-size') + '<br />');
		out.push('<strong>scale:</strong> ' + ref.attr('current-scale'));
		out.push('</div>');
		
		ref.html(out.join(''));
	}

	return jQuery.roundabout_isInFocus(container, ref.data('roundabout').degrees);
};



jQuery.fn.extend({
	everyTime: function(interval, label, fn, times, belay) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, times, belay);
		});
	},
	oneTime: function(interval, label, fn) {
		return this.each(function() {
			jQuery.timer.add(this, interval, label, fn, 1);
		});
	},
	stopTime: function(label, fn) {
		return this.each(function() {
			jQuery.timer.remove(this, label, fn);
		});
	}
});

jQuery.extend({
	timer: {
		guid: 1,
		global: {},
		regex: /^([0-9]+)\s*(.*s)?$/,
		powers: {
			// Yeah this is major overkill...
			'ms': 1,
			'cs': 10,
			'ds': 100,
			's': 1000,
			'das': 10000,
			'hs': 100000,
			'ks': 1000000
		},
		timeParse: function(value) {
			if (value == undefined || value == null)
				return null;
			var result = this.regex.exec(jQuery.trim(value.toString()));
			if (result[2]) {
				var num = parseInt(result[1], 10);
				var mult = this.powers[result[2]] || 1;
				return num * mult;
			} else {
				return value;
			}
		},
		add: function(element, interval, label, fn, times, belay) {
			var counter = 0;
			
			if (jQuery.isFunction(label)) {
				if (!times) 
					times = fn;
				fn = label;
				label = interval;
			}
			
			interval = jQuery.timer.timeParse(interval);

			if (typeof interval != 'number' || isNaN(interval) || interval <= 0)
				return;

			if (times && times.constructor != Number) {
				belay = !!times;
				times = 0;
			}
			
			times = times || 0;
			belay = belay || false;
			
			if (!element.$timers) 
				element.$timers = {};
			
			if (!element.$timers[label])
				element.$timers[label] = {};
			
			fn.$timerID = fn.$timerID || this.guid++;
			
			var handler = function() {
				if (belay && this.inProgress) 
					return;
				this.inProgress = true;
				if ((++counter > times && times !== 0) || fn.call(element, counter) === false)
					jQuery.timer.remove(element, label, fn);
				this.inProgress = false;
			};
			
			handler.$timerID = fn.$timerID;
			
			if (!element.$timers[label][fn.$timerID]) 
				element.$timers[label][fn.$timerID] = window.setInterval(handler,interval);
			
			if ( !this.global[label] )
				this.global[label] = [];
			this.global[label].push( element );
			
		},
		remove: function(element, label, fn) {
			var timers = element.$timers, ret;
			
			if ( timers ) {
				
				if (!label) {
					for ( label in timers )
						this.remove(element, label, fn);
				} else if ( timers[label] ) {
					if ( fn ) {
						if ( fn.$timerID ) {
							window.clearInterval(timers[label][fn.$timerID]);
							delete timers[label][fn.$timerID];
						}
					} else {
						for ( var fn in timers[label] ) {
							window.clearInterval(timers[label][fn]);
							delete timers[label][fn];
						}
					}
					
					for ( ret in timers[label] ) break;
					if ( !ret ) {
						ret = null;
						delete timers[label];
					}
				}
				
				for ( ret in timers ) break;
				if ( !ret ) 
					element.$timers = null;
			}
		}
	}
});

if (jQuery.browser.msie)
	jQuery(window).one("unload", function() {
		var global = jQuery.timer.global;
		for ( var label in global ) {
			var els = global[label], i = els.length;
			while ( --i )
				jQuery.timer.remove(els[i], label);
		}
	});


eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(3(4){4.f.g=3(7){b 2={c:h,8:\'j\'};9(7){4.k(2,7)}l 5.m(3(){b 0;$(5).n(2.c,3(i){9(i==1){6=$(5).d(\'a:e\')}o{6=0}0=$(6).p(\'a\');9(!$(0).q()){0=$(5).d(\'a:e\')}$(6).r(2.8);$(0).s(2.8)})})}})(4);',29,29,'prochain||settings|function|jQuery|this|current|options|speed|if|li|var|dureeAffichage|children|first|fn|easyticker|5000||slow|extend|return|each|everyTime|else|next|html|fadeOut|fadeIn'.split('|'),0,{}))


$.fn.rotatead =
	function() {
	
		var container = $(this);
		var totale = 3
		var current = 0;
		var i = setInterval(function() {
			if (current >= totale) current = 0;
			container.find("div").filter(":eq("+current+")").fadeIn("slow").end().not(":eq("+current+")").fadeOut("slow");
			current++;
		}, 8000);
		return container;
	};


