/*
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 */
//var Cufon = (function () { var K = function () { return K.replace.apply(null, arguments) }; var U = K.DOM = { ready: (function () { var Z = false, b = { loaded: 1, complete: 1 }; var Y = [], a = function () { if (Z) { return } Z = true; for (var c; c = Y.shift(); c()) { } }; if (document.addEventListener) { document.addEventListener("DOMContentLoaded", a, false); window.addEventListener("pageshow", a, false) } if (!window.opera && document.readyState) { (function () { b[document.readyState] ? a() : setTimeout(arguments.callee, 10) })() } if (document.readyState && document.createStyleSheet) { (function () { try { document.body.doScroll("left"); a() } catch (c) { setTimeout(arguments.callee, 1) } })() } O(window, "load", a); return function (c) { if (!arguments.length) { a() } else { Z ? c() : Y.push(c) } } })() }; var L = K.CSS = { Size: function (Z, Y) { this.value = parseFloat(Z); this.unit = String(Z).match(/[a-z%]*$/)[0] || "px"; this.convert = function (a) { return a / Y * this.value }; this.convertFrom = function (a) { return a / this.value * Y }; this.toString = function () { return this.value + this.unit } }, getStyle: function (Z) { var Y = document.defaultView; if (Y && Y.getComputedStyle) { return new A(Y.getComputedStyle(Z, null)) } if (Z.currentStyle) { return new A(Z.currentStyle) } return new A(Z.style) }, ready: (function () { var a = false; var Z = [], b = function () { a = true; for (var d; d = Z.shift(); d()) { } }; var Y = Object.prototype.propertyIsEnumerable ? F("style") : { length: 0 }; var c = F("link"); U.ready(function () { var g = 0, f; for (var e = 0, d = c.length; f = c[e], e < d; ++e) { if (!f.disabled && f.rel.toLowerCase() == "stylesheet") { ++g } } if (document.styleSheets.length >= Y.length + g) { b() } else { setTimeout(arguments.callee, 10) } }); return function (d) { if (a) { d() } else { Z.push(d) } } })(), supports: function (a, Z) { var Y = document.createElement("span").style; if (Y[a] === undefined) { return false } Y[a] = Z; return Y[a] === Z }, textAlign: function (b, a, Y, Z) { if (a.get("textAlign") == "right") { if (Y > 0) { b = " " + b } } else { if (Y < Z - 1) { b += " " } } return b }, textDecoration: function (d, c) { if (!c) { c = this.getStyle(d) } var Z = { underline: null, overline: null, "line-through": null }; for (var Y = d; Y.parentNode && Y.parentNode.nodeType == 1; ) { var b = true; for (var a in Z) { if (Z[a]) { continue } if (c.get("textDecoration").indexOf(a) != -1) { Z[a] = c.get("color") } b = false } if (b) { break } c = this.getStyle(Y = Y.parentNode) } return Z }, textShadow: I(function (c) { if (c == "none") { return null } var b = [], d = {}, Y, Z = 0; var a = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig; while (Y = a.exec(c)) { if (Y[0] == ",") { b.push(d); d = {}, Z = 0 } else { if (Y[1]) { d.color = Y[1] } else { d[["offX", "offY", "blur"][Z++]] = Y[2] } } } b.push(d); return b }), color: I(function (Z) { var Y = {}; Y.color = Z.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function (b, a, c) { Y.opacity = parseFloat(c); return "rgb(" + a + ")" }); return Y }), textTransform: function (Z, Y) { return Z[{ uppercase: "toUpperCase", lowercase: "toLowerCase"}[Y.get("textTransform")] || "toString"]() } }; function Q(Z) { var Y = this.face = Z.face; this.glyphs = Z.glyphs; this.w = Z.w; this.baseSize = parseInt(Y["units-per-em"], 10); this.family = Y["font-family"].toLowerCase(); this.weight = Y["font-weight"]; this.style = Y["font-style"] || "normal"; this.viewBox = (function () { var a = Y.bbox.split(/\s+/); return { minX: parseInt(a[0], 10), minY: parseInt(a[1], 10), width: parseInt(a[2], 10) - parseInt(a[0], 10), height: parseInt(a[3], 10) - parseInt(a[1], 10), toString: function () { return [this.minX, this.minY, this.width, this.height].join(" ") } } })(); this.ascent = -parseInt(Y.ascent, 10); this.descent = -parseInt(Y.descent, 10); this.height = -this.ascent + this.descent } function E() { var Z = {}, Y = { oblique: "italic", italic: "oblique" }; this.add = function (a) { (Z[a.style] || (Z[a.style] = {}))[a.weight] = a }; this.get = function (e, f) { var d = Z[e] || Z[Y[e]] || Z.normal || Z.italic || Z.oblique; if (!d) { return null } f = { normal: 400, bold: 700}[f] || parseInt(f, 10); if (d[f]) { return d[f] } var b = { 1: 1, 99: 0}[f % 100], h = [], c, a; if (b === undefined) { b = f > 400 } if (f == 500) { f = 400 } for (var g in d) { g = parseInt(g, 10); if (!c || g < c) { c = g } if (!a || g > a) { a = g } h.push(g) } if (f < c) { f = c } if (f > a) { f = a } h.sort(function (j, i) { return (b ? (j > f && i > f) ? j < i : j > i : (j < f && i < f) ? j > i : j < i) ? -1 : 1 }); return d[h[0]] } } function P() { function a(c, d) { if (c.contains) { return c.contains(d) } return c.compareDocumentPosition(d) & 16 } function Y(d) { var c = d.relatedTarget; if (!c || a(this, c)) { return } Z(this) } function b(c) { Z(this) } function Z(c) { setTimeout(function () { K.replace(c, D.get(c).options, true) }, 10) } this.attach = function (c) { if (c.onmouseenter === undefined) { O(c, "mouseover", Y); O(c, "mouseout", Y) } else { O(c, "mouseenter", b); O(c, "mouseleave", b) } } } function X() { var a = {}, Y = 0; function Z(b) { return b.cufid || (b.cufid = ++Y) } this.get = function (b) { var c = Z(b); return a[c] || (a[c] = {}) } } function A(Y) { var a = {}, Z = {}; this.get = function (b) { return a[b] != undefined ? a[b] : Y[b] }; this.getSize = function (c, b) { return Z[c] || (Z[c] = new L.Size(this.get(c), b)) }; this.extend = function (b) { for (var c in b) { a[c] = b[c] } return this } } function O(Z, Y, a) { if (Z.addEventListener) { Z.addEventListener(Y, a, false) } else { if (Z.attachEvent) { Z.attachEvent("on" + Y, function () { return a.call(Z, window.event) }) } } } function R(Z, Y) { var a = D.get(Z); if (a.options) { return Z } if (Y.hover && Y.hoverables[Z.nodeName.toLowerCase()]) { B.attach(Z) } a.options = Y; return Z } function I(Y) { var Z = {}; return function (a) { if (!Z.hasOwnProperty(a)) { Z[a] = Y.apply(null, arguments) } return Z[a] } } function C(d, c) { if (!c) { c = L.getStyle(d) } var Z = c.get("fontFamily").split(/\s*,\s*/), b; for (var a = 0, Y = Z.length; a < Y; ++a) { b = Z[a].replace(/^(["'])(.*?)\1$/, "$2").toLowerCase(); if (H[b]) { return H[b].get(c.get("fontStyle"), c.get("fontWeight")) } } return null } function F(Y) { return document.getElementsByTagName(Y) } function G() { var Y = {}, b; for (var a = 0, Z = arguments.length; a < Z; ++a) { for (b in arguments[a]) { Y[b] = arguments[a][b] } } return Y } function M(b, k, Z, m, c, a) { var j = m.separate; if (j == "none") { return W[m.engine].apply(null, arguments) } var h = document.createDocumentFragment(), e; var f = k.split(N[j]), Y = (j == "words"); if (Y && S) { if (/^\s/.test(k)) { f.unshift("") } if (/\s$/.test(k)) { f.push("") } } for (var g = 0, d = f.length; g < d; ++g) { e = W[m.engine](b, Y ? L.textAlign(f[g], Z, g, d) : f[g], Z, m, c, a, g < d - 1); if (e) { h.appendChild(e) } } return h } function J(Z, g) { var a, Y, d, f; for (var b = R(Z, g).firstChild; b; b = d) { d = b.nextSibling; f = false; if (b.nodeType == 1) { if (!b.firstChild) { continue } if (!/cufon/.test(b.className)) { arguments.callee(b, g); continue } else { f = true } } if (!Y) { Y = L.getStyle(Z).extend(g) } if (!a) { a = C(Z, Y) } if (!a) { continue } if (f) { W[g.engine](a, null, Y, g, b, Z); continue } var e = b.data; if (e === "") { continue } var c = M(a, e, Y, g, b, Z); if (c) { b.parentNode.replaceChild(c, b) } else { b.parentNode.removeChild(b) } } } var S = " ".split(/\s+/).length == 0; var D = new X(); var B = new P(); var V = []; var W = {}, H = {}, T = { enableTextDecoration: false, engine: null, hover: false, hoverables: { a: true }, printable: true, selector: (window.Sizzle || window.jQuery || (window.dojo && dojo.query) || (window.$$ && function (Y) { return $$(Y) }) || (window.$ && function (Y) { return $(Y) }) || (document.querySelectorAll && function (Y) { return document.querySelectorAll(Y) }) || F), separate: "words", textShadow: "none" }; var N = { words: /\s+/, characters: "" }; K.now = function () { U.ready(); return K }; K.refresh = function () { var a = V.splice(0, V.length); for (var Z = 0, Y = a.length; Z < Y; ++Z) { K.replace.apply(null, a[Z]) } return K }; K.registerEngine = function (Z, Y) { if (!Y) { return K } W[Z] = Y; return K.set("engine", Z) }; K.registerFont = function (a) { var Y = new Q(a), Z = Y.family; if (!H[Z]) { H[Z] = new E() } H[Z].add(Y); return K.set("fontFamily", Z) }; K.replace = function (a, Z, Y) { Z = G(T, Z); if (!Z.engine) { return K } if (typeof Z.textShadow == "string") { Z.textShadow = L.textShadow(Z.textShadow) } if (!Y) { V.push(arguments) } if (a.nodeType || typeof a == "string") { a = [a] } L.ready(function () { for (var c = 0, b = a.length; c < b; ++c) { var d = a[c]; if (typeof d == "string") { K.replace(Z.selector(d), Z, true) } else { J(d, Z) } } }); return K }; K.set = function (Y, Z) { T[Y] = Z; return K }; return K })(); Cufon.registerEngine("canvas", (function () { var B = document.createElement("canvas"); if (!B || !B.getContext || !B.getContext.apply) { return null } 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("@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle" + (E ? "" : ";font-size:1px;line-height:1px") + "}.cufon-canvas .cufon-alt{display:none}" + (A ? ".cufon-canvas canvas{position:relative}" : ".cufon-canvas canvas{position:absolute}") + "}@media print{.cufon-canvas{padding:0 !important}.cufon-canvas canvas{display:none}.cufon-canvas .cufon-alt{display:inline}}")); document.getElementsByTagName("head")[0].appendChild(F); function D(O, H) { var M = 0, L = 0; var G = [], N = /([mrvxe])([^a-z]*)/g, J; generate: for (var I = 0; J = N.exec(O); ++I) { var K = J[2].split(","); switch (J[1]) { case "v": G[I] = { m: "bezierCurveTo", a: [M + ~ ~K[0], L + ~ ~K[1], M + ~ ~K[2], L + ~ ~K[3], M += ~ ~K[4], L += ~ ~K[5]] }; break; case "r": G[I] = { m: "lineTo", a: [M += ~ ~K[0], L += ~ ~K[1]] }; break; case "m": G[I] = { m: "moveTo", a: [M = ~ ~K[0], L = ~ ~K[1]] }; break; case "x": G[I] = { m: "closePath" }; break; case "e": break generate } H[G[I].m].apply(H, G[I].a) } return G } function C(K, J) { for (var I = 0, H = K.length; I < H; ++I) { var G = K[I]; J[G.m].apply(J, G.a) } } return function (q, T, k, P, X, r) { var I = (T === null); var V = q.viewBox; var J = k.getSize("fontSize", q.baseSize); var h = k.get("letterSpacing"); h = (h == "normal") ? 0 : J.convertFrom(parseInt(h, 10)); var W = 0, j = 0, f = 0, R = 0; var U = P.textShadow, d = []; if (U) { for (var p = 0, m = U.length; p < m; ++p) { var Z = U[p]; var c = J.convertFrom(parseFloat(Z.offX)); var b = J.convertFrom(parseFloat(Z.offY)); d[p] = [c, b]; if (b < W) { W = b } if (c > j) { j = c } if (b > f) { f = b } if (c < R) { R = c } } } var u = Cufon.CSS.textTransform(I ? X.alt : T, k).split(""); var G = 0, S = null; for (var p = 0, m = u.length; p < m; ++p) { var Q = q.glyphs[u[p]] || q.missingGlyph; if (!Q) { continue } G += S = Number(Q.w || q.w) + h } if (S === null) { return null } j += (V.width - S); R += V.minX; var O, K; if (I) { O = X; K = X.firstChild } else { O = document.createElement("span"); O.className = "cufon cufon-canvas"; O.alt = T; K = document.createElement("canvas"); O.appendChild(K); if (P.printable) { var n = document.createElement("span"); n.className = "cufon-alt"; n.appendChild(document.createTextNode(T)); O.appendChild(n) } } var v = O.style; var a = K.style; var H = J.convert(V.height - W + f); var t = Math.ceil(H); var e = t / H; K.width = Math.ceil(J.convert(G + j - R) * e); K.height = t; W += V.minY; a.top = Math.round(J.convert(W - q.ascent)) + "px"; a.left = Math.round(J.convert(R)) + "px"; var N = Math.ceil(J.convert(G * e)) + "px"; if (A) { v.width = N; v.height = J.convert(q.height) + "px" } else { v.paddingLeft = N; v.paddingBottom = (J.convert(q.height) - 1) + "px" } var s = K.getContext("2d"), Y = t / V.height; s.scale(Y, Y); s.translate(-R, -W); s.lineWidth = q.face["underline-thickness"]; s.save(); function L(i, g) { s.strokeStyle = g; s.beginPath(); s.moveTo(0, i); s.lineTo(G, i); s.stroke() } var M = P.enableTextDecoration ? Cufon.CSS.textDecoration(r, k) : {}; if (M.underline) { L(-q.face["underline-position"], M.underline) } if (M.overline) { L(q.ascent, M.overline) } s.fillStyle = k.get("color"); function o() { for (var w = 0, g = u.length; w < g; ++w) { var x = q.glyphs[u[w]] || q.missingGlyph; if (!x) { continue } s.beginPath(); if (x.d) { if (x.code) { C(x.code, s) } else { x.code = D("m" + x.d, s) } } s.fill(); s.translate(Number(x.w || q.w) + h, 0) } } if (U) { for (var p = 0, m = U.length; p < m; ++p) { var Z = U[p]; s.save(); s.fillStyle = Z.color; s.translate.apply(s, d[p]); o(); s.restore() } } o(); s.restore(); if (M["line-through"]) { L(-q.descent, M["line-through"]) } return O } })()); Cufon.registerEngine("vml", (function () { if (!document.namespaces) { return } document.write('<!--[if vml]><script type="text/javascript">Cufon.vmlEnabled=true;<\/script><![endif]-->'); if (!Cufon.vmlEnabled) { return } if (document.namespaces.cvml == null) { document.namespaces.add("cvml", "urn:schemas-microsoft-com:vml"); document.write('<style type="text/css">@media screen{cvml\\:shape,cvml\\:group,cvml\\:shapetype,cvml\\:fill{behavior:url(#default#VML);display:inline-block;antialias:true;position:absolute}.cufon-vml{display:inline-block;position:relative;vertical-align:middle}.cufon-vml .cufon-alt{display:none}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none}.cufon-vml .cufon-alt{display:inline}}</style>') } var C = 0; function B(E, F) { return A(E, /(?:em|ex|%)$/i.test(F) ? "1em" : F) } function A(H, I) { if (/px$/i.test(I)) { return parseFloat(I) } var G = H.style.left, F = H.runtimeStyle.left; H.runtimeStyle.left = H.currentStyle.left; H.style.left = I; var E = H.style.pixelLeft; H.style.left = G; H.runtimeStyle.left = F; return E } function D(F, H) { var E = document.createElement("cvml:shapetype"); E.id = "cufon-glyph-" + C++; F.typeRef = "#" + E.id; E.stroked = "f"; E.coordsize = H.width + "," + H.height; E.coordorigin = H.minX + "," + H.minY; var G = "m" + H.minX + "," + H.minY + " r" + H.width + "," + H.height; E.path = (F.d ? "m" + F.d + "x" : "") + G; document.body.insertBefore(E, document.body.firstChild) } return function (n, T, f, P, W, o, d) { var G = (T === null); if (G) { T = W.alt } var V = n.viewBox; var H = f.computedFontSize || (f.computedFontSize = new Cufon.CSS.Size(B(o, f.get("fontSize")) + "px", n.baseSize)); var c = f.computedLSpacing; if (c == undefined) { c = f.get("letterSpacing"); f.computedLSpacing = c = (c == "normal") ? 0 : H.convertFrom(A(o, c)) } var O, I; if (G) { O = W; I = W.firstChild } else { O = document.createElement("span"); O.className = "cufon cufon-vml"; O.alt = T; I = document.createElement("cvml:group"); O.appendChild(I); if (P.printable) { var j = document.createElement("span"); j.className = "cufon-alt"; j.innerText = T; O.appendChild(j) } if (!d) { O.appendChild(document.createElement("cvml:group")) } } var u = O.style; var Y = I.style; var F = H.convert(V.height); Y.height = Math.ceil(F); Y.top = Math.round(H.convert(V.minY - n.ascent)); Y.left = Math.round(H.convert(V.minX)); var b = parseInt(Y.height, 10) / F; u.height = H.convert(-n.ascent + n.descent) + "px"; var K = P.enableTextDecoration ? Cufon.CSS.textDecoration(o, f) : {}; var S = f.get("color"); var s = Cufon.CSS.textTransform(T, f).split(""); var E = 0, a = 0, L = null; var U = P.textShadow; for (var m = 0, h = -1, g = s.length; m < g; ++m) { var Q = n.glyphs[s[m]] || n.missingGlyph, M; if (!Q) { continue } if (!Q.typeRef) { D(Q, V) } if (G) { M = I.childNodes[++h] } else { M = document.createElement("cvml:shape"); I.appendChild(M) } M.type = Q.typeRef; var q = M.style; q.width = V.width; q.height = V.height; q.top = 0; q.left = a; q.zIndex = 1; M.fillcolor = S; if (U) { for (var Z = 0, e = U.length; Z < e; ++Z) { var X = U[Z]; var t = Cufon.CSS.color(X.color); var J = M.cloneNode(false), R = J.runtimeStyle; R.top = H.convertFrom(parseFloat(X.offY)); R.left = a + H.convertFrom(parseFloat(X.offX)); R.zIndex = 0; J.fillcolor = t.color; if (t.opacity) { var r = document.createElement("cvml:fill"); r.opacity = t.opacity; J.appendChild(r) } I.appendChild(J) } ++h } L = Number(Q.w || n.w) + c; E += L; a += L } if (L === null) { return null } var N = -V.minX + E + (V.width - L); I.coordsize = N + "," + V.height; Y.width = H.convert(N * b); u.width = Math.max(Math.ceil(H.convert(E * b)), 0); return O } })());
/*
 * @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 } })());

