﻿/*	sIFR v2.0.6
	Copyright 2004 - 2008 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.substr(b.indexOf(".")-2,2),10) >= 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(v.nodeName.toLowerCase() == "span" && v.getAttribute("class") == "sifr-alt-color") {
					u += "­­";  //IMPORTANT! between double quotes, there is &shy; character, which is not visible in browser
				}
				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>";
				}
				else if(v.nodeName.toLowerCase() == "span" && v.getAttribute("class") == "sifr-alt-color") {
					u += "­­"; //IMPORTANT! between double quotes, there is &shy; character, which is not visible in browser
				}
			}
			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();
};