Add jquery.uitablefilter.js
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / lib / greybox / AJS.js
1 AJS={BASE_URL:"",drag_obj:null,drag_elm:null,_drop_zones:[],_cur_pos:null,join:function(_1,_2){
2 try{
3 return _2.join(_1);
4 }
5 catch(e){
6 var r=_2[0]||"";
7 AJS.map(_2,function(_4){
8 r+=_1+_4;
9 },1);
10 return r+"";
11 }
12 },getScrollTop:function(){
13 var t;
14 if(document.documentElement&&document.documentElement.scrollTop){
15 t=document.documentElement.scrollTop;
16 }else{
17 if(document.body){
18 t=document.body.scrollTop;
19 }
20 }
21 return t;
22 },addClass:function(){
23 var _6=AJS.forceArray(arguments);
24 var _7=_6.pop();
25 var _8=function(o){
26 if(!new RegExp("(^|\\s)"+_7+"(\\s|$)").test(o.className)){
27 o.className+=(o.className?" ":"")+_7;
28 }
29 };
30 AJS.map(_6,function(_a){
31 _8(_a);
32 });
33 },setStyle:function(){
34 var _b=AJS.forceArray(arguments);
35 var _c=_b.pop();
36 var _d=_b.pop();
37 AJS.map(_b,function(_e){
38 _e.style[_d]=AJS.getCssDim(_c);
39 });
40 },_getRealScope:function(fn,_10,_11,_12){
41 var _13=window;
42 _10=AJS.$A(_10);
43 if(fn._cscope){
44 _13=fn._cscope;
45 }
46 return function(){
47 var _14=[];
48 var i=0;
49 if(_11){
50 i=1;
51 }
52 AJS.map(arguments,function(arg){
53 _14.push(arg);
54 },i);
55 _14=_14.concat(_10);
56 if(_12){
57 _14=_14.reverse();
58 }
59 return fn.apply(_13,_14);
60 };
61 },preloadImages:function(){
62 AJS.AEV(window,"load",AJS.$p(function(_17){
63 AJS.map(_17,function(src){
64 var pic=new Image();
65 pic.src=src;
66 });
67 },arguments));
68 },_createDomShortcuts:function(){
69 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"];
70 var _1b=function(elm){
71 var _1d="return AJS.createDOM.apply(null, ['"+elm+"', arguments]);";
72 var _1e="function() { "+_1d+"    }";
73 eval("AJS."+elm.toUpperCase()+"="+_1e);
74 };
75 AJS.map(_1a,_1b);
76 AJS.TN=function(_1f){
77 return document.createTextNode(_1f);
78 };
79 },documentInsert:function(elm){
80 if(typeof (elm)=="string"){
81 elm=AJS.HTML2DOM(elm);
82 }
83 document.write("<span id=\"dummy_holder\"></span>");
84 AJS.swapDOM(AJS.$("dummy_holder"),elm);
85 },getWindowSize:function(doc){
86 doc=doc||document;
87 var _22,_23;
88 if(self.innerHeight){
89 _22=self.innerWidth;
90 _23=self.innerHeight;
91 }else{
92 if(doc.documentElement&&doc.documentElement.clientHeight){
93 _22=doc.documentElement.clientWidth;
94 _23=doc.documentElement.clientHeight;
95 }else{
96 if(doc.body){
97 _22=doc.body.clientWidth;
98 _23=doc.body.clientHeight;
99 }
100 }
101 }
102 return {"w":_22,"h":_23};
103 },flattenList:function(_24){
104 var r=[];
105 var _26=function(r,l){
106 AJS.map(l,function(o){
107 if(o==null){
108 }else{
109 if(AJS.isArray(o)){
110 _26(r,o);
111 }else{
112 r.push(o);
113 }
114 }
115 });
116 };
117 _26(r,_24);
118 return r;
119 },setEventKey:function(e){
120 e.key=e.keyCode?e.keyCode:e.charCode;
121 if(window.event){
122 e.ctrl=window.event.ctrlKey;
123 e.shift=window.event.shiftKey;
124 }else{
125 e.ctrl=e.ctrlKey;
126 e.shift=e.shiftKey;
127 }
128 switch(e.key){
129 case 63232:
130 e.key=38;
131 break;
132 case 63233:
133 e.key=40;
134 break;
135 case 63235:
136 e.key=39;
137 break;
138 case 63234:
139 e.key=37;
140 break;
141 }
142 },removeElement:function(){
143 var _2b=AJS.forceArray(arguments);
144 AJS.map(_2b,function(elm){
145 AJS.swapDOM(elm,null);
146 });
147 },_unloadListeners:function(){
148 if(AJS.listeners){
149 AJS.map(AJS.listeners,function(elm,_2e,fn){
150 AJS.REV(elm,_2e,fn);
151 });
152 }
153 AJS.listeners=[];
154 },partial:function(fn){
155 var _31=AJS.forceArray(arguments);
156 return AJS.$b(fn,null,_31.slice(1,_31.length).reverse(),false,true);
157 },getIndex:function(elm,_33,_34){
158 for(var i=0;i<_33.length;i++){
159 if(_34&&_34(_33[i])||elm==_33[i]){
160 return i;
161 }
162 }
163 return -1;
164 },isDefined:function(o){
165 return (o!="undefined"&&o!=null);
166 },isArray:function(obj){
167 return obj instanceof Array;
168 },setLeft:function(){
169 var _38=AJS.forceArray(arguments);
170 _38.splice(_38.length-1,0,"left");
171 AJS.setStyle.apply(null,_38);
172 },appendChildNodes:function(elm){
173 if(arguments.length>=2){
174 AJS.map(arguments,function(n){
175 if(AJS.isString(n)){
176 n=AJS.TN(n);
177 }
178 if(AJS.isDefined(n)){
179 elm.appendChild(n);
180 }
181 },1);
182 }
183 return elm;
184 },isOpera:function(){
185 return (navigator.userAgent.toLowerCase().indexOf("opera")!=-1);
186 },isString:function(obj){
187 return (typeof obj=="string");
188 },hideElement:function(elm){
189 var _3d=AJS.forceArray(arguments);
190 AJS.map(_3d,function(elm){
191 elm.style.display="none";
192 });
193 },setOpacity:function(elm,p){
194 elm.style.opacity=p;
195 elm.style.filter="alpha(opacity="+p*100+")";
196 },setHeight:function(){
197 var _41=AJS.forceArray(arguments);
198 _41.splice(_41.length-1,0,"height");
199 AJS.setStyle.apply(null,_41);
200 },setWidth:function(){
201 var _42=AJS.forceArray(arguments);
202 _42.splice(_42.length-1,0,"width");
203 AJS.setStyle.apply(null,_42);
204 },createArray:function(v){
205 if(AJS.isArray(v)&&!AJS.isString(v)){
206 return v;
207 }else{
208 if(!v){
209 return [];
210 }else{
211 return [v];
212 }
213 }
214 },isDict:function(o){
215 var _45=String(o);
216 return _45.indexOf(" Object")!=-1;
217 },isMozilla:function(){
218 return (navigator.userAgent.toLowerCase().indexOf("gecko")!=-1&&navigator.productSub>=20030210);
219 },_listenOnce:function(elm,_47,fn){
220 var _49=function(){
221 AJS.removeEventListener(elm,_47,_49);
222 fn(arguments);
223 };
224 return _49;
225 },addEventListener:function(elm,_4b,fn,_4d,_4e){
226 if(!_4e){
227 _4e=false;
228 }
229 var _4f=AJS.$A(elm);
230 AJS.map(_4f,function(_50){
231 if(_4d){
232 fn=AJS._listenOnce(_50,_4b,fn);
233 }
234 if(AJS.isIn(_4b,["submit","load","scroll","resize"])){
235 var old=elm["on"+_4b];
236 elm["on"+_4b]=function(){
237 if(old){
238 fn(arguments);
239 return old(arguments);
240 }else{
241 return fn(arguments);
242 }
243 };
244 return;
245 }
246 if(AJS.isIn(_4b,["keypress","keydown","keyup","click"])){
247 var _52=fn;
248 fn=function(e){
249 AJS.setEventKey(e);
250 return _52.apply(null,arguments);
251 };
252 }
253 if(_50.attachEvent){
254 _50.attachEvent("on"+_4b,fn);
255 }else{
256 if(_50.addEventListener){
257 _50.addEventListener(_4b,fn,_4e);
258 }
259 }
260 AJS.listeners=AJS.$A(AJS.listeners);
261 AJS.listeners.push([_50,_4b,fn]);
262 });
263 },createDOM:function(_54,_55){
264 var i=0,_57;
265 elm=document.createElement(_54);
266 if(AJS.isDict(_55[i])){
267 for(k in _55[0]){
268 _57=_55[0][k];
269 if(k=="style"){
270 elm.style.cssText=_57;
271 }else{
272 if(k=="class"||k=="className"){
273 elm.className=_57;
274 }else{
275 elm.setAttribute(k,_57);
276 }
277 }
278 }
279 i++;
280 }
281 if(_55[0]==null){
282 i=1;
283 }
284 AJS.map(_55,function(n){
285 if(n){
286 if(AJS.isString(n)||AJS.isNumber(n)){
287 n=AJS.TN(n);
288 }
289 elm.appendChild(n);
290 }
291 },i);
292 return elm;
293 },setTop:function(){
294 var _59=AJS.forceArray(arguments);
295 _59.splice(_59.length-1,0,"top");
296 AJS.setStyle.apply(null,_59);
297 },getElementsByTagAndClassName:function(_5a,_5b,_5c){
298 var _5d=[];
299 if(!AJS.isDefined(_5c)){
300 _5c=document;
301 }
302 if(!AJS.isDefined(_5a)){
303 _5a="*";
304 }
305 var els=_5c.getElementsByTagName(_5a);
306 var _5f=els.length;
307 var _60=new RegExp("(^|\\s)"+_5b+"(\\s|$)");
308 for(i=0,j=0;i<_5f;i++){
309 if(_60.test(els[i].className)||_5b==null){
310 _5d[j]=els[i];
311 j++;
312 }
313 }
314 return _5d;
315 },removeClass:function(){
316 var _61=AJS.forceArray(arguments);
317 var cls=_61.pop();
318 var _63=function(o){
319 o.className=o.className.replace(new RegExp("\\s?"+cls,"g"),"");
320 };
321 AJS.map(_61,function(elm){
322 _63(elm);
323 });
324 },bindMethods:function(_66){
325 for(var k in _66){
326 var _68=_66[k];
327 if(typeof (_68)=="function"){
328 _66[k]=AJS.$b(_68,_66);
329 }
330 }
331 },log:function(o){
332 if(AJS.isMozilla()){
333 console.log(o);
334 }else{
335 var div=AJS.DIV({"style":"color: green"});
336 AJS.ACN(AJS.getBody(),AJS.setHTML(div,""+o));
337 }
338 },isNumber:function(obj){
339 return (typeof obj=="number");
340 },map:function(_6c,fn,_6e,_6f){
341 var i=0,l=_6c.length;
342 if(_6e){
343 i=_6e;
344 }
345 if(_6f){
346 l=_6f;
347 }
348 for(i;i<l;i++){
349 fn.apply(null,[_6c[i],i]);
350 }
351 },removeEventListener:function(elm,_73,fn,_75){
352 if(!_75){
353 _75=false;
354 }
355 if(elm.removeEventListener){
356 elm.removeEventListener(_73,fn,_75);
357 if(AJS.isOpera()){
358 elm.removeEventListener(_73,fn,!_75);
359 }
360 }else{
361 if(elm.detachEvent){
362 elm.detachEvent("on"+_73,fn);
363 }
364 }
365 },getCssDim:function(dim){
366 if(AJS.isString(dim)){
367 return dim;
368 }else{
369 return dim+"px";
370 }
371 },setHTML:function(elm,_78){
372 elm.innerHTML=_78;
373 return elm;
374 },bind:function(fn,_7a,_7b,_7c,_7d){
375 fn._cscope=_7a;
376 return AJS._getRealScope(fn,_7b,_7c,_7d);
377 },forceArray:function(_7e){
378 var r=[];
379 AJS.map(_7e,function(elm){
380 r.push(elm);
381 });
382 return r;
383 },update:function(l1,l2){
384 for(var i in l2){
385 l1[i]=l2[i];
386 }
387 return l1;
388 },getBody:function(){
389 return AJS.$bytc("body")[0];
390 },HTML2DOM:function(_84,_85){
391 var d=AJS.DIV();
392 d.innerHTML=_84;
393 if(_85){
394 return d.childNodes[0];
395 }else{
396 return d;
397 }
398 },getElement:function(id){
399 if(AJS.isString(id)||AJS.isNumber(id)){
400 return document.getElementById(id);
401 }else{
402 return id;
403 }
404 },showElement:function(){
405 var _88=AJS.forceArray(arguments);
406 AJS.map(_88,function(elm){
407 elm.style.display="";
408 });
409 },swapDOM:function(_8a,src){
410 _8a=AJS.getElement(_8a);
411 var _8c=_8a.parentNode;
412 if(src){
413 src=AJS.getElement(src);
414 _8c.replaceChild(src,_8a);
415 }else{
416 _8c.removeChild(_8a);
417 }
418 return src;
419 },isIn:function(elm,_8e){
420 var i=AJS.getIndex(elm,_8e);
421 if(i!=-1){
422 return true;
423 }else{
424 return false;
425 }
426 }};
427 AJS.$=AJS.getElement;
428 AJS.$$=AJS.getElements;
429 AJS.$f=AJS.getFormElement;
430 AJS.$p=AJS.partial;
431 AJS.$b=AJS.bind;
432 AJS.$A=AJS.createArray;
433 AJS.DI=AJS.documentInsert;
434 AJS.ACN=AJS.appendChildNodes;
435 AJS.RCN=AJS.replaceChildNodes;
436 AJS.AEV=AJS.addEventListener;
437 AJS.REV=AJS.removeEventListener;
438 AJS.$bytc=AJS.getElementsByTagAndClassName;
439 AJS.addEventListener(window,"unload",AJS._unloadListeners);
440 AJS._createDomShortcuts();
441 AJS.Class=function(_90){
442 var fn=function(){
443 if(arguments[0]!="no_init"){
444 return this.init.apply(this,arguments);
445 }
446 };
447 fn.prototype=_90;
448 AJS.update(fn,AJS.Class.prototype);
449 return fn;
450 };
451 AJS.Class.prototype={extend:function(_92){
452 var _93=new this("no_init");
453 for(k in _92){
454 var _94=_93[k];
455 var cur=_92[k];
456 if(_94&&_94!=cur&&typeof cur=="function"){
457 cur=this._parentize(cur,_94);
458 }
459 _93[k]=cur;
460 }
461 return new AJS.Class(_93);
462 },implement:function(_96){
463 AJS.update(this.prototype,_96);
464 },_parentize:function(cur,_98){
465 return function(){
466 this.parent=_98;
467 return cur.apply(this,arguments);
468 };
469 }};
470 AJS.$=AJS.getElement;
471 AJS.$$=AJS.getElements;
472 AJS.$f=AJS.getFormElement;
473 AJS.$b=AJS.bind;
474 AJS.$p=AJS.partial;
475 AJS.$FA=AJS.forceArray;
476 AJS.$A=AJS.createArray;
477 AJS.DI=AJS.documentInsert;
478 AJS.ACN=AJS.appendChildNodes;
479 AJS.RCN=AJS.replaceChildNodes;
480 AJS.AEV=AJS.addEventListener;
481 AJS.REV=AJS.removeEventListener;
482 AJS.$bytc=AJS.getElementsByTagAndClassName;
483 AJSDeferred=function(req){
484 this.callbacks=[];
485 this.errbacks=[];
486 this.req=req;
487 };
488 AJSDeferred.prototype={excCallbackSeq:function(req,_9b){
489 var _9c=req.responseText;
490 while(_9b.length>0){
491 var fn=_9b.pop();
492 var _9e=fn(_9c,req);
493 if(_9e){
494 _9c=_9e;
495 }
496 }
497 },callback:function(){
498 this.excCallbackSeq(this.req,this.callbacks);
499 },errback:function(){
500 if(this.errbacks.length==0){
501 alert("Error encountered:\n"+this.req.responseText);
502 }
503 this.excCallbackSeq(this.req,this.errbacks);
504 },addErrback:function(fn){
505 this.errbacks.unshift(fn);
506 },addCallback:function(fn){
507 this.callbacks.unshift(fn);
508 },addCallbacks:function(fn1,fn2){
509 this.addCallback(fn1);
510 this.addErrback(fn2);
511 },sendReq:function(_a3){
512 if(AJS.isObject(_a3)){
513 this.req.send(AJS.queryArguments(_a3));
514 }else{
515 if(AJS.isDefined(_a3)){
516 this.req.send(_a3);
517 }else{
518 this.req.send("");
519 }
520 }
521 }};
522 script_loaded=true;
523
524
525 script_loaded=true;