﻿/*
$Id: spiffy.js 2152 2008-12-15 07:44:58Z q42office\martin $
$Revision: 2152 $
$Author: q42office\martin $
$Date: 2008-12-15 08:44:58 +0100 (ma, 15 dec 2008) $
$Description:  $
*/
var d = window["Spif"] = { e: "undefined", f: "*", g: " ", h: "none", j: "threadStart", k: "threadEnd", l: "beforeChangeClassName", m: "afterChangeClassName", n: "beforeHtmlChanged", o: "afterHtmlChanged", r: "beforeAction", t: "afterElementActivation", v: "linkExecuteRequest", w: 400, z: "loaded", B: "unloaded\\b|\\bloading\\b|\\bloaded", C: "load", D: "click", F: "keydown", G: "keypress", H: "mousedown", I: "mousemove", J: "mouseup", K: "DXImageTransform.Microsoft.Alpha", L: true, M: false, N: "onBefore", O: "onFinish", P: "-delay", Q: (typeof (window.opera) != "undefined"), R: (navigator.userAgent.indexOf("MSIE") != -1) && !window.opera, S: (navigator.userAgent.indexOf("MSIE") != -1) && !window.opera && (typeof (XMLHttpRequest) != "undefined"), T: ((navigator.userAgent.indexOf("Gecko") != -1) && (navigator.appVersion.indexOf("AppleWebKit") == -1)), U: (navigator.appVersion.indexOf("AppleWebKit") != -1) && (typeof (XMLHttpRequest) == "undefined"), V: (navigator.appVersion.indexOf("AppleWebKit") != -1) && (typeof (XMLHttpRequest) != "undefined"), W: document.documentElement, X: function(Y) { if (Y.Z) Y.Z(); } }; d["isIE"] = d.R; d["isIE7"] = d.S; d["isOpera"] = d.Q; d["isGecko"] = d.T; d["isSafari"] = d.V; d["DEFAULTMORPHDURATION"] = d.w; d["SUPPRESSEVENTS"] = d.L; d["FIREEVENTS"] = d.M; d["THREADSTART"] = d.j; d["THREADEND"] = d.k; d.aa = { ba: 365, get: function(name, defaultValue) { var ca = this.da(); return (name in ca) ? ca[name] : defaultValue; }, da: function() { var ca = {}; var ea = document.cookie.split("; "); for (var i = 0; i < ea.length; i++) { var fa = ea[i].split("="); ca[unescape(fa[0])] = unescape(fa[1]); } return ca; }, ga: function(name, value) { document.cookie = escape(name) + "=" + escape(value) + this.ha(this.ba); }, remove: function(name) { document.cookie = escape(name) + "=" + this.ha(-365); }, ha: function(ia) { var ja = new Date; ja.setDate(ja.getDate() + ia); return "; expires=" + ja.toGMTString(); } }; d["Cookies"] = d.aa; d.aa["get"] = d.aa.get; d.aa["getAll"] = d.aa.da; d.aa["set"] = d.aa.ga; d.aa["remove"] = d.aa.remove; d.ka = { la: function(ma, delay, Y, na) { if (delay >= 0) return setTimeout(this.oa(ma, Y, na), delay); else { ma.apply(Y || window, na || []); return null; } }, pa: function(ma, qa, Y, na) { var ra = this.oa(ma, Y, na); ra(); return setInterval(ra, qa); }, oa: function(ma, Y, na) { return function() { d.sa.ta(d.j, null, null); ma.apply(Y || window, na || []); d.sa.ta(d.k, null, null); }; }, ua: function(va, wa, context) { var xa = va.href; if (xa) var ya = xa.split("#")[1]; if (ya) return document.getElementById(ya); return d.za.Aa(context || va, wa); }, Ba: function(Ca, Da, Ea, Fa, Ga) { var Ha = {}; Ha.Ia = d.za.Aa(Ca, Da); if (Ha.Ia) { Ha.Ja = d.Ka.La(Ha.Ia, Da, Fa); Ha.object = this.ua(Ha.Ia, Ea); if (Ha.object) Ha.Ma = d.Ka.La(Ha.object, Ea, Ga); } return Ha; }, Na: function(s, Oa) { return s ? Function("a", "b", "c", "d", "e", "return " + s + "(a, b, c, d, e);") : Oa; }, Pa: function(Ca, Qa, Ra, Sa, Ta) { return this.Ua(Ca, Qa, Ra, Sa, Ta).Va[0]; }, Wa: function(Ca, Qa, Ra, Sa, Ta) { return this.Ua(Ca, Qa, Ra, Sa, Ta).Va; }, Ua: function(Ca, Qa, Ra, Sa, Ta) { var Xa = { Va: [], Ca: null }; var Ya; do { if (!(Ya = d.Ka.match(Ca, Qa + "-[\\w-]+"))) Ca = Ca.parentNode; } while (!Ya && !Sa && Ca && Ca.nodeType == 1); if (Ya) for (var i = 0; i < Ya.length; i++) { var s = Ya[i].substring(Qa.length + 1); if (!Ta || !Ta[s]) { Xa.Va.push(s); Xa.Ca = Ca; } } if ((Ra != null) && (Xa.Va.length == 0)) Xa.Va[0] = Ra; return Xa; }, Za: function(Ca, _b, ab, Sa) { var Ya; do { Ya = d.Ka.match(Ca, _b + "-?\\d+"); Ca = Ca.parentNode; } while (!Sa && Ca && Ca.nodeType == 1 && !Ya); return (Ya ? parseInt(Ya[0].substring(_b.length)) : ab); }, bb: function(a) { var cb = {}; for (var i = 0; i < a.length; i++) cb[a[i]] = i; return cb; }, db: function(Ca, eb, fb) { var gb = Ca.hb; if (!gb) gb = Ca.hb = {}; gb[eb] = fb; }, ib: function(Ca, eb) { var gb = Ca.hb; if (!gb) return null; else return gb[eb]; } }; d.ka.platform = (d.S ? "ie ie7" : (d.R ? "ie ie6" : (d.T ? "gecko" : (d.Q ? "opera" : (d.U ? "safari2" : (d.V ? "safari" : "unknown")))))); if (!Array.prototype.push) { Array.prototype.push = function() { for (var i = 0; i < arguments.length; i++) this[this.length] = arguments[i]; }; } if (!Function.prototype.apply) { Function.prototype.apply = function(Y, na) { Y.jb = this; var kb = Y.jb(na[0], na[1], na[2], na[3], na[4]); Y.jb = null; return kb; } } d.X(d.ka); d["Utils"] = d.ka; d.ka["setTimeoutHandler"] = d.ka.la; d.ka["setIntervalHandler"] = d.ka.pa; d.za = { lb: 1, mb: {}, nb: function(Ca) { if (!Ca.id) { var id = "qid_" + this.lb++; Ca.id = id; this.mb[id] = true; } return Ca.id; }, ob: function(Ca) { var pb = []; if (Ca.id && !this.mb[Ca.id]) pb[0] = Ca; var qb = Ca.getElementsByTagName(d.f); var rb = qb.length; for (var i = 0; i < rb; i++) { var Ca = qb[i]; if (Ca.id && !this.mb[Ca.id]) pb[pb.length] = Ca; } return pb; }, Aa: function(Ca, sb, tb) { while (Ca && Ca.nodeType == 1) { if (d.Ka.contains(Ca, sb)) return Ca; Ca = Ca.parentNode; if (tb && Ca && Ca.className && d.Ka.contains(Ca, tb)) return null; } }, ub: function(Ca, sb) { var vb = Ca.getElementsByTagName("*"); var wb = vb.length; for (var i = 0; i < wb; i++) if (d.Ka.contains(vb[i], sb)) return vb[i]; }, getElementsByTagName: function(Ca, tagName) { var xb = []; var yb = Ca.getElementsByTagName(tagName); var zb = yb.length; for (var i = 0; i < zb; i++) xb.push(yb[i]); return xb; }, getBoxObjectFor: function(Ca) { if (d.R) { var Ab = Ca.getBoundingClientRect(); return { x: Ab.left, y: Ab.top, width: Ab.right - Ab.left, height: Ab.bottom - Ab.top }; } else if (d.T) return Ca.ownerDocument.getBoxObjectFor(Ca); else if (d.Q) { Bb("TO DO!!!"); Cb = { y: Ca.offsetTop, height: Db.offsetHeight }; } else if (d.V || d.U) { var Cb = { x: 0, y: 0, width: Ca.offsetWidth, height: Ca.offsetHeight }; while (Ca) { Cb.x += Ca.offsetLeft; Cb.y += Ca.offsetTop; Ca = Ca.offsetParent; } return Cb; } }, Eb: function(Ca) { var value = Ca.value; switch (Ca.nodeName) { case "SELECT": value = Ca.options[Ca.selectedIndex].value; break; case "INPUT": switch (Ca.type) { case "checkbox": value = Ca.checked; break; } break; } return value; }, Fb: function(Ca) { if (d.R) return Ca.parentTextEdit != null; else if (d.Q) return Ca.sourceIndex != -1; else return Ca.offsetParent != null; }, Gb: function(Hb, Ib) { if (d.R) return Hb.contains(Ib); while (Ib) { if (Hb == Ib) return true; else Ib = Ib.parentNode; } return false; }, Jb: function(Kb, Lb) { if (!Kb || !Lb || Kb == Lb) return Kb || Lb; while (Kb) { if (this.Gb(Kb, Lb)) return Kb; Kb = Kb.parentNode; } }, Mb: function(Ca) { return d.R ? Ca.style.cssText : Ca.getAttribute("style"); }, Nb: function(Ca, s) { if (d.R) Ca.style.cssText = s; else Ca.setAttribute("style", s); }, Ob: function() { this.Pb = d.W.scrollTop; this.Qb = d.W.scrollHeight - d.W.clientHeight; }, Rb: function() { var Sb = this.Qb - this.Pb; d.W.scrollTop = (Sb < 50 && this.Pb > 100) ? d.W.scrollHeight - d.W.clientHeight - Sb : this.Pb; } }; d.X(d.za); d["HtmlDomUtils"] = d.za; d.za["acquireIdForHtmlElement"] = d.za.nb; d.za["getAncestorWithClassName"] = d.za.Aa; d.za["getBoxObjectFor"] = d.za.getBoxObjectFor; d.za["_storeScrollState"] = d.za.Ob; d.za["_restoreScrollState"] = d.za.Rb; d.Ka = { Tb: /\s+/, Ub: {}, Vb: {}, Wb: [], Xb: {}, Yb: null, Zb: function(sb, ma, Y) { this.Wb.push({ sb: sb, ma: ma, Y: Y }); }, _c: function(sb, ac, qa) { this.Vb[sb] = { ac: ac, bc: "(\\b" + ac.join("-" + sb) + "-" + sb + "\\b|\\b" + sb + "\\b)", qa: qa || 1.1 * d.w }; }, cc: function(sb, dc) { this.Xb[sb] = " " + dc + " "; var as = []; for (var sb in this.Xb) as.push(sb); if (as.length) { var s = "(\\s)(" + as.join("|") + ")(\\s)"; this.Yb = new RegExp(s, "g"); } else this.Yb = null; }, ec: {}, fc: function(Ca) { if (this.Yb) { var gc = d.za.nb(Ca); if (!this.ec[gc]) { Ca.className = (" " + Ca.className + " ").replace(this.Yb, this.hc); this.ec[gc] = 1; } } return Ca.className; }, hc: function(a, b, sb) { return d.Ka.Xb[sb]; }, contains: function(Ca, sb) { return this.ic(this.fc(Ca), sb); }, ic: function(s, sb) { return !!(s && s.match(this.jc(sb))); }, match: function(Ca, sb) { return this.fc(Ca).match(this.jc(sb)); }, add: function(Ca, kc, lc) { if (!this.contains(Ca, kc)) if (this.Vb[kc]) this.mc(Ca, null, kc, 0, lc); else { var nc = this.fc(Ca); var oc = nc + d.g + kc; this.pc(Ca, nc, oc, lc); } }, replace: function(Ca, qc, kc, lc, rc) { if (this.contains(Ca, qc)) { if (this.Vb[qc]) qc = this.Vb[qc].bc; if (!rc && this.Vb[kc]) this.mc(Ca, qc, kc, 0, lc); else { var sb = this.fc(Ca); this.pc(Ca, sb, this.sc(sb, qc, kc), lc); } } else this.add(Ca, kc, lc); }, sc: function(s, tc, uc) { var vc = s.replace(this.jc(tc), uc); if (!vc.match(this.jc(uc))) vc += d.g + uc; return vc; }, wc: function(Ca, sb, xc, lc) { if (xc) this.add(Ca, sb, lc); else this.remove(Ca, sb, lc); }, yc: function(Ca, zc, Ac, lc, rc) { var Bc = this.contains(Ca, zc); this.replace(Ca, (Bc ? zc : Ac), (Bc ? Ac : zc), lc, rc); }, remove: function(Ca, qc, lc) { if (this.Vb[qc]) qc = this.Vb[qc].bc; var sb = this.fc(Ca); this.pc(Ca, sb, sb.replace(this.jc(qc), ""), lc); }, ga: function(Ca, oc, lc) { this.pc(Ca, this.fc(Ca), oc, lc); var sb; var Cc = oc.split(this.Tb); for (var i = 0; i < Cc.length; i++, sb = Cc[i]) if (this.Vb[sb]) { this.mc(Ca, sb, sb, 0, lc); return; } }, Dc: new RegExp("(-[^_-]+)|(_-\\d+)|(_\\w+)", "g"), Ec: { "delay": "int", "delayOn": "int", "delayOff": "int", "duration": "int", "delta": "int", "max": "int", "interval": "int", "step": "int", "onBefore": "function", "onFinish": "function", "props": "array", "classes": "array", "limitmorphto": "array", "add": "array", "replace": "array", "target": "array" }, La: function(Ca, Fc, Gc) { var Hc = null; var Ic = this.jc(Fc + "\\b-?([\\w\\-\\_]*)\\b"); var matches = this.fc(Ca).match(Ic); if (matches) { Hc = {}; if (Gc) for (var Jc in Gc) Hc[Jc] = Gc[Jc]; Hc.Kc = matches[0].split("-")[0]; for (var Lc = 0; Lc < matches.length; Lc++) { var ca = matches[Lc].match(this.Dc); if (ca) for (var i = 0; i < ca.length; i++) { var eb = ca[i].substring(1); if (i < ca.length - 1 && ca[i + 1].charAt(0) == "_") { var fb = ca[i++ + 1].substring(1); switch (this.Ec[eb]) { case "function": fb = d.ka.Na(fb); break; case "int": fb = parseInt(fb); break; case "array": fb = fb.split("_"); break; } Hc[eb] = fb; if (!Hc.action) Hc.action = eb; } else { Hc[eb] = true; Hc.action = eb; } } } } return Hc; }, Mc: null, Nc: function() { this.Mc = { Oc: null, setData: [] }; }, Pc: function() { var Qc = this.Mc; this.Mc = null; if (Qc.setData.length > 0) { var Rc = this.Sc(Qc.Tc, this.fc(Qc.Oc), false); d.sa.ta(d.l, Qc.Oc, Rc); for (var i = 0; i < Qc.setData.length; i++) { var Uc = Qc.setData[i]; this.pc(Uc.Ca, Uc.nc, Uc.oc, d.M, true); } this.Vc(Qc.Oc, Rc); } }, Vc: function(Ca, Wc) { if (Wc.toValue != Wc.fromValue) { d.sa.ta(d.m, Ca, Wc); for (var i = 0; i < this.Wb.length; i++) { var Xc = this.Wb[i]; if (Wc.addCNh[Xc.sb]) Xc.ma.apply(Xc.Y || window, [Wc, d.Yc.Zc()]) } } }, _d: function(Ca, Hc) { for (var name in Hc) { var ad = Hc[name]; switch (name) { case "add": for (var i = 0; i < ad.length; i++) this.add(Ca, ad[i]); break; case "remove": this.remove(Ca, ad); break; case "replace": this.replace(Ca, ad[0], ad[1]); break; case "set": this.ga(Ca, ad); break; case "clear": case "empty": this.ga(Ca, ""); break; } } }, jc: function(sb) { return this.Ub[sb] || (this.Ub[sb] = new RegExp("(?:^|\\b)" + sb + "(?:\\b|$)", "g")); }, pc: function(Ca, nc, oc, lc, bd) { oc = oc.replace(/^\s+|\s+$/g, ""); if (oc != nc) { if (this.Mc) { var cd = d.za.Jb(this.Mc.Oc, Ca); if (cd != this.Mc.Oc) { this.Mc.Oc = cd; this.Mc.Tc = this.fc(cd); } this.Mc.setData.push({ Ca: Ca, nc: nc, oc: oc }); } else { if (!lc) { var Wc = this.Sc(nc, oc, bd); d.sa.ta(d.l, Ca, Wc); } if (!Ca.__originalClassName) Ca.__originalClassName = Ca.className; Ca.className = oc; if (!lc) this.Vc(Ca, Wc); if (d.R) { if (Ca.getAttribute("tabIndex", 2) == 0) { Ca.tabIndex = -1; setTimeout(function() { Ca.tabIndex = 0; }, 0); } } } } }, mc: function(Ca, qc, sb, ed, lc) { var data = this.Vb[sb]; var ac = data.ac; var kc = ac[ed] + "-" + sb; d.ka.db(Ca, d.w, data.qa); if (qc && this.contains(Ca, qc)) this.replace(Ca, qc, kc, lc, true); else this.add(Ca, kc, lc, true); var fd = this; if (ed < ac.length - 1) d.ka.la(function() { fd.mc(Ca, kc, sb, ed + 1, lc); }, data.qa); else d.ka.la(function() { if (fd.contains(Ca, kc)) fd.replace(Ca, kc, sb, lc, true); }, data.qa); }, Sc: function(nc, oc, bd) { var gd = nc.split(this.Tb); var hd = {}; for (var i = 0; i < gd.length; i++) hd[gd[i]] = 1; var jd = oc.split(this.Tb); var addCNs = []; var addCNh = {}; for (var i = 0; i < jd.length; i++) { if (!hd[jd[i]]) { addCNs.push(jd[i]); addCNh[jd[i]] = 1; } var kd = jd[i].split(/[-_]/); for (var ld = 0; ld < kd.length; ld++) { addCNs.push(kd[ld]); addCNh[kd[ld]] = 1; } } var delCNs = []; for (var i = 0; i < gd.length; i++) if (!addCNs[gd[i]]) delCNs.push(gd[i]); return { fromValue: nc, toValue: oc, delCNs: delCNs, addCNs: addCNs, addCNh: addCNh, bd: bd }; } }; d.X(d.Ka); d["ClassNameAbstraction"] = d.Ka; d.Ka["addAfterChangeClassNameListener"] = d.Ka.Zb; d.Ka["addClassNameSequence"] = d.Ka._c; d.Ka["contains"] = d.Ka.contains; d.Ka["add"] = d.Ka.add; d.Ka["replace"] = d.Ka.replace; d.Ka["swap"] = d.Ka.yc; d.Ka["toggle"] = d.Ka.wc; d.Ka["remove"] = d.Ka.remove; d.Ka["set"] = d.Ka.ga; d.Ka["addClassNameAlias"] = d.Ka.cc; d.Yc = { md: false, nd: {}, od: {}, pd: [], qd: null, rd: function(sd, ud, ma, Y, tagName, sb) { tagName = tagName ? tagName.toUpperCase() : null; var vd = { ma: ma, Y: Y, tagName: tagName, sb: sb }; var wd = d.za.nb(sd) + "-" + tagName + "-" + sb + "-" + ud; var xd = this.nd[wd]; if (this.od[wd] == sd && xd) xd.push(vd); else { this.od[wd] = sd; xd = this.nd[wd] = [vd]; this.pd.push(sd); var ra = this.yd(wd, this.pd.length - 1); if (sd.addEventListener) sd.addEventListener(ud, ra, false); else { if (ud == "DOMMouseScroll") ud = "mousewheel"; sd.attachEvent("on" + ud, ra); } } }, zd: function(sb, ud, ma, Y) { this.rd(document.documentElement, ud, ma, Y, null, sb); }, Ad: function(tagName, ud, ma, Y) { this.rd(document.documentElement, ud, ma, Y, tagName, null); }, Zc: function() { return this.qd; }, yd: function(wd, Bd) { return function(Cd) { if ((typeof (d) != "undefined") && (!d.T || document.defaultView)) { d.za.Ob(); Cd = d.Yc.Dd(Cd); d.Yc.qd = Cd; d.sa.ta(d.j, Cd); if (Cd.type == d.D && d.T && Cd.Ed) return false; var kb = undefined; var sd = d.Yc.pd[Bd]; var xd = d.Yc.nd[wd]; var na = [Cd, sd]; for (var i = 0; i < xd.length; i++) { var vd = xd[i]; if (vd.tagName || vd.sb) { na[1] = null; var Ca = Cd.subject; while (Ca) { if ((!vd.tagName || Ca.nodeName == vd.tagName) && (!vd.sb || d.Ka.contains(Ca, vd.sb))) { na[1] = Ca; kb = vd.ma.apply(vd.Y || na[1], na) && kb; } Ca = Ca.parentNode; } } else { na[1] = sd; kb = vd.ma.apply(vd.Y || na[1], na) && kb; } } if (Cd.Fd == true) d.Yc.Gd(Cd); d.sa.ta(d.k, Cd); d.za.Rb(); d.Yc.qd = null; return kb; } }; }, Hd: function() { this.Fd = true; }, Gd: function(Cd) { Cd.preventDefault(); Cd.stopPropagation(); if (d.V && this.type == d.D) { var Ca = Cd.subject; while (Ca && Ca.nodeName != "A") Ca = Ca.parentNode; if (Ca) { Ca.Id = Ca.href; Ca.href = "javascript://"; setTimeout(function() { Ca.href = Ca.Id; }, 10); } } }, Jd: function() { this.returnValue = false; }, Kd: function() { this.cancelBubble = true; }, Dd: function(Cd) { if (d.R) { Cd.subject = Cd.srcElement; Cd.preventDefault = this.Jd; Cd.stopPropagation = this.Kd; } else { Cd.subject = Cd.target || Cd.currentTarget; if (Cd.subject && Cd.subject.nodeType == 3) Cd.subject = Cd.subject.parentNode; } Cd.cancel = this.Hd; switch (Cd.type) { case d.D: case "mousedown": case "mouseup": case "mousemove": Cd.Ld = (d.R || d.U ? Cd.button == 1 : Cd.button == 0); Cd.Ed = Cd.button == 2; break; case d.F: case "keyup": case d.G: if (d.R && Cd.subject.isContentEditable) { var Md = document.selection.createRange(); if (Md.length) Cd.subject = Md.item(0); else Cd.subject = Md.parentElement(); } if (d.T && Cd.subject == document.documentElement) Cd.subject = document.body; break; case "mousewheel": if (d.R) Cd.detail = -Cd.wheelDelta / 20; break; } return Cd; } }; d["DOMEvents"] = d.Yc; d.Yc["attach"] = d.Yc.rd; d.Yc["attachToTagName"] = d.Yc.Ad; d.Yc["attachToClassName"] = d.Yc.zd; d.Yc["getEvent"] = d.Yc.Zc; d.sa = { Nd: {}, Od: function(ud, ma, Y) { var Pd = this.Nd[ud] = this.Nd[ud] || []; Pd[Pd.length] = { ma: ma, Y: Y }; }, ta: function(ud, subject, ca) { var kb = true; var Pd = this.Nd[ud]; if (Pd) { var Cd = ca || {}; Cd.type = ud; Cd.subject = subject; for (var i = Pd.length - 1; i >= 0; i--) kb = (Pd[i].ma.apply(Pd[i].Y || subject, [Cd]) != false) && kb; } return kb; } }; d["CustomEvents"] = d.sa; d.sa["listen"] = d.sa.Od; d.sa["fire"] = d.sa.ta; d.Qd = { Z: function() { d.sa.Od(d.m, this.Rd, this); d.sa.Od(d.o, this.Sd, this); d.Yc.rd(document.documentElement, "DOMMouseScroll", this.Td, this); }, Rd: function(Cd) { if (Cd.addCNs.length > 0 && d.sa.ta(d.r, Cd.subject)) this.Ud(Cd.subject, Cd.addCNs); }, Sd: function(Cd) { if (d.sa.ta(d.r, Cd.subject)) this.Ud(Cd.subject, [d.C]); }, Ud: function(Vd, Wd, context) { var Xd = false; for (var i = 0; i < Wd.length; i++) d.sa.ta("on" + Wd[i], Vd); var Yd = "\\bon" + Wd.join("\\b|\\bon") + "\\b"; for (var Zd = Vd.firstChild; Zd; Zd = Zd.nextSibling) if (Zd.nodeName == "A" && d.Ka.contains(Zd, Yd)) { d.sa.ta(d.v, Zd, { context: context }); Xd = true; } return Xd; }, Td: function(Cd) { var _e = false; var ud = ["mousescroll" + (Cd.detail > 0 ? "down" : "up")]; for (var Ca = Cd.subject; Ca; Ca = Ca.parentNode) _e = _e || this.Ud(Ca, ud, null); if (_e) Cd.cancel(); } }; d.X(d.Qd); d.ae = { be: [], ce: null, de: {}, ee: {}, qd: null, fe: null, ge: false, Z: function() { d.Yc.rd(document.documentElement, d.D, this.he, this); d.Yc.rd(document.documentElement, (d.R ? d.F : d.G), this.he, this); }, ie: function(sb, ma, Y) { this.je(sb, ma, Y, true); }, ke: function(sb, ma, Y) { this.je(sb, ma, Y, false); this.ge = true; }, je: function(sb, ma, Y, le) { this.be[this.be.length] = sb; this.de[sb] = { ma: ma, Y: Y }; this.ee[sb] = le; this.be = this.be.sort().reverse(); this.ce = new RegExp("(\\b" + this.be.join("\\b)|(\\b") + "\\b)|(\\b[\\w\\-]+\\b|\\s+)", "g"); }, he: function(Cd) { this.fe = (Cd.type == d.D || Cd.keyCode == 13 || Cd.keyCode == 32); if (!this.ge && !this.fe) return; this.qd = Cd; var qb = []; for (var Ca = Cd.subject; Ca && Ca.nodeType == 1; Ca = Ca.parentNode) qb[qb.length] = Ca; for (var i = 0; i < qb.length; i++) { this.me = qb[i]; if (this.me.className) this.me.className.replace(this.ce, this.ne); } }, ne: function() { if (!arguments[arguments.length - 3]) { var fd = d.ae; for (var i = 1; i < arguments.length - 3; i++) if (arguments[i]) { var sb = fd.be[i - 1]; if (fd.fe || !fd.ee[sb]) { if (d.sa.ta(d.r, fd.me)) { var ma = fd.de[sb]; ma.ma.apply(ma.Y || fd.me, [fd.me, arguments[i], fd.qd]); } return; } } } } }; d.X(d.ae); d.oe = { pe: [], qe: "", re: {}, se: {}, te: [], Z: function() { d.Yc.rd(document.documentElement, d.D, this.ue, this); d.Yc.rd(document.documentElement, "dblclick", this.ue, this); d.Yc.rd(document.documentElement, "keyup", this.ve, this); d.sa.Od(d.v, this.we, this); }, xe: function(ye, Y) { this.te.push({ ma: ye, Y: Y }); }, ze: function(sb, ye, Y) { this.Ae([sb], [], ye, Y) }, Ae: function(Be, Ce, ye, Y) { var De = "(" + Ce.join("|") + ")"; for (var i = 0; i < Be.length; i++) { var Fc = Be[i]; this.pe[this.pe.length] = Fc; this.re[Fc] = De; this.se[Fc] = { ma: ye, Y: Y }; } this.qe = "(\\b" + this.pe.join("\\b|\\b") + "\\b)"; }, ue: function(Cd) { this.we(Cd); }, ve: function(Cd) { if (Cd.keyCode == 32 || Cd.keyCode == 13) this.we(Cd); }, we: function(Cd) { var Be; var Ca = Cd.subject; while (Ca && Ca.nodeType == 1) { if (Cd.type == d.G && Ca.nodeName == "A") return; if ((Be = d.Ka.match(Ca, this.qe)) && d.sa.ta(d.r, Ca)) { var Ee = {}; for (var i = 0; i < Be.length; i++) { var Fc = Be[i]; if (Fc && !Ee[Fc]) { var Fe = d.Ka.La(Ca, Fc); if ((!Fe["require"] || d.za.Aa(Ca, Fe["require"])) && (!Fe["disallow"] || !d.za.Aa(Ca, Fe["disallow"]))) { var Ge = this.He(Ca, Fc, Cd.context); if (!Ge || !Ge.Ca || !d.sa.ta(d.r, Ge.Ca)) continue; var Ie = d.Ka.La(Ge.Ca, Ge.Je); if (Ie) Ee[Fc] = { Ke: this.se[Fc], Ge: Ge, Fe: Fe, Ie: Ie }; } } } for (Fc in Ee) { var Le = Ee[Fc]; d.ka.la(this.Me(Cd, Ca, Fc, Le), 1 * Le.Fe.delay || -1); } } if (Ca.nodeName == "INPUT" && Ca.type == "submit") while (Ca.nodeName != "FORM") Ca = Ca.parentNode; if (Ca.nodeName == "A" || Ca.nodeName == "FORM") { for (var i = 0; i < this.te.length; i++) { var ma = this.te[i]; ma.ma.apply(ma.Y || Ca, [Ca, Cd]); } if (Cd.cancel && Be && Be.length > 0 && Ca.getAttribute("href", 2).charAt(0) == "#") Cd.cancel(); } Ca = Ca.parentNode; } }, Me: function(Cd, Ca, Fc, Le) { return function() { Le.Ke.ma.apply(Le.Ke.Y || Ca, [Ca, Fc, Le.Ge.Ca, Le.Ge.Je, Cd, Le.Fe, Le.Ie]); }; }, He: function(va, Fc, context) { var Ne = this.Oe(va, Fc, context); if (Ne) { var Pe = d.Ka.match(Ne, this.re[Fc]); return { Ca: Ne, Je: (Pe ? Pe[0] : null) }; } }, Oe: function(va, Fc, context) { var xa = va.href; if (xa) var ya = xa.split("#")[1]; if (ya) return document.getElementById(ya); for (var Ca = context || va; Ca != document.documentElement; Ca = Ca.parentNode) if (d.Ka.match(Ca, this.re[Fc])) return Ca; } }; d.X(d.oe); d["ActionManager"] = d.oe; d.oe["addClassNameActionListener"] = d.oe.ze; (function() { d.Qe = { Re: "exclusive_", Se: "allExclusive_", Te: "delayExclusive_", Ue: "exclusive-reset", Ve: 1, We: {}, Xe: {}, Ye: {}, Ze: {}, _f: {}, af: {}, bf: {}, cf: {}, Z: function() { d.sa.Od(d.j, this.df, this); d.sa.Od(d.m, this.Rd, this); }, ef: function(Be, ff, gf, hf, jf) { var id = this.Ve++; var kf = ff[ff.length - 1]; for (var i = 0; i < Be.length; i++) { var Fc = Be[i]; var lf = ff[i]; this.Ye[kf] = lf; this.Ze[lf] = kf; kf = lf; this.We[Fc] = lf; this.Xe[lf] = Fc; this._f[Fc] = id; } if (gf) { for (var i = 0; i < gf.length; i++) { Be[Be.length] = gf[i]; this.af[gf[i]] = true; this.We[gf[i]] = ff[0]; } } if (hf) { for (var i = 0; i < hf.length; i++) { Be[Be.length] = hf[i]; this.bf[hf[i]] = true; this.We[hf[i]] = ff[0]; } } d.oe.Ae(Be, ff, this.mf, this); if (jf) for (var i = 0; i < jf.length; i++) this.nf(jf[i], ff[i]); }, nf: function(of, lf) { d[of] = function(Ca) { d.Ka.replace(Ca, d.Qe.Ze[lf], lf); }; }, df: function() { this.cf = {}; }, Rd: function(Cd) { var pf = []; for (var i = 0; i < Cd.addCNs.length; i++) this.qf(Cd.subject, Cd.addCNs[i], pf); for (var i = pf.length - 1; i >= 0; i--) this.rf(pf[i]); }, mf: function(va, Fc, Ne, sf) { var pf = []; this.tf(pf, Fc, Ne, sf); d.Ka.Nc(); for (var i = pf.length - 1; i >= 0; i--) this.rf(pf[i]); d.Ka.Pc(); }, tf: function(pf, Fc, Ne, sf) { var uf = this.We[Fc]; if (this.af[Fc]) { uf = this.Ye[sf]; Fc = this.Xe[uf]; } else if (this.bf[Fc]) { uf = this.Ze[sf]; Fc = this.Xe[uf]; } if (!d.Ka.contains(Ne, uf)) { pf[pf.length] = { Fc: Fc, Ne: Ne, vf: sf, uf: uf, delay: -1 }; this.qf(Ne, uf, pf); } }, qf: function(Ne, uf, pf) { var wf; if (Ne.parentNode && Ne.parentNode.nodeType == 1) { var xf = Ne.parentNode; if (!d.Ka.contains(Ne.parentNode, "has_" + uf)) d.Ka.remove(xf, "has_\\w+", true); if (d.Ka.contains(Ne.parentNode, this.Re + uf)) wf = xf.childNodes; else if (xf = d.za.Aa(Ne, this.Se + uf, this.Ue)) wf = d.za.getElementsByTagName(xf, d.f); if (wf) { var yf = this.Ye[uf]; var zf = this.Xe[yf]; var Af = false; var Bf = wf.length; for (var i = 0; i < Bf; i++) { var Cf = wf[i]; if (Cf.nodeType == 1) { var Df = d.Ka.contains(Cf, uf); Af = Af || Df; if (Cf != Ne && Df && d.sa.ta(d.r, Cf)) { if (pf.length > 0 && pf[pf.length - 1].delay == -1) pf[pf.length - 1].delay = d.ka.Za(Ne.parentNode, this.Te, -1); this.tf(pf, zf, Cf, uf); } } } if (Af) d.Ka.add(xf, "has_" + uf, true); else d.Ka.remove(xf, "has_" + uf, true); } } }, rf: function(Ef) { var Ff = d.za.nb(Ef.Ne) + "-" + this._f[Ef.Fc]; if (!this.cf[Ff]) { this.cf[Ff] = true; d.ka.la(function() { d.Ka.replace(Ef.Ne, Ef.vf, Ef.uf, d.M); }, Ef.delay); } } }; d.X(d.Qe); d["Behaviors"] = d.Qe; d.Qe["addStateSequence"] = d.Qe.ef; d.Qe.ef(["collapser", "expander"], ["collapsed", "expanded"], ["expandedToggle", "expandcollapser"], null, ["collapse", "expand"]); d.Qe.ef(["opener", "closer"], ["open", "close"], ["openToggle"], null, ["open", "close"]); d.Qe.ef(["selector", "unselector"], ["selected", "unselected"], ["selectedToggle"], null, ["select", "unselect"]); d.Qe.ef(["shower", "hider"], ["shown", "hidden"], ["shownToggle", "showswitch"], null, ["show", "hide"]); d.Qe.ef(["focuser", "blurrer"], ["focus", "blur"], ["focusToggle"], null, ["focus", "blur"]); d.Qe.ef(["onswitch", "offswitch"], ["on", "off"], ["onToggle"], null, ["turnOn", "turnOff"]); d.Qe.ef(["enabler", "disabler"], ["enabled", "disabled"], ["enabledToggle"], null, ["enable", "disable"]); d.Qe.ef(["checker", "unchecker"], ["checked", "unchecked"], ["checkedToggle"], null, ["check", "uncheck"]); })(); d.oe.Ae(["classchanger"], [], function(va, x, Ne, sf, Cd, Fe, Ie) { d.ka.la(function() { d.Ka._d(Ne, Fe); }, Fe["delay"]); }); d.oe.Ae(["execute"], [], function(va, Fc, Ne, sf, Cd, Fe, Ie) { if (Fe.action) { var na = Fe[Fe.action]; na = (na != true ? na.split("_") : null); d.ka.Na(Fe.action)(va, Ne, na); } else if (va.nodeName == "A") { if (va.target) { var Gf = document.getElementsByName(va.target)[0]; if (Gf.src != va.href) Gf.src = va.href; } else document.location = va.href; } }); d.Hf = { If: "activation-inert", Jf: "delayOn", Kf: "delayOff", Lf: "delaySwitch", Mf: [], Nf: [], Of: {}, Pf: [], Qf: {}, Rf: {}, Sf: {}, Tf: {}, Uf: {}, Vf: {}, Wf: {}, Xf: {}, Yf: {}, Z: function() { this.Zf("unhover", "hover"); this.Zf("mouseout", "mouseover"); this.Zf("neverhovered", ""); this._g("inactive", "active", "activator", "inactivator", "activate", "inactivate"); this._g("blurred", "focused", "focuser", "blurrer", "focus", "blur"); d.Yc.rd(document.documentElement, "mouseover", this.ag, this); d.Yc.rd(document.documentElement, d.D, this.we, this); d.Yc.rd(document.documentElement, "contextmenu", this.we, this); d.Yc.rd(document.documentElement, "keyup", this.we, this); d.sa.Od(d.m, this.Rd, this); }, Zf: function(bg, cg) { if (bg) { this.Mf.push(bg); this.Of[bg] = cg; } if (cg) { this.Mf.push(cg); this.Of[cg] = cg; } this.dg = "(" + this.Mf.join("\\b|\\b") + ")"; this.Sf[bg] = cg; this.Sf[cg] = bg; if (bg && cg) { this.nf(cg, cg, bg); this.nf(bg, bg, cg); } }, nf: function(of, lf, eg) { d[of] = function(Ca) { d.Ka.replace(Ca, eg, lf); }; }, _g: function(fg, gg, hg, ig, jg, kg) { if (fg) this.Pf.push(fg); if (gg) { this.Of[gg] = gg; if (fg) this.Of[fg] = gg; this.Nf.push(gg); } this.lg = "(" + this.Nf.join("\\b|\\b") + ")"; this.mg = "(" + this.Pf.join("\\b|\\b") + ")"; this.ng = "(" + this.Nf.join("\\b|\\b") + "\\b|\\b" + this.Pf.join("\\b|\\b") + ")"; this.Sf[fg] = gg; this.Sf[gg] = fg; if (ig) this.Rf[ig] = ig; if (hg && ig) { this.Qf[hg] = hg; d.oe.Ae([hg, ig], [gg, fg], this.og, this); } if (jg) this.nf(jg, gg, fg); if (kg) this.nf(kg, fg, gg); }, og: function(va, Fc, Ne, sf) { var gc = d.za.nb(Ne); var Hc = d.Ka.La(Ne, this.ng); var data = { Ca: Ne, Hc: Hc }; this.pg = (Fc == "inactivator" && d.Ka.contains(Ne, "active")); if (this.Qf[Fc]) this.qg(gc, data, this.Xf, this.Wf, this.Yf); else { Hc.Kc = this.Sf[Hc.Kc]; this.rg(gc, data, this.Xf, this.Wf, this.Yf); } }, ag: function(Cd) { this.sg(Cd, this.dg, this.Uf, this.Tf, this.Vf); }, we: function(Cd) { if (Cd.type == "keyup" && Cd.keyCode == 27) Cd.subject = document.body; var Ca = Cd.subject; if (!d.za.Aa(Ca, this.If)) { this.sg(Cd, this.ng, this.Xf, this.Wf, this.Yf, d.za.Aa(Ca, this.If) != null, Cd.ctrlKey || d.za.Aa(Ca, this.If) != null, d.za.Aa(Ca, "activation-box")); d.sa.ta("afterActivationChange", Cd.subject); } }, Rd: function(Cd) { if (!d.Ka.ic(Cd.fromValue, this.lg) && d.Ka.ic(Cd.toValue, this.lg)) this.we(Cd); else if (d.Ka.ic(Cd.fromValue, this.lg) && !d.Ka.ic(Cd.toValue, this.lg)) { var gc = d.za.nb(Cd.subject); var fd = this; setTimeout(function() { delete fd.Tf[gc]; delete fd.Wf[gc]; }, 0); } }, sg: function(Cd, tg, ug, vg, wg, xg, yg, zg) { if (this.pg) { this.pg = false; return; } this.pg = false; var Ag = {}; var Ca = Cd.subject; while (Ca && Ca.nodeType == 1) { var Hc = d.Ka.La(Ca, tg); if (Hc && (!Hc["require"] || d.za.Aa(Ca, Hc["require"])) && (!Hc["disallow"] || !d.za.Aa(Ca, Hc["disallow"]))) Ag[d.za.nb(Ca)] = { Ca: Ca, Hc: Hc }; Ca = Ca.parentNode; } this.Bg = false; if (!yg) for (var gc in vg) if (!Ag[gc] && (!zg || d.za.Gb(zg, vg[gc].Ca))) this.rg(gc, vg[gc], ug, vg, wg); if (!xg) for (var gc in Ag) if (!vg[gc] && (!zg || d.za.Gb(zg, Ag[gc].Ca))) this.qg(gc, Ag[gc], ug, vg, wg); }, qg: function(gc, data, ug, vg, wg) { if (!vg[gc] && d.sa.ta(d.r, data.Ca)) { if (wg[gc]) this.Cg(gc, wg); else { var delay = (this.Bg ? data.Hc[this.Lf] : 0) || data.Hc[this.Jf]; if (delay) { ug[gc] = data; data.Dg = d.ka.la(this.Eg, delay, this, [gc, data, ug, wg]); } else this.Fg(gc, data, wg); } vg[gc] = data; } }, rg: function(gc, data, ug, vg, wg) { if (vg[gc] && d.sa.ta(d.r, data.Ca)) { if (ug[gc]) this.Gg(gc, ug[gc], ug, vg); else { this.Bg = true && data.Hc[this.Lf]; if (data.Hc[this.Kf]) { wg[gc] = data; data.Dg = d.ka.la(this.Hg, data.Hc[this.Kf], this, [gc, wg]); } else this.Ig(gc, data); delete vg[gc]; } } }, Gg: function(gc, data, ug, vg) { clearTimeout(data.Dg); delete ug[gc]; delete vg[gc]; }, Eg: function(gc, data, ug, wg) { delete ug[gc]; this.Fg(gc, data, wg); }, Fg: function(gc, data, wg) { if (d.za.Fb(data.Ca)) { d.Ka.replace(data.Ca, this.Sf[this.Of[data.Hc.Kc]], this.Of[data.Hc.Kc]); var Jg = d.za.Aa(data.Ca, "exclusive" + this.Sf[data.Hc.Kc]); for (var gc in wg) if (Jg && d.za.Aa(wg[gc].Ca, "exclusive" + this.Sf[data.Hc.Kc]) == Jg) { this.Ig(gc, wg[gc]); this.Cg(gc, wg); } } }, Hg: function(gc, wg) { this.Ig(gc, wg[gc]); delete wg[gc]; }, Cg: function(gc, wg) { clearTimeout(wg[gc].Dg); delete wg[gc]; }, Ig: function(gc, data) { if (d.za.Fb(data.Ca)) d.Ka.replace(data.Ca, this.Of[data.Hc.Kc], this.Sf[this.Of[data.Hc.Kc]]); } }; d.X(d.Hf); d.Kg = { Lg: 1, Mg: 2, Ng: 3, Og: 4, Pg: 5, Qg: 6, Rg: 7, Sg: 8, Tg: 9, Ug: null, Z: function() { if (d.R) { this.Vg = this.Wg; this.Xg = this.Yg; } d.Kg["getRawComputedStyleProperty"] = d.Kg.Vg; this.Ug = { "borderWidth": this.Mg, "borderTopWidth": this.Mg, "borderRightWidth": this.Mg, "borderBottomWidth": this.Mg, "borderLeftWidth": this.Mg, "width": this.Ng, "height": this.Ng, "scrollTop": this.Og, "scrollLeft": this.Og, "color": this.Pg, "backgroundColor": this.Pg, "borderColor": this.Pg, "borderTopColor": this.Pg, "borderRightColor": this.Pg, "borderBottomColor": this.Pg, "borderLeftColor": this.Pg, "opacity": this.Qg, "zoom": this.Rg, "display": this.Sg, "float": this.Sg, "overflow": this.Sg, "position": this.Sg, "visibility": this.Sg, "zIndex": this.Tg }; this.Zg = {}; this.Zg[this.Lg] = "px"; this.Zg[this.Mg] = "px"; this.Zg[this.Ng] = "px"; this.Zg[this.Og] = "px"; this.Zg[this.Pg] = ""; this.Zg[this.Qg] = "%"; this.Zg[this.Rg] = "%"; this.Zg[this.Sg] = ""; this.Zg[this.Tg] = ""; }, _h: { "width": ["offsetWidth"], "height": ["offsetHeight"] }, ah: { "width": ["height", "offsetHeight"], "height": ["width", "offsetWidth"] }, bh: function(Ca, eb) { var ch = this.Vg(Ca, eb); return this.Xg(Ca, eb, ch).value; }, Vg: function(Ca, eb, dh) { var eh = this.fh(eb); var gh = document.defaultView.getComputedStyle(Ca, ""); if (gh) switch (this.hh(eb)) { case this.Ng: if (d.Q) { var ih = this._h[eb]; var fb = Ca[ih[0]]; for (var i = 1; i < ih.length; i++) fb -= parseInt(Ca.currentStyle[ih[i]]); return Math.max(0, fb); } case this.Mg: if (gh.getPropertyValue(eh.replace(/width/, "style")) == d.h) return 0; case this.Tg: case this.Lg: case this.Rg: case this.Qg: return gh.getPropertyValue(eh); case this.Og: return Ca[eb]; break; case this.Pg: if (eh.indexOf("border") != -1 && gh.getPropertyValue(eh.replace(/color/, "style")) == d.h) return null; case this.Sg: return gh.getPropertyValue(eh); } return null; }, Xg: function(Ca, eb, ch) { var jh = this.hh(eb); var Y = { value: ch }; switch (jh) { case this.Tg: case this.Lg: case this.Rg: var kh = parseInt(ch); if (isNaN(kh)) switch (ch) { case "auto": Y.value = 0; break; default: Y.value = null; } else Y.lh = ("" + ch).replace(/^[-\d]+/, "") || null; Y.value = kh; break; case this.Qg: Y.value = Math.round(100 * ch); break; case this.Pg: Y.value = this.mh(ch); break; case this.Ng: case this.Og: Y.value = parseInt(ch); } return Y; }, Wg: function(Ca, eb) { if (!Ca.currentStyle) return null; switch (this.hh(eb)) { case this.Ng: var nh = Ca[this.ah[eb][1]] == 0; if (nh) Ca.runtimeStyle[this.ah[eb][0]] = "1px"; var fb = Ca[this._h[eb]]; Ca.runtimeStyle[eb] = fb; fb += fb - Ca[this._h[eb]]; Ca.runtimeStyle[eb] = ""; if (nh) Ca.runtimeStyle[this.ah[eb][0]] = ""; return fb; case this.Og: return Ca[eb]; break; case this.Qg: try { return Ca.filters.item(d.K).opacity; } catch (oh) { return 100; } break; case this.Lg: case this.Rg: default: if (eb == "float") eb = "styleFloat"; return Ca.currentStyle[eb]; } }, Yg: function(Ca, eb, ch) { var jh = this.hh(eb); var Y = { value: ch }; var kh = null; if (ch == "0px") ch = "0"; switch (jh) { case this.Ng: kh = parseInt(ch); Y.lh = ("" + ch).replace(/^[-\d\.]+/, "") || null; Y.value = Math.max(0, kh); break; case this.Pg: Y.value = this.mh(ch); break; case this.Mg: case this.Tg: case this.Lg: case this.Rg: kh = parseInt(ch); if (isNaN(kh)) switch (ch) { case "auto": kh = 0; break; case "thin": kh = 2; break; case "medium": kh = 4; break; case "thick": kh = 6; break; default: kh = parseInt(ch); } else Y.lh = ("" + ch).replace(/^[-\d\.]+/, "") || null; Y.value = kh; break; } return Y; }, ph: function(Ca, eb, fb) { switch (this.hh(eb)) { case this.Pg: Ca.style[eb] = "rgb(" + fb.join(",") + ")"; break; case this.Sg: case this.Tg: Ca.style[eb] = fb; break; case this.Ng: case this.Rg: case this.Mg: case this.Lg: Ca.style[eb] = fb + "px"; break; case this.Og: Ca[eb] = fb + "px"; break; } }, qh: function(Ca, eb) { Ca.style[eb] = ""; }, hh: function(eb) { return this.Ug[eb] || this.Lg; }, fh: function(eb) { return eb.replace(/([A-Z])/g, function(rh) { return "-" + rh.toLowerCase(); }); }, sh: { "white": "#FFFFFF", "black": "#000000", "blue": "#0000FF", "green": "#008000", "red": "#FF0000", "yellow": "#FFFF00", "aqua": "#00FFFF", "azure": "#F0FFFF", "beige": "#F5F5DC", "black": "#000000", "blue": "#0000FF", "brown": "#A52A2A", "cyan": "#00FFFF", "darkblue": "#00008B", "darkcyan": "#008B8B", "darkgray": "#A9A9A9", "darkgreen": "#006400", "darkred": "#8B0000", "fuchsia": "#FF00FF", "gold": "#FFD700", "gray": "#808080", "green": "#008000", "indigo": "#4B0082", "lightblue": "#ADD8E6", "lightcyan": "#E0FFFF", "lightgreen": "#90EE90", "lightgrey": "#D3D3D3", "lightyellow": "#FFFFE0", "lime": "#00FF00", "magenta": "#FF00FF", "maroon": "#800000", "navy": "#000080", "orange": "#FFA500", "pink": "#FFC0CB", "purple": "#800080", "red": "#FF0000", "silver": "#C0C0C0", "steelblue": "#4682B4", "turquoise": "#40E0D0", "violet": "#EE82EE", "white": "#FFFFFF", "yellow": "#FFFF00" }, mh: function(c) { c = this.sh[c] || c; if (typeof (c) == "object") return c; if (c.indexOf("#") == 0) { if (c.length == 7) return [parseInt(c.substring(1, 3), 16), parseInt(c.substring(3, 5), 16), parseInt(c.substring(5, 7), 16)]; else return [17 * parseInt(c.substring(1, 2), 16), 17 * parseInt(c.substring(2, 3), 16), 17 * parseInt(c.substring(3, 4), 16)]; } if (c.indexOf("rgb(") == 0) { var ea = c.substring(4, c.length - 1).split(","); return [parseInt(ea[0]), parseInt(ea[1]), parseInt(ea[2])]; } return [255, 255, 255]; } }; d.X(d.Kg); d["StyleUtils"] = d.Kg; d.Kg["getComputedStyleProperty"] = d.Kg.bh; d.Animator = _a = { uh: {}, animate: function(vh, wh) { var xh = vh.length; var yh = 10; var zh = 1 << yh; var Ah = 7; var Bh = 1 << Ah; var code = ["  Spif.HtmlDomUtils._storeScrollState();\n", "  var tPhase = Math.min(1, (t - TSTART)/DURATION);\n", "if (tPhase>=0){\n", "  var f = ", _a.Ch[wh.profile], ";\n", "\n"]; var Dh = []; var Eh = []; var Fh = []; for (var i = 0; i < xh; i++) { var Gh = vh[i]; var Ca = Gh.element; var id = d.za.nb(Ca); var Hh = Gh.targetState; for (var Ih in Hh) { var Jh = Ih; if (!d.R) Jh = Ih.replace(/([A-Z])/g, function(rh) { return "-" + rh.toLowerCase(); }); var Kh = Hh[Ih]; var Lh = (Gh.currentState && typeof (Gh.currentState[Ih]) != d.e) ? Gh.currentState[Ih] : d.Kg.bh(Ca, Ih); if (Ih == "zoom") { Lh *= 100; Kh *= 10000; } _a[id + "el"] = Ca; switch (d.Kg.hh(Ih)) { case d.Kg.Og: _a[id + "elscroll"] = (Ca != document.body || document.compatMode == "BackCompat") ? Ca : document.documentElement; break; case d.Kg.Qg: if (d.R) { _a[id + "opacity"] = Ca.filters.item(d.K); break; } default: _a[id + "elStyle"] = Ca.style; if (wh.removeAfterwards) Fh.push("_a[\"", id, "elStyle\"]." + Ih + "='';\n"); } if (d.Kg.hh(Ih) == "rgb") Kh = d.Kg.mh(Kh); if (Kh.constructor == Array) { var Mh = []; for (var ld = 0; ld < Kh.length; ld++) Mh[ld] = Math.floor(Kh[ld] - Lh[ld]); } else if (!isNaN(Kh)) { var Mh = Math.floor(Kh - Lh); } var Nh = (Gh.units && Gh.units[Ih]) ? " + '" + Gh.units[Ih] + "';\n" : _a.Oh; switch (d.Kg.hh(Ih)) { case d.Kg.Pg: if (d.R) { if (Ih == "borderColor") Eh.push('_a["', id, 'elStyle"].', Ih, '=["rgb(",', '(', Math.floor(Bh * (Lh[0] + 0.5)), '+cP*', Mh[0], ')>>', Ah, ',",", ', '(', Math.floor(Bh * (Lh[1] + 0.5)), '+cP*', Mh[1], ')>>', Ah, ',",", ', '(', Math.floor(Bh * (Lh[2] + 0.5)), '+cP*', Mh[2], ')>>', Ah, ', ")"].join("");\n'); else Eh.push('_a["', id, 'elStyle"].', Ih, '=', '((', Math.floor(Bh * (Lh[0] + 0.5)), '+cP*', Mh[0], ')>>', Ah, '<<16) | ', '((', Math.floor(Bh * (Lh[1] + 0.5)), '+cP*', Mh[1], ')>>', Ah, '<<8) | ', '((', Math.floor(Bh * (Lh[2] + 0.5)), '+cP*', Mh[2], ')>>', Ah, ');\n'); } else Eh.push('_a["', id, 'elStyle"].', Ih, '=["rgb(",', '(', Math.floor(Bh * (Lh[0] + 0.5)), '+cP*', Mh[0], ')>>', Ah, ',",", ', '(', Math.floor(Bh * (Lh[1] + 0.5)), '+cP*', Mh[1], ')>>', Ah, ',",", ', '(', Math.floor(Bh * (Lh[2] + 0.5)), '+cP*', Mh[2], ')>>', Ah, ', ")"].join("");\n'); break; case d.Kg.Qg: Eh.push('try{_a["', id, (d.R ? 'opacity"].opacity=(' : 'elStyle"].opacity=(('), Bh * (Lh + 0.5), '+cP*', Mh, ')>>', Ah, (d.R ? ';' : ')/100;'), "}catch(e){};\n"); break; case d.Kg.Og: Dh.push('_a["', id, 'elscroll"].', Ih, '=(', zh * (Lh + 0.5), '+normalPhase*', Mh, ')>>', yh, ';\n'); break; case d.Kg.Rg: Dh.push('_a["', id, 'elStyle"].', Ih, '=((', Math.floor(zh * (Lh + 0.5)), '+normalPhase*', Mh, ')>>', yh, ')/10000;\n'); case d.Kg.Sg: switch (Ih) { case "visibility": Ca.style.visibility = "visible"; break; case "display": Ca.style.display = (Kh == 'none' ? Lh : Kh); break; case "overflow": Ca.style.overflow = "hidden"; break; } break; case d.Kg.Tg: Dh.push('_a["', id, 'elStyle"].', Ih, '=((', Math.floor(zh * (Lh + 0.5)), '+normalPhase*', Mh, ')>>', yh, ')\n'); break; default: Dh.push('_a["', id, 'elStyle"].', Ih, '=((', Math.floor(zh * (Lh + 0.5)), '+normalPhase*', Mh, ')>>', yh, ')', (Ih == 'zoom' ? '/10000' : ''), Nh, ";\n"); } } } if (Dh.length > 0) { code.push("var normalPhase=Math.round(", zh, "*f);\n", Dh.join("")); } if (Eh.length > 0) { code.push('var cP=Math.round(', Bh, '*f);\n', Eh.join("")); } if (wh.repeat) code.push("", "if(t==TSTOP)", "{", "}\n"); if (wh.removeAfterwards) code.push("", "if(t==TSTOP)", "{", Fh.join(""), "}\n"); code.push("}\n\nSpif.HtmlDomUtils._restoreScrollState();"); _a.Ph(code, wh.delay, wh.duration, vh, wh.onFinish, wh.repeat); }, Ch: ['tPhase', 'tPhase*tPhase', '(1-Math.pow(1-tPhase, 4))', '(1-Math.cos(' + Math.PI + '*tPhase)/2.0)', '(tPhase<0.5?Math.exp(3*Math.log(tPhase*2))/2:1-Math.exp(3*Math.log((1-tPhase)*2))/2)', '(-Math.cos(' + 4 * Math.PI + '*tPhase) + 1)/2', 'tPhase + (1-tPhase)*Math.sin(' + 3 * Math.PI + '*tPhase)', '(1-Math.exp(4*Math.log(1-tPhase)))', '(1-Math.sin(' + 5 * Math.PI + '*tPhase)/(0.0001 + ' + 5 * Math.PI + '*tPhase))', '(1-Math.cos(' + 2 * Math.PI + '*tPhase))'], Oh: (document.defaultView ? " + 'px';\n" : ";\n"), Qh: 0, Rh: null, Sh: 1, Th: 0, Uh: Infinity, Vh: 500, Wh: "", Ph: function(Xh, delay, duration, vh, onFinish, repeat) { _a.Qh++; _a.Sh++; for (var i = 0; i < vh.length; i++) _a.uh[vh[i].element.id] = _a.Sh++; if (onFinish) { _a["__onFinish" + _a.Sh] = onFinish; _a["__anims" + _a.Sh] = vh; } Yh = ["/*** ", _a.Sh, " ***/\n", (repeat ? "var t=TSTART+((tNow-TSTART) % DURATION);\n" : "var t=Math.min(tNow, TSTOP);\n"), "try {", Xh.join(""), "} catch(e){ t=TSTOP; }", "if(t==TSTOP)\n", "{\n", "_a.__rC(", _a.Sh, ");\n", (onFinish ? ("_a.__onFinish" + _a.Sh + "(_a.__anims" + _a.Sh + ");") : ""), "\n}\n", "/*** /", _a.Sh, " ***/\n"].join(""); var Zh = +new Date() + delay - _a.Th; var _i = Zh + duration; if (repeat) _i = Infinity; Yh = Yh.replace(/TSTART/g, Zh); Yh = Yh.replace(/DURATION/g, duration); Yh = Yh.replace(/TSTOP/g, _i); Yh = Yh.replace(/RUNINDEX/g, _a.Sh); if (_a.Rh) _a.ai(vh); _a.Wh = _a.Wh + Yh; _a.bi = Function("tNow", _a.Wh); if (!_a.Rh) { _a.Th = 0; _a.Uh = Infinity; _a.Rh = setInterval(_a.ci, 1); _a.di = true; _a.ci(); _a.di = false; } }, ci: function() { var ei = +new Date() - _a.Th; var fi = ei - _a.Uh; if (fi > _a.Vh) { _a.Th += fi; ei -= fi; } _a.Uh = ei; _a.bi(ei); }, "__rC": function(gi) { var hi = "/*** " + gi + " ***/"; var ii = "/*** /" + gi + " ***/"; _a.Wh = _a.Wh.substring(0, _a.Wh.indexOf(hi)) + _a.Wh.substring(_a.Wh.indexOf(ii) + ii.length); _a.bi = Function("tNow", _a.Wh); _a.ji(gi); _a.Qh--; if (_a.Qh == 0) { clearInterval(_a.Rh); _a.uh = {}; _a.Rh = null; } }, ji: function(gi) { for (var id in _a.uh) if (_a.uh[id] == gi) delete _a.uh[id]; }, ai: function(vh) { var ki = []; var xh = vh.length; for (var i = 0; i < xh; i++) { var Gh = vh[i]; var Ca = Gh.element; var id = Gh.element.id.replace(/(\W)/g, "\\$1"); var Hh = Gh.targetState; for (var Ih in Hh) { switch (Ih) { case 'scrollTop': case 'scrollLeft': ki.push("|_a\\[\"", id, "el\"\\]\\.", Ih, "[^;]+;"); break; case "opacity": ki.push("|try{_a\\[\"", id, "opacity\"\\][^;]+}catch(e){};"); break; default: ki.push("|_a\\[\"", id, "elStyle\"\\]\\.", Ih, "[^;]+;"); ki.push("|_a\\[\"", id, "elStyle\"\\]\\.", Ih, "='';"); } } } if (ki.length > 0) { _a.Wh = _a.Wh.replace(new RegExp(ki.join("").substr(1), "g"), ""); } }, mi: function(ni) { } }; d.Modifiers = function() { this.delay = 0; this.duration = 300; this.profile = 7; this.removeAfterwards = false; this.repeat = false; this.onFinish = null; }; d.Modifiers.prototype = { "LINEAR": 0, "ACCELERATING": 1, "DECELERATING": 2, "NORMAL": 3, "SLOWFASTSLOW": 4, "BLINK": 5, "HEARTBEAT": 6, "FAST": 7, "BOUNCE": 8, "RETURN": 9 }; d["Animator"] = d.Animator; d.Animator["disabled"] = d.Animator.disabled; d.Animator["animate"] = d.Animator.animate; d.oi = { pi: "display", qi: "block", ri: "morph", si: "shallow", ti: true, ui: ["display", "overflow", "backgroundColor", "color", "fontSize", "height", "left", "marginTop", "marginLeft", "opacity", "top", "width", "zIndex"], vi: {}, wi: false, xi: false, yi: { BODY: 1, DIV: 1, zi: 1, Ai: 1, A: 1, IMG: 1, LI: 1, OL: 1, UL: 1, SPAN: 1, TD: 1, TH: 1, TR: 1, TABLE: 1, H1: 1, H2: 1, H3: 1 }, Z: function() { d.sa.Od(d.k, this.Bi, this); d.sa.Od(d.l, this.Ci, this); d.sa.Od(d.n, this.Ci, this); }, Di: function() { this.ti = true; }, Ei: function() { this.ti = false; }, Fi: function() { this.xi = false; }, Gi: function(Hi) { d.w = Hi; }, Ii: function(Ji) { var Ki = {}; for (var i = 0; i < Ji.length; i++) Ki[Ji[i].toUpperCase()] = 1; this.yi = Ki; }, Li: function(Mi) { this.ui = Mi; }, Ci: function(Cd) { if (d.oi.ti && !Cd.bd) this.Ni(Cd.subject); }, Ni: function(Vd) { var Oi = {}; var Hc = d.Ka.La(Vd, this.ri, { "delay": 0, "duration": d.w }); if (!Hc || (!Hc["not"] && (!Hc["require"] || d.Ka.contains(Vd, Hc["require"])))) { if (Hc) this.Pi(Oi, Vd, Hc); else if (!this.xi) this.Qi(Vd, Oi); if (this.wi) { this.Ri(Oi, true); for (var gc in Oi) this.vi[gc] = Oi[gc]; } } }, Pi: function(ni, Ca, Hc) { var gc = d.za.nb(Ca); if (!this.vi[gc]) { ni[gc] = { element: Ca, Hc: Hc, gb: Hc[this.Si] || this.ui }; this.wi = true; } if (!this.xi || Hc["deep"]) this.Qi(Ca, ni); }, Qi: function(Ca, Oi) { for (var Zd = Ca.firstChild; Zd; Zd = Zd.nextSibling) if (Zd.nodeType == 1) { var Hc = null; var Ti = false; if (this.yi[Zd.nodeName]) { Hc = d.Ka.La(Zd, this.ri, { "delay": 0, "duration": d.w }); if (Hc && !Hc["not"]) { this.Pi(Oi, Zd, Hc); Ti = true; } } if (!Ti) { var Ui = d.Kg.Vg(Zd, "display"); if (Ui != d.h && (!Hc || !Hc[this.si])) this.Qi(Zd, Oi); } } }, Bi: function() { if (d.Q) document.body.scrollLeft += 0; if (this.wi) { for (var gc in this.vi) if (!d.za.Fb(this.vi[gc].element)) { var Ca = document.getElementById(gc); if (Ca) this.vi[gc].element = document.getElementById(gc); else delete this.vi[gc]; } this.Vi(this.vi); this.Ri(this.vi, false); this.Wi(this.vi); var Xi = this.Yi(); this.wi = false; this.vi = {}; this.Zi(Xi); if (d.T) document.body.offsetWidth; } }, Vi: function(ni) { for (var gc in ni) if (d.Animator.uh[gc]) { var _j = ni[gc]; var Ca = _j.element; if (d.R) { _j.aj = Ca.style.cssText; Ca.style.cssText = ""; } else for (var eb in _j.bj) { var fb = Ca.style[eb]; if (fb) { _j.cj[eb] = fb; Ca.style[eb] = ""; } } } }, Wi: function(ni) { for (var gc in ni) { if (d.Animator.uh[gc]) { var _j = ni[gc]; var Ca = _j.element; if (d.R) Ca.style.cssText = _j.aj; else for (var eb in _j.cj) Ca.style[eb] = _j.cj[eb]; } } }, Ri: function(ni, dj) { var ej = []; var fj = []; var gj = null; for (var gc in ni) { var _j = ni[gc]; var Ca = _j.element; if (!Ca || !Ca.parentNode || (Ca.offsetWidth == 0 && (!Ca.parentNode || Ca.parentNode.offsetWidth == 0))) { delete ni[gc]; continue; } if (dj) { _j.cj = {}; _j.bj = {}; _j.hj = {}; } if (!dj && gj && d.za.Gb(gj, Ca) && (gj.style.display == d.h)) { delete ni[gc]; continue; } var ij = (dj ? _j.bj : _j.hj); for (var i = 0; i < _j.gb.length; i++) { var eb = _j.gb[i]; ij[eb] = d.Kg.Vg(Ca, eb); if (eb == this.pi && ij[eb] == d.h) { if (!dj && _j.bj.display == d.h) { delete ni[gc]; break; } gj = Ca; ej.push(gj); fj.push(gj.style.display); gj.style.display = this.qi; } } } for (var i = 0; i < ej.length; i++) ej[i].style.display = fj[i]; }, Yi: function() { var Xi = {}; var jj = {}; for (var gc in this.vi) { var _j = this.vi[gc]; var Ca = _j.element; var currentState = {}; var units = {}; var targetState = {}; var kj = false; for (var eb in _j.hj) { var lj = _j.bj[eb]; var mj = _j.hj[eb]; if (mj != null) { if (lj != mj) { kj = true; var nj = d.Kg.Xg(Ca, eb, lj); var oj = d.Kg.Xg(Ca, eb, mj); currentState[eb] = nj.value; targetState[eb] = oj.value; units[eb] = nj.lh || oj.lh; } } } if (kj) { if (d.Q) { if (targetState.top && targetState.marginTop && targetState.top == targetState.marginTop) delete targetState.top; if (targetState.left && targetState.marginLeft && targetState.left == targetState.marginLeft) delete targetState.left; } var pj = Xi[_j.Hc["profile"]] = Xi[_j.Hc["profile"]] || {}; var qj = pj[_j.Hc["delay"]] = pj[_j.Hc["delay"]] || {}; var vh = qj[_j.Hc["duration"]] = qj[_j.Hc["duration"]] || []; vh[vh.length] = { element: Ca, currentState: currentState, targetState: targetState, units: units }; } } return Xi; }, Zi: function(Xi) { for (var profile in Xi) { var rj = Xi[profile]; for (var delay in rj) { delay *= 1; for (var duration in rj[delay]) { duration *= 1; var vh = rj[delay][duration]; for (var i = 0; i < vh.length; i++) { var Gh = vh[i]; var Ca = Gh.element; for (var eb in Gh.currentState) { d.Kg.ph(Ca, eb, Gh.currentState[eb]); } } var wh = new d.Modifiers(); wh.delay = delay; wh.duration = duration; wh.profile = wh[(profile == "undefined" ? "FAST" : profile)]; wh.removeAfterwards = true; d.Animator.animate(vh, wh); } } } }, sj: function(tj, uj) { for (var i = 0; i < tj.length; i++) if (tj[i] != uj[i]) return false; return true; } }; d.X(d.oi); d["StyleMorpher"] = d.oi; d.oi["enableDeepMorphing"] = d.oi.Fi; d.oi["setMorphDuration"] = d.oi.Gi; d.oi["setMorphableNodeNames"] = d.oi.Ii; d.oi["setMorphableProperties"] = d.oi.Li; d.oi["enable"] = d.oi.Di; d.oi["disable"] = d.oi.Ei; d.oi["morph"] = d.oi.Bi; d.oi["beforeClassNameChange"] = d.oi.Ci; d.vj = { wj: null, xj: null, Z: function() { d.Yc.rd(document.documentElement, d.H, this.yj, this); d.Yc.rd(document.documentElement, d.I, this.zj, this); d.Yc.rd(document.documentElement, d.J, this.Aj, this); d.Yc.rd(document.documentElement, "DOMMouseScroll", this.Td, this); d.sa.Od("persist-pos", this.Bj, this); }, Bj: function(Cd) { var Ca = Cd.subject; if (d.Ka.contains(Ca, "movable")) { var Cj = { x: parseInt(Ca.style.left), y: parseInt(Ca.style.top) }; if (!isNaN(Cj.x) || !isNaN(Cj.y)) { var Ma = d.Ka.La(Ca, "movable"); if (Ma[d.N]) Ma[d.N](Ca, Cj); } } }, yj: function(Cd) { this.Aj(); this.Dj = d.ka.Ba(Cd.subject, "mover", "movable"); if (this.Dj.object) { this.Dj.box = this.Dj.object.offsetParent || d.W; this.Ej = d.W.scrollTop; this.Fj = this.Dj.object.offsetLeft - Cd.clientX - d.Kg.bh(this.Dj.object, "marginLeft"); this.Gj = this.Dj.object.offsetTop - Cd.clientY - d.Kg.bh(this.Dj.object, "marginTop"); this.Hj(); this.Ij = false; Cd.cancel(); } else this.Dj = null; }, zj: function(Cd) { this.xj = Cd.clientY; if (this.Dj) if (Cd.Ld) { if (!this.Ij) { d.Yc.md = true; if (d.R) this.Dj.Ia.setCapture(); d.Ka.replace(this.Dj.box, "notMoving", "moving"); d.Ka.replace(this.Dj.object, "notMoving", "moving"); d.Ka.replace(this.Dj.Ia, "notMoving", "moving"); this.wj = d.ka.pa(this.Jj, 15, this); this.Kj = document.body.style.MozUserSelect; document.body.style.MozUserSelect = "none"; this.Ij = true; } this.Lj = { x: this.Fj + Cd.clientX, y: this.Gj + Cd.clientY + d.W.scrollTop - this.Ej }; this.Mj(); if (this.Dj.Ma[d.N]) { this.Dj.Ma[d.N](this.Dj.object, this.Lj); this.Mj(); } if (this.Dj.Ja.dir != "vertical") d.Kg.ph(this.Dj.object, "left", this.Lj.x); if (this.Dj.Ja.dir != "horizontal") d.Kg.ph(this.Dj.object, "top", this.Lj.y); } else this.Aj(); }, Td: function(Cd) { this.Aj(); var Nj = d.za.Aa(Cd.subject, "move"); if (Nj) { var Hc = d.Ka.La(Nj, "move"); if (Hc["onMouseScroll"]) { if (this.Oj) clearTimeout(this.Oj); var Pj = document.getElementById(Hc["onMouseScroll"]); this.Dj = { box: Pj.offsetParent || d.W, object: Pj, Ma: d.Ka.La(Pj, "movable") }; this.Hj(); var Qj = this.Dj.object.offsetTop; var Rj = Hc["delta"] || Math.abs(Cd.detail); this.Lj = { x: 0, y: Qj + Rj * Cd.detail / Math.abs(Cd.detail) }; this.Mj(); if (this.Dj.Ma[d.N]) { this.Dj.Ma[d.N](this.Dj.object, this.Lj); this.Mj(); } d.Kg.ph(this.Dj.object, "top", this.Lj.y); var Sj = d.vj.Dj.Ma[d.O]; if (this.Dj.Ma[d.O]) { var Y = d.vj.Dj.object; var Cj = d.vj.Lj; this.Oj = d.ka.la(function() { Sj(Y, Cj); }, 500); } this.Aj(); Cd.cancel(); } } }, Hj: function() { var Tj = -1; var Uj = -1; var Vj = this.Dj.box; while (Tj <= 1 || Uj <= 1) { Tj = (document.compatMode != "BackCompat" || Vj != d.W) ? Vj.offsetWidth : Vj.clientWidth; Uj = Vj.offsetHeight; Vj = Vj.offsetParent || d.W; } if (this.Dj.Ma["restricted"]) { this.Wj = Tj - d.Kg.bh(this.Dj.object, "width") - d.Kg.bh(this.Dj.object, "marginRight") - (Vj == d.W ? 2 : 0); this.Xj = Uj - d.Kg.bh(this.Dj.object, "height") - d.Kg.bh(this.Dj.object, "marginBottom"); } }, Mj: function() { if (this.Dj.Ma["restricted"]) { this.Lj.x = Math.max(0, Math.min(this.Lj.x, this.Wj)), this.Lj.y = Math.max(0, Math.min(this.Lj.y, this.Xj)) } }, Aj: function() { if (this.Dj) { if (this.Ij) { document.body.style.MozUserSelect = this.Kj; if (this.Dj.box) d.Ka.replace(this.Dj.box, "moving", "notMoving"); if (this.Dj.object) d.Ka.replace(this.Dj.object, "moving", "notMoving"); if (this.Dj.Ia) d.Ka.replace(this.Dj.Ia, "moving", "notMoving"); if (this.Dj.Ma[d.O]) this.Dj.Ma[d.O](this.Dj.object, this.Lj); d.Yc.md = false; if (d.R) this.Dj.Ia.releaseCapture(); this.xj = null; clearTimeout(this.wj); this.wj = null; } this.Dj = null; } this.Yj = d.W.scrollHeight - d.W.offsetHeight; }, Jj: function() { if (this.Lj && this.Dj.Ja.dir != "horizontal") { var Zj = d.W.scrollTop; if (this.xj < 50) d.W.scrollTop -= Math.round(10 - this.xj / 5); if (this.xj > d.W.offsetHeight - 50) d.W.scrollTop = Math.min(d.W.scrollTop + Math.round(10 - (d.W.offsetHeight - this.xj) / 5), this.Yj); if (d.W.scrollTop != Zj) { this.Lj.y += d.W.scrollTop - Zj; this.Mj(); if (this.Dj.Ma[d.N]) { this.Dj.Ma[d.N](this.Dj.object, this.Lj); this.Mj(); } d.Kg.ph(this.Dj.object, "top", this.Lj.y); } } } }; d.X(d.vj); d._k = { Z: function() { d.Yc.rd(document.documentElement, d.H, this.yj, this); d.Yc.rd(document.documentElement, d.I, this.zj, this); d.Yc.rd(document.documentElement, d.J, this.Aj, this); d.sa.Od("persist-dim", this.Bj, this); }, Bj: function(Cd) { var Ca = Cd.subject; if (d.Ka.contains(Ca, "resizable")) { var ak = { width: parseInt(Ca.style.width), height: parseInt(Ca.style.height) }; if (!isNaN(ak.width) || !isNaN(ak.height)) { var Ma = d.Ka.La(Ca, "resizable"); if (Ma[d.N]) Ma[d.N](Ca, ak); } } }, bk: function(Cd) { Cd.cancel(); }, yj: function(Cd) { this.Aj(); this.ck = d.ka.Ba(Cd.subject, "resizer", "resizable"); if (this.ck.object) { var ma = this.ck.Ia; if (ma.nodeName == "A") if (d.R) d.Yc.rd(ma, "dragstart", this.bk, this); else Cd.cancel(); this.dk = d.Kg.bh(this.ck.object, "width"); this.ek = d.Kg.bh(this.ck.object, "minWidth") || 0; this.fk = d.Kg.bh(this.ck.object, "maxWidth") || Infinity; this.gk = d.Kg.bh(this.ck.object, "height"); this.hk = d.Kg.bh(this.ck.object, "minHeight") || 0; this.ik = d.Kg.bh(this.ck.object, "maxHeight") || Infinity; this.Fj = Cd.clientX; this.Gj = Cd.clientY; this.jk = false; } else this.ck = null; }, zj: function(Cd) { if (this.ck) if (Cd.Ld) { if (!this.jk) { d.Yc.md = true; if (d.R) this.ck.Ia.setCapture(); d.Ka.replace(this.ck.object, "notResizing", "resizing"); d.Ka.replace(this.ck.Ia, "notResizing", "resizing"); this.jk = true; } this.kk = { width: this.dk + Cd.clientX - this.Fj, height: this.gk + Cd.clientY - this.Gj }; this.Mj(); if (this.ck.Ma[d.N]) { this.ck.Ma[d.N](this.ck.object, this.kk); this.Mj(); } if (this.ck.Ja.lk != "height") this.ck.object.style.width = this.kk.width + "px"; if (this.ck.Ja.lk != "width") this.ck.object.style.height = this.kk.height + "px"; } else this.Aj(); }, Mj: function() { this.kk.width = Math.max(this.ek, Math.min(this.fk, this.kk.width)); this.kk.height = Math.max(this.hk, Math.min(this.ik, this.kk.height)); }, Aj: function() { if (this.ck) { if (this.jk) { d.Ka.replace(this.ck.object, "resizing", "notResizing"); d.Ka.replace(this.ck.Ia, "resizing", "notResizing"); if (this.ck.Ma[d.O]) this.ck.Ma[d.O](this.ck.object, this.kk); d.Yc.md = false; if (d.R) this.ck.Ia.releaseCapture(); } this.ck = null; } } }; d._k.Z(); d.mk = { vi: {}, Z: function() { this.nk(); d.Yc.rd(window, "unload", this.ok, this); d.sa.Od(d.n, this.ok, this); d.sa.Od(d.o, this.pk, this); }, ok: function(Cd) { var Ca = Cd.subject || document.body; if (Ca == window || Ca == document) Ca = document.body; var pb = d.za.ob(Ca); for (var i = 0; i < pb.length; i++) { var Ca = pb[i]; var Hc = d.Ka.La(Ca, "persist"); for (var action in Hc) { var Je = this.vi[Ca.id] || (this.vi[Ca.id] = {}); switch (action) { case "pos": Je[action] = d.Kg.Vg(Ca, "top") + "|" + d.Kg.Vg(Ca, "left"); break; case "dim": Je[action] = d.Kg.Vg(Ca, "width") + "|" + d.Kg.Vg(Ca, "height"); break; case "class": Je["className"] = Ca.className; } } } this.qk(); }, nk: function() { var s = d.aa.get("persist"); if (s) this.vi = this.rk(s); }, qk: function() { var s = this.sk(this.vi); d.aa.ga("persist", s); }, pk: function() { for (var id in this.vi) { var Ca = document.getElementById(id); if (Ca && d.Ka.contains(Ca, "persist")) { var tk = this.vi[id]; for (var Ih in tk) if (Ih) { switch (Ih) { case "pos": var uk = tk[Ih].split("|"); Ca.style.top = uk[0]; Ca.style.left = uk[1]; break; case "dim": var uk = tk[Ih].split("|"); Ca.style.width = uk[0]; Ca.style.height = uk[1]; break; case "className": d.Ka.ga(Ca, tk[Ih]); break; default: Ca.setAttribute(Ih, tk[Ih]); } d.sa.ta("persist-" + Ih, Ca); } delete this.vi[id]; } } }, sk: function(ni) { var s = ""; for (var id in ni) { var vk = ""; var Je = ni[id]; for (var Ih in Je) vk += Ih + ":'" + Je[Ih] + "',"; if (vk) s += id + "={" + vk.substring(0, vk.length - 1) + "}¬"; } s = s.substring(0, s.length - 1); return s.replace(/\s+/g, " "); }, rk: function(s) { var x; var ni = {}; var wk = s.split("¬"); for (var i = 0; i < wk.length; i++) { var fa = wk[i].split("="); try { eval("x = " + fa[1]); ni[fa[0]] = x; } catch (oh) { } } return ni; } }; d.X(d.mk); d.xk = { yk: "dragging", zk: "notDragging", Ak: "dropping", Bk: "notDropping", Z: function() { d.Yc.rd(document.documentElement, d.H, this.yj, this); d.Yc.rd(document.documentElement, d.I, this.zj, this); d.Yc.rd(document.documentElement, d.J, this.Ck, this); }, yj: function(Cd) { this.Aj(); var Dk = d.za.Aa(Cd.subject, "dragger"); if (Dk) { var Ek = d.za.Aa(Cd.subject, "draggable"); if (Ek) { if (!d.za.Aa(Cd.subject, "dragging-disabled")) this.Fk(Ek, Dk); Cd.cancel(); } } }, zj: function(Cd) { this.xj = Cd.clientY; if (this.Gk) if (Cd.Ld) { this.Hk(); Cd.cancel(); this.Ik.style.left = (d.W.scrollLeft + Cd.clientX) + "px"; this.Ik.style.top = (d.W.scrollTop + 5 + this.xj) + "px"; var Ek = d.za.Aa(Cd.subject, "draggable"); if (Ek != this.Ik) { var Jk = d.za.Aa(Cd.subject, "dropBox"); if (Jk && Jk != this.Kk) { var Lk = d.ka.Wa(Jk, "dropType", "", true); for (var i = 0; i < Lk.length; i++) if (!isNaN(this.Mk[Lk[i]])) break; if (i >= Lk.length) Jk = null; } var Nk = null; if (d.za.Aa(Cd.subject, "noDrop", "dropBox") || (Jk && d.za.Gb(this.Gk, Jk))) Jk = null; if (Jk) { var Ok = d.R ? Cd.clientX : (Cd.clientX + d.W.scrollLeft); if (d.Q) { Ok = Cd.offsetX; var Ca = Cd.subject; while (Ca != Jk) { Ok += Ca.offsetLeft; Ca = Ca.offsetParent || d.W; } } var Pk = d.R ? Cd.clientY : (Cd.clientY + d.W.scrollTop); if (d.Q) { Pk = Cd.offsetY; var Ca = Cd.subject; while (Ca != Jk) { Pk += Ca.offsetTop; Ca = Ca.offsetParent || d.W; } } this.Qk.style.display = "none"; for (var i = 0; !Nk && i < Jk.childNodes.length; i++) { var Db = Jk.childNodes[i]; if (Db == this.Qk || Db == this.Ik || d.Ka.contains(Db, "noDropBefore")) continue; else if (Db.nodeType == 1) { var Cb = d.za.getBoxObjectFor(Db); if (Pk <= Cb.y + Cb.height && Ok <= Cb.x + Cb.width) Nk = Db; } } this.Qk.style.display = ""; } this.Rk(Jk, Nk); } } else this.Ck(); }, xj: null, Sk: null, Tk: null, Fk: function(Ek, Dk) { this.Uk = Dk; this.Gk = Ek; this.Vk = Ek.parentNode; this.Wk = Ek.nextSibling; this.Xk = d.ka.Wa(this.Gk, "dragType", "", true); this.Mk = d.ka.bb(this.Xk); this.Yk = false; d.Ka.add(document.body, "dragging-" + this.Xk.join(" dragging-")); }, Hk: function() { if (this.Yk) return; this.Yk = true; d.Yc.md = true; if (d.R) this.Uk.setCapture(); var Zk = d.za.ub(this.Gk, "dragPlaceholder"); if (Zk) this.Ik = Zk.cloneNode(true); else { this.Ik = this.Gk.cloneNode(true); this.Ik.style.width = this.Gk.offsetWidth + "px"; } d.Ka.add(this.Ik, "dragPlaceholder"); d.Ka.replace(this.Ik, this.zk, this.yk); this.Gk.parentNode.insertBefore(this.Ik, this.Gk); this.Ik.style.position = "absolute"; this.Ik.style.zIndex = Math.pow(2, 15); document.body.appendChild(this.Ik); var _l = d.za.ub(this.Gk, "dropPlaceholder"); if (_l) this.Qk = _l.cloneNode(true); else { this.Qk = this.Gk.cloneNode(true); } d.Ka.add(this.Qk, "dropPlaceholder"); d.Ka.remove(this.Qk, this.zk); d.Ka.replace(this.Gk, this.zk, this.yk); this.wj = d.ka.pa(this.Jj, 15, this); }, Rk: function(Jk, Nk) { if (Jk != this.Kk || Nk != this.al) { if (this.Kk && Jk != this.Kk) d.Ka.replace(this.Kk, this.Ak, this.Bk); this.Kk = Jk; this.al = Nk; if (!Jk) this.Qk.parentNode.removeChild(this.Qk); else { d.Ka.replace(Jk, this.Bk, this.Ak); Jk.insertBefore(this.Qk, Nk || null); } } }, Ck: function() { if (this.Gk) { var bl = d.Ka.La(this.Gk, "draggable"); if (bl[d.O]) bl[d.O](this.Gk); if (this.Kk) { var Ek = this.Gk; var cl = this.Qk.parentNode; var el = this.Qk.nextSibling; this.Aj(); var fl = d.Ka.contains(this.Vk, "clone-box") && cl != this.Vk; if (cl != this.Vk || el != this.Wk) { var Nk = fl ? Ek.cloneNode(true) : Ek; cl.insertBefore(Nk, el); var gl = d.Ka.La(cl, "dropBox"); if (gl[d.O]) if (gl[d.O](Nk, this.Vk, this.Wk, cl, el) == false) this.Vk.insertBefore(Nk, this.Wk); } } } this.Aj(); }, Aj: function() { if (this.Gk) { d.Ka.remove(document.body, "dragging-" + this.Xk.join(" dragging-")); if (this.Yk) { d.Ka.replace(this.Gk.parentNode, this.yk, this.zk); d.Ka.replace(this.Gk, this.yk, this.zk); if (this.Kk) d.Ka.replace(this.Kk, this.Ak, this.Bk); this.Ik.parentNode.removeChild(this.Ik); if (this.Qk.parentNode) this.Qk.parentNode.removeChild(this.Qk); } d.Yc.md = false; if (d.R) this.Uk.releaseCapture(); this.Uk = null; this.Gk = null; this.Kk = null; this.xj = null; clearTimeout(this.wj); this.wj = null; } this.Yj = d.W.scrollHeight - d.W.offsetHeight; }, Jj: function() { var Zj = d.W.scrollTop; if (this.xj < 50) d.W.scrollTop -= Math.round(10 - this.xj / 5); if (this.xj > d.W.offsetHeight - 50) d.W.scrollTop = Math.min(d.W.scrollTop + Math.round(10 - (d.W.offsetHeight - this.xj) / 5), this.Yj); if (d.W.scrollTop != Zj) this.Ik.style.top = (d.W.scrollTop + 5 + this.xj) + "px"; } }; d.X(d.xk); d.hl = { il: null, jl: null, Z: function() { d.Yc.rd(document.documentElement, "mousedown", this.yj, this); d.Yc.rd(document.documentElement, "mouseup", this.kl, this); d.Yc.rd(document.documentElement, "mousemove", this.zj, this); d.Yc.rd(document.documentElement, "dragstart", this.bk, this); }, yj: function(Cd) { if (d.sa.ta(d.r, Cd.subject)) for (var Ca = Cd.subject; Ca && Ca.nodeType == 1; Ca = Ca.parentNode) if (d.Ka.contains(Ca, "button")) { if (!this.il) this.il = []; this.il.push(Ca); d.Ka.replace(Ca, "up", "down"); } }, kl: function(Cd) { if (d.sa.ta(d.r, Cd.subject)) if (this.il) { for (var i = 0; i < this.il.length; i++) d.Ka.replace(this.il[i], "down", "up"); this.il = null; } }, bk: function(Cd) { if (d.sa.ta(d.r, Cd.subject)) if (this.il) for (var i = 0; i < this.il.length; i++) if (Cd.subject == this.il[i]) Cd.cancel(); }, zj: function(Cd) { if (this.il && d.sa.ta(d.r, Cd.subject) && Cd.subject != this.jl) { this.jl = Cd.subject; for (var i = 0; i < this.il.length; i++) if (d.za.Gb(this.il[i], Cd.subject)) d.Ka.replace(this.il[i], "up", "down"); else d.Ka.replace(this.il[i], "down", "up"); } } }; d.hl.Z(); d.Ka.add(document.documentElement, "spiffy " + d.ka.platform, d.L); d.Yc.rd(window, d.C, function() { if (document.compatMode == "BackCompat" || d.V) d.W = document.body; d.Ka.replace(document.body, d.B, d.z); d.sa.ta(d.o, document.body); }); if (d.R) { if (!d.S) { try { document.execCommand("BackgroundImageCache", false, true); } catch (oh) { } } } d.sa.ta("spifLoaded"); d["documentScrollElement"] = d.W;