/*!
* Copyright (c) 2010 Simo Kinnunen.
* Licensed under the MIT license.
*
* @version ${Version}
*/
var Cufon = (function () { var d = function () { return d.replace.apply(null, arguments) }; var u = d.DOM = { ready: (function () { var L = false, N = { loaded: 1, complete: 1 }; var K = [], M = function () { if (L) { return } L = true; for (var O; O = K.shift(); O()) { } }; if (document.addEventListener) { document.addEventListener("DOMContentLoaded", M, false); window.addEventListener("pageshow", M, false) } if (!window.opera && document.readyState) { (function () { N[document.readyState] ? M() : setTimeout(arguments.callee, 10) })() } if (document.readyState && document.createStyleSheet) { (function () { try { document.body.doScroll("left"); M() } catch (O) { setTimeout(arguments.callee, 1) } })() } h(window, "load", M); return function (O) { if (!arguments.length) { M() } else { L ? O() : K.push(O) } } })(), root: function () { return document.documentElement || document.body } }; var p = d.CSS = { Size: function (L, K) { this.value = parseFloat(L); this.unit = String(L).match(/[a-z%]*$/)[0] || "px"; this.convert = function (M) { return M / K * this.value }; this.convertFrom = function (M) { return M / this.value * K }; this.toString = function () { return this.value + this.unit } }, addClass: function (L, K) { var M = L.className; L.className = M + (M && " ") + K; return L }, color: f(function (L) { var K = {}; K.color = L.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function (N, M, O) { K.opacity = parseFloat(O); return "rgb(" + M + ")" }); return K }), fontStretch: f(function (K) { if (typeof K == "number") { return K } if (/%$/.test(K)) { return parseFloat(K) / 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}[K] || 1 }), getStyle: function (L) { var K = document.defaultView; if (K && K.getComputedStyle) { return new z(K.getComputedStyle(L, null)) } if (L.currentStyle) { return new z(L.currentStyle) } return new z(L.style) }, gradient: f(function (O) { var P = { id: O, type: O.match(/^-([a-z]+)-gradient\(/)[1], stops: [] }, L = O.substr(O.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig); for (var N = 0, K = L.length, M; N < K; ++N) { M = L[N].split("=", 2).reverse(); P.stops.push([M[1] || N / (K - 1), M[0]]) } return P }), quotedList: f(function (N) { var M = [], L = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, K; while (K = L.exec(N)) { M.push(K[3] || K[1]) } return M }), recognizesMedia: f(function (P) { var N = document.createElement("style"), M, L, K; N.type = "text/css"; N.media = P; try { N.appendChild(document.createTextNode("/**/")) } catch (O) { } L = e("head")[0]; L.insertBefore(N, L.firstChild); M = (N.sheet || N.styleSheet); K = M && !M.disabled; L.removeChild(N); return K }), removeClass: function (M, L) { var K = RegExp("(?:^|\\s+)" + L + "(?=\\s|$)", "g"); M.className = M.className.replace(K, ""); return M }, supports: function (M, L) { var K = document.createElement("span").style; if (K[M] === undefined) { return false } K[M] = L; return K[M] === L }, textAlign: function (N, M, K, L) { if (M.get("textAlign") == "right") { if (K > 0) { N = " " + N } } else { if (K < L - 1) { N += " " } } return N }, textShadow: f(function (O) { if (O == "none") { return null } var N = [], P = {}, K, L = 0; var M = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig; while (K = M.exec(O)) { if (K[0] == ",") { N.push(P); P = {}; L = 0 } else { if (K[1]) { P.color = K[1] } else { P[["offX", "offY", "blur"][L++]] = K[2] } } } N.push(P); return N }), textTransform: (function () { var K = { uppercase: function (L) { return L.toUpperCase() }, lowercase: function (L) { return L.toLowerCase() }, capitalize: function (L) { return L.replace(/(?:^|\s)./g, function (M) { return M.toUpperCase() }) } }; return function (N, M) { var L = K[M.get("textTransform")]; return L ? L(N) : N } })(), whiteSpace: (function () { var M = { inline: 1, "inline-block": 1, "run-in": 1 }; var L = /^\s+/, K = /\s+$/; return function (Q, O, P, N, R) { if (R) { return Q.replace(L, "").replace(K, "") } if (N) { if (N.nodeName.toLowerCase() == "br") { Q = Q.replace(L, "") } } if (M[O.get("display")]) { return Q } if (!P.previousSibling) { Q = Q.replace(L, "") } if (!P.nextSibling) { Q = Q.replace(K, "") } return Q } })() }; p.ready = (function () { var K = !p.recognizesMedia("all"), N = false; var M = [], Q = function () { K = true; for (var T; T = M.shift(); T()) { } }; var R = e("link"), S = e("style"); function L(T) { return T.disabled || P(T.sheet, T.media || "screen") } function P(V, Y) { if (!p.recognizesMedia(Y || "all")) { return true } if (!V || V.disabled) { return false } try { var Z = V.cssRules, X; if (Z) { search: for (var U = 0, T = Z.length; X = Z[U], U < T; ++U) { switch (X.type) { case 2: break; case 3: if (!P(X.styleSheet, X.media.mediaText)) { return false } break; default: break search } } } } catch (W) { } return true } function O() { if (document.createStyleSheet) { return true } var U, T; for (T = 0; U = R[T]; ++T) { if (U.rel.toLowerCase() == "stylesheet" && !L(U)) { return false } } for (T = 0; U = S[T]; ++T) { if (!L(U)) { return false } } return true } u.ready(function () { if (!N) { N = p.getStyle(document.body).isUsable() } if (K || (N && O())) { Q() } else { setTimeout(arguments.callee, 10) } }); return function (T) { if (K) { T() } else { M.push(T) } } })(); function C(M) { var L = this.face = M.face, K = { "\u0020": 1, "\u00a0": 1, "\u3000": 1 }; this.glyphs = (function (P) { var O, N = { "\u2011": "\u002d", "\u00ad": "\u2011" }; for (O in N) { if (!j(N, O)) { continue } if (!P[O]) { P[O] = P[N[O]] } } return P })(M.glyphs); this.w = M.w; this.baseSize = parseInt(L["units-per-em"], 10); this.family = L["font-family"].toLowerCase(); this.weight = L["font-weight"]; this.style = L["font-style"] || "normal"; this.viewBox = (function () { var O = L.bbox.split(/\s+/); var N = { minX: parseInt(O[0], 10), minY: parseInt(O[1], 10), maxX: parseInt(O[2], 10), maxY: parseInt(O[3], 10) }; N.width = N.maxX - N.minX; N.height = N.maxY - N.minY; N.toString = function () { return [this.minX, this.minY, this.width, this.height].join(" ") }; return N })(); this.ascent = -parseInt(L.ascent, 10); this.descent = -parseInt(L.descent, 10); this.height = -this.ascent + this.descent; this.spacing = function (U, X, N) { var Y = this.glyphs, V, T, P, Z = [], O = 0, W, S = -1, R = -1, Q; while (Q = U[++S]) { V = Y[Q] || this.missingGlyph; if (!V) { continue } if (T) { O -= P = T[Q] || 0; Z[R] -= P } W = V.w; if (isNaN(W)) { W = +this.w } if (W > 0) { W += X; if (K[Q]) { W += N } } O += Z[++R] = ~ ~W; T = V.k } Z.total = O; return Z } } function r() { var L = {}, K = { oblique: "italic", italic: "oblique" }; this.add = function (M) { (L[M.style] || (L[M.style] = {}))[M.weight] = M }; this.get = function (Q, R) { var P = L[Q] || L[K[Q]] || L.normal || L.italic || L.oblique; if (!P) { return null } R = { normal: 400, bold: 700}[R] || parseInt(R, 10); if (P[R]) { return P[R] } var N = { 1: 1, 99: 0}[R % 100], T = [], O, M; if (N === undefined) { N = R > 400 } if (R == 500) { R = 400 } for (var S in P) { if (!j(P, S)) { continue } S = parseInt(S, 10); if (!O || S < O) { O = S } if (!M || S > M) { M = S } T.push(S) } if (R < O) { R = O } if (R > M) { R = M } T.sort(function (V, U) { return (N ? (V >= R && U >= R) ? V < U : V > U : (V <= R && U <= R) ? V > U : V < U) ? -1 : 1 }); return P[T[0]] } } function m() { function M(O, Q) { try { if (O.contains) { return O.contains(Q) } return O.compareDocumentPosition(Q) & 16 } catch (P) { } return false } function K(P) { var O = P.relatedTarget; if (O && M(this, O)) { return } L(this, P.type == "mouseover") } function N(O) { L(this, O.type == "mouseenter") } function L(O, P) { setTimeout(function () { var Q = c.get(O).options; d.replace(O, P ? B(Q, Q.hover) : Q, true) }, 10) } this.attach = function (O) { if (O.onmouseenter === undefined) { h(O, "mouseover", K); h(O, "mouseout", K) } else { h(O, "mouseenter", N); h(O, "mouseleave", N) } } } function v() { var L = [], M = {}; function K(Q) { var N = [], P; for (var O = 0; P = Q[O]; ++O) { N[O] = L[M[P]] } return N } this.add = function (O, N) { M[O] = L.push(N) - 1 }; this.repeat = function () { var N = arguments.length ? K(arguments) : L, O; for (var P = 0; O = N[P++]; ) { d.replace(O[0], O[1], true) } } } function y() { var M = {}, K = 0; function L(N) { return N.cufid || (N.cufid = ++K) } this.get = function (N) { var O = L(N); return M[O] || (M[O] = {}) } } function z(K) { var M = {}, L = {}; this.extend = function (N) { for (var O in N) { if (j(N, O)) { M[O] = N[O] } } return this }; this.get = function (N) { return M[N] != undefined ? M[N] : K[N] }; this.getSize = function (O, N) { return L[O] || (L[O] = new p.Size(this.get(O), N)) }; this.isUsable = function () { return !!K } } function h(L, K, M) { if (L.addEventListener) { L.addEventListener(K, M, false) } else { if (L.attachEvent) { L.attachEvent("on" + K, function () { return M.call(L, window.event) }) } } } function q(L, K) { var M = c.get(L); if (M.options) { return L } if (K.hover && K.hoverables[L.nodeName.toLowerCase()]) { t.attach(L) } M.options = K; return L } function f(K) { var L = {}; return function (M) { if (!j(L, M)) { L[M] = K.apply(null, arguments) } return L[M] } } function s(O, N) { var K = p.quotedList(N.get("fontFamily").toLowerCase()), M; for (var L = 0; M = K[L]; ++L) { if (F[M]) { return F[M].get(N.get("fontStyle"), N.get("fontWeight")) } } return null } function e(K) { return document.getElementsByTagName(K) } function j(L, K) { return L.hasOwnProperty(K) } function B() { var L = {}, K, O; for (var N = 0, M = arguments.length; K = arguments[N], N < M; ++N) { for (O in K) { if (j(K, O)) { L[O] = K[O] } } } return L } function I(N, V, L, W, O, M) { var T = document.createDocumentFragment(), Q; if (V === "") { return T } var U = W.separate; var R = V.split(x[U]), K = (U == "words"); if (K && w) { if (/^\s/.test(V)) { R.unshift("") } if (/\s$/.test(V)) { R.push("") } } for (var S = 0, P = R.length; S < P; ++S) { Q = b[W.engine](N, K ? p.textAlign(R[S], L, S, P) : R[S], L, W, O, M, S < P - 1); if (Q) { T.appendChild(Q) } } return T } function H(L, N) { var ac = L.nodeName.toLowerCase(); if (N.ignore[ac]) { return } if (N.onBeforeReplace) { N.onBeforeReplace(L, N) } var ab = !N.textless[ac], Y = (N.trim === "simple"); var Z = p.getStyle(q(L, N)).extend(N); if (parseFloat(Z.get("fontSize")) === 0) { return } var U = s(L, Z), X, O, V, Q, T, aa; var W = N.softHyphens, S = false, P, R, M = /\u00ad/g; var K = N.modifyText; if (!U) { return } for (X = L.firstChild; X; X = V) { O = X.nodeType; V = X.nextSibling; if (ab && O == 3) { if (W && L.nodeName.toLowerCase() != n) { P = X.data.indexOf("\u00ad"); if (P >= 0) { X.splitText(P); V = X.nextSibling; V.deleteData(0, 1); R = document.createElement(n); R.appendChild(document.createTextNode("\u00ad")); L.insertBefore(R, V); V = R; S = true } } if (Q) { Q.appendData(X.data); L.removeChild(X) } else { Q = X } if (V) { continue } } if (Q) { T = Q.data; if (!W) { T = T.replace(M, "") } T = p.whiteSpace(T, Z, Q, aa, Y); if (K) { T = K(T, Q, L, N) } L.replaceChild(I(U, T, Z, N, X, L), Q); Q = null } if (O == 1) { if (X.firstChild) { if (X.nodeName.toLowerCase() == "cufon") { b[N.engine](U, null, Z, N, X, L) } else { arguments.callee(X, N) } } aa = X } } if (W && S) { D(L); if (!k) { h(window, "resize", i) } k = true } if (N.onAfterReplace) { N.onAfterReplace(L, N) } } function D(L) { var Q, R, S, P, K, O, M, N; Q = L.getElementsByTagName(n); for (N = 0; R = Q[N]; ++N) { R.className = g; P = S = R.parentNode; if (P.nodeName.toLowerCase() != o) { K = document.createElement(o); K.appendChild(R.previousSibling); S.insertBefore(K, R); K.appendChild(R) } else { P = P.parentNode; if (P.nodeName.toLowerCase() == o) { S = P.parentNode; while (P.firstChild) { S.insertBefore(P.firstChild, P) } S.removeChild(P) } } } for (N = 0; R = Q[N]; ++N) { R.className = ""; P = R.parentNode; S = P.parentNode; O = P.nextSibling || S.nextSibling; M = (O.nodeName.toLowerCase() == o) ? P : R.previousSibling; if (M.offsetTop >= O.offsetTop) { R.className = g; if (M.offsetTop < O.offsetTop) { K = document.createElement(o); S.insertBefore(K, P); K.appendChild(P); K.appendChild(O) } } } } function i() { if (A) { return } p.addClass(u.root(), J); clearTimeout(a); a = setTimeout(function () { A = true; p.removeClass(u.root(), J); D(document); A = false }, 100) } var w = " ".split(/\s+/).length == 0; var o = "cufonglue"; var n = "cufonshy"; var g = "cufon-shy-disabled"; var J = "cufon-viewport-resizing"; var c = new y(); var t = new m(); var G = new v(); var l = false; var k = false; var a; var A = false; var b = {}, F = {}, E = { 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 }, modifyText: null, onAfterReplace: null, onBeforeReplace: null, printable: true, selector: (window.Sizzle || (window.jQuery && function (K) { return jQuery(K) }) || (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 (K) { return $$(K) }) || (window.$ && function (K) { return $(K) }) || (document.querySelectorAll && function (K) { return document.querySelectorAll(K) }) || e), separate: "words", softHyphens: true, textless: { dl: 1, html: 1, ol: 1, table: 1, tbody: 1, thead: 1, tfoot: 1, tr: 1, ul: 1 }, textShadow: "none", trim: "advanced" }; var x = { words: /\s/.test("\u00a0") ? /[^\S\u00a0]+/ : /\s+/, characters: "", none: /^/ }; d.now = function () { u.ready(); return d }; d.refresh = function () { G.repeat.apply(G, arguments); return d }; d.registerEngine = function (L, K) { if (!K) { return d } b[L] = K; return d.set("engine", L) }; d.registerFont = function (M) { if (!M) { return d } var K = new C(M), L = K.family; if (!F[L]) { F[L] = new r() } F[L].add(K); return d.set("fontFamily", '"' + L + '"') }; d.replace = function (M, L, K) { L = B(E, L); if (!L.engine) { return d } if (!l) { p.addClass(u.root(), "cufon-active cufon-loading"); p.ready(function () { p.addClass(p.removeClass(u.root(), "cufon-loading"), "cufon-ready") }); l = true } if (L.hover) { L.forceHitArea = true } if (L.autoDetect) { delete L.fontFamily } if (typeof L.textShadow == "string") { L.textShadow = p.textShadow(L.textShadow) } if (typeof L.color == "string" && /^-/.test(L.color)) { L.textGradient = p.gradient(L.color) } else { delete L.textGradient } if (!K) { G.add(M, arguments) } if (M.nodeType || typeof M == "string") { M = [M] } p.ready(function () { for (var O = 0, N = M.length; O < N; ++O) { var P = M[O]; if (typeof P == "string") { d.replace(L.selector(P), L, true) } else { H(P, L) } } }); return d }; d.set = function (K, L) { E[K] = L; return d }; return d })(); 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;text-align:left;}cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}cufonglue{white-space:nowrap;display:inline-block;}.cufon-viewport-resizing cufonglue{white-space:normal;}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 (!isNaN(m) || /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 = "none"; 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;text-align:left;text-indent:-10000in;}" + (a ? "cufon canvas{position:relative;}" : "cufon canvas{position:absolute;}") + "cufonshy.cufon-shy-disabled,.cufon-viewport-resizing cufonshy{display:none;}cufonglue{white-space:nowrap;display:inline-block;}.cufon-viewport-resizing cufonglue{white-space:normal;}}@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 } })());
