/*=:project
scalable Inman Flash Replacement (sIFR) version 3, revision 405

=:file
Copyright: 2006 Mark Wubben.
Author: Mark Wubben, <http://novemberborn.net/>

=:history
* IFR: Shaun Inman
* sIFR 1: Mike Davidson, Shaun Inman and Tomas Jogin
* sIFR 2: Mike Davidson, Shaun Inman, Tomas Jogin and Mark Wubben

=:license
This software is licensed and provided under the CC-GNU LGPL.
See <http://creativecommons.org/licenses/LGPL/2.1/>    
*/

var sIFR = new function() { var O = this; var E = { ACTIVE: "sIFR-active", UNLOADING: "sIFR-unloading", REPLACED: "sIFR-replaced", IGNORE: "sIFR-ignore", ALTERNATE: "sIFR-alternate", CLASS: "sIFR-class", LAYOUT: "sIFR-layout", FLASH: "sIFR-flash", FIX_FOCUS: "sIFR-fixfocus", DUMMY: "sIFR-dummy" }; E.IGNORE_CLASSES = [E.REPLACED, E.IGNORE, E.ALTERNATE]; this.MIN_FONT_SIZE = 6; this.MAX_FONT_SIZE = 126; this.FLASH_PADDING_BOTTOM = 5; this.VERSION = "405"; this.isActive = false; this.isEnabled = true; this.fixHover = true; this.autoInitialize = true; this.setPrefetchCookie = true; this.cookiePath = "/"; this.domains = []; this.forceWidth = true; this.fitExactly = false; this.forceTextTransform = true; this.useDomLoaded = true; this.useStyleCheck = false; this.hasFlashClassSet = false; this.repaintOnResize = true; this.replacements = []; var L = 0; var R = false; function Z() { } function D(c) { function d(e) { return e.toLocaleUpperCase() } this.normalize = function(e) { return e.replace(/\n|\r|\xA0/g, D.SINGLE_WHITESPACE).replace(/\s+/g, D.SINGLE_WHITESPACE) }; this.textTransform = function(e, f) { switch (e) { case "uppercase": return f.toLocaleUpperCase(); case "lowercase": return f.toLocaleLowerCase(); case "capitalize": return f.replace(/^\w|\s\w/g, d) } return f }; this.toHexString = function(e) { if (e.charAt(0) != "#" || e.length != 4 && e.length != 7) { return e } e = e.substring(1); return "0x" + (e.length == 3 ? e.replace(/(.)(.)(.)/, "$1$1$2$2$3$3") : e) }; this.toJson = function(g, f) { var e = ""; switch (typeof (g)) { case "string": e = '"' + f(g) + '"'; break; case "number": case "boolean": e = g.toString(); break; case "object": e = []; for (var h in g) { if (g[h] == Object.prototype[h]) { continue } e.push('"' + h + '":' + this.toJson(g[h])) } e = "{" + e.join(",") + "}"; break } return e }; this.convertCssArg = function(e) { if (!e) { return {} } if (typeof (e) == "object") { if (e.constructor == Array) { e = e.join("") } else { return e } } var l = {}; var m = e.split("}"); for (var h = 0; h < m.length; h++) { var k = m[h].match(/([^\s{]+)\s*\{(.+)\s*;?\s*/); if (!k || k.length != 3) { continue } if (!l[k[1]]) { l[k[1]] = {} } var g = k[2].split(";"); for (var f = 0; f < g.length; f++) { var n = g[f].match(/\s*([^:\s]+)\s*\:\s*([^;]+)/); if (!n || n.length != 3) { continue } l[k[1]][n[1]] = n[2].replace(/\s+$/, "") } } return l }; this.extractFromCss = function(g, f, i, e) { var h = null; if (g && g[f] && g[f][i]) { h = g[f][i]; if (e) { delete g[f][i] } } return h }; this.cssToString = function(f) { var g = []; for (var e in f) { var j = f[e]; if (j == Object.prototype[e]) { continue } g.push(e, "{"); for (var i in j) { if (j[i] == Object.prototype[i]) { continue } var h = j[i]; if (D.UNIT_REMOVAL_PROPERTIES[i]) { h = parseInt(h, 10) } g.push(i, ":", h, ";") } g.push("}") } return g.join("") }; this.escape = function(e) { return escape(e).replace(/\+/g, "%2B") }; this.encodeVars = function(e) { return e.join("&").replace(/%/g, "%25") }; this.copyProperties = function(g, f) { for (var e in g) { if (f[e] === undefined) { f[e] = g[e] } } return f }; this.domain = function() { var f = ""; try { f = document.domain } catch (g) { } return f }; this.domainMatches = function(h, g) { if (g == "*" || g == h) { return true } var f = g.lastIndexOf("*"); if (f > -1) { g = g.substr(f + 1); var e = h.lastIndexOf(g); if (e > -1 && (e + g.length) == h.length) { return true } } return false }; this.uriEncode = function(e) { return encodeURI(decodeURIComponent(e)) }; this.delay = function(f, h, g) { var e = Array.prototype.slice.call(arguments, 3); setTimeout(function() { h.apply(g, e) }, f) } } D.UNIT_REMOVAL_PROPERTIES = { leading: true, "margin-left": true, "margin-right": true, "text-indent": true }; D.SINGLE_WHITESPACE = " "; function U(e) { var d = this; function c(g, j, h) { var k = d.getStyleAsInt(g, j, e.ua.ie); if (k == 0) { k = g[h]; for (var f = 3; f < arguments.length; f++) { k -= d.getStyleAsInt(g, arguments[f], true) } } return k } this.getBody = function() { return document.getElementsByTagName("body")[0] || null }; this.querySelectorAll = function(f) { return window.parseSelector(f) }; this.addClass = function(f, g) { if (g) { g.className = ((g.className || "") == "" ? "" : g.className + " ") + f } }; this.removeClass = function(f, g) { if (g) { g.className = g.className.replace(new RegExp("(^|\\s)" + f + "(\\s|$)"), "").replace(/^\s+|(\s)\s+/g, "$1") } }; this.hasClass = function(f, g) { return new RegExp("(^|\\s)" + f + "(\\s|$)").test(g.className) }; this.hasOneOfClassses = function(h, g) { for (var f = 0; f < h.length; f++) { if (this.hasClass(h[f], g)) { return true } } return false }; this.ancestorHasClass = function(g, f) { g = g.parentNode; while (g && g.nodeType == 1) { if (this.hasClass(f, g)) { return true } g = g.parentNode } return false }; this.create = function(f, g) { var h = document.createElementNS ? document.createElementNS(U.XHTML_NS, f) : document.createElement(f); if (g) { h.className = g } return h }; this.getComputedStyle = function(h, i) { var f; if (document.defaultView && document.defaultView.getComputedStyle) { var g = document.defaultView.getComputedStyle(h, null); f = g ? g[i] : null } else { if (h.currentStyle) { f = h.currentStyle[i] } } return f || "" }; this.getStyleAsInt = function(g, i, f) { var h = this.getComputedStyle(g, i); if (f && !/px$/.test(h)) { return 0 } return parseInt(h) || 0 }; this.getWidthFromStyle = function(f) { return c(f, "width", "offsetWidth", "paddingRight", "paddingLeft", "borderRightWidth", "borderLeftWidth") }; this.getHeightFromStyle = function(f) { return c(f, "height", "offsetHeight", "paddingTop", "paddingBottom", "borderTopWidth", "borderBottomWidth") }; this.getDimensions = function(j) { var h = j.offsetWidth; var f = j.offsetHeight; if (h == 0 || f == 0) { for (var g = 0; g < j.childNodes.length; g++) { var k = j.childNodes[g]; if (k.nodeType != 1) { continue } h = Math.max(h, k.offsetWidth); f = Math.max(f, k.offsetHeight) } } return { width: h, height: f} }; this.getViewport = function() { return { width: window.innerWidth || document.documentElement.clientWidth || this.getBody().clientWidth, height: window.innerHeight || document.documentElement.clientHeight || this.getBody().clientHeight} }; this.blurElement = function(g) { try { g.blur(); return } catch (h) { } var f = this.create("input"); f.style.width = "0px"; f.style.height = "0px"; g.parentNode.appendChild(f); f.focus(); f.blur(); f.parentNode.removeChild(f) } } U.XHTML_NS = "http://www.w3.org/1999/xhtml"; function H(m) { var d = navigator.userAgent.toLowerCase(); var l = (navigator.product || "").toLowerCase(); var f = navigator.platform.toLowerCase(); this.parseVersion = function(e) { return e.replace(/(^|\D)(\d)(?=\D|$)/g, "$10000$2") }; this.macintosh = /^mac/.test(f); this.windows = /^win/.test(f); this.quicktime = false; this.opera = /opera/.test(d); this.konqueror = /konqueror/.test(l); this.ie = false/*@cc_on || true@*/; this.ieSupported = this.ie && !/ppc|smartphone|iemobile|msie\s5\.5/.test(d)/*@cc_on && @_jscript_version >= 5.5@*/; this.ieWin = this.ie && this.windows/*@cc_on && @_jscript_version >= 5.1@*/; this.windows = this.windows && (!this.ie || this.ieWin); this.ieMac = this.ie && this.macintosh/*@cc_on && @_jscript_version < 5.1@*/; this.macintosh = this.macintosh && (!this.ie || this.ieMac); this.safari = /safari/.test(d); this.webkit = !this.konqueror && /applewebkit/.test(d); this.khtml = this.webkit || this.konqueror; this.gecko = !this.webkit && l == "gecko"; this.ieVersion = this.ie && /.*msie\s(\d\.\d)/.exec(d) ? this.parseVersion(RegExp.$1) : "0"; this.operaVersion = this.opera && /.*opera(\s|\/)(\d+\.\d+)/.exec(d) ? this.parseVersion(RegExp.$2) : "0"; this.webkitVersion = this.webkit && /.*applewebkit\/(\d+).*/.exec(d) ? this.parseVersion(RegExp.$1) : "0"; this.geckoVersion = this.gecko && /.*rv:\s*([^\)]+)\)\s+gecko/.exec(d) ? this.parseVersion(RegExp.$1) : "0"; this.konquerorVersion = this.konqueror && /.*konqueror\/([\d\.]+).*/.exec(d) ? this.parseVersion(RegExp.$1) : "0"; this.flashVersion = 0; if (this.ieWin) { var h; var k = false; try { h = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7") } catch (j) { try { h = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); this.flashVersion = 6; h.AllowScriptAccess = "always" } catch (j) { k = this.flashVersion == 6 } if (!k) { try { h = new ActiveXObject("ShockwaveFlash.ShockwaveFlash") } catch (j) { } } } if (!k && h) { this.flashVersion = parseFloat(/([\d,?]+)/.exec(h.GetVariable("$version"))[1].replace(/,/g, ".")) } } else { if (navigator.plugins && navigator.plugins["Shockwave Flash"]) { this.flashVersion = parseFloat(/(\d+\.?\d*)/.exec(navigator.plugins["Shockwave Flash"].description)[1]); var g = 0; while (this.flashVersion >= H.MIN_FLASH_VERSION && g < navigator.mimeTypes.length) { var c = navigator.mimeTypes[g]; if (c.type == "application/x-shockwave-flash" && c.enabledPlugin.description.toLowerCase().indexOf("quicktime") > -1) { this.flashVersion = 0; this.quicktime = true } g++ } } } this.flash = this.flashVersion >= H.MIN_FLASH_VERSION; this.transparencySupport = this.macintosh || this.windows; this.computedStyleSupport = this.ie || !!document.defaultView.getComputedStyle; this.requiresPrefetch = this.ieWin || this.khtml; this.fixFocus = this.gecko && this.windows; this.nativeDomLoaded = this.gecko || this.webkit && this.webkitVersion >= this.parseVersion("525") || this.konqueror && this.konquerorMajor > this.parseVersion("03") || this.opera; this.mustCheckStyle = this.khtml || this.opera; this.forcePageLoad = this.webkit && this.webkitVersion < this.parseVersion("523"); this.properDocument = typeof (document.location) == "object"; this.supported = this.flash && this.properDocument && (!this.ie || this.ieSupported) && this.computedStyleSupport && (!this.opera || this.operaVersion >= this.parseVersion("9.50")) && (!this.webkit || this.webkitVersion >= this.parseVersion("412")) && (!this.gecko || this.geckoVersion >= this.parseVersion("1.8.0.12")) && (!this.konqueror) } H.MIN_FLASH_VERSION = 8; function F(c) { this.fix = c.ua.ieWin && window.location.hash != ""; var d; this.cache = function() { d = document.title }; function e() { document.title = d } this.restore = function() { if (this.fix) { setTimeout(e, 0) } } } function S(f) { var j = null; function g() { try { if (f.ua.ie || document.readyState != "loaded" && document.readyState != "complete") { document.documentElement.doScroll("left") } } catch (k) { return setTimeout(g, 10) } c() } function c() { if (f.useStyleCheck) { e() } else { if (!f.ua.mustCheckStyle) { h(null, true) } } } function e() { j = f.dom.create("div", E.DUMMY); f.dom.getBody().appendChild(j); d() } function d() { if (f.dom.getComputedStyle(j, "marginLeft") == "42px") { i() } else { setTimeout(d, 10) } } function i() { if (j && j.parentNode) { j.parentNode.removeChild(j) } j = null; h(null, true) } function h(k, l) { f.initialize(l); if (k && k.type == "load") { if (document.removeEventListener) { document.removeEventListener("DOMContentLoaded", h, false) } if (window.removeEventListener) { window.removeEventListener("load", h, false) } } } this.attach = function() { if (window.addEventListener) { window.addEventListener("load", h, false) } else { window.attachEvent("onload", h) } if (!f.useDomLoaded || f.ua.forcePageLoad || f.ua.ie && window.top != window) { return } if (f.ua.nativeDomLoaded) { document.addEventListener("DOMContentLoaded", c, false) } else { if (f.ua.ie || f.ua.khtml) { g() } } } } var Q = "sifrFetch"; function N(c) { var e = false; this.fetchMovies = function(f) { if (c.setPrefetchCookie && new RegExp(";?" + Q + "=true;?").test(document.cookie)) { return } try { e = true; d(f) } catch (g) { if (c.debug) { throw g } } if (c.setPrefetchCookie) { document.cookie = Q + "=true;path=" + c.cookiePath } }; this.clear = function() { if (!e) { return } try { var f = document.getElementsByTagName("script"); for (var g = f.length - 1; g >= 0; g--) { var h = f[g]; if (h.type == "sifr/prefetch") { h.parentNode.removeChild(h) } } } catch (j) { } }; function d(f) { for (var g = 0; g < f.length; g++) { document.write('<script defer type="sifr/prefetch" src="' + f[g].src + '"><\/script>') } } } function Y(d) { var c = {}; function e(g, f, h) { return g + "," + f + "," + h } this.reset = function(h, p, g) { var n = c[e(h, p, g)]; for (var m = 0; !n && m < d.replacements.length; m++) { var k = d.replacements[m]; var l = k.getFlashElement(); var o = l.getAttribute("width"); var f = l.getAttribute("height"); if (o == h && f == p) { var j = k.call("getAmnesiacId"); if (j == g) { n = k } else { c[e(o, f, j)] = k } } } if (n) { n.resetMovie(); return true } return false } } function K(d, g, f, c, e) { this.sIFR = d; this.id = g; this.vars = f; this.movie = null; this.__forceWidth = c; this.__events = e; this.__resizing = 0 } K.prototype = { getFlashElement: function() { return document.getElementById(this.id) }, getAlternate: function() { return document.getElementById(this.id + "_alternate") }, getAncestor: function() { var c = this.getFlashElement().parentNode; return !this.sIFR.dom.hasClass(E.FIX_FOCUS, c) ? c : c.parentNode }, available: function() { var c = this.getFlashElement(); return c && c.parentNode }, call: function(c) { var d = this.getFlashElement(); return Function.prototype.apply.call(d[c], d, Array.prototype.slice.call(arguments, 1)) }, attempt: function() { if (!this.available()) { return false } try { this.call.apply(this, arguments) } catch (c) { if (this.sIFR.debug) { throw c } return false } return true }, updateVars: function(c, e) { for (var d = 0; d < this.vars.length; d++) { if (this.vars[d].split("=")[0] == c) { this.vars[d] = c + "=" + e; break } } var f = this.sIFR.util.encodeVars(this.vars); this.movie.injectVars(this.getFlashElement(), f); this.movie.injectVars(this.movie.html, f) }, storeSize: function(c, d) { this.movie.setSize(c, d); this.updateVars(c, d) }, fireEvent: function(c) { if (this.available() && this.__events[c]) { this.sIFR.util.delay(0, this.__events[c], this, this) } }, resizeFlashElement: function(c, d, e) { if (!this.available()) { return } this.__resizing++; var f = this.getFlashElement(); f.setAttribute("height", c); this.updateVars("renderheight", c); this.storeSize("height", c); if (d !== null) { f.setAttribute("width", d); this.storeSize("width", d) } if (this.__events.onReplacement) { this.sIFR.util.delay(0, this.__events.onReplacement, this, this); delete this.__events.onReplacement } if (e) { this.sIFR.util.delay(0, function() { this.attempt("scaleMovie"); this.__resizing-- }, this) } else { this.__resizing-- } }, blurFlashElement: function() { if (this.available()) { this.sIFR.dom.blurElement(this.getFlashElement()) } }, resetMovie: function() { this.sIFR.util.delay(0, this.movie.reset, this.movie, this.getFlashElement(), this.getAlternate()) }, resizeAfterScale: function() { if (this.available() && this.__resizing == 0) { this.sIFR.util.delay(0, this.resize, this) } }, resize: function() { if (!this.available()) { return } this.__resizing++; var g = this.getFlashElement(); var f = g.offsetWidth; if (f == 0) { return } var e = g.getAttribute("width"); var l = g.getAttribute("height"); var m = this.getAncestor(); var o = this.sIFR.dom.getHeightFromStyle(m); g.style.width = "1px"; g.style.height = "1px"; m.style.minHeight = o + "px"; var c = this.getAlternate().childNodes; var n = []; for (var k = 0; k < c.length; k++) { var h = c[k].cloneNode(true); n.push(h); m.appendChild(h) } var d = this.sIFR.dom.getWidthFromStyle(m); for (var k = 0; k < n.length; k++) { m.removeChild(n[k]) } g.style.width = g.style.height = m.style.minHeight = ""; g.setAttribute("width", this.__forceWidth ? d : e); g.setAttribute("height", l); if (sIFR.ua.ie) { g.style.display = "none"; var j = g.offsetHeight; g.style.display = "" } if (d != f) { if (this.__forceWidth) { this.storeSize("width", d) } this.attempt("resize", d) } this.__resizing-- }, replaceText: function(g, j) { var d = this.sIFR.util.escape(g); if (!this.attempt("replaceText", d)) { return false } this.updateVars("content", d); var f = this.getAlternate(); if (j) { while (f.firstChild) { f.removeChild(f.firstChild) } for (var c = 0; c < j.length; c++) { f.appendChild(j[c]) } } else { try { f.innerHTML = g } catch (h) { } } return true }, changeCSS: function(c) { c = this.sIFR.util.escape(this.sIFR.util.cssToString(this.sIFR.util.convertCssArg(c))); this.updateVars("css", c); return this.attempt("changeCSS", c) } }; var X = new function() { this.create = function(o, j, i, f, e, g, n, l, h, m) { var k = o.ua.ie ? d : c; return new k(o, j, i, f, e, g, n, ["flashvars", l, "wmode", h, "bgcolor", m, "allowScriptAccess", "always", "quality", "best"]) }; function c(r, l, h, f, e, g, q, n) { var m = r.dom.create("object", E.FLASH); var p = ["type", "application/x-shockwave-flash", "id", f, "name", f, "data", e, "width", g, "height", q]; for (var o = 0; o < p.length; o += 2) { m.setAttribute(p[o], p[o + 1]) } var j = m; if (h) { j = W.create("div", E.FIX_FOCUS); j.appendChild(m) } for (var o = 0; o < n.length; o += 2) { if (n[o] == "name") { continue } var k = W.create("param"); k.setAttribute("name", n[o]); k.setAttribute("value", n[o + 1]); m.appendChild(k) } while (l.firstChild) { l.removeChild(l.firstChild) } l.appendChild(j); this.html = j.cloneNode(true) } c.prototype = { reset: function(e, f) { e.parentNode.replaceChild(this.html.cloneNode(true), e) }, setSize: function(e, f) { this.html.setAttribute(e, f) }, injectVars: function(e, g) { var h = e.getElementsByTagName("param"); for (var f = 0; f < h.length; f++) { if (h[f].getAttribute("name") == "flashvars") { h[f].setAttribute("value", g); break } } } }; function d(o, j, h, f, e, g, n, k) { this.dom = o.dom; this.html = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="' + f + '" width="' + g + '" height="' + n + '" class="' + E.FLASH + '"><param name="movie" value="' + e + '"></param></object>'; var m = ""; for (var l = 0; l < k.length; l += 2) { m += '<param name="' + k[l] + '" value="' + k[l + 1] + '"></param>' } this.html = this.html.replace(/(<\/object>)/, m + "$1"); j.innerHTML = this.html } d.prototype = { reset: function(f, g) { g = g.cloneNode(true); var e = f.parentNode; e.innerHTML = this.html; e.appendChild(g) }, setSize: function(e, f) { this.html = this.html.replace(e == "height" ? /(height)="\d+"/ : /(width)="\d+"/, '$1="' + f + '"') }, injectVars: function(e, f) { if (e != this.html) { return } this.html = this.html.replace(/(flashvars(=|\"\svalue=)\")[^\"]+/, "$1" + f) } } }; this.errors = new Z(O); var A = this.util = new D(O); var W = this.dom = new U(O); var T = this.ua = new H(O); var G = { fragmentIdentifier: new F(O), pageLoad: new S(O), prefetch: new N(O), amnesia: new Y(O) }; this.__resetAmnesicMovies = G.amnesia.reset; var J = { kwargs: [], replaceAll: function(d) { for (var c = 0; c < this.kwargs.length; c++) { O.replace(this.kwargs[c]) } if (!d) { this.kwargs = [] } } }; this.activate = function() { if (!T.supported || !this.isEnabled || this.isActive || !C() || b()) { return } if (T.requiresPrefetch) { G.prefetch.fetchMovies(arguments) } this.isActive = true; this.setFlashClass(); G.fragmentIdentifier.cache(); if (!this.autoInitialize) { return } G.pageLoad.attach(); if (T.ie) { window.attachEvent("onunload", function() { W.addClass(E.UNLOADING, document.documentElement) }) } }; this.setFlashClass = function() { if (this.hasFlashClassSet) { return } W.addClass(E.ACTIVE, W.getBody() || document.documentElement); this.hasFlashClassSet = true }; this.removeFlashClass = function() { if (!this.hasFlashClassSet) { return } W.removeClass(E.ACTIVE, W.getBody()); W.removeClass(E.ACTIVE, document.documentElement); this.hasFlashClassSet = false }; this.initialize = function(c) { if (!this.isActive || !this.isEnabled) { return } if (R) { if (!c) { J.replaceAll(false) } return } R = true; J.replaceAll(c); if (O.repaintOnResize) { if (window.addEventListener) { window.addEventListener("resize", a, false) } else { window.attachEvent("onresize", a) } } G.prefetch.clear() }; this.replace = function(w, t) { if (!T.supported) { return } if (t) { w = A.copyProperties(w, t) } if (!R) { return J.kwargs.push(w) } if (this.onReplacementStart) { this.onReplacementStart(w) } var AL = w.elements || W.querySelectorAll(w.selector); if (AL.length == 0) { return } var v = M(w.src); var AQ = A.convertCssArg(w.css); var u = B(w.filters); var AM = w.forceSingleLine === true; var AR = w.preventWrap === true && !AM; var p = AM || (w.fitExactly == null ? this.fitExactly : w.fitExactly) === true; var AC = p || (w.forceWidth == null ? this.forceWidth : w.forceWidth) === true; var r = w.ratios || []; var AD = w.pixelFont === true; var q = parseInt(w.tuneHeight) || 0; var y = !!w.onRelease || !!w.onRollOver || !!w.onRollOut; if (p) { A.extractFromCss(AQ, ".sIFR-root", "text-align", true) } var s = A.extractFromCss(AQ, ".sIFR-root", "font-size", true) || "0"; var e = A.extractFromCss(AQ, ".sIFR-root", "background-color", true) || "#FFFFFF"; var n = A.extractFromCss(AQ, ".sIFR-root", "kerning", true) || ""; var AV = A.extractFromCss(AQ, ".sIFR-root", "opacity", true) || "100"; var k = A.extractFromCss(AQ, ".sIFR-root", "cursor", true) || "default"; var AO = parseInt(A.extractFromCss(AQ, ".sIFR-root", "leading")) || 0; var AI = w.gridFitType || (A.extractFromCss(AQ, ".sIFR-root", "text-align") == "right") ? "subpixel" : "pixel"; var h = this.forceTextTransform === false ? "none" : A.extractFromCss(AQ, ".sIFR-root", "text-transform", true) || "none"; s = /^\d+(px)?$/.test(s) ? parseInt(s) : 0; AV = parseFloat(AV) < 1 ? 100 * parseFloat(AV) : AV; var AB = w.modifyCss ? "" : A.cssToString(AQ); var AF = w.wmode || ""; if (!AF) { if (w.transparent) { AF = "transparent" } else { if (w.opaque) { AF = "opaque" } } } if (AF == "transparent") { if (!T.transparencySupport) { AF = "opaque" } else { e = "transparent" } } for (var AU = 0; AU < AL.length; AU++) { var AE = AL[AU]; if (W.hasOneOfClassses(E.IGNORE_CLASSES, AE) || W.ancestorHasClass(AE, E.ALTERNATE)) { continue } var AN = W.getDimensions(AE); var f = AN.height; var c = AN.width; var z = W.getComputedStyle(AE, "display"); if (!f || !c || !z || z == "none") { continue } c = W.getWidthFromStyle(AE); var m, AG; if (!s) { var AK = I(AE); m = Math.min(this.MAX_FONT_SIZE, Math.max(this.MIN_FONT_SIZE, AK.fontSize)); if (AD) { m = Math.max(8, 8 * Math.round(m / 8)) } AG = AK.lines; if (isNaN(AG) || !isFinite(AG) || AG == 0) { AG = 1 } if (AG > 1 && AO) { f += Math.round((AG - 1) * AO) } } else { m = s; AG = 1 } var d = W.create("span", E.ALTERNATE); var AW = AE.cloneNode(true); AE.parentNode.appendChild(AW); for (var AT = 0, AS = AW.childNodes.length; AT < AS; AT++) { d.appendChild(AW.childNodes[AT].cloneNode(true)) } if (w.modifyContent) { w.modifyContent(AW, w.selector) } if (w.modifyCss) { AB = w.modifyCss(AQ, AW, w.selector) } var o = P(AW, h, w.uriEncode); AW.parentNode.removeChild(AW); if (w.modifyContentString) { o.text = w.modifyContentString(o.text, w.selector) } if (o.text == "") { continue } f = Math.round(AG * m); var AJ = Math.round(AG * V(m, r) * m) + this.FLASH_PADDING_BOTTOM + q; var AA = AC ? c : "100%"; var AH = "sIFR_replacement_" + L++; var AP = ["id=" + AH, "content=" + A.escape(o.text), "width=" + c, "height=" + f, "renderheight=" + AJ, "link=" + A.escape(o.primaryLink.href || ""), "target=" + A.escape(o.primaryLink.target || ""), "size=" + m, "css=" + A.escape(AB), "cursor=" + k, "tunewidth=" + (w.tuneWidth || 0), "tuneheight=" + q, "offsetleft=" + (w.offsetLeft || ""), "offsettop=" + (w.offsetTop || ""), "fitexactly=" + p, "preventwrap=" + AR, "forcesingleline=" + AM, "antialiastype=" + (w.antiAliasType || ""), "thickness=" + (w.thickness || ""), "sharpness=" + (w.sharpness || ""), "kerning=" + n, "gridfittype=" + AI, "flashfilters=" + u, "opacity=" + AV, "blendmode=" + (w.blendMode || ""), "selectable=" + (w.selectable == null ? "true" : w.selectable === true), "fixhover=" + (this.fixHover === true), "events=" + y, "version=" + this.VERSION]; var x = A.encodeVars(AP); var g = new K(O, AH, AP, AC, { onReplacement: w.onReplacement, onRollOver: w.onRollOver, onRollOut: w.onRollOut, onRelease: w.onRelease }); g.movie = X.create(sIFR, AE, T.fixFocus && w.fixFocus, AH, v, AA, AJ, x, AF, e); this.replacements.push(g); this.replacements[AH] = g; if (w.selector) { if (!this.replacements[w.selector]) { this.replacements[w.selector] = [g] } else { this.replacements[w.selector].push(g) } } d.setAttribute("id", AH + "_alternate"); AE.appendChild(d); W.addClass(E.REPLACED, AE) } G.fragmentIdentifier.restore() }; this.getReplacementByFlashElement = function(d) { for (var c = 0; c < O.replacements.length; c++) { if (O.replacements[c].id == d.getAttribute("id")) { return O.replacements[c] } } }; this.redraw = function() { for (var c = 0; c < O.replacements.length; c++) { O.replacements[c].resetMovie() } }; function C() { if (O.domains.length == 0) { return true } var d = A.domain(); for (var c = 0; c < O.domains.length; c++) { if (A.domainMatches(d, O.domains[c])) { return true } } return false } function b() { if (document.location.protocol == "file:") { if (O.debug) { O.errors.fire("isFile") } return true } return false } function M(c) { if (T.ie && c.charAt(0) == "/") { c = window.location.toString().replace(/([^:]+)(:\/?\/?)([^\/]+).*/, "$1$2$3") + c } return c } function V(d, e) { for (var c = 0; c < e.length; c += 2) { if (d <= e[c]) { return e[c + 1] } } return e[e.length - 1] || 1 } function B(g) { var e = []; for (var d in g) { if (g[d] == Object.prototype[d]) { continue } var c = g[d]; d = [d.replace(/filter/i, "") + "Filter"]; for (var f in c) { if (c[f] == Object.prototype[f]) { continue } d.push(f + ":" + A.escape(A.toJson(c[f], A.toHexString))) } e.push(d.join(",")) } return A.escape(e.join(";")) } function a(d) { var e = a.viewport; var c = W.getViewport(); if (e && c.width == e.width && c.height == e.height) { return } a.viewport = c; if (O.replacements.length == 0) { return } if (a.timer) { clearTimeout(a.timer) } a.timer = setTimeout(function() { delete a.timer; for (var f = 0; f < O.replacements.length; f++) { O.replacements[f].resize() } }, 200) } function I(g) { var h, d; if (!T.ie) { h = W.getStyleAsInt(g, "lineHeight"); d = Math.floor(W.getStyleAsInt(g, "height") / h) } else { if (T.ie) { var h = W.getComputedStyle(g, "fontSize"); if (h.indexOf("px") > 0) { h = parseInt(h) } else { var f = g.innerHTML; g.style.visibility = "visible"; g.style.overflow = "visible"; g.style.position = "static"; g.style.zoom = "normal"; g.style.writingMode = "lr-tb"; g.style.width = g.style.height = "auto"; g.style.maxWidth = g.style.maxHeight = g.style.styleFloat = "none"; var i = g; var c = g.currentStyle.hasLayout; if (c) { g.innerHTML = '<div class="' + E.LAYOUT + '">X<br>X<br>X</div>'; i = g.firstChild } else { g.innerHTML = "X<br>X<br>X" } var e = i.getClientRects(); h = e[1].bottom - e[1].top; h = Math.ceil(h * 0.8); if (c) { g.innerHTML = '<div class="' + E.LAYOUT + '">' + f + "</div>"; i = g.firstChild } else { g.innerHTML = f } e = i.getClientRects(); d = e.length; if (c) { g.innerHTML = f } g.style.visibility = g.style.width = g.style.height = g.style.maxWidth = g.style.maxHeight = g.style.overflow = g.style.styleFloat = g.style.position = g.style.zoom = g.style.writingMode = "" } } } return { fontSize: h, lines: d} } function P(c, g, s) { s = s || A.uriEncode; var q = [], m = []; var k = null; var e = c.childNodes; var o = false, p = false; var j = 0; while (j < e.length) { var f = e[j]; if (f.nodeType == 3) { var t = A.textTransform(g, A.normalize(f.nodeValue)).replace(/</g, "&lt;"); if (o && p) { t = t.replace(/^\s+/, "") } m.push(t); o = /\s$/.test(t); p = false } if (f.nodeType == 1 && !/^(style|script)$/i.test(f.nodeName)) { var h = []; var r = f.nodeName.toLowerCase(); var n = f.className || ""; if (/\s+/.test(n)) { if (n.indexOf(E.CLASS) > -1) { n = n.match("(\\s|^)" + E.CLASS + "-([^\\s$]*)(\\s|$)")[2] } else { n = n.match(/^([^\s]+)/)[1] } } if (n != "") { h.push('class="' + n + '"') } if (r == "a") { var d = s(f.getAttribute("href") || ""); var l = f.getAttribute("target") || ""; h.push('href="' + d + '"', 'target="' + l + '"'); if (!k) { k = { href: d, target: l} } } m.push("<" + r + (h.length > 0 ? " " : "") + h.join(" ") + ">"); p = true; if (f.hasChildNodes()) { q.push(j); j = 0; e = f.childNodes; continue } else { if (!/^(br|img)$/i.test(f.nodeName)) { m.push("</", f.nodeName.toLowerCase(), ">") } } } if (q.length > 0 && !f.nextSibling) { do { j = q.pop(); e = f.parentNode.parentNode.childNodes; f = e[j]; if (f) { m.push("</", f.nodeName.toLowerCase(), ">") } } while (j == e.length - 1 && q.length > 0) } j++ } return { text: m.join("").replace(/^\s+|\s+$|\s*(<br>)\s*/g, "$1"), primaryLink: k || {}} } };
var parseSelector = (function() { var B = /\s*,\s*/; var A = /\s*([\s>+~(),]|^|$)\s*/g; var K = /([\s>+~,]|[^(]\+|^)([#.:@])/g; var E = /^[^\s>+~]/; var J = /[\s#.:>+~()@]|[^\s#.:>+~()@]+/g; function G(P, N) { N = N || document.documentElement; var Q = P.split(B), V = []; for (var S = 0; S < Q.length; S++) { var L = [N], U = F(Q[S]); for (var R = 0; R < U.length; ) { var O = U[R++], M = U[R++], T = ""; if (U[R] == "(") { while (U[R++] != ")" && R < U.length) { T += U[R] } T = T.slice(0, -1) } L = H(L, O, M, T) } V = V.concat(L) } return V } function F(L) { var M = L.replace(A, "$1").replace(K, "$1*$2"); if (E.test(M)) { M = " " + M } return M.match(J) || [] } function H(L, N, O, M) { return (G.selectors[N]) ? G.selectors[N](L, O, M) : [] } var D = { toArray: function(M) { var L = []; for (var N = 0; N < M.length; N++) { L.push(M[N]) } return L } }; var C = { isTag: function(M, L) { return (L == "*") || (L.toLowerCase() == M.nodeName.toLowerCase()) }, previousSiblingElement: function(L) { do { L = L.previousSibling } while (L && L.nodeType != 1); return L }, nextSiblingElement: function(L) { do { L = L.nextSibling } while (L && L.nodeType != 1); return L }, hasClass: function(L, M) { return (M.className || "").match("(^|\\s)" + L + "(\\s|$)") }, getByTag: function(L, M) { return M.getElementsByTagName(L) } }; var I = { "#": function(L, N) { for (var M = 0; M < L.length; M++) { if (L[M].getAttribute("id") == N) { return [L[M]] } } return [] }, " ": function(M, O) { var L = []; for (var N = 0; N < M.length; N++) { L = L.concat(D.toArray(C.getByTag(O, M[N]))) } return L }, ">": function(M, P) { var L = []; for (var O = 0, Q; O < M.length; O++) { Q = M[O]; for (var N = 0, R; N < Q.childNodes.length; N++) { R = Q.childNodes[N]; if (R.nodeType == 1 && C.isTag(R, P)) { L.push(R) } } } return L }, ".": function(M, O) { var L = []; for (var N = 0, P; N < M.length; N++) { P = M[N]; if (C.hasClass([O], P)) { L.push(P) } } return L }, ":": function(L, N, M) { return (G.pseudoClasses[N]) ? G.pseudoClasses[N](L, M) : [] } }; G.selectors = I; G.pseudoClasses = {}; G.util = D; G.dom = C; return G })();