AJS = { BASE_URL: "", drag_obj: null, drag_elm: null, _drop_zones:[], _cur_pos: null, getScrollTop: function () {
		var t;
		if (document.documentElement && document.documentElement.scrollTop) {
			t = document.documentElement.scrollTop;
		} else {
			if (document.body) {
				t = document.body.scrollTop;
			}
		}
		return t;
	},
	addClass: function () {
		var _2 = AJS.forceArray(arguments);
		var _3 = _2.pop();
		var _4 = function (o) {
			if (! new RegExp("(^|\\s)" + _3 + "(\\s|$)") .test(o.className)) {
				o.className +=(o.className? " " : "") + _3;
			}
		};
		AJS.map(_2, function (_6) {
			_4(_6);
		});
	},
	setStyle: function () {
		var _7 = AJS.forceArray(arguments);
		var _8 = _7.pop();
		var _9 = _7.pop();
		AJS.map(_7, function (_a) {
			_a.style[_9] = AJS.getCssDim(_8);
		});
	},
	extend: function (_b) {
		var _c = new this ("no_init");
		for (k in _b) {
			var _d = _c[k];
			var _e = _b[k];
			if (_d && _d != _e && typeof _e == "function") {
				_e = this ._parentize(_e, _d);
			}
			_c[k] = _e;
		}
		return new AJS.Class(_c);
	},
	log: function (o) {
		if (window.console) {
			console.log(o);
		} else {
			var div = AJS.$("ajs_logger");
			if (! div) {
				div = AJS.DIV({
					id: "ajs_logger", "style" : "color: green; position: absolute; left: 0"
				});
				div.style.top = AJS.getScrollTop() + "px";
				AJS.ACN(AJS.getBody(), div);
			}
			AJS.setHTML(div, "" + o);
		}
	},
	setHeight: function () {
		var _11 = AJS.forceArray(arguments);
		_11.splice(_11.length - 1, 0, "height");
		AJS.setStyle.apply(null, _11);
	},
	_getRealScope: function (fn, _13) {
		_13 = AJS.$A(_13);
		var _14 = fn._cscope || window;
		return function () {
			var _15 = AJS.$FA(arguments) .concat(_13);
			return fn.apply(_14, _15);
		};
	},
	documentInsert: function (elm) {
		if (typeof (elm) == "string") {
			elm = AJS.HTML2DOM(elm);
		}
		document.write("<span id=\"dummy_holder\"></span>");
		AJS.swapDOM(AJS.$("dummy_holder"), elm);
	},
	getWindowSize: function (doc) {
		doc = doc || document;
		var _18, _19;
		if (self.innerHeight) {
			_18 = self.innerWidth;
			_19 = self.innerHeight;
		} else {
			if (doc.documentElement && doc.documentElement.clientHeight) {
				_18 = doc.documentElement.clientWidth;
				_19 = doc.documentElement.clientHeight;
			} else {
				if (doc.body) {
					_18 = doc.body.clientWidth;
					_19 = doc.body.clientHeight;
				}
			}
		}
		return {
			"w" :_18, "h" :_19
		};
	},
	flattenList: function (_1a) {
		var r = [];
		var _1c = function (r, l) {
			AJS.map(l, function (o) {
				if (o == null) {
				} else {
					if (AJS.isArray(o)) {
						_1c(r, o);
					} else {
						r.push(o);
					}
				}
			});
		};
		_1c(r, _1a);
		return r;
	},
	isFunction: function (obj) {
		return (typeof obj == "function");
	},
	setEventKey: function (e) {
		e.key = e.keyCode?e.keyCode:e.charCode;
		if (window.event) {
			e.ctrl = window.event.ctrlKey;
			e.shift = window.event.shiftKey;
		} else {
			e.ctrl = e.ctrlKey;
			e.shift = e.shiftKey;
		}
		switch (e.key) {
			case 63232:
			e.key = 38;
			break;
			case 63233:
			e.key = 40;
			break;
			case 63235:
			e.key = 39;
			break;
			case 63234:
			e.key = 37;
			break;
		}
	},
	removeElement: function () {
		var _22 = AJS.forceArray(arguments);
		AJS.map(_22, function (elm) {
			AJS.swapDOM(elm, null);
		});
	},
	_unloadListeners: function () {
		if (AJS.listeners) {
			AJS.map(AJS.listeners, function (elm, _25, fn) {
				AJS.REV(elm, _25, fn);
			});
		}
		AJS.listeners = [];
	},
	join: function (_27, _28) {
		try {
			return _28.join(_27);
		}
		catch (e) {
			var r = _28[0] || "";
			AJS.map(_28, function (elm) {
				r += _27 + elm;
			},
			1);
			return r + "";
		}
	},
	getIndex: function (elm, _2c, _2d) {
		for (var i = 0; i < _2c.length; i++) {
			if (_2d && _2d(_2c[i]) || elm == _2c[i]) {
				return i;
			}
		}
		return - 1;
	},
	isIn: function (elm, _30) {
		var i = AJS.getIndex(elm, _30);
		if (i != - 1) {
			return true;
		} else {
			return false;
		}
	},
	isArray: function (obj) {
		return obj instanceof Array;
	},
	setLeft: function () {
		var _33 = AJS.forceArray(arguments);
		_33.splice(_33.length - 1, 0, "left");
		AJS.setStyle.apply(null, _33);
	},
	appendChildNodes: function (elm) {
		if (arguments.length >= 2) {
			AJS.map(arguments, function (n) {
				if (AJS.isString(n)) {
					n = AJS.TN(n);
				}
				if (AJS.isDefined(n)) {
					elm.appendChild(n);
				}
			},
			1);
		}
		return elm;
	},
	getElementsByTagAndClassName: function (_36, _37, _38, _39) {
		var _3a = [];
		if (! AJS.isDefined(_38)) {
			_38 = document;
		}
		if (! AJS.isDefined(_36)) {
			_36 = "*";
		}
		var els = _38.getElementsByTagName(_36);
		var _3c = els.length;
		var _3d = new RegExp("(^|\\s)" + _37 + "(\\s|$)");
		for (i = 0, j = 0; i < _3c; i++) {
			if (_3d.test(els[i].className) || _37 == null) {
				_3a[j] = els[i];
				j++;
			}
		}
		if (_39) {
			return _3a[0];
		} else {
			return _3a;
		}
	},
	isOpera: function () {
		return (navigator.userAgent.toLowerCase() .indexOf("opera") != - 1);
	},
	isString: function (obj) {
		return (typeof obj == "string");
	},
	hideElement: function (elm) {
		var _40 = AJS.forceArray(arguments);
		AJS.map(_40, function (elm) {
			elm.style.display = "none";
		});
	},
	setOpacity: function (elm, p) {
		elm.style.opacity = p;
		elm.style.filter = "alpha(opacity=" + p * 100 + ")";
	},
	insertBefore: function (elm, _45) {
		_45.parentNode.insertBefore(elm, _45);
		return elm;
	},
	setWidth: function () {
		var _46 = AJS.forceArray(arguments);
		_46.splice(_46.length - 1, 0, "width");
		AJS.setStyle.apply(null, _46);
	},
	createArray: function (v) {
		if (AJS.isArray(v) && ! AJS.isString(v)) {
			return v;
		} else {
			if (! v) {
				return [];
			} else {
				return [v];
			}
		}
	},
	isDict: function (o) {
		var _49 = String(o);
		return _49.indexOf(" Object") != - 1;
	},
	isMozilla: function () {
		return (navigator.userAgent.toLowerCase() .indexOf("gecko") != - 1 && navigator.productSub >= 20030210);
	},
	removeEventListener: function (elm, _4b, fn, _4d) {
		var _4e = "ajsl_" + _4b + fn;
		if (! _4d) {
			_4d = false;
		}
		fn = elm[_4e] || fn;
		if (elm[ "on" + _4b] == fn) {
			elm[ "on" + _4b] = elm[_4e + "old" ];
		}
		if (elm.removeEventListener) {
			elm.removeEventListener(_4b, fn, _4d);
			if (AJS.isOpera()) {
				elm.removeEventListener(_4b, fn, ! _4d);
			}
		} else {
			if (elm.detachEvent) {
				elm.detachEvent("on" + _4b, fn);
			}
		}
	},
	callLater: function (fn, _50) {
		var _51 = function () {
			fn();
		};
		window.setTimeout(_51, _50);
	},
	setTop: function () {
		var _52 = AJS.forceArray(arguments);
		_52.splice(_52.length - 1, 0, "top");
		AJS.setStyle.apply(null, _52);
	},
	_createDomShortcuts: function () {
		var _53 = [ "ul", "li", "td", "tr", "th", "tbody", "table", "input", "span", "b", "a", "div", "img", "button", "h1", "h2", "h3", "h4", "h5", "h6", "br", "textarea", "form", "p", "select", "option", "optgroup", "iframe", "script", "center", "dl", "dt", "dd", "small", "pre", "i" ];
		var _54 = function (elm) {
			AJS[elm.toUpperCase() ] = function () {
				return AJS.createDOM.apply(null, [elm, arguments]);
			};
		};
		AJS.map(_53, _54);
		AJS.TN = function (_56) {
			return document.createTextNode(_56);
		};
	},
	addCallback: function (fn) {
		this .callbacks.unshift(fn);
	},
	bindMethods: function (_58) {
		for (var k in _58) {
			var _5a = _58[k];
			if (typeof (_5a) == "function") {
				_58[k] = AJS.$b(_5a, _58);
			}
		}
	},
	partial: function (fn) {
		var _5c = AJS.$FA(arguments);
		_5c.shift();
		return function () {
			_5c = _5c.concat(AJS.$FA(arguments));
			return fn.apply(window, _5c);
		};
	},
	isNumber: function (obj) {
		return (typeof obj == "number");
	},
	getCssDim: function (dim) {
		if (AJS.isString(dim)) {
			return dim;
		} else {
			return dim + "px";
		}
	},
	isIe: function () {
		return (navigator.userAgent.toLowerCase() .indexOf("msie") != - 1 && navigator.userAgent.toLowerCase() .indexOf("opera") == - 1);
	},
	removeClass: function () {
		var _5f = AJS.forceArray(arguments);
		var cls = _5f.pop();
		var _61 = function (o) {
			o.className = o.className.replace(new RegExp("\\s?" + cls, "g"), "");
		};
		AJS.map(_5f, function (elm) {
			_61(elm);
		});
	},
	setHTML: function (elm, _65) {
		elm.innerHTML = _65;
		return elm;
	},
	map: function (_66, fn, _68, _69) {
		var i = 0, l = _66.length;
		if (_68) {
			i = _68;
		}
		if (_69) {
			l = _69;
		}
		for (i; i < l; i++) {
			var val = fn(_66[i], i);
			if (val != undefined) {
				return val;
			}
		}
	},
	addEventListener: function (elm, _6e, fn, _70, _71) {
		var _72 = "ajsl_" + _6e + fn;
		if (! _71) {
			_71 = false;
		}
		AJS.listeners = AJS.$A(AJS.listeners);
		if (AJS.isIn(_6e, [ "keypress", "keydown", "keyup", "click" ])) {
			var _73 = fn;
			fn = function (e) {
				AJS.setEventKey(e);
				return _73.apply(window, arguments);
			};
		}
		var _75 = AJS.isIn(_6e, [ "submit", "load", "scroll", "resize" ]);
		var _76 = AJS.$A(elm);
		AJS.map(_76, function (_77) {
			if (_70) {
				var _78 = fn;
				fn = function (e) {
					AJS.REV(_77, _6e, fn);
					return _78.apply(window, arguments);
				};
			}
			if (_75) {
				var _7a = _77[ "on" + _6e];
				var _7b = function () {
					if (_7a) {
						fn(arguments);
						return _7a(arguments);
					} else {
						return fn(arguments);
					}
				};
				_77[_72] = _7b;
				_77[_72 + "old" ] = _7a;
				elm[ "on" + _6e] = _7b;
			} else {
				_77[_72] = fn;
				if (_77.attachEvent) {
					_77.attachEvent("on" + _6e, fn);
				} else {
					if (_77.addEventListener) {
						_77.addEventListener(_6e, fn, _71);
					}
				}
				AJS.listeners.push([_77, _6e, fn]);
			}
		});
	},
	preloadImages: function () {
		AJS.AEV(window, "load", AJS.$p(function (_7c) {
			AJS.map(_7c, function (src) {
				var pic = new Image();
				pic.src = src;
			});
		},
		arguments));
	},
	forceArray: function (_7f) {
		var r = [];
		AJS.map(_7f, function (elm) {
			r.push(elm);
		});
		return r;
	},
	update: function (l1, l2) {
		for (var i in l2) {
			l1[i] = l2[i];
		}
		return l1;
	},
	getBody: function () {
		return AJS.$bytc("body") [0];
	},
	HTML2DOM: function (_85, _86) {
		var d = AJS.DIV();
		d.innerHTML = _85;
		if (_86) {
			return d.childNodes[0];
		} else {
			return d;
		}
	},
	getElement: function (id) {
		if (AJS.isString(id) || AJS.isNumber(id)) {
			return document.getElementById(id);
		} else {
			return id;
		}
	},
	showElement: function () {
		var _89 = AJS.forceArray(arguments);
		AJS.map(_89, function (elm) {
			elm.style.display = "";
		});
	},
	bind: function (fn, _8c, _8d) {
		fn._cscope = _8c;
		return AJS._getRealScope(fn, _8d);
	},
	createDOM: function (_8e, _8f) {
		var i = 0, _91;
		var elm = document.createElement(_8e);
		var _93 = _8f[0];
		if (AJS.isDict(_8f[i])) {
			for (k in _93) {
				_91 = _93[k];
				if (k == "style" || k == "s") {
					elm.style.cssText = _91;
				} else {
					if (k == "c" || k == "class" || k == "className") {
						elm.className = _91;
					} else {
						elm.setAttribute(k, _91);
					}
				}
			}
			i++;
		}
		if (_93 == null) {
			i = 1;
		}
		for (var j = i; j < _8f.length; j++) {
			var _91 = _8f[j];
			if (_91) {
				var _95 = typeof (_91);
				if (_95 == "string" || _95 == "number") {
					_91 = AJS.TN(_91);
				}
				elm.appendChild(_91);
			}
		}
		return elm;
	},
	swapDOM: function (_96, src) {
		_96 = AJS.getElement(_96);
		var _98 = _96.parentNode;
		if (src) {
			src = AJS.getElement(src);
			_98.replaceChild(src, _96);
		} else {
			_98.removeChild(_96);
		}
		return src;
	},
	isDefined: function (o) {
		return (o != "undefined" && o != null);
	}
};
AJS.$ = AJS.getElement;
AJS.$$ = AJS.getElements;
AJS.$f = AJS.getFormElement;
AJS.$p = AJS.partial;
AJS.$b = AJS.bind;
AJS.$A = AJS.createArray;
AJS.DI = AJS.documentInsert;
AJS.ACN = AJS.appendChildNodes;
AJS.RCN = AJS.replaceChildNodes;
AJS.AEV = AJS.addEventListener;
AJS.REV = AJS.removeEventListener;
AJS.$bytc = AJS.getElementsByTagAndClassName;
AJS.$AP = AJS.absolutePosition;
AJS.$FA = AJS.forceArray;
AJS.addEventListener(window, "unload", AJS._unloadListeners);
AJS._createDomShortcuts();
AJS.Class = function (_9a) {
	var fn = function () {
		if (arguments[0] != "no_init") {
			return this .init.apply(this, arguments);
		}
	};
	fn.prototype = _9a;
	AJS.update(fn, AJS.Class.prototype);
	return fn;
};
AJS.Class.prototype = { extend: function (_9c) {
		var _9d = new this ("no_init");
		for (k in _9c) {
			var _9e = _9d[k];
			var cur = _9c[k];
			if (_9e && _9e != cur && typeof cur == "function") {
				cur = this ._parentize(cur, _9e);
			}
			_9d[k] = cur;
		}
		return new AJS.Class(_9d);
	},
	implement: function (_a0) {
		AJS.update(this .prototype, _a0);
	},
	_parentize: function (cur, _a2) {
		return function () {
			this .parent = _a2;
			return cur.apply(this, arguments);
		};
	}
};
script_loaded = true;


script_loaded = true;