/*	sIFR v2.0.5
	Copyright 2004 - 2007 Mark Wubben and Mike Davidson. Prior contributions by Shaun Inman and Tomas Jogin.
	
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
 */

var hasFlash = function() {
	var a = 6;
	if (navigator.appVersion.indexOf("MSIE") != -1
			&& navigator.appVersion.indexOf("Windows") > -1) {
		document
				.write('<script language="VBScript"\> \non error resume next \nhasFlash = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & ' + a + '))) \n</script\> \n');
		if (window.hasFlash != null)
			return window.hasFlash
	}
	if (navigator.mimeTypes
			&& navigator.mimeTypes["application/x-shockwave-flash"]
			&& navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin) {
		var b = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
		return parseInt(b.charAt(b.indexOf(".") - 1)) >= a
	}
	return false
}();
String.prototype.normalize = function() {
	return this.replace(/\s+/g, " ")
};
if (Array.prototype.push == null) {
	Array.prototype.push = function() {
		var i = 0, a = this.length, b = arguments.length;
		while (i < b) {
			this[a++] = arguments[i++]
		}
		return this.length
	}
}
if (!Function.prototype.apply) {
	Function.prototype.apply = function(a, b) {
		var c = [];
		var d, e;
		if (!a)
			a = window;
		if (!b)
			b = [];
		for ( var i = 0; i < b.length; i++) {
			c[i] = "b[" + i + "]"
		}
		e = "a.__applyTemp__(" + c.join(",") + ");";
		a.__applyTemp__ = this;
		d = eval(e);
		a.__applyTemp__ = null;
		return d
	}
}
function named(a) {
	return new named.Arguments(a)
}
named.Arguments = function(a) {
	this.oArgs = a
};
named.Arguments.prototype.constructor = named.Arguments;
named.extract = function(a, b) {
	var c, d;
	var i = a.length;
	while (i--) {
		d = a[i];
		if (d != null && d.constructor != null
				&& d.constructor == named.Arguments) {
			c = a[i].oArgs;
			break
		}
	}
	if (c == null)
		return;
	for (e in c)
		if (b[e] != null)
			b[e](c[e]);
	return
};
var parseSelector = function() {
	var a = /^([^#.>`]*)(#|\.|\>|\`)(.+)$/;
	function r(s, t) {
		var u = s.split(/\s*\,\s*/);
		var v = [];
		for ( var i = 0; i < u.length; i++)
			v = v.concat(b(u[i], t));
		return v
	}
	function b(c, d, e) {
		c = c.normalize().replace(" ", "`");
		var f = c.match(a);
		var g, h, i, j, k, n;
		var l = [];
		if (f == null)
			f = [ c, c ];
		if (f[1] == "")
			f[1] = "*";
		if (e == null)
			e = "`";
		if (d == null)
			d = document;
		switch (f[2]) {
		case "#":
			k = f[3].match(a);
			if (k == null)
				k = [ null, f[3] ];
			g = document.getElementById(k[1]);
			if (g == null || (f[1] != "*" && !o(g, f[1])))
				return l;
			if (k.length == 2) {
				l.push(g);
				return l
			}
			return b(k[3], g, k[2]);
		case ".":
			if (e != ">")
				h = m(d, f[1]);
			else
				h = d.childNodes;
			for (i = 0, n = h.length; i < n; i++) {
				g = h[i];
				if (g.nodeType != 1)
					continue;
				k = f[3].match(a);
				if (k != null) {
					if (g.className == null
							|| g.className.match("(\\s|^)" + k[1] + "(\\s|$)") == null)
						continue;
					j = b(k[3], g, k[2]);
					l = l.concat(j)
				} else if (g.className != null
						&& g.className.match("(\\s|^)" + f[3] + "(\\s|$)") != null)
					l.push(g)
			}
			return l;
		case ">":
			if (e != ">")
				h = m(d, f[1]);
			else
				h = d.childNodes;
			for (i = 0, n = h.length; i < n; i++) {
				g = h[i];
				if (g.nodeType != 1)
					continue;
				if (!o(g, f[1]))
					continue;
				j = b(f[3], g, ">");
				l = l.concat(j)
			}
			return l;
		case "`":
			h = m(d, f[1]);
			for (i = 0, n = h.length; i < n; i++) {
				g = h[i];
				j = b(f[3], g, "`");
				l = l.concat(j)
			}
			return l;
		default:
			if (e != ">")
				h = m(d, f[1]);
			else
				h = d.childNodes;
			for (i = 0, n = h.length; i < n; i++) {
				g = h[i];
				if (g.nodeType != 1)
					continue;
				if (!o(g, f[1]))
					continue;
				l.push(g)
			}
			return l
		}
	}
	function m(d, o) {
		if (o == "*" && d.all != null)
			return d.all;
		return d.getElementsByTagName(o)
	}
	function o(p, q) {
		return q == "*" ? true
				: p.nodeName.toLowerCase().replace("html:", "") == q
						.toLowerCase()
	}
	return r
}();
var sIFR = function() {
	var a = "http://www.w3.org/1999/xhtml";
	var b = false;
	var c = false;
	var d;
	var ah = [];
	var al = document;
	var ak = al.documentElement;
	var am = window;
	var au = al.addEventListener;
	var av = am.addEventListener;
	var f = function() {
		var g = navigator.userAgent.toLowerCase();
		var f = {
			a :g.indexOf("applewebkit") > -1,
			b :g.indexOf("safari") > -1,
			c :navigator.product != null
					&& navigator.product.toLowerCase().indexOf("konqueror") > -1,
			d :g.indexOf("opera") > -1,
			e :al.contentType != null && al.contentType.indexOf("xml") > -1,
			f :true,
			g :true,
			h :null,
			i :null,
			j :null,
			k :null
		};
		f.l = f.a || f.c;
		f.m = !f.a && navigator.product != null
				&& navigator.product.toLowerCase() == "gecko";
		if (f.m && g.match(/.*gecko\/(\d{8}).*/))
			f.j = new Number(g.match(/.*gecko\/(\d{8}).*/)[1]);
		f.n = g.indexOf("msie") > -1 && !f.d && !f.l && !f.m;
		f.o = f.n && g.match(/.*mac.*/) != null;
		if (f.d && g.match(/.*opera(\s|\/)(\d+\.\d+)/))
			f.i = new Number(g.match(/.*opera(\s|\/)(\d+\.\d+)/)[2]);
		if (f.n || (f.d && f.i < 7.6))
			f.g = false;
		if (f.a && g.match(/.*applewebkit\/(\d+).*/))
			f.k = new Number(g.match(/.*applewebkit\/(\d+).*/)[1]);
		if (am.hasFlash && (!f.n || f.o)) {
			var aj = (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description;
			f.h = parseInt(aj.charAt(aj.indexOf(".") - 1))
		}
		if (g.match(/.*(windows|mac).*/) == null || f.o || f.c
				|| (f.d && (g.match(/.*mac.*/) != null || f.i < 7.6))
				|| (f.b && f.h < 7) || (!f.b && f.a && f.k < 312)
				|| (f.m && f.j < 20020523))
			f.f = false;
		if (!f.o && !f.m && al.createElementNS)
			try {
				al.createElementNS(a, "i").innerHTML = ""
			} catch (e) {
				f.e = true
			}
		f.p = f.c || (f.a && f.k < 312);
		return f
	}();
	function at() {
		return {
			bIsWebKit :f.a,
			bIsSafari :f.b,
			bIsKonq :f.c,
			bIsOpera :f.d,
			bIsXML :f.e,
			bHasTransparencySupport :f.f,
			bUseDOM :f.g,
			nFlashVersion :f.h,
			nOperaVersion :f.i,
			nGeckoBuildDate :f.j,
			nWebKitVersion :f.k,
			bIsKHTML :f.l,
			bIsGecko :f.m,
			bIsIE :f.n,
			bIsIEMac :f.o,
			bUseInnerHTMLHack :f.p
		}
	}
	if (am.hasFlash == false || !al.getElementsByTagName || !al.getElementById
			|| (f.e && (f.p || f.n)))
		return {
			UA :at()
		};
	function af(e) {
		if ((!k.bAutoInit && (am.event || e) != null) || !l(e))
			return;
		b = true;
		for ( var i = 0, h = ah.length; i < h; i++)
			j.apply(null, ah[i]);
		ah = []
	}
	var k = af;
	function l(e) {
		if (c == false || k.bIsDisabled == true
				|| ((f.e && f.m || f.l) && e == null && b == false)
				|| al.getElementsByTagName("body").length == 0)
			return false;
		return true
	}
	function m(n) {
		if (f.n)
			return n.replace(new RegExp("%\d{0}", "g"), "%25");
		return n.replace(new RegExp("%(?!\d)", "g"), "%25")
	}
	function as(p, q) {
		return q == "*" ? true
				: p.nodeName.toLowerCase().replace("html:", "") == q
						.toLowerCase()
	}
	function o(p, q, r, s, t) {
		var u = "";
		var v = p.firstChild;
		var w, x, y, z;
		if (s == null)
			s = 0;
		if (t == null)
			t = "";
		while (v) {
			if (v.nodeType == 3) {
				z = v.nodeValue.replace("<", "&lt;");
				switch (r) {
				case "lower":
					u += z.toLowerCase();
					break;
				case "upper":
					u += z.toUpperCase();
					break;
				default:
					u += z
				}
			} else if (v.nodeType == 1) {
				if (as(v, "a") && !v.getAttribute("href") == false) {
					if (v.getAttribute("target"))
						t += "&sifr_url_" + s + "_target="
								+ v.getAttribute("target");
					t += "&sifr_url_" + s + "="
							+ m(v.getAttribute("href")).replace(/&/g, "%26");
					u += '<a href="asfunction:_root.launchURL,' + s + '">';
					s++
				} else if (as(v, "br"))
					u += "<br/>";
				if (v.hasChildNodes()) {
					y = o(v, null, r, s, t);
					u += y.u;
					s = y.s;
					t = y.t
				}
				if (as(v, "a"))
					u += "</a>"
			}
			w = v;
			v = v.nextSibling;
			if (q != null) {
				x = w.parentNode.removeChild(w);
				q.appendChild(x)
			}
		}
		return {
			"u" :u,
			"s" :s,
			"t" :t
		}
	}
	function A(B) {
		if (al.createElementNS && f.g)
			return al.createElementNS(a, B);
		return al.createElement(B)
	}
	function C(D, E, z) {
		var p = A("param");
		p.setAttribute("name", E);
		p.setAttribute("value", z);
		D.appendChild(p)
	}
	function F(p, G) {
		var H = p.className;
		if (H == null)
			H = G;
		else
			H = H.normalize() + (H == "" ? "" : " ") + G;
		p.className = H
	}
	function aq(ar) {
		var a = ak;
		if (k.bHideBrowserText == false)
			a = al.getElementsByTagName("body")[0];
		if ((k.bHideBrowserText == false || ar) && a)
			if (a.className == null
					|| a.className.match(/\bsIFR\-hasFlash\b/) == null)
				F(a, "sIFR-hasFlash")
	}
	function j(I, J, K, L, M, N, O, P, Q, R, S, r, T) {
		if (!l())
			return ah.push(arguments);
		aq();
		named.extract(arguments, {
			sSelector : function(ap) {
				I = ap
			},
			sFlashSrc : function(ap) {
				J = ap
			},
			sColor : function(ap) {
				K = ap
			},
			sLinkColor : function(ap) {
				L = ap
			},
			sHoverColor : function(ap) {
				M = ap
			},
			sBgColor : function(ap) {
				N = ap
			},
			nPaddingTop : function(ap) {
				O = ap
			},
			nPaddingRight : function(ap) {
				P = ap
			},
			nPaddingBottom : function(ap) {
				Q = ap
			},
			nPaddingLeft : function(ap) {
				R = ap
			},
			sFlashVars : function(ap) {
				S = ap
			},
			sCase : function(ap) {
				r = ap
			},
			sWmode : function(ap) {
				T = ap
			}
		});
		var U = parseSelector(I);
		if (U.length == 0)
			return false;
		if (S != null)
			S = "&" + S.normalize();
		else
			S = "";
		if (K != null)
			S += "&textcolor=" + K;
		if (M != null)
			S += "&hovercolor=" + M;
		if (M != null || L != null)
			S += "&linkcolor=" + (L || K);
		if (O == null)
			O = 0;
		if (P == null)
			P = 0;
		if (Q == null)
			Q = 0;
		if (R == null)
			R = 0;
		if (N == null)
			N = "#FFFFFF";
		if (T == "transparent")
			if (!f.f)
				T = "opaque";
			else
				N = "transparent";
		if (T == null)
			T = "";
		var p, V, W, X, Y, Z, aa, ab, ac;
		var ad = null;
		for ( var i = 0, h = U.length; i < h; i++) {
			p = U[i];
			if (p.className != null
					&& p.className.match(/\bsIFR\-replaced\b/) != null)
				continue;
			V = p.offsetWidth - R - P;
			W = p.offsetHeight - O - Q;
			aa = A("span");
			aa.className = "sIFR-alternate";
			ac = o(p, aa, r);
			Z = "txt="
					+ m(ac.u).replace(/\+/g, "%2B").replace(/&/g, "%26")
							.replace(/\"/g, "%22").normalize() + S + "&w=" + V
					+ "&h=" + W + ac.t;
			F(p, "sIFR-replaced");
			if (ad == null || !f.g) {
				if (!f.g) {
					if (!f.n)
						p.innerHTML = [
								'<embed class="sIFR-flash" type="application/x-shockwave-flash" src="',
								J, '" quality="best" wmode="', T,
								'" bgcolor="', N, '" flashvars="', Z,
								'" width="', V, '" height="', W,
								'" sifr="true"></embed>' ].join("");
					else
						p.innerHTML = [
								'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" sifr="true" width="',
								V,
								'" height="',
								W,
								'" class="sIFR-flash"><param name="movie" value="',
								J,
								'"></param><param name="flashvars" value="',
								Z,
								'"></param><param name="quality" value="best"></param><param name="wmode" value="',
								T, '"></param><param name="bgcolor" value="',
								N, '"></param> </object>' ].join('')
				} else {
					if (f.d) {
						ab = A("object");
						ab.setAttribute("data", J);
						C(ab, "quality", "best");
						C(ab, "wmode", T);
						C(ab, "bgcolor", N)
					} else {
						ab = A("embed");
						ab.setAttribute("src", J);
						ab.setAttribute("quality", "best");
						ab.setAttribute("flashvars", Z);
						ab.setAttribute("wmode", T);
						ab.setAttribute("bgcolor", N)
					}
					ab.setAttribute("sifr", "true");
					ab.setAttribute("type", "application/x-shockwave-flash");
					ab.className = "sIFR-flash";
					if (!f.l || !f.e)
						ad = ab.cloneNode(true)
				}
			} else
				ab = ad.cloneNode(true);
			if (f.g) {
				if (f.d)
					C(ab, "flashvars", Z);
				else
					ab.setAttribute("flashvars", Z);
				ab.setAttribute("width", V);
				ab.setAttribute("height", W);
				ab.style.width = V + "px";
				ab.style.height = W + "px";
				p.appendChild(ab)
			}
			p.appendChild(aa);
			if (f.p)
				p.innerHTML += ""
		}
		if (f.n && k.bFixFragIdBug)
			setTimeout( function() {
				al.title = d
			}, 0)
	}
	function ai() {
		d = al.title
	}
	function ae() {
		if (k.bIsDisabled == true)
			return;
		c = true;
		if (k.bHideBrowserText)
			aq(true);
		if (am.attachEvent)
			am.attachEvent("onload", af);
		else if (!f.c && (al.addEventListener || am.addEventListener)) {
			if (f.a && f.k >= 132 && am.addEventListener)
				am.addEventListener("load", function() {
					setTimeout("sIFR({})", 1)
				}, false);
			else {
				if (al.addEventListener)
					al.addEventListener("load", af, false);
				if (am.addEventListener)
					am.addEventListener("load", af, false)
			}
		} else if (typeof am.onload == "function") {
			var ag = am.onload;
			am.onload = function() {
				ag();
				af()
			}
		} else
			am.onload = af;
		if (!f.n || am.location.hash == "")
			k.bFixFragIdBug = false;
		else
			ai()
	}
	k.UA = at();
	k.bAutoInit = true;
	k.bFixFragIdBug = true;
	k.replaceElement = j;
	k.updateDocumentTitle = ai;
	k.appendToClassName = F;
	k.setup = ae;
	k.debug = function() {
		aq(true)
	};
	k.debug.replaceNow = function() {
		ae();
		k()
	};
	k.bIsDisabled = false;
	k.bHideBrowserText = true;
	return k
}();

if (typeof sIFR == "function" && !sIFR.UA.bIsIEMac
		&& (!sIFR.UA.bIsWebKit || sIFR.UA.nWebKitVersion >= 100)) {
	sIFR.setup();
};

