You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
516 lines
16 KiB
516 lines
16 KiB
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;
|