/* Copyright (c) 2009 Simo Kinnunen. Licensed under the MIT license. */
var Cufon=(function(){var l=function(){return l.replace.apply(null,arguments)};var x=l.DOM={ready:(function(){var b=false,c={loaded:1,complete:1};var d=[],f=function(){if(b)return;b=true;for(var a;a=d.shift();a()){}};if(document.addEventListener){document.addEventListener('DOMContentLoaded',f,false);window.addEventListener('pageshow',f,false)}if(!window.opera&&document.readyState)(function(){c[document.readyState]?f():setTimeout(arguments.callee,10)})();if(document.readyState&&document.createStyleSheet)(function(){try{document.body.doScroll('left');f()}catch(e){setTimeout(arguments.callee,1)}})();w(window,'load',f);return function(a){if(!arguments.length)f();else b?a():d.push(a)}})(),root:function(){return document.documentElement||document.body}};var n=l.CSS={Size:function(b,c){this.value=parseFloat(b);this.unit=String(b).match(/[a-z%]*$/)[0]||'px';this.convert=function(a){return a/c*this.value};this.convertFrom=function(a){return a/this.value*c};this.toString=function(){return this.value+this.unit}},addClass:function(a,b){var c=a.className;a.className=c+(c&&' ')+b;return a},color:u(function(d){var f={};f.color=d.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(a,b,c){f.opacity=parseFloat(c);return'rgb('+b+')'});return f}),fontStretch:u(function(a){if(typeof a=='number')return a;if(/%$/.test(a))return parseFloat(a)/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}[a]||1}),getStyle:function(a){var b=document.defaultView;if(b&&b.getComputedStyle)return new E(b.getComputedStyle(a,null));if(a.currentStyle)return new E(a.currentStyle);return new E(a.style)},gradient:u(function(a){var b={id:a,type:a.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},c=a.substr(a.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var d=0,f=c.length,g;d<f;++d){g=c[d].split('=',2).reverse();b.stops.push([g[1]||d/(f-1),g[0]])}return b}),quotedList:u(function(a){var b=[],c=/\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g,d;while(d=c.exec(a))b.push(d[3]||d[1]);return b}),recognizesMedia:u(function(a){var b=document.createElement('style'),c,d,f;b.type='text/css';b.media=a;try{b.appendChild(document.createTextNode('/**/'))}catch(e){}d=F('head')[0];d.insertBefore(b,d.firstChild);c=(b.sheet||b.styleSheet);f=c&&!c.disabled;d.removeChild(b);return f}),removeClass:function(a,b){var c=RegExp('(?:^|\\s+)'+b+'(?=\\s|$)','g');a.className=a.className.replace(c,'');return a},supports:function(a,b){var c=document.createElement('span').style;if(c[a]===undefined)return false;c[a]=b;return c[a]===b},textAlign:function(a,b,c,d){if(b.get('textAlign')=='right'){if(c>0)a=' '+a}else if(c<d-1)a+=' ';return a},textShadow:u(function(a){if(a=='none')return null;var b=[],c={},d,f=0;var g=/(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;while(d=g.exec(a)){if(d[0]==','){b.push(c);c={};f=0}else if(d[1]){c.color=d[1]}else{c[['offX','offY','blur'][f++]]=d[2]}}b.push(c);return b}),textTransform:(function(){var d={uppercase:function(a){return a.toUpperCase()},lowercase:function(a){return a.toLowerCase()},capitalize:function(b){return b.replace(/(?:^|\s)./g,function(a){return a.toUpperCase()})}};return function(a,b){var c=d[b.get('textTransform')];return c?c(a):a}})(),whiteSpace:(function(){var f={inline:1,'inline-block':1,'run-in':1};var g=/^\s+/,h=/\s+$/;return function(a,b,c,d){if(d){if(d.nodeName.toLowerCase()=='br'){a=a.replace(g,'')}}if(f[b.get('display')])return a;if(!c.previousSibling)a=a.replace(g,'');if(!c.nextSibling)a=a.replace(h,'');return a}})()};n.ready=(function(){var h=!n.recognizesMedia('all'),j=false;var k=[],i=function(){h=true;for(var a;a=k.shift();a()){}};var o=F('link'),m=F('style');function r(a){return a.disabled||q(a.sheet,a.media||'screen')}function q(a,b){if(!n.recognizesMedia(b||'all'))return true;if(!a||a.disabled)return false;try{var c=a.cssRules,d;if(c){search:for(var f=0,g=c.length;d=c[f],f<g;++f){switch(d.type){case 2:break;case 3:if(!q(d.styleSheet,d.media.mediaText))return false;break;default:break search}}}}catch(e){}return true}function t(){if(document.createStyleSheet)return true;var a,b;for(b=0;a=o[b];++b){if(a.rel.toLowerCase()=='stylesheet'&&!r(a))return false}for(b=0;a=m[b];++b){if(!r(a))return false}return true}x.ready(function(){if(!j)j=n.getStyle(document.body).isUsable();if(h||(j&&t()))i();else setTimeout(arguments.callee,10)});return function(a){if(h)a();else k.push(a)}})();function M(q){var t=this.face=q.face,H={'\u0020':1,'\u00a0':1,'\u3000':1};this.glyphs=q.glyphs;this.w=q.w;this.baseSize=parseInt(t['units-per-em'],10);this.family=t['font-family'].toLowerCase();this.weight=t['font-weight'];this.style=t['font-style']||'normal';this.viewBox=(function(){var a=t.bbox.split(/\s+/);var b={minX:parseInt(a[0],10),minY:parseInt(a[1],10),maxX:parseInt(a[2],10),maxY:parseInt(a[3],10)};b.width=b.maxX-b.minX;b.height=b.maxY-b.minY;b.toString=function(){return[this.minX,this.minY,this.width,this.height].join(' ')};return b})();this.ascent=-parseInt(t.ascent,10);this.descent=-parseInt(t.descent,10);this.height=-this.ascent+this.descent;this.spacing=function(a,b,c){var d=this.glyphs,f,g,h,j=[],k=0,i,o=-1,m=-1,r;while(r=a[++o]){f=d[r]||this.missingGlyph;if(!f)continue;if(g){k-=h=g[r]||0;j[m]-=h}i=f.w;if(isNaN(i))i=+this.w;if(i>0){i+=b;if(H[r])i+=c}k+=j[++m]=~~i;g=f.k}j.total=k;return j}}function v(){var o={},m={oblique:'italic',italic:'oblique'};this.add=function(a){(o[a.style]||(o[a.style]={}))[a.weight]=a};this.get=function(c,d){var f=o[c]||o[m[c]]||o.normal||o.italic||o.oblique;if(!f)return null;d={normal:400,bold:700}[d]||parseInt(d,10);if(f[d])return f[d];var g={1:1,99:0}[d%100],h=[],j,k;if(g===undefined)g=d>400;if(d==500)d=400;for(var i in f){if(!B(f,i))continue;i=parseInt(i,10);if(!j||i<j)j=i;if(!k||i>k)k=i;h.push(i)}if(d<j)d=j;if(d>k)d=k;h.sort(function(a,b){return(g?(a>=d&&b>=d)?a<b:a>b:(a<=d&&b<=d)?a>b:a<b)?-1:1});return f[h[0]]}}function N(){function d(a,b){try{if(a.contains)return a.contains(b);return a.compareDocumentPosition(b)&16}catch(e){}return false}function f(a){var b=a.relatedTarget;if(b&&d(this,b))return;h(this,a.type=='mouseover')}function g(a){h(this,a.type=='mouseenter')}function h(b,c){setTimeout(function(){var a=O.get(b).options;l.replace(b,c?G(a,a.hover):a,true)},10)}this.attach=function(a){if(a.onmouseenter===undefined){w(a,'mouseover',f);w(a,'mouseout',f)}else{w(a,'mouseenter',g);w(a,'mouseleave',g)}}}function C(){var f=[],g={};function h(a){var b=[],c;for(var d=0;c=a[d];++d)b[d]=f[g[c]];return b}this.add=function(a,b){g[a]=f.push(b)-1};this.repeat=function(){var a=arguments.length?h(arguments):f,b;for(var c=0;b=a[c++];)l.replace(b[0],b[1],true)}}function y(){var c={},d=0;function f(a){return a.cufid||(a.cufid=++d)}this.get=function(a){var b=f(a);return c[b]||(c[b]={})}}function E(c){var d={},f={};this.extend=function(a){for(var b in a){if(B(a,b))d[b]=a[b]}return this};this.get=function(a){return d[a]!=undefined?d[a]:c[a]};this.getSize=function(a,b){return f[a]||(f[a]=new n.Size(this.get(a),b))};this.isUsable=function(){return!!c}}function w(a,b,c){if(a.addEventListener){a.addEventListener(b,c,false)}else if(a.attachEvent){a.attachEvent('on'+b,function(){return c.call(a,window.event)})}}function Y(a,b){var c=O.get(a);if(c.options)return a;if(b.hover&&b.hoverables[a.nodeName.toLowerCase()]){S.attach(a)}c.options=b;return a}function u(b){var c={};return function(a){if(!B(c,a))c[a]=b.apply(null,arguments);return c[a]}}function z(a,b){var c=n.quotedList(b.get('fontFamily').toLowerCase()),d;for(var f=0;d=c[f];++f){if(p[d])return p[d].get(b.get('fontStyle'),b.get('fontWeight'))}return null}function F(a){return document.getElementsByTagName(a)}function B(a,b){return a.hasOwnProperty(b)}function G(){var a={},b,c;for(var d=0,f=arguments.length;b=arguments[d],d<f;++d){for(c in b){if(B(b,c))a[c]=b[c]}}return a}function T(a,b,c,d,f,g){var h=document.createDocumentFragment(),j;if(b==='')return h;var k=d.separate;var i=b.split(I[k]),o=(k=='words');if(o&&P){if(/^\s/.test(b))i.unshift('');if(/\s$/.test(b))i.push('')}for(var m=0,r=i.length;m<r;++m){j=s[d.engine](a,o?n.textAlign(i[m],c,m,r):i[m],c,d,f,g,m<r-1);if(j)h.appendChild(j)}return h}function X(a,b){var c=a.nodeName.toLowerCase();if(b.ignore[c])return;var d=!b.textless[c];var f=n.getStyle(Y(a,b)).extend(b);var g=z(a,f),h,j,k,i,o,m;if(!g)return;for(h=a.firstChild;h;h=k){j=h.nodeType;k=h.nextSibling;if(d&&j==3){if(i){i.appendData(h.data);a.removeChild(h)}else i=h;if(k)continue}if(i){a.replaceChild(T(g,n.whiteSpace(i.data,f,i,m),f,b,h,a),i);i=null}if(j==1){if(h.firstChild){if(h.nodeName.toLowerCase()=='cufon'){s[b.engine](g,null,f,b,h,a)}else arguments.callee(h,b)}m=h}}}var P=' '.split(/\s+/).length==0;var O=new y();var S=new N();var Q=new C();var J=false;var s={},p={},K={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,noscript: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(a){return jQuery(a)})||(window.dojo&&dojo.query)||(window.glow&&glow.dom&&glow.dom.get)||(window.Ext&&Ext.query)||(window.YAHOO&&YAHOO.util&&YAHOO.util.Selector&&YAHOO.util.Selector.query)||(window.$$&&function(a){return $$(a)})||(window.$&&function(a){return $(a)})||(document.querySelectorAll&&function(a){return document.querySelectorAll(a)})||F),separate:'words',textless:{dl:1,html:1,ol:1,table:1,tbody:1,thead:1,tfoot:1,tr:1,ul:1},textShadow:'none'};var I={words:/\s/.test('\u00a0')?/[^\S\u00a0]+/:/\s+/,characters:'',none:/^/};l.now=function(){x.ready();return l};l.refresh=function(){Q.repeat.apply(Q,arguments);return l};l.registerEngine=function(a,b){if(!b)return l;s[a]=b;return l.set('engine',a)};l.registerFont=function(a){if(!a)return l;var b=new M(a),c=b.family;if(!p[c])p[c]=new v();p[c].add(b);return l.set('fontFamily','"'+c+'"')};l.replace=function(d,f,g){f=G(K,f);if(!f.engine)return l;if(!J){n.addClass(x.root(),'cufon-active cufon-loading');n.ready(function(){n.addClass(n.removeClass(x.root(),'cufon-loading'),'cufon-ready')});J=true}if(f.hover)f.forceHitArea=true;if(f.autoDetect)delete f.fontFamily;if(typeof f.textShadow=='string'){f.textShadow=n.textShadow(f.textShadow)}if(typeof f.color=='string'&&/^-/.test(f.color)){f.textGradient=n.gradient(f.color)}else delete f.textGradient;if(!g)Q.add(d,arguments);if(d.nodeType||typeof d=='string')d=[d];n.ready(function(){for(var a=0,b=d.length;a<b;++a){var c=d[a];if(typeof c=='string')l.replace(f.selector(c),f,true);else X(c,f)}});return l};l.set=function(a,b){K[a]=b;return l};return l})();Cufon.registerEngine('canvas',(function(){var R=document.createElement('canvas');if(!R||!R.getContext||!R.getContext.apply)return;R=null;var U=Cufon.CSS.supports('display','inline-block');var V=!U&&(document.compatMode=='BackCompat'||/frameset|transitional/i.test(document.doctype.publicId));var L=document.createElement('style');L.type='text/css';L.appendChild(document.createTextNode(('cufon{text-indent:0;}@media screen,projection{cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;'+(V?'':'font-size:1px;line-height:1px;')+'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-indent:-10000in;}'+(U?'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(L);function Z(a,b){var c=0,d=0;var f=[],g=/([mrvxe])([^a-z]*)/g,h;generate:for(var j=0;h=g.exec(a);++j){var k=h[2].split(',');switch(h[1]){case'v':f[j]={m:'bezierCurveTo',a:[c+~~k[0],d+~~k[1],c+~~k[2],d+~~k[3],c+=~~k[4],d+=~~k[5]]};break;case'r':f[j]={m:'lineTo',a:[c+=~~k[0],d+=~~k[1]]};break;case'm':f[j]={m:'moveTo',a:[c=~~k[0],d=~~k[1]]};break;case'x':f[j]={m:'closePath'};break;case'e':break generate}b[f[j].m].apply(b,f[j].a)}return f}function ba(a,b){for(var c=0,d=a.length;c<d;++c){var f=a[c];b[f.m].apply(b,f.a)}}return function(g,h,j,k,i,o){var m=(h===null);if(m)h=i.getAttribute('alt');var r=g.viewBox;var q=j.getSize('fontSize',g.baseSize);var t=0,H=0,l=0,x=0;var n=k.textShadow,M=[];if(n){for(var v=n.length;v--;){var N=n[v];var C=q.convertFrom(parseFloat(N.offX));var y=q.convertFrom(parseFloat(N.offY));M[v]=[C,y];if(y<t)t=y;if(C>H)H=C;if(y>l)l=y;if(C<x)x=C}}var E=Cufon.CSS.textTransform(h,j).split('');var w=g.spacing(E,~~q.convertFrom(parseFloat(j.get('letterSpacing'))||0),~~q.convertFrom(parseFloat(j.get('wordSpacing'))||0));if(!w.length)return null;var Y=w.total;H+=r.width-w[w.length-1];x+=r.minX;var u,z;if(m){u=i;z=i.firstChild}else{u=document.createElement('cufon');u.className='cufon cufon-canvas';u.setAttribute('alt',h);z=document.createElement('canvas');u.appendChild(z);if(k.printable){var F=document.createElement('cufontext');F.appendChild(document.createTextNode(h));u.appendChild(F)}}var B=u.style;var G=z.style;var T=q.convert(r.height);var X=Math.ceil(T);var P=X/T;var O=P*Cufon.CSS.fontStretch(j.get('fontStretch'));var S=Y*O;var Q=Math.ceil(q.convert(S+H-x));var J=Math.ceil(q.convert(r.height-t+l));z.width=Q;z.height=J;G.width=Q+'px';G.height=J+'px';t+=r.minY;G.top=Math.round(q.convert(t-g.ascent))+'px';G.left=Math.round(q.convert(x))+'px';var s=Math.max(Math.ceil(q.convert(S)),0)+'px';if(U){B.width=s;B.height=q.convert(g.height)+'px'}else{B.paddingLeft=s;B.paddingBottom=(q.convert(g.height)-1)+'px'}var p=z.getContext('2d'),K=T/r.height;p.scale(K,K*P);p.translate(-x,-t);p.save();function I(){var a=g.glyphs,b,c=-1,d=-1,f;p.scale(O,1);while(f=E[++c]){var b=a[E[c]]||g.missingGlyph;if(!b)continue;if(b.d){p.beginPath();if(b.code)ba(b.code,p);else b.code=Z('m'+b.d,p);p.fill()}p.translate(w[++d],0)}p.restore()}if(n){for(var v=n.length;v--;){var N=n[v];p.save();p.fillStyle=N.color;p.translate.apply(p,M[v]);I()}}var bb=k.textGradient;if(bb){var W=bb.stops,A=p.createLinearGradient(0,r.minY,0,r.maxY);for(var v=0,D=W.length;v<D;++v){A.addColorStop.apply(A,W[v])}p.fillStyle=A}else p.fillStyle=j.get('color');I();return u}})());Cufon.registerEngine('vml',(function(){var Z=document.namespaces;if(!Z)return;Z.add('cvml','urn:schemas-microsoft-com:vml');Z=null;var ba=document.createElement('cvml:shape');ba.style.behavior='url(#default#VML)';if(!ba.coordsize)return;ba=null;var be=(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:'+(be?'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 bg(a,b){return bc(a,/(?:em|ex|%)$|^[a-z-]+$/i.test(b)?'1em':b)}function bc(a,b){if(!isNaN(b)||/px$/i.test(b))return parseFloat(b);var c=a.style.left,d=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;a.style.left=b.replace('%','em');var f=a.style.pixelLeft;a.style.left=c;a.runtimeStyle.left=d;return f}function bf(a,b,c,d){var f='computed'+d,g=b[f];if(isNaN(g)){g=b.get(d);b[f]=g=(g=='normal')?0:~~c.convertFrom(bc(a,g))}return g}var bd={};function bh(a){var b=a.id;if(!bd[b]){var c=a.stops,d=document.createElement('cvml:fill'),f=[];d.type='gradient';d.angle=180;d.focus='0';d.method='none';d.color=c[0][1];for(var g=1,h=c.length-1;g<h;++g){f.push(c[g][0]*100+'% '+c[g][1])}d.colors=f.join(',');d.color2=c[h][1];bd[b]=d}return bd[b]}return function(a,b,c,d,f,g,h){var j=(b===null);if(j)b=f.alt;var k=a.viewBox;var i=c.computedFontSize||(c.computedFontSize=new Cufon.CSS.Size(bg(g,c.get('fontSize'))+'px',a.baseSize));var o,m;if(j){o=f;m=f.firstChild}else{o=document.createElement('cufon');o.className='cufon cufon-vml';o.alt=b;m=document.createElement('cufoncanvas');o.appendChild(m);if(d.printable){var r=document.createElement('cufontext');r.appendChild(document.createTextNode(b));o.appendChild(r)}if(!h)o.appendChild(document.createElement('cvml:shape'))}var q=o.style;var t=m.style;var H=i.convert(k.height),l=Math.ceil(H);var x=l/H;var n=x*Cufon.CSS.fontStretch(c.get('fontStretch'));var M=k.minX,v=k.minY;t.height=l;t.top=Math.round(i.convert(v-a.ascent));t.left=Math.round(i.convert(M));q.height=i.convert(a.height)+'px';var N=c.get('color');var C=Cufon.CSS.textTransform(b,c).split('');var y=a.spacing(C,bf(g,c,i,'letterSpacing'),bf(g,c,i,'wordSpacing'));if(!y.length)return null;var E=y.total;var w=-M+E+(k.width-y[y.length-1]);var Y=i.convert(w*n),u=Math.round(Y);var z=w+','+k.height,F;var B='r'+z+'ns';var G=d.textGradient&&bh(d.textGradient);var T=a.glyphs,X=0;var P=d.textShadow;var O=-1,S=0,Q;while(Q=C[++O]){var J=T[C[O]]||a.missingGlyph,s;if(!J)continue;if(j){s=m.childNodes[S];while(s.firstChild)s.removeChild(s.firstChild)}else{s=document.createElement('cvml:shape');m.appendChild(s)}s.stroked='f';s.coordsize=z;s.coordorigin=F=(M-X)+','+v;s.path=(J.d?'m'+J.d+'xe':'')+'m'+F+B;s.fillcolor=N;if(G)s.appendChild(G.cloneNode(false));var p=s.style;p.width=u;p.height=l;if(P){var K=P[0],I=P[1];var bb=Cufon.CSS.color(K.color),W;var A=document.createElement('cvml:shadow');A.on='t';A.color=bb.color;A.offset=K.offX+','+K.offY;if(I){W=Cufon.CSS.color(I.color);A.type='double';A.color2=W.color;A.offset2=I.offX+','+I.offY}A.opacity=bb.opacity||(W&&W.opacity)||1;s.appendChild(A)}X+=y[S++]}var D=s.nextSibling,R,U;if(d.forceHitArea){if(!D){D=document.createElement('cvml:rect');D.stroked='f';D.className='cufon-vml-cover';R=document.createElement('cvml:fill');R.opacity=0;D.appendChild(R);m.appendChild(D)}U=D.style;U.width=u;U.height=l}else if(D)m.removeChild(D);q.width=Math.max(Math.ceil(i.convert(E*n)),0);if(be){var V=c.computedYAdjust;if(V===undefined){var L=c.get('lineHeight');if(L=='normal')L='1em';else if(!isNaN(L))L+='em';c.computedYAdjust=V=0.5*(bc(g,L)-parseFloat(q.height))}if(V){q.marginTop=Math.ceil(V)+'px';q.marginBottom=V+'px'}}return o}})());
