/*=======Ver:2.70.81117========*/
/*TreeMenu, (c) 2008, SourceTec Software Co.,LTD  -  www.sothink.com*/
if (typeof _STNS == "undefined") {
	if (!Array.prototype.push) {
		Array.prototype.push = function() {
			for ( var i = 0; i < arguments.length; i++) {
				this[this.length] = arguments[i];
			}
			return this.length;
		};
	}
	if (!Array.prototype.pop) {
		Array.prototype.pop = function() {
			if (this.length) {
				var o = this[this.length - 1];
				this.length--;
				return o;
			}
		};
	}
	if (!Array.prototype.shift) {
		Array.prototype.shift = function() {
			if (this.length) {
				var o = this[0];
				for ( var i = 0; i < this.length - 1; i++) {
					this[i] = this[i + 1];
				}
				this.length--;
				return o;
			}
		};
	}
	if (!Function.prototype.call) {
		Function.prototype.call = function(_5) {
			var _5 = _5 || window;
			_5.__tmp = this;
			var _6 = _5.__tmp(arguments[1], arguments[2], arguments[3],
					arguments[4], arguments[5], arguments[6], arguments[7],
					arguments[8], arguments[9], arguments[10]);
			_5.__tmp = null;
			return _6;
		};
	}
	_STNS = {
		sVer :"3.0",
		bDebug :false,
		fvThrow : function(e) {
		},
		bBufImg :true,
		oImgs : {},
		fvBufImgs : function() {
			if (!_STNS.bBufImg) {
				return;
			}
			if (!_STNS.bLoaded) {
				var s = "";
				for ( var i in _STNS.oImgs) {
					if (_STNS.oImgs[i] != 2) {
						s += _STNS.fsGetTag("div", "style=\"display:none\"",
								_STNS.fsGetImgTag(i, -1, -1));
					}
					_STNS.oImgs[i] = 2;
				}
				document.write(s);
			}
		},
		bIsIE :false,
		bIsMIE :false,
		bIsFX :false,
		bIsOP :false,
		bIsSF :false,
		bIsKQ :false,
		oNav :null,
		bRTL :false,
		sDocMd :null,
		sURL :window.location.href + "",
		sDIR :null,
		bLocal :false,
		fsGetDocMd : function(w) {
			var w = w || window;
			switch (w.document.compatMode) {
			case "QuirksMode":
			case "BackCompat":
				return "quirks";
			case "CSS1Compat":
				return "css1";
			default:
				return document.compatMode;
			}
		},
		_foGetNav : function() {
			var _n = navigator, _u = _n.userAgent, _a = _n.appName, _p = _n.platform, n, v, p;
			if (/(Opera)[ \/]([\d\.]+)/.test(_u)
					|| /(Netscape)\d*\/([\d\.]+)/.test(_u)
					|| /(MSIE) ([\d\.]+)/.test(_u)
					|| /(Safari)\/([\d\.]+)/.test(_u)
					|| /(Konqueror)\/([\d\.]+)/.test(_u)
					|| /(Gecko)\/(\d+)/.test(_u)) {
				n = RegExp.$1.toLowerCase();
				v = RegExp.$2;
			} else {
				if (_a == "Netscape" && _n.appVersion.charAt(0) == "4") {
					n = "netscape4";
					v = parseFloat(_n.appVersion);
				} else {
					n = "unknow";
					v = 0;
				}
			}
			if (n == "netscape") {
				switch (_a) {
				case "Microsoft Internet Explorer":
					n = "msie";
					v = /(MSIE) ([\d\.]+)/.exec(_u)[2];
					break;
				case "Netscape":
					n = "gecko";
					v = /(Gecko)\/(\d+)/.exec(_u)[2];
				}
			}
			if (/^(Win)/.test(_p) || /^(Mac)/.test(_p) || /^(SunOS)/.test(_p)
					|| /^(Linux)/.test(_p) || /^(Unix)/.test(_p)) {
				p = RegExp.$1.toLowerCase();
			} else {
				p = _p;
			}
			return {
				name :n,
				version :v,
				platform :p
			};
		},
		fiGetCT : function(w) {
			var w = w || window;
			if (_STNS.bIsIE) {
				return (_STNS.fsGetDocMd(w) == "css1" ? w.document.documentElement
						: w.document.body).scrollTop;
			} else {
				return w.pageYOffset;
			}
		},
		fiGetCL : function(w) {
			var w = w || window;
			if (_STNS.bIsIE) {
				return (_STNS.fsGetDocMd(w) == "css1" ? w.document.documentElement
						: w.document.body).scrollLeft;
			} else {
				return w.pageXOffset;
			}
		},
		fiGetCW : function(w) {
			var w = w || window;
			if (_STNS.bIsIE) {
				return (_STNS.fsGetDocMd(w) == "css1" ? w.document.documentElement
						: w.document.body).clientWidth;
			} else {
				if (w.scrollbars
						&& w.scrollbars.visible
						|| w.innerHeight < document.documentElement.offsetHeight) {
					return w.innerWidth - 20;
				}
			}
			return w.innerWidth;
		},
		fiGetCH : function(w) {
			var w = w || window;
			if (_STNS.bIsIE) {
				return (_STNS.fsGetDocMd(w) == "css1" ? w.document.documentElement
						: w.document.body).clientHeight;
			} else {
				if (w.scrollbars && w.scrollbars.visible
						|| w.innerWidth < document.documentElement.offsetWidth) {
					return w.innerHeight - 20;
				}
			}
			return w.innerHeight;
		},
		foGetMediaInfor : function(s) {
			_STNS
					.fvThrow(new Error(
							"_STNS.runTime error:call foGetMediaInfor that has not been implemented"));
		},
		oLibs : {},
		sLibPth :"",
		fvInitLib : function() {
			var scs, sc, s, t, ls, pth;
			if (_STNS.bIsFX && !_STNS.faGetElesByTagName("body").length) {
				var hds = _STNS.faGetElesByTagName("head");
				sc = hds[0].lastChild;
			} else {
				scs = _STNS.faGetElesByTagName("script");
				sc = scs[scs.length - 1];
			}
			if (sc) {
				s = sc.src;
			}
			if (s) {
				_STNS.sLibPth = s.substr(0, s.lastIndexOf("/") + 1);
				t = _STNS.fcoGetAttribute(sc, "sothinkdebug");
				if (t == "true") {
					pth = _STNS.fsGetAbsPth(_STNS.sLibPth + "debug/stdebug.js");
					if (!_STNS.oLibs[pth]) {
						_STNS.oLibs[pth] = {
							state :1,
							defer :0
						};
					}
				}
				t = _STNS.fcoGetAttribute(sc, "sothinklib");
				if (t) {
					ls = t.split(";");
					for ( var i = 0; i < ls.length; i++) {
						if (!ls[i]) {
							continue;
						}
						if (!_STNS.fbIsFile(ls[i])) {
							ls[i] += ".js";
						}
						pth = _STNS.fsGetAbsPth(_STNS.sLibPth + ls[i]);
						if (_STNS.oLibs[pth]) {
							continue;
						}
						_STNS.oLibs[pth] = {
							state :1,
							defer :0
						};
					}
				}
			} else {
				_STNS.fvThrow(new Error(
						"_STNS.runTime error:can't get lib path"));
			}
		},
		fvInc : function(s, f) {
			if (!_STNS.oLibs[s]) {
				_STNS.oLibs[s] = {
					state :1,
					defer :f
				};
			}
		},
		fvLoadLib : function() {
			var s = "";
			with (_STNS) {
				for ( var i in oLibs) {
					if (oLibs[i].state != 2) {
						if (bLoaded) {
							fbInsJs(i);
						} else {
							s += fsGetJsTag(i, oLibs[i].defer);
						}
						oLibs[i].state = 2;
					}
				}
			}
			if (s) {
				document.write(s);
			}
		},
		bLoaded :false,
		_aLoads : [],
		fbAddLoad : function(f) {
			if (!_STNS.bLoaded && typeof f == "function") {
				return _STNS._aLoads.push(f);
			} else {
				if (_STNS.bLoaded) {
					_STNS.fvThrow(new Error(
							"_STNS.runTime error:Page has been loaded!"));
				} else {
					_STNS
							.fvThrow(new Error(
									"_STNS.runTime error:Not a function is pushed into onload event!"));
				}
			}
			return false;
		},
		_fvOnload : function() {
			with (_STNS) {
				if (bLoaded) {
					return;
				}
				bLoaded = true;
				for ( var j = 0; j < _aLoads.length; j++) {
					_aLoads[j]();
				}
			}
		},
		_fvInitOnload : function() {
			if (_STNS.bIsIE && window.attachEvent) {
				window.attachEvent("onload", _STNS._fvOnload);
			} else {
				if (_STNS.oNav.name != "konqueror" && window.addEventListener) {
					window.addEventListener("load", _STNS._fvOnload, false);
				} else {
					if (!window.onload
							|| window.onload.toString() != _STNS._fvOnload
									.toString()) {
						if (typeof window.onload == "function") {
							_STNS.fbAddLoad(window.onload);
						}
						onload = _STNS._fvOnload;
					}
				}
			}
		},
		_aCks : [],
		bCkPg :false,
		nCkTid :0,
		nCkTime :100,
		fvAddCk : function(f) {
			if (typeof f == "function") {
				with (_STNS) {
					if (bCkPg) {
						clearTimeout(nCkTid);
						bCkPg = false;
					}
					_aCks.push(f);
					if (bLoaded) {
						_fvCkPg();
					}
				}
			} else {
				_STNS
						.fvThrow(new Error(
								"_STNS.runTime error:Not a function is pushed into check page event!"));
			}
			return false;
		},
		_fvCkPg : function() {
			with (_STNS) {
				if (_aCks.length) {
					bCkPg = true;
					for ( var i = 0; i < _aCks.length; i++) {
						_aCks[i]();
					}
					nCkTid = setTimeout("_STNS._fvCkPg()", nCkTime);
				} else {
					bCkPg = false;
				}
			}
		},
		bShield :false,
		oDefCSS : {
			tb :"border-style:none;background-color:transparent;background-image:none;",
			tr :"border-style:none;background-color:transparent;background-image:none;",
			td :"border-style:none;background-color:transparent;background-image:none;",
			dv :"border-style:none;background-color:transparent;background-image:none;margin:0px;padding:0px;",
			a :"display:block;border-style:none;background-color:transparent;background-image:none;margin:0px;padding:0px;",
			hd :"display:none;",
			sp :"border-style:none;background-color:transparent;background-image:none;margin:0px;padding:0px;"
		},
		foCss2Obj : function(s) {
			var o = {}, a, re = /([\w\-_]+):([^;]+)(;|$)/, ra;
			a = s.split(";");
			for ( var i = 0; i < a.length; i++) {
				ra = re.exec(a[i]);
				if (ra) {
					o[ra[1]] = ra[2];
				}
			}
			return o;
		},
		foCss2Style : function(s) {
			var cs = _STNS.foCss2Obj(s), re = /-([a-z])/, o = {}, i, k, t;
			for (i in cs) {
				t = re.exec(i);
				if (t) {
					k = i.replace("-" + t[1], t[1].toUpperCase());
				} else {
					k = i;
				}
				o[k] = cs[i];
			}
			return o;
		},
		fsObj2Css : function(a) {
			var s = "";
			for ( var i in a) {
				if (a[i] != null) {
					s += i + ":" + a[i] + ";";
				}
			}
			return s;
		},
		fvCSSShield : function() {
			with (_STNS) {
				if (bLoaded) {
					bShield = false;
				} else {
					if (faGetElesByTagName("body")
							&& faGetElesByTagName("body").length) {
						bShield = false;
					} else {
						var i, s = "\n<style type='text/css'>\n";
						for (i in oDefCSS) {
							if (i == "a") {
								s += ".sta:link,.sta:hover,.sta:active,.sta:visited";
							} else {
								s += ".st" + i;
							}
							s += "{" + oDefCSS[i] + "}\n";
						}
						s += "</style>";
						bShield = true;
						document.write(s);
					}
				}
			}
		},
		fsReadCoki : function(n) {
			var i, cs = document.cookie.split("; ");
			for (i = 0; i < cs.length; i++) {
				if (!cs[i].indexOf(n + "=")) {
					return cs[i].substr(n.length);
				}
			}
		},
		fvSaveCoki : function(n, v, t) {
			
		},
		ffGetFun : function(f) {
			if (typeof f == "function") {
				return f;
			} else {
				if (typeof f == "string" && window[f]) {
					return window[f];
				}
			}
		},
		fbIsAbsPth : function(s) {
			var t = s.toLowerCase();
			return /^(#|\?|\/|[a-z]:|http:|https:|file:|ftp:|javascript:|vbscript:|mailto:|about:|gopher:|news:|res:|telnet:|view-source|wais:|rtsp:|mms:|outlook:)/
					.test(t);
		},
		fsGetAbsPth : function(s) {
			if (!s) {
				return s;
			}
			var re, t;
			if (!s.indexOf("//")) {
				return s;
			}
			if (s.charAt(0) == "/") {
				re = /^(file:\/{2,}[^\/]+\/|http:\/\/[^\/]+\/|https:\/\/[^\/]+\/)/;
				if (re.exec(_STNS.sDIR)) {
					s = RegExp.$1 + s.substr(1);
				} else {
					return s;
				}
			} else {
				if (s == "#") {
					if (_STNS.sURL.charAt(_STNS.sURL.length - 1) != "#") {
						return _STNS.sURL + "#";
					} else {
						return _STNS.sURL;
					}
				} else {
					if (!_STNS.fbIsAbsPth(s)) {
						s = _STNS.sDIR + s;
					} else {
						return s;
					}
				}
			}
			while (s.indexOf("/./") > 0) {
				s = s.replace("/./", "/");
			}
			while ((t = s.indexOf("/../")) > 0) {
				var p1, p2;
				p1 = s.substr(0, t);
				p2 = s.substr(t).replace("/../", "");
				p1 = p1.substr(0, p1.lastIndexOf("/") + 1);
				s = p1 + p2;
			}
			return s;
		},
		fsGetImgTag : function(s, w, h, b, id, nw, nh) {
			if (!s || !w || !h) {
				return "";
			}
			if (nw && nh) {
				if (w == -1 && h == -1) {
					w = nw, h = nh;
				} else {
					if (w == -1 && h != -1) {
						w = Math.floor(nw * h / nh);
					} else {
						if (w != -1 && h == -1) {
							h = Math.floor(nh * w / nw);
						}
					}
				}
			}
			return "<img class='stimg' src=\"" + s + "\""
					+ (w == -1 ? "" : " width=" + w)
					+ (h == -1 ? "" : " height=" + h) + " border="
					+ (b ? b : 0) + (id ? " id='" + id + "'" : "") + ">";
		},
		fsGetJsTag : function(s, f) {
			return "<script type='text/javascript' language='javascript1.2' src=\""
					+ s + "\"" + (f ? " DEFER" : "") + "></" + "script>";
		},
		fsGetTag : function(t, a, s) {
			return "<" + t + " " + a + ">" + (s ? s : "") + "</" + t + ">";
		},
		fbIsFile : function(s) {
			return /\w+\.\w+$/.test(s);
		},
		fbIsImg : function(s) {
			return /\.(gif|png|jpg|jpeg|bmp)$/.test(s.toLowerCase());
		},
		fsGetDIR : function(s) {
			var t = s.toLowerCase();
			if (!t.indexOf("file:/") || !t.indexOf("http://")
					|| !t.indexOf("https://")) {
				return s.substr(0, s.lastIndexOf("/") + 1);
			} else {
				return "";
			}
		},
		fsGetHTMLEnti : function(s, f) {
			if (!s) {
				return "";
			}
			var re;
			re = /&/g;
			s = s.replace(re, "&amp;");
			if (!f) {
				re = / /g;
				s = s.replace(re, "&nbsp;");
			}
			re = /</g;
			s = s.replace(re, "&lt;");
			re = />/g;
			s = s.replace(re, "&gt;");
			re = /\"/g;
			s = s.replace(re, "&quot;");
			return s;
		},
		faJoinA : function(a, b) {
			var c = [], l = Math.max(a.length, b.length);
			for ( var i = 0; i < l; i++) {
				if (a[i] == null) {
					c[i] = b[i];
				} else {
					c[i] = a[i];
				}
			}
			return c;
		},
		S64 :"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#@",
		fiTransX2D : function(n, m) {
			m = String(m).replace(/ /gi, "");
			if (m == "") {
				return 0;
			}
			var a = _STNS.S64.substr(0, n);
			if (eval("m.replace(/[" + a + "]/gi,'')") != "") {
				_STNS.fvThrow(new Error(
						"_STNS.runTime error:Transform bad number from " + m
								+ " to 10!"));
				return 0;
			}
			var t = 0, c = 1;
			for ( var x = m.length - 1; x > -1; x--) {
				t += c * (a.indexOf(m.charAt(x)));
				c *= n;
			}
			return t;
		},
		fsTranD2X : function(n, m) {
			m = String(m).replace(/ /gi, "");
			if (m == "") {
				return 0;
			}
			if (parseInt(m) != m) {
				_STNS.fvThrow(new Error(
						"_STNS.runTime error:Transform bad number from 10 to "
								+ m + "!"));
				return "";
			}
			var t = "", a = _STNS.S64.substr(0, n);
			while (m != 0) {
				var b = m % n;
				t = a.charAt(b) + t;
				m = (m - b) / n;
			}
			if (!t) {
				t = "0";
			}
			return t;
		},
		faCP2PP : function(cp, w) {
			var t, l;
			with (_STNS) {
				t = fiGetCT(w);
				l = fiGetCL(w);
				return [ cp[0] + l, cp[1] + t ];
			}
		},
		faPP2CP : function(pp, w) {
			var t, l;
			with (_STNS) {
				t = fiGetCT(w);
				l = fiGetCL(w);
				return [ pp[0] - l, pp[1] - t ];
			}
		},
		fsGetLen : function(t, l, p, b, s, w) {
			var _r = _STNS, u;
			if (w == null) {
				w = true;
			}
			if (s == null) {
				s = true;
			}
			if (p == null) {
				p = 0;
			}
			if (b == null) {
				b = 0;
			}
			if (typeof l == "string") {
				u = /%|px|pt|em|ex|pc|in|cm|mm$/.exec(l);
			}
			if (u) {
				switch (u[0]) {
				case "%":
					return l;
				default:
					l = parseInt(l), u = u[0];
				}
			} else {
				l = parseInt(l);
				u = "px";
			}
			switch (t) {
			case "dv":
				if (_r.sDocMd == "css1"
						|| (!_r.bIsIE && !_r.bIsOP || (_r.bIsOP && parseInt(_r.oNav.version) >= 8))) {
					return l - 2 * p - 2 * b + u;
				}
				break;
			case "tb":
				if (_r.bIsMIE && !w && s) {
					return l - 2 * b - 2 * p + u;
				}
				break;
			case "td":
				if (_r.bIsSF) {
					if (_r.sDocMd != "css1" || w) {
						if (s) {
							return l - 2 * b + u;
						} else {
							return l - 2 * p + u;
						}
					} else {
						return l - 2 * p - 2 * b + u;
					}
				} else {
					if (!_r.bIsMIE && (_r.sDocMd == "css1" || w)) {
						return l - 2 * b - 2 * p + u;
					}
				}
				break;
			}
			return l + u;
		},
		fdmGetEleById : function(id, w) {
			var w = w || window;
			with (_STNS) {
				if (bIsIE) {
					var es = w.document.all(id);
					if (es && es.length && !es.tagName) {
						return es[0];
					} else {
						return es;
					}
				} else {
					return w.document.getElementById(id);
				}
			}
		},
		faGetElesByTagName : function(n, w) {
			var w = w || window;
			with (_STNS) {
				if (bIsIE) {
					return w.document.all.tags(n);
				} else {
					return w.document.getElementsByTagName(n);
				}
			}
		},
		faGetElesByCls : function(n, w) {
			var w = w || window;
			var i, a = [], el, els = _STNS.bIsIE ? w.document.all : w.document
					.getElementsByTagName("*");
			for (i = 0; el = els[i]; i++) {
				if (el.className == n) {
					a.push(el);
				}
			}
			return a;
		},
		fdmGetFmByName : function(n, w) {
			var w = w || window;
			if (w.frames[t]) {
				return w.frames[t];
			} else {
				if (w.parent) {
					return w.parent.frames[t];
				}
			}
		},
		fbIsPar : function(p, c) {
			if (_STNS.bIsIE) {
				return p.contains(c);
			} else {
				if (!p || !c) {
					return false;
				}
				if (p == c) {
					return true;
				}
				do {
					if (c.parentNode) {
						c = c.parentNode;
					} else {
						break;
					}
					if (p == c) {
						return true;
					}
				} while (c);
			}
			return false;
		},
		fbInsHTML : function(e, p, h) {
			if (_STNS.bIsIE) {
				return e.insertAdjacentHTML(p, h);
			} else {
				var d = e.ownerDocument, t = d.createElement("span");
				t.innerHTML = h;
				switch (p) {
				case "beforeBegin":
					return e.parentNode.insertBefore(t, e);
				case "afterBegin":
					return e.insertBefore(t, e.firstChild);
				case "beforeEnd":
					return e.appendChild(t);
				case "afterEnd":
					if (e.nextSibling) {
						return e.parentNode.insertBefore(t, e.nextSibling);
					} else {
						return e.parentNode.appendChild(t);
					}
				}
			}
			return false;
		},
		fbInsEle : function(e, p, ne) {
			if (_STNS.bIsIE) {
				return e.insertAdjacentElement(p, ne);
			} else {
				switch (p) {
				case "beforeBegin":
					return e.parentNode.insertBefore(ne, e);
				case "afterBegin":
					return e.insertBefore(ne, e.firstChild);
				case "beforeEnd":
					return e.appendChild(ne);
				case "afterEnd":
					if (o.nextSibling) {
						return e.parentNode.insertBefore(ne, e.nextSibling);
					} else {
						return e.parentNode.appendChild(ne);
					}
				}
			}
		},
		fbDelEle : function(e) {
			var p = e.parentNode;
			return p.removeChild(e);
		},
		fbInsJs : function(s, l) {
			var l = l || "JavaScript";
			var hd = _STNS.faGetElesByTagName("HEAD");
			if (hd && hd[0]) {
				l = l.toLowerCase();
				var t = document.createElement("script");
				t.language = l;
				if (!l.indexOf("javascript") || !l.indexOf("jscript")) {
					t.type = "text/javascript";
				}
				t.src = s;
				_STNS.fbInsEle(hd, "beforeEnd", t);
			}
		},
		fdmCreateXMLHttp : function() {
			var _99;
			if (window.XMLHttpRequest) {
				_99 = new XMLHttpRequest();
			} else {
				var _9a = [ "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0",
						"MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP",
						"Microsoft.XMLHTTP" ];
				for ( var n = 0; n < _9a.length; n++) {
					try {
						_99 = new ActiveXObject(_9a[n]);
						break;
					} catch (e) {
						_99 = null;
					}
				}
			}
			if (!_99) {
				_99 = null;
				_STNS.fvThrow(new Error("Create XMLHttpRequest fail!"));
				return;
			}
			if (_99.readyState == null) {
				_99.readyState = 0;
				_99.addEventListener("load", function() {
					_99.readyState = 4;
					if (typeof _99.onreadystatechange == "function") {
						_99.onreadystatechange();
					}
				}, false);
			}
			return _99;
		},
		fdmCreateXMLDoc : function() {
			var _9c;
			if (_STNS.bIsIE) {
				var _9d = [ "Msxml2.DOMDocument.4.0", "Msxml2.DOMDocument.3.0",
						"Msxml2.DOMDocument", "Microsoft.XMLDOM" ];
				for ( var n = 0; n < _9d.length; n++) {
					try {
						_9c = new ActiveXObject(_9d[n]);
						break;
					} catch (e) {
					}
				}
			} else {
				_9c = document.implementation.createDocument("", "", null);
			}
			if (!_9c) {
				_STNS.fvThrow(new Error("Create XMLDOMDocument fail!"));
				return;
			}
			return _9c;
		},
		faGetElePos : function(e) {
			if (!e) {
				return;
			}
			var x = y = bl = bt = 0;
			var v = _STNS.oNav.version, a = new Array(v, 523.12), sv = a.sort()[0] == 523.12;
			if (_STNS.bIsSF && sv) {
				var o = e.offsetParent ? e.offsetParent.offsetParent ? e.offsetParent.offsetParent.offsetParent ? e.offsetParent.offsetParent.offsetParent ? e.offsetParent.offsetParent.offsetParent.offsetParent ? e.offsetParent.offsetParent.offsetParent.offsetParent
						: null
						: null
						: null
						: null
						: null;
				while (o) {
					if (o.tagName == "TABLE") {
						bl = parseInt(_STNS.fsGetEleStyle(o, "borderLeftWidth"));
						bt = parseInt(_STNS.fsGetEleStyle(o, "borderTopWidth"));
						if (!isNaN(bl)) {
							x += bl;
						}
						if (!isNaN(bt)) {
							y += bt;
						}
					}
					o = o.offsetParent;
				}
			}
			while (e) {
				x += e.offsetLeft;
				y += e.offsetTop;
				if ((_STNS.oNav.name == "konqueror" || _STNS.oNav.name == "safari")
						&& e.style.position.toLowerCase() == "absolute") {
					break;
				}
				switch (e.tagName) {
				case "TD":
					if (_STNS.bIsIE || (_STNS.bIsSF && sv)
							|| (_STNS.bIsOP && _STNS.oNav.version < 9)) {
						bl = parseInt(_STNS.fsGetEleStyle(e, "borderLeftWidth"));
						bt = parseInt(_STNS.fsGetEleStyle(e, "borderTopWidth"));
						if (!isNaN(bl)) {
							x += bl;
						}
						if (!isNaN(bt)) {
							y += bt;
						}
					}
					break;
				}
				if (e.parentNode && e.parentNode.tagName == "DIV") {
					var s = _STNS.fsGetEleStyle(e.parentNode, "overflow")
							.toLowerCase();
					var w = _STNS.fsGetEleStyle(e.parentNode, "width")
							.toLowerCase();
					if (s == "hidden" || s == "scroll" || s == "auto") {
						x -= e.parentNode.scrollLeft;
						y -= e.parentNode.scrollTop;
					}
					if (w && w != "auto") {
						if ((_STNS.bIsFX && _STNS.oNav.version > 20060414 && s != "visible")
								|| (_STNS.bIsIE && _STNS.oNav.version >= 5)) {
							bl = parseInt(_STNS.fsGetEleStyle(e.parentNode,
									"borderLeftWidth"));
							bt = parseInt(_STNS.fsGetEleStyle(e.parentNode,
									"borderTopWidth"));
							if (!isNaN(bl)) {
								x += bl;
							}
							if (!isNaN(bt)) {
								y += bt;
							}
						}
					}
				}
				if (e.parentNode && e.offsetParent
						&& e.parentNode != e.offsetParent) {
					if (e.offsetParent.tagName == "DIV") {
						var s = _STNS.fsGetEleStyle(e.offsetParent, "overflow")
								.toLowerCase();
						var w = _STNS.fsGetEleStyle(e.offsetParent, "width")
								.toLowerCase();
						if (s == "hidden" || s == "scroll" || s == "auto") {
							x -= e.offsetParent.scrollLeft;
							y -= e.offsetParent.scrollTop;
						}
						if (w && w != "auto") {
							if ((_STNS.bIsFX && _STNS.oNav.version > 20060414 && s != "visible")
									|| (_STNS.bIsIE && _STNS.oNav.version >= 5)) {
								bl = parseInt(_STNS.fsGetEleStyle(
										e.offsetParent, "borderLeftWidth"));
								bt = parseInt(_STNS.fsGetEleStyle(
										e.offsetParent, "borderTopWidth"));
								if (!isNaN(bl)) {
									x += bl;
								}
								if (!isNaN(bt)) {
									y += bt;
								}
							}
						}
					}
				}
				e = e.offsetParent;
			}
			return [ x, y ];
		},
		fiGetEleWid : function(e) {
			return e.offsetWidth;
		},
		fiGetEleHei : function(e) {
			return e.offsetHeight;
		},
		fsGetEleStyle : function(e, p) {
			if (!e || !p) {
				return;
			}
			if (_STNS.bIsIE) {
				return e.currentStyle[p];
			} else {
				if (_STNS.bIsFX || _STNS.bIsSF || _STNS.bIsOP) {
					var w = e.ownerDocument.defaultView;
					p = p.replace(/([A-Z])/g, "-$1");
					return w.getComputedStyle(e, "").getPropertyValue(
							p.toLowerCase());
				} else {
					return e.style[p];
				}
			}
		},
		fcoGetAttribute : function(e, a) {
			if (!e || !a) {
				return;
			}
			if (_STNS.bIsIE) {
				return e[a];
			} else {
				return e.getAttribute(a);
			}
		},
		fbFalse : function() {
			return false;
		},
		fbTrue : function() {
			return true;
		}
	};
	_STNS.Class = ( function() {
		var _ae = function() {
			var c = function(as) {
				if (_STNS.bIsIE) {
					this._cls = this.constructor;
				} else {
					this._cls = arguments.callee;
				}
				_b1.call(this, as);
			};
			_b2(c, arguments);
			c.register = _b3;
			c.toString = _b4;
			c.subclsOf = _b5;
			c.superclassOf = _b6;
			return c;
		};
		_ae.toString = function() {
			return "[object Class]";
		};
		_ae.getC = function(pth) {
			var _b8 = [];
			if (!_b9(pth, _b8) || !_ba[_b8[0]][_b8[1]]) {
				_STNS.fvThrow(new Error("Class get error: Class \"" + pth
						+ "\" is not found"));
				return;
			}
			return _ba[_b8[0]][_b8[1]];
		};
		_ae.getClsLst = function(o, pre) {
			var o = o || _ba, pre = pre || "/", sp, s = "";
			for ( var i in o) {
				if (typeof o[i] == "object") {
					sp = pre + i + "/";
					s += _STNS.Class.getClsLst(o[i], sp);
				} else {
					s += pre + i + "\n";
				}
			}
			return s;
		};
		var _b3 = function(pth) {
			var _c1 = [];
			if (!_b9(pth, _c1)) {
				_STNS.fvThrow(new Error(
						"Class register error: Invalid class path:" + pth));
				return;
			}
			var pkg = _c1[0];
			var cn = _c1[1];
			if (pkg) {
				if (!_ba[pkg]) {
					_ba[pkg] = {};
				}
				var _c4 = _ba[pkg][cn];
				if (_c4) {
					_STNS.fvThrow(new Error("Class register error: Class \""
							+ pth + "\" already exists"));
					return;
				}
				_ba[pkg][cn] = this;
			} else {
				var _c4 = _ba[cn];
				if (_c4) {
					_STNS.fvThrow(new Error("Class register error: Class \""
							+ pth + "\" already exists"));
					return;
				}
				_ba[cn] = this;
			}
			this._pkg = pkg;
			this._cn = cn;
		};
		var _ba = {};
		var _c5 = function(_c6, _c7) {
			if (typeof _c6 == "string") {
				_c6 = _STNS.Class.getC(_c6);
			}
			if (typeof _c7 == "string") {
				_c7 = _STNS.Class.getC(_c7);
			}
			if (typeof _c6 != "function" || typeof _c7 != "function") {
				return false;
			}
			if (!_c6._supers) {
				return false;
			}
			for ( var i = 0; i < _c6._supers.length; i++) {
				if (_c6._supers[i] == _c7) {
					return true;
				} else {
					if (_c5(_c6._supers[i], _c7)) {
						return true;
					}
				}
			}
			return false;
		};
		var _b5 = function(cls) {
			return _c5(this, cls);
		};
		var _b6 = function(cls) {
			return _c5(cls, this);
		};
		var _b9 = function(pth, _cc) {
			if (typeof pth != "string" || !pth) {
				return false;
			}
			var n = pth.lastIndexOf("/");
			if (n > -1) {
				_cc[0] = pth.substr(0, n);
				_cc[1] = pth.substr(n + 1);
			} else {
				_cc[0] = "";
				_cc[1] = pth;
			}
			return true;
		};
		var _b2 = function(c, as) {
			c._supers = [];
			for ( var i = 0; i < as.length; i++) {
				var s = as[i];
				if (typeof s == "string") {
					s = _STNS.Class.getC(s);
				}
				if (typeof s != "function") {
					_STNS.fvThrow(new Error(
							"Class create error: Invalid superclass: "
									+ "args[" + i + "]"));
					return;
				}
				c._supers.push(s);
			}
		};
		var _b1 = function(as) {
			var c = this._cls;
			for ( var i = 0; i < c._supers.length; i++) {
				if (_STNS.bIsIE) {
					this.constructor = c._supers[i];
				}
				c._supers[i].call(this, as);
			}
			if (_STNS.bIsIE) {
				this.constructor = c;
			}
			this._cls = c;
			this.toString = _d5;
			this.getClass = _d6;
			this.instanceOf = _d7;
			this.toConvert = _d8;
			if (c.construct) {
				c.construct.call(this, as);
			}
		};
		var _d8 = function(cls, as) {
			var c = this._cls;
			if (_c5(c, cls)) {
				var t = new cls;
				for ( var i in this) {
					if (typeof t[i] == "undefined") {
						delete this[i];
					}
					if (cls[i]) {
						this[i] = cls[i];
					}
				}
			} else {
				if (_c5(cls, c)) {
					var f = 0;
					for ( var i = 0; i < cls._supers.length; i++) {
						if (_STNS.bIsIE) {
							this.constructor = cls._supers[i];
						}
						if (cls._supers[i] != c) {
							cls._supers[i].call(this, as);
						} else {
							f = 1;
						}
					}
					if (!f) {
						_STNS
								.fvThrow(new Error(
										"_STNS.runTime error:Can't convert this instance;The class of instance must be the target class's direct superClass!"));
						return;
					}
					if (_STNS.bIsIE) {
						this.constructor = cls;
					}
					this._cls = cls;
					if (cls.construct) {
						cls.construct.call(this, as);
					}
				} else {
					_STNS
							.fvThrow(new Error(
									"_STNS.runTime error:Can't convert this instance;The class of instance must be the target class's subClass or direct superClass!"));
				}
			}
		};
		var _d7 = function(c) {
			if (typeof c == "string") {
				c = _STNS.Class.getC(c);
			}
			if (typeof c !== "function") {
				return false;
			}
			return this._cls == c;
		};
		var _d6 = function() {
			return this._cls;
		};
		var _d5 = function() {
			if (this._cls._cn) {
				return "[object Object " + this._cls._pkg + "/" + this._cls._cn
						+ "]";
			} else {
				return "[object Object Anonymous class]";
			}
		};
		var _b4 = function() {
			if (this._cn) {
				return "[object Class " + this._pkg + "/" + this._cn + "]";
			}
			return "[object Anonymous Class]";
		};
		return _ae;
	})();
	with (_STNS) {
		sDocMd = fsGetDocMd();
		oNav = _foGetNav();
		bIsIE = oNav.name == "msie";
		bIsMIE = bIsIE && oNav.platform == "mac";
		bIsOP = oNav.name == "opera";
		bIsFX = oNav.name == "gecko";
		bIsSF = oNav.name == "safari";
		bIsKQ = oNav.name == "konqueror";
		sDIR = fsGetDIR(sURL);
		bLocal = !sURL.indexOf("file:");
		_fvInitOnload();
		fbAddLoad(_fvCkPg);
	}
}
_STNS.fvInitLib();
_STNS.fvInc(_STNS.fsGetAbsPth(_STNS.sLibPth + "sttree.js"));
_STNS.fvInc(_STNS.fsGetAbsPth(_STNS.sLibPth + "steffie.js"));
_STNS.fvLoadLib();
if (!_STNS.bShield) {
	_STNS.fvCSSShield();
}
if (typeof _STNS != "undefined" && !_STNS.EFFECT) {
	_STNS.EFFECT = {
		foGetEff : function(s, id, w, d, o) {
			if (!s) {
				return 0;
			}
			if (/^stEffect\(.Open/i.test(s) && _STNS.bIsIE) {
				var dir = s
						.replace(/^.*[\(\,]Direction\=(\w+)[\)\,].*$/i, "$1");
				var d = s
						.replace(/^.*[\(\,]Duration\=([\d.]+)[\)\,].*$/i, "$1");
				d = (d == s ? 1 : parseFloat(d));
				if (dir == "Down" || dir == s) {
					s = "progid:DXImageTransform.Microsoft.Zigzag(GridSizeX=16,GridSizeY=16,enabled=0,Duration="
							+ d + ")";
					d *= 1000;
					o = 5;
				}
				if (dir == "Middle") {
					s = "progid:DXImageTransform.Microsoft.Barn(orientation=horizontal,motion=out,enabled=0,Duration="
							+ d + ")";
					d *= 1000;
					o = 16;
				}
			}
			if (/^stEffect\(.Active/i.test(s) && _STNS.bIsIE) {
				var d = s
						.replace(/^.*[\(\,]Duration\=([\d.]+)[\)\,].*$/i, "$1");
				if (d == s) {
					d = (dd == s ? 1 : parseFloat(d));
				}
				s = "progid:DXImageTransform.Microsoft.Fade(overlap=.5,enabled=0,Duration="
						+ d + ")";
				d *= 1000;
				o = 12;
			}
			var t = s.toLowerCase(), c;
			if ((!t.indexOf("progid:") || !t.indexOf("revealtrans"))
					&& _STNS.EFFECT["CEffIE"]) {
				return new _STNS.EFFECT["CEffIE"]( [ s, id, w, d, o ]);
			} else {
				if (!s.indexOf("stEffect")) {
					s = s.substring(10, s.length - 2);
					var cn = "CEff" + s.charAt(0).toUpperCase()
							+ s.substr(1).replace(/^(.*)\(.*$/, "$1");
					if (_STNS.EFFECT[cn]) {
						return new _STNS.EFFECT[cn]( [ s, id, w, d, o ]);
					}
				} else {
					return 0;
				}
			}
		}
	};
	with (_STNS.EFFECT) {
		_STNS.EFFECT.CEffect = _STNS.Class();
		CEffect.register("EFFECT/CEffect");
		CEffect.construct = function(as) {
			this._iStat = -1;
			this.sName = as[0];
			this.sDmId = as[1];
			this.dmWin = as[2] || window;
			with (_STNS.EFFECT.CEffect) {
				this.fiGetStat = fiGetStat;
				this.sGetParam = sGetParam;
				this.fbSet = _STNS.fbFalse;
				this.fbDel = _STNS.fbFalse;
				this.fbApply = _STNS.fbFalse;
				this.fbPlay = _STNS.fbFalse;
				this.fbStop = _STNS.fbFalse;
				this.fbSetStyle = _STNS.fbFalse;
				this.fvAnalyzeParams = fvAnalyzeParams;
			}
			this.aParams = new Array();
			this.sParams = as[0].replace(/^.*\((.*)\).*$/, "$1");
			if (this.sParams == as[0]) {
				this.sParams = "";
			}
		};
		CEffect.fiGetStat = function() {
			return this._iStat;
		};
		CEffect.sGetParam = function(s) {
			var b = this.sName.replace(new RegExp("^.*[\\(\\,]" + s
					+ "\\=(\\d+)[\\,\\)].*$", "i"), "$1");
			return this.sName == b ? "" : b;
		};
		CEffect.fvAnalyzeParams = function() {
			var ta = this.sParams.split(",");
			var a;
			for ( var i = 0; i < ta.length; i++) {
				a = ta[i].split("=");
				a[1] = /^\d+$/.test(a[1]) ? parseInt(a[1]) : (/^\d*\.\d+$/
						.test(a[1]) ? parseFloat(a[1]) : a[1]);
				this.aParams[a[0]] = typeof (a[1]) != "string" ? a[1]
						: this._cls[a[1]] || a[1];
			}
		};
	}
}
