271aa9043d
Also cleaning up some missing params and language. Add another js library: greyox (jquery derivative iiuc). Signed-off-by: Joshua Ferraro <jmf@liblime.com>
525 lines
No EOL
10 KiB
JavaScript
525 lines
No EOL
10 KiB
JavaScript
AJS={BASE_URL:"",drag_obj:null,drag_elm:null,_drop_zones:[],_cur_pos:null,join:function(_1,_2){
|
|
try{
|
|
return _2.join(_1);
|
|
}
|
|
catch(e){
|
|
var r=_2[0]||"";
|
|
AJS.map(_2,function(_4){
|
|
r+=_1+_4;
|
|
},1);
|
|
return r+"";
|
|
}
|
|
},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 _6=AJS.forceArray(arguments);
|
|
var _7=_6.pop();
|
|
var _8=function(o){
|
|
if(!new RegExp("(^|\\s)"+_7+"(\\s|$)").test(o.className)){
|
|
o.className+=(o.className?" ":"")+_7;
|
|
}
|
|
};
|
|
AJS.map(_6,function(_a){
|
|
_8(_a);
|
|
});
|
|
},setStyle:function(){
|
|
var _b=AJS.forceArray(arguments);
|
|
var _c=_b.pop();
|
|
var _d=_b.pop();
|
|
AJS.map(_b,function(_e){
|
|
_e.style[_d]=AJS.getCssDim(_c);
|
|
});
|
|
},_getRealScope:function(fn,_10,_11,_12){
|
|
var _13=window;
|
|
_10=AJS.$A(_10);
|
|
if(fn._cscope){
|
|
_13=fn._cscope;
|
|
}
|
|
return function(){
|
|
var _14=[];
|
|
var i=0;
|
|
if(_11){
|
|
i=1;
|
|
}
|
|
AJS.map(arguments,function(arg){
|
|
_14.push(arg);
|
|
},i);
|
|
_14=_14.concat(_10);
|
|
if(_12){
|
|
_14=_14.reverse();
|
|
}
|
|
return fn.apply(_13,_14);
|
|
};
|
|
},preloadImages:function(){
|
|
AJS.AEV(window,"load",AJS.$p(function(_17){
|
|
AJS.map(_17,function(src){
|
|
var pic=new Image();
|
|
pic.src=src;
|
|
});
|
|
},arguments));
|
|
},_createDomShortcuts:function(){
|
|
var _1a=["ul","li","td","tr","th","tbody","table","input","span","b","a","div","img","button","h1","h2","h3","br","textarea","form","p","select","option","iframe","script","center","dl","dt","dd","small","pre"];
|
|
var _1b=function(elm){
|
|
var _1d="return AJS.createDOM.apply(null, ['"+elm+"', arguments]);";
|
|
var _1e="function() { "+_1d+" }";
|
|
eval("AJS."+elm.toUpperCase()+"="+_1e);
|
|
};
|
|
AJS.map(_1a,_1b);
|
|
AJS.TN=function(_1f){
|
|
return document.createTextNode(_1f);
|
|
};
|
|
},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 _22,_23;
|
|
if(self.innerHeight){
|
|
_22=self.innerWidth;
|
|
_23=self.innerHeight;
|
|
}else{
|
|
if(doc.documentElement&&doc.documentElement.clientHeight){
|
|
_22=doc.documentElement.clientWidth;
|
|
_23=doc.documentElement.clientHeight;
|
|
}else{
|
|
if(doc.body){
|
|
_22=doc.body.clientWidth;
|
|
_23=doc.body.clientHeight;
|
|
}
|
|
}
|
|
}
|
|
return {"w":_22,"h":_23};
|
|
},flattenList:function(_24){
|
|
var r=[];
|
|
var _26=function(r,l){
|
|
AJS.map(l,function(o){
|
|
if(o==null){
|
|
}else{
|
|
if(AJS.isArray(o)){
|
|
_26(r,o);
|
|
}else{
|
|
r.push(o);
|
|
}
|
|
}
|
|
});
|
|
};
|
|
_26(r,_24);
|
|
return r;
|
|
},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 _2b=AJS.forceArray(arguments);
|
|
AJS.map(_2b,function(elm){
|
|
AJS.swapDOM(elm,null);
|
|
});
|
|
},_unloadListeners:function(){
|
|
if(AJS.listeners){
|
|
AJS.map(AJS.listeners,function(elm,_2e,fn){
|
|
AJS.REV(elm,_2e,fn);
|
|
});
|
|
}
|
|
AJS.listeners=[];
|
|
},partial:function(fn){
|
|
var _31=AJS.forceArray(arguments);
|
|
return AJS.$b(fn,null,_31.slice(1,_31.length).reverse(),false,true);
|
|
},getIndex:function(elm,_33,_34){
|
|
for(var i=0;i<_33.length;i++){
|
|
if(_34&&_34(_33[i])||elm==_33[i]){
|
|
return i;
|
|
}
|
|
}
|
|
return -1;
|
|
},isDefined:function(o){
|
|
return (o!="undefined"&&o!=null);
|
|
},isArray:function(obj){
|
|
return obj instanceof Array;
|
|
},setLeft:function(){
|
|
var _38=AJS.forceArray(arguments);
|
|
_38.splice(_38.length-1,0,"left");
|
|
AJS.setStyle.apply(null,_38);
|
|
},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;
|
|
},isOpera:function(){
|
|
return (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
|
|
},isString:function(obj){
|
|
return (typeof obj=="string");
|
|
},hideElement:function(elm){
|
|
var _3d=AJS.forceArray(arguments);
|
|
AJS.map(_3d,function(elm){
|
|
elm.style.display="none";
|
|
});
|
|
},setOpacity:function(elm,p){
|
|
elm.style.opacity=p;
|
|
elm.style.filter="alpha(opacity="+p*100+")";
|
|
},setHeight:function(){
|
|
var _41=AJS.forceArray(arguments);
|
|
_41.splice(_41.length-1,0,"height");
|
|
AJS.setStyle.apply(null,_41);
|
|
},setWidth:function(){
|
|
var _42=AJS.forceArray(arguments);
|
|
_42.splice(_42.length-1,0,"width");
|
|
AJS.setStyle.apply(null,_42);
|
|
},createArray:function(v){
|
|
if(AJS.isArray(v)&&!AJS.isString(v)){
|
|
return v;
|
|
}else{
|
|
if(!v){
|
|
return [];
|
|
}else{
|
|
return [v];
|
|
}
|
|
}
|
|
},isDict:function(o){
|
|
var _45=String(o);
|
|
return _45.indexOf(" Object")!=-1;
|
|
},isMozilla:function(){
|
|
return (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210);
|
|
},_listenOnce:function(elm,_47,fn){
|
|
var _49=function(){
|
|
AJS.removeEventListener(elm,_47,_49);
|
|
fn(arguments);
|
|
};
|
|
return _49;
|
|
},addEventListener:function(elm,_4b,fn,_4d,_4e){
|
|
if(!_4e){
|
|
_4e=false;
|
|
}
|
|
var _4f=AJS.$A(elm);
|
|
AJS.map(_4f,function(_50){
|
|
if(_4d){
|
|
fn=AJS._listenOnce(_50,_4b,fn);
|
|
}
|
|
if(AJS.isIn(_4b,["submit","load","scroll","resize"])){
|
|
var old=elm["on"+_4b];
|
|
elm["on"+_4b]=function(){
|
|
if(old){
|
|
fn(arguments);
|
|
return old(arguments);
|
|
}else{
|
|
return fn(arguments);
|
|
}
|
|
};
|
|
return;
|
|
}
|
|
if(AJS.isIn(_4b,["keypress","keydown","keyup","click"])){
|
|
var _52=fn;
|
|
fn=function(e){
|
|
AJS.setEventKey(e);
|
|
return _52.apply(null,arguments);
|
|
};
|
|
}
|
|
if(_50.attachEvent){
|
|
_50.attachEvent("on"+_4b,fn);
|
|
}else{
|
|
if(_50.addEventListener){
|
|
_50.addEventListener(_4b,fn,_4e);
|
|
}
|
|
}
|
|
AJS.listeners=AJS.$A(AJS.listeners);
|
|
AJS.listeners.push([_50,_4b,fn]);
|
|
});
|
|
},createDOM:function(_54,_55){
|
|
var i=0,_57;
|
|
elm=document.createElement(_54);
|
|
if(AJS.isDict(_55[i])){
|
|
for(k in _55[0]){
|
|
_57=_55[0][k];
|
|
if(k=="style"){
|
|
elm.style.cssText=_57;
|
|
}else{
|
|
if(k=="class"||k=="className"){
|
|
elm.className=_57;
|
|
}else{
|
|
elm.setAttribute(k,_57);
|
|
}
|
|
}
|
|
}
|
|
i++;
|
|
}
|
|
if(_55[0]==null){
|
|
i=1;
|
|
}
|
|
AJS.map(_55,function(n){
|
|
if(n){
|
|
if(AJS.isString(n)||AJS.isNumber(n)){
|
|
n=AJS.TN(n);
|
|
}
|
|
elm.appendChild(n);
|
|
}
|
|
},i);
|
|
return elm;
|
|
},setTop:function(){
|
|
var _59=AJS.forceArray(arguments);
|
|
_59.splice(_59.length-1,0,"top");
|
|
AJS.setStyle.apply(null,_59);
|
|
},getElementsByTagAndClassName:function(_5a,_5b,_5c){
|
|
var _5d=[];
|
|
if(!AJS.isDefined(_5c)){
|
|
_5c=document;
|
|
}
|
|
if(!AJS.isDefined(_5a)){
|
|
_5a="*";
|
|
}
|
|
var els=_5c.getElementsByTagName(_5a);
|
|
var _5f=els.length;
|
|
var _60=new RegExp("(^|\\s)"+_5b+"(\\s|$)");
|
|
for(i=0,j=0;i<_5f;i++){
|
|
if(_60.test(els[i].className)||_5b==null){
|
|
_5d[j]=els[i];
|
|
j++;
|
|
}
|
|
}
|
|
return _5d;
|
|
},removeClass:function(){
|
|
var _61=AJS.forceArray(arguments);
|
|
var cls=_61.pop();
|
|
var _63=function(o){
|
|
o.className=o.className.replace(new RegExp("\\s?"+cls,"g"),"");
|
|
};
|
|
AJS.map(_61,function(elm){
|
|
_63(elm);
|
|
});
|
|
},bindMethods:function(_66){
|
|
for(var k in _66){
|
|
var _68=_66[k];
|
|
if(typeof (_68)=="function"){
|
|
_66[k]=AJS.$b(_68,_66);
|
|
}
|
|
}
|
|
},log:function(o){
|
|
if(AJS.isMozilla()){
|
|
console.log(o);
|
|
}else{
|
|
var div=AJS.DIV({"style":"color: green"});
|
|
AJS.ACN(AJS.getBody(),AJS.setHTML(div,""+o));
|
|
}
|
|
},isNumber:function(obj){
|
|
return (typeof obj=="number");
|
|
},map:function(_6c,fn,_6e,_6f){
|
|
var i=0,l=_6c.length;
|
|
if(_6e){
|
|
i=_6e;
|
|
}
|
|
if(_6f){
|
|
l=_6f;
|
|
}
|
|
for(i;i<l;i++){
|
|
fn.apply(null,[_6c[i],i]);
|
|
}
|
|
},removeEventListener:function(elm,_73,fn,_75){
|
|
if(!_75){
|
|
_75=false;
|
|
}
|
|
if(elm.removeEventListener){
|
|
elm.removeEventListener(_73,fn,_75);
|
|
if(AJS.isOpera()){
|
|
elm.removeEventListener(_73,fn,!_75);
|
|
}
|
|
}else{
|
|
if(elm.detachEvent){
|
|
elm.detachEvent("on"+_73,fn);
|
|
}
|
|
}
|
|
},getCssDim:function(dim){
|
|
if(AJS.isString(dim)){
|
|
return dim;
|
|
}else{
|
|
return dim+"px";
|
|
}
|
|
},setHTML:function(elm,_78){
|
|
elm.innerHTML=_78;
|
|
return elm;
|
|
},bind:function(fn,_7a,_7b,_7c,_7d){
|
|
fn._cscope=_7a;
|
|
return AJS._getRealScope(fn,_7b,_7c,_7d);
|
|
},forceArray:function(_7e){
|
|
var r=[];
|
|
AJS.map(_7e,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(_84,_85){
|
|
var d=AJS.DIV();
|
|
d.innerHTML=_84;
|
|
if(_85){
|
|
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 _88=AJS.forceArray(arguments);
|
|
AJS.map(_88,function(elm){
|
|
elm.style.display="";
|
|
});
|
|
},swapDOM:function(_8a,src){
|
|
_8a=AJS.getElement(_8a);
|
|
var _8c=_8a.parentNode;
|
|
if(src){
|
|
src=AJS.getElement(src);
|
|
_8c.replaceChild(src,_8a);
|
|
}else{
|
|
_8c.removeChild(_8a);
|
|
}
|
|
return src;
|
|
},isIn:function(elm,_8e){
|
|
var i=AJS.getIndex(elm,_8e);
|
|
if(i!=-1){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}};
|
|
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.addEventListener(window,"unload",AJS._unloadListeners);
|
|
AJS._createDomShortcuts();
|
|
AJS.Class=function(_90){
|
|
var fn=function(){
|
|
if(arguments[0]!="no_init"){
|
|
return this.init.apply(this,arguments);
|
|
}
|
|
};
|
|
fn.prototype=_90;
|
|
AJS.update(fn,AJS.Class.prototype);
|
|
return fn;
|
|
};
|
|
AJS.Class.prototype={extend:function(_92){
|
|
var _93=new this("no_init");
|
|
for(k in _92){
|
|
var _94=_93[k];
|
|
var cur=_92[k];
|
|
if(_94&&_94!=cur&&typeof cur=="function"){
|
|
cur=this._parentize(cur,_94);
|
|
}
|
|
_93[k]=cur;
|
|
}
|
|
return new AJS.Class(_93);
|
|
},implement:function(_96){
|
|
AJS.update(this.prototype,_96);
|
|
},_parentize:function(cur,_98){
|
|
return function(){
|
|
this.parent=_98;
|
|
return cur.apply(this,arguments);
|
|
};
|
|
}};
|
|
AJS.$=AJS.getElement;
|
|
AJS.$$=AJS.getElements;
|
|
AJS.$f=AJS.getFormElement;
|
|
AJS.$b=AJS.bind;
|
|
AJS.$p=AJS.partial;
|
|
AJS.$FA=AJS.forceArray;
|
|
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;
|
|
AJSDeferred=function(req){
|
|
this.callbacks=[];
|
|
this.errbacks=[];
|
|
this.req=req;
|
|
};
|
|
AJSDeferred.prototype={excCallbackSeq:function(req,_9b){
|
|
var _9c=req.responseText;
|
|
while(_9b.length>0){
|
|
var fn=_9b.pop();
|
|
var _9e=fn(_9c,req);
|
|
if(_9e){
|
|
_9c=_9e;
|
|
}
|
|
}
|
|
},callback:function(){
|
|
this.excCallbackSeq(this.req,this.callbacks);
|
|
},errback:function(){
|
|
if(this.errbacks.length==0){
|
|
alert("Error encountered:\n"+this.req.responseText);
|
|
}
|
|
this.excCallbackSeq(this.req,this.errbacks);
|
|
},addErrback:function(fn){
|
|
this.errbacks.unshift(fn);
|
|
},addCallback:function(fn){
|
|
this.callbacks.unshift(fn);
|
|
},addCallbacks:function(fn1,fn2){
|
|
this.addCallback(fn1);
|
|
this.addErrback(fn2);
|
|
},sendReq:function(_a3){
|
|
if(AJS.isObject(_a3)){
|
|
this.req.send(AJS.queryArguments(_a3));
|
|
}else{
|
|
if(AJS.isDefined(_a3)){
|
|
this.req.send(_a3);
|
|
}else{
|
|
this.req.send("");
|
|
}
|
|
}
|
|
}};
|
|
script_loaded=true;
|
|
|
|
|
|
script_loaded=true; |