@@ -, +, @@ --- koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js | 525 ++++++++ koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js | 136 ++ .../opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip | Bin 0 -> 180408 bytes .../ccsr/en/lib/greybox/GreyBox_v5_5/LGPL.txt | 502 +++++++ .../ccsr/en/lib/greybox/GreyBox_v5_5/about.html | 50 + .../GreyBox_v5_5/adobe_images/nav_buttons.psd | Bin 0 -> 165140 bytes .../en/lib/greybox/GreyBox_v5_5/advance_usage.html | 182 +++ .../ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py | 134 ++ .../greybox/GreyBox_v5_5/compressing_greybox.html | 55 + .../GreyBox_v5_5/compression_lib/AJS_minify.py | 255 ++++ .../GreyBox_v5_5/compression_lib/__init__.py | 1 + .../ccsr/en/lib/greybox/GreyBox_v5_5/examples.html | 95 ++ .../GreyBox_v5_5/greybox_source/auto_deco.js | 67 + .../GreyBox_v5_5/greybox_source/base/AJS.js | 1371 ++++++++++++++++++++ .../GreyBox_v5_5/greybox_source/base/AJS_fx.js | 194 +++ .../GreyBox_v5_5/greybox_source/base/base.css | 32 + .../GreyBox_v5_5/greybox_source/base/base.js | 192 +++ .../GreyBox_v5_5/greybox_source/base/indicator.gif | Bin 0 -> 8238 bytes .../greybox_source/base/loader_frame.html | 104 ++ .../greybox_source/gallery/g_close.gif | Bin 0 -> 541 bytes .../greybox_source/gallery/gallery.css | 51 + .../GreyBox_v5_5/greybox_source/gallery/gallery.js | 114 ++ .../GreyBox_v5_5/greybox_source/set/next.gif | Bin 0 -> 528 bytes .../GreyBox_v5_5/greybox_source/set/prev.gif | Bin 0 -> 525 bytes .../GreyBox_v5_5/greybox_source/set/set.css | 20 + .../greybox/GreyBox_v5_5/greybox_source/set/set.js | 101 ++ .../greybox_source/window/header_bg.gif | Bin 0 -> 1188 bytes .../GreyBox_v5_5/greybox_source/window/w_close.gif | Bin 0 -> 74 bytes .../GreyBox_v5_5/greybox_source/window/window.css | 39 + .../GreyBox_v5_5/greybox_source/window/window.js | 109 ++ .../en/lib/greybox/GreyBox_v5_5/installation.html | 49 + .../en/lib/greybox/GreyBox_v5_5/normal_usage.html | 126 ++ .../lib/greybox/GreyBox_v5_5/static_files/help.css | 93 ++ .../lib/greybox/GreyBox_v5_5/static_files/help.js | 52 + .../lib/greybox/GreyBox_v5_5/static_files/logo.gif | Bin 0 -> 4514 bytes .../GreyBox_v5_5/static_files/night_valley.jpg | Bin 0 -> 46740 bytes .../static_files/night_valley_thumb.gif | Bin 0 -> 4410 bytes .../static_files/night_valley_thumb.jpg | Bin 0 -> 2524 bytes .../lib/greybox/GreyBox_v5_5/static_files/salt.jpg | Bin 0 -> 54124 bytes .../GreyBox_v5_5/static_files/salt_thumb.gif | Bin 0 -> 3061 bytes .../opac-tmpl/ccsr/en/lib/greybox/g_close.gif | Bin 0 -> 541 bytes .../opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js | 436 +++++++ .../opac-tmpl/ccsr/en/lib/greybox/gb_styles.css | 158 +++ .../opac-tmpl/ccsr/en/lib/greybox/header_bg.gif | Bin 0 -> 1188 bytes .../opac-tmpl/ccsr/en/lib/greybox/indicator.gif | Bin 0 -> 8238 bytes .../ccsr/en/lib/greybox/loader_frame.html | 104 ++ koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif | Bin 0 -> 528 bytes koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif | Bin 0 -> 525 bytes .../opac-tmpl/ccsr/en/lib/greybox/w_close.gif | Bin 0 -> 74 bytes .../lib/jquery/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../lib/jquery/images/ui-icons_454545_256x240.png | Bin 0 -> 4369 bytes .../opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css | 435 +++++++ .../opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js | 29 + koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js | 4 + .../en/lib/jquery/plugins/jquery.checkboxes.min.js | 13 + .../en/lib/jquery/plugins/jquery.dataTables.min.js | 153 +++ .../en/lib/jquery/plugins/jquery.highlight-3.js | 53 + .../jquery/plugins/jquery.hoverIntent.minified.js | 9 + .../en/lib/jquery/plugins/jquery.metadata.min.js | 8 + .../ccsr/en/lib/jquery/plugins/jquery.rating.js | 392 ++++++ .../lib/jquery/plugins/jquery.tablesorter.min.js | 2 + .../ccsr/en/lib/jquery/plugins/jquery.tools.min.js | 11 + 62 files changed, 6456 insertions(+), 0 deletions(-) create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5.zip create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/LGPL.txt create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/adobe_images/nav_buttons.psd create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/indicator.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/g_close.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/next.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/prev.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/header_bg.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/w_close.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/logo.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley.jpg create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/night_valley_thumb.jpg create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt.jpg create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/salt_thumb.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/g_close.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/header_bg.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/indicator.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/next.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/prev.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/w_close.gif create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_222222_256x240.png create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/images/ui-icons_454545_256x240.png create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.highlight-3.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.metadata.min.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.rating.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js create mode 100644 koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tools.min.js --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS.js @@ -0,0 +1,525 @@ +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(""); +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;i0){ +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; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/AJS_fx.js @@ -0,0 +1,136 @@ +AJS.fx={_shades:{0:"ffffff",1:"ffffee",2:"ffffdd",3:"ffffcc",4:"ffffbb",5:"ffffaa",6:"ffff99"},highlight:function(_1,_2){ +var _3=new AJS.fx.Base(); +_3.elm=AJS.$(_1); +_3.setOptions(_2); +_3.options.duration=600; +AJS.update(_3,{increase:function(){ +if(this.now==7){ +_1.style.backgroundColor="transparent"; +}else{ +_1.style.backgroundColor="#"+AJS.fx._shades[Math.floor(this.now)]; +} +}}); +return _3.custom(6,0); +},fadeIn:function(_4,_5){ +_5=_5||{}; +if(!_5.from){ +_5.from=0; +AJS.setOpacity(_4,0); +} +if(!_5.to){ +_5.to=1; +} +var s=new AJS.fx.Style(_4,"opacity",_5); +return s.custom(_5.from,_5.to); +},fadeOut:function(_7,_8){ +_8=_8||{}; +if(!_8.from){ +_8.from=1; +} +if(!_8.to){ +_8.to=0; +} +_8.duration=300; +var s=new AJS.fx.Style(_7,"opacity",_8); +return s.custom(_8.from,_8.to); +},setWidth:function(_a,_b){ +var s=new AJS.fx.Style(_a,"width",_b); +return s.custom(_b.from,_b.to); +},setHeight:function(_d,_e){ +var s=new AJS.fx.Style(_d,"height",_e); +return s.custom(_e.from,_e.to); +}}; +AJS.fx.Base=new AJS.Class({init:function(){ +AJS.bindMethods(this); +},setOptions:function(_10){ +this.options=AJS.update({onStart:function(){ +},onComplete:function(){ +},transition:AJS.fx.Transitions.sineInOut,duration:500,wait:true,fps:50},_10||{}); +},step:function(){ +var _11=new Date().getTime(); +if(_11 + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/about.html @@ -0,0 +1,50 @@ + + + + GreyBox - About + + + + + + + + + + + + + + + + +

+GreyBox is copyrighted work by Amir Salihefendic. +

+ +

+It is based on AJS JavaScript library. +

+ +

+It is realesed under LGPL. +

+ +

Links

+ + +

Need help?

+ + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/advance_usage.html @@ -0,0 +1,182 @@ + + + + GreyBox - Advance usage + + + + + + + + + + + + + + + +

Methods for showing windows

+ +

GB_show

+ +

Signature:

+ + +

Example:

+ + +

Example rendered:

+Visit Google + + +

GB_showCenter

+ +

Signature:

+ + +

Example:

+ + +

Example rendered:

+Visit Google + + +

GB_showFullScreen

+ +

Signature:

+ + +

Example:

+ + +

Example rendered:

+Visit Google + +

Methods for showing overlays

+ +

GB_showImage

+

Signature:

+ + +

Example:

+ + +

Example rendered:

+A flower in my hand + +

GB_showPage

+

Signature:

+ + +

Example:

+ + +

Example rendered:

+Show Google in another layout + + +

Methods for showing sets

+ +

GB_showFullScreenSet

+

Signature:

+ + +

Example:

+ + +

Example rendered:

+ +Show first page in page_set + +

GB_showImageSet

+

Signature:

+ + +

Example:

+ + +

Example rendered:

+ +Show first picture in image_set + + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/combiner.py @@ -0,0 +1,134 @@ +#!/usr/bin/env python +""" +Used to combine the different parts of GreyBox. +- Python 2.4 required +- Java 1.4+ required +- Dojo's JavaScript compressor (http://dojotoolkit.org/docs/compressor_system.html). Place it under compression_lib/custom_rhino.jar +""" +import os, sys, shutil +from compression_lib import AJS_minify + + +if __name__ == '__main__': + args = sys.argv + + if len(args) < 2: + print """ +Usage is: + python combiner.py [full|gallery|window] +Example usage: + python combiner.py full +The files will be store in greybox_dist/* depending on the dist. type +""" + sys.exit(0) + + type = args[1] + output_dir = 'greybox' + + ## + # Config file list + # + js = [] + css = [] + static = [] + + append = lambda l, x: l.append('greybox_source/%s' % x) + + def appendBase(): + append(js, 'base/base.js') + append(js, 'auto_deco.js') + append(css, 'base/base.css') + append(static, 'base/indicator.gif') + append(static, 'base/loader_frame.html') + + def appendSet(): + append(js, 'set/set.js') + append(css, 'set/set.css') + append(static, 'set/next.gif') + append(static, 'set/prev.gif') + + def appendGallery(): + append(js, 'gallery/gallery.js') + append(css, 'gallery/gallery.css') + append(static, 'gallery/g_close.gif') + + def appendWindow(): + append(js, 'window/window.js') + append(css, 'window/window.css') + append(static, 'window/header_bg.gif') + append(static, 'window/w_close.gif') + + appendBase() + + if type == 'full': + appendGallery() + appendSet() + appendWindow() + elif type == 'gallery': + appendGallery() + appendSet() + elif type == 'window': + appendWindow() + else: + sys.exit('Uknown type') + + print 'Follwoing styles are used:' + for style in css: + print ' %s' % style + + print 'Follwoing JavaScript is used:' + for script in js: + print ' %s' % script + + ## + # Copy the files + # + try: + shutil.rmtree(output_dir) + except: + pass + os.mkdir(output_dir) + + def concatFiles(f_list): + data = [] + for f in f_list: + data.append(open(f, 'r').read()) + return '\n\n'.join(data) + + def copyFiles(f_list): + for f in f_list: + shutil.copy(f, output_dir) + + copyFiles(static) + fp = open('%s/%s' % (output_dir, 'gb_styles.css'), 'w') + fp.write(concatFiles(css)) + fp.close() + print 'Compressed styles in %s' % ('greybox/gb_styles.css') + + ## + # Concat js + # + fp = open('%s/%s' % (output_dir, 'gb_scripts_tmp.js'), 'w') + fp.write(concatFiles(js)) + fp.close() + + AJS_minify.AJS_SRC = 'greybox_source/base/AJS.js' + AJS_minify.AJS_MINI_SRC = 'greybox/AJS_tmp.js' + files = ['greybox/gb_scripts_tmp.js', 'greybox_source/base/AJS_fx.js', 'static_files/help.js'] + code_analyzer = AJS_minify.ExternalCodeAnalyzer(files) + composer = AJS_minify.AjsComposer(code_analyzer.findFunctions()) + composer.writeToOutput() + + os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/AJS_tmp.js > greybox/AJS.js') + os.remove('greybox/AJS_tmp.js') + os.popen('java -jar compression_lib/custom_rhino.jar -c greybox_source/base/AJS_fx.js > greybox/AJS_fx.js') + print 'Compressed AJS.js and AJS.js into greybox/' + + os.popen('java -jar compression_lib/custom_rhino.jar -c greybox/gb_scripts_tmp.js > greybox/gb_scripts.js') + os.remove('greybox/gb_scripts_tmp.js') + print 'Compressed JavaScript in %s' % ('greybox/gb_scripts.css') + + #Append script_loaded + open('greybox/AJS.js', 'a').write('\nscript_loaded=true;') + open('greybox/AJS_fx.js', 'a').write('\nscript_loaded=true;') + open('greybox/gb_scripts.js', 'a').write('\nscript_loaded=true;') --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compressing_greybox.html @@ -0,0 +1,55 @@ + + + + GreyBox - Compressing GreyBox + + + + + + + + + + + + + + + +

Code structure

+
    +
  • greybox: Generated and compressed JavaScript and CSS is located here
  • +
  • greybox_source: CSS and JavaScript structured in directories.
  • +
+It's not recommend that you alter code in the greybox directory, since it's computer generated and very unreadable! + + +

Download Dojo ShrinkSafe

+To make the filesize as small as possible GreyBox JavaScript is compressed down using Dojo ShrinkSafe. This library requires Java, so make sure you got Java installed. Download following JAR file: + +Place custom_rhino.jar in GreyBox's compression_lib directory. + + +

Compressing GreyBox

+Now, you are ready to compress GreyBox. This is done by running a Python script called combiner.py. I.e. you need to download and install Pyhton. + +

+You can run combiner.py in following ways: +

+ +
    +
  • python combiner.py full: Compress everything
  • +
  • python combiner.py gallery: Compress only gallery related CSS and JavaScript
  • +
  • python combiner.py window: Compress only window related CSS and JavaScript
  • +
+ + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/AJS_minify.py @@ -0,0 +1,255 @@ +#!/usr/bin/env python +#Last-update: 08/05/07 12:39:17 +import re +import sys +from sets import Set + +## +# External files +# +AJS_SRC = 'AJS.js' +AJS_MINI_SRC = 'AJS_compressed.js' + + +## +# Standard stuff that may change in the future +# +DOM_SHORTCUTS = [ + "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", "tn" +] + +FN_SHORTCUTS = { + '$': 'getElement', + '$$': 'getElements', + '$f': 'getFormElement', + '$b': 'bind', + '$p': 'partial', + '$A': 'createArray', + 'DI': 'documentInsert', + 'ACN': 'appendChildNodes', + 'RCN': 'replaceChildNodes', + 'AEV': 'addEventListener', + 'REV': 'removeEventListener', + '$bytc': 'getElementsByTagAndClassName' +} + +AJS_TEMPLATE = """//AJS JavaScript library (minify'ed version) +//Copyright (c) 2006 Amir Salihefendic. All rights reserved. +//Copyright (c) 2005 Bob Ippolito. All rights reserved. +//License: http://www.opensource.org/licenses/mit-license.php +//Visit http://orangoo.com/AmiNation/AJS for full version. +AJS = { +BASE_URL: "", +drag_obj: null, +drag_elm: null, +_drop_zones: [], +_cur_pos: null, + +%(functions)s +} + +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(); + +%(AJSClass)s + +%(AJSDeferred)s +script_loaded = true; +""" + + +def getAjsCode(): + return open(AJS_SRC).read() + +def writeAjsMini(code): + open(AJS_MINI_SRC, "w").write(code) + + +class AjsAnalyzer: + + def __init__(self): + self.code = getAjsCode() + self.ajs_fns = {} + self.ajs_deps = {} + self._parseAJS() + self._findDeps() + + def _parseAJS(self): + ajs_code = re.search("AJS =(.|\n)*\n}\n", self.code).group(0) + fns = re.findall("\s+((\w*?):.*?{(.|\n)*?\n\s*})(,|\n+})\n", ajs_code) + for f in fns: + self.ajs_fns[f[1]] = f[0] + + def getFnCode(self, fn_name, caller=None): + """ + Returns the code of function and it's dependencies as a list + """ + fn_name = self._unfoldFn(fn_name) + r = [] + if self.ajs_fns.get(fn_name): + r.append(self.ajs_fns[fn_name]) + for dep_fn in self.ajs_deps[fn_name]: + if fn_name != dep_fn and dep_fn != caller: + r.extend(self.getFnCode(dep_fn, fn_name)) + elif fn_name not in ['listeners', 'Class']: + print 'Could not find "%s"' % fn_name + return r + + def getAjsClassCode(self): + return re.search("AJS.Class =(.|\n)*\n};\n", self.code).group(0) + + def getAjsDeferredCode(self): + return re.search("AJSDeferred =(.|\n)*\n};\n", self.code).group(0) + + def _findDeps(self): + """ + Parses AJS and for every function it finds dependencies for the other functions. + """ + for fn_name, fn_code in self.ajs_fns.items(): + self.ajs_deps[fn_name] = self._findFns(fn_code) + + def _findFns(self, inner): + """ + Searches after AJS.fnX( in inner and returns all the fnX in a Set. + """ + s = re.findall("AJS\.([\w_$]*?)(?:\(|,|\.)", inner) + s = list(Set(s)) + return self._unfoldFns(s) + + def _unfoldFns(self, list): + """ + Unfolds: + AJS.B, AJS.H1 etc. to _createDomShortcuts + AJS.$ to AJS.getElement etc. + """ + return [self._unfoldFn(n) for n in list] + + def _unfoldFn(self, fn_name): + if fn_name.lower() in DOM_SHORTCUTS: + return "_createDomShortcuts" + elif FN_SHORTCUTS.get(fn_name): + return FN_SHORTCUTS[fn_name] + else: + return fn_name + + +class ExternalCodeAnalyzer: + + def __init__(self, files): + self.found_ajs_fns = [] + self.files = files + + def findFunctions(self): + for f in self.files: + self.found_ajs_fns.extend( self._parseFile(f) ) + return list(Set(self.found_ajs_fns)) + + def _parseFile(self, f): + """ + Parses the file, looks for AJS functions and returns all the found functions. + """ + code = open(f).read() + return re.findall("AJS\.([\w_$]*?)\(", code) + + + +class AjsComposer: + + def __init__(self, fn_list): + self.code = getAjsCode() + self.analyzer = AjsAnalyzer() + self.fn_list = fn_list + + #Append standard functions + req = ['_unloadListeners', 'createDOM', '_createDomShortcuts', 'log', 'addEventListener'] + self.fn_list.extend(req) + + #Append AJSDeferred only if needed + in_list = lambda x: x in self.fn_list + if in_list('getRequest') or in_list('loadJSONDoc'): + self.deferred = self._minify(self.analyzer.getAjsDeferredCode()) + self.fn_list.append('isObject') + else: + self.deferred = '' + + def writeToOutput(self): + fns = self._getFns() + d = {} + d['functions'] = ",\n".join(fns) + d['AJSDeferred'] = self.deferred + d['AJSClass'] = self.analyzer.getAjsClassCode() + + mini_code = AJS_TEMPLATE % d + writeAjsMini(mini_code) + + def _minify(self, code): + new_lines = [] + for l in code.split("\n"): + if l not in ['\n', '']: + new_lines.append(l.lstrip()) + return "\n".join(new_lines) + + def _getFns(self): + """ + Returns a list with real code of functions + """ + r = [] + for fn in self.fn_list: + r.extend(self.analyzer.getFnCode(fn)) + + r = list(Set(r)) + return [self._minify(fn) for fn in r] + + +if __name__ == '__main__': + args = sys.argv + + if len(args) < 3: + print """Usage is: + python AJS_minify.py [-o output_file] ajs_file js_file.js html_using_ajs.html ... +Example usage: + Using relative paths: + python AJS_minify.py -o AJS_mini.js AJS.js test.js index.html + This will create AJS_mini.js from test.js and index.html. + Using absolute paths: + python AJS_minify.py ~/Desktop/AJS/AJS.js ~/Desktop/GreyBox_v3_42/greybox/greybox.js + This will create a new file called '%s' that has the needed AJS functions.""" % AJS_MINI_SRC + + sys.exit(0) + + if sys.argv[1] == '-o': + AJS_MINI_SRC = sys.argv[2] + AJS_SRC = sys.argv[3] + FILES = sys.argv[4:] + else: + AJS_SRC = sys.argv[1] + FILES = sys.argv[2:] + + print 'Parsing through:\n %s' % "\n ".join(FILES) + + code_analyzer = ExternalCodeAnalyzer(FILES) + found_fns = code_analyzer.findFunctions() + print 'Found following AJS functions:\n %s' % ("\n ".join(found_fns)) + + composer = AjsComposer(found_fns) + composer.writeToOutput() + print "Written the minified code to '%s'" % AJS_MINI_SRC --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/compression_lib/__init__.py @@ -0,0 +1, @@ +# --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/examples.html @@ -0,0 +1,95 @@ + + + + GreyBox - Examples + + + + + + + + + + + + + + + + +

One website

+ + +

Website gallery

+ + +

Image gallery

+ + + + +

Without loading

+ + + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/auto_deco.js @@ -0,0 +1,67 @@ +var GB_SETS = {}; +function decoGreyboxLinks() { + var as = AJS.$bytc('a'); + AJS.map(as, function(a) { + if(a.getAttribute('href') && a.getAttribute('rel')) { + var rel = a.getAttribute('rel'); + if(rel.indexOf('gb_') == 0) { + var name = rel.match(/\w+/)[0]; + var attrs = rel.match(/\[(.*)\]/)[1]; + var index = 0; + + var item = { + 'caption': a.title || '', + 'url': a.href + } + + //Set up GB_SETS + if(name == 'gb_pageset' || name == 'gb_imageset') { + if(!GB_SETS[attrs]) { GB_SETS[attrs] = []; } + GB_SETS[attrs].push(item); + index = GB_SETS[attrs].length; + } + + //Append onclick + if(name == 'gb_pageset') { + a.onclick = function() { + GB_showFullScreenSet(GB_SETS[attrs], index); + return false; + }; + } + if(name == 'gb_imageset') { + a.onclick = function() { + GB_showImageSet(GB_SETS[attrs], index); + return false; + }; + } + if(name == 'gb_image') { + a.onclick = function() { + GB_showImage(item.caption, item.url); + return false; + }; + } + if(name == 'gb_page') { + a.onclick = function() { + var sp = attrs.split(/, ?/); + GB_show(item.caption, item.url, parseInt(sp[1]), parseInt(sp[0])); + return false; + }; + } + if(name == 'gb_page_fs') { + a.onclick = function() { + GB_showFullScreen(item.caption, item.url); + return false; + }; + } + if(name == 'gb_page_center') { + a.onclick = function() { + var sp = attrs.split(/, ?/); + GB_showCenter(item.caption, item.url, parseInt(sp[1]), parseInt(sp[0])); + return false; + }; + } + } + }}); +} + +AJS.AEV(window, 'load', decoGreyboxLinks); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS.js @@ -0,0 +1,1371 @@ +/* +Last Modified: 29/01/07 14:16:09 + +AJS JavaScript library + A very small library with a lot of functionality +AUTHOR + 4mir Salihefendic (http://amix.dk) - amix@amix.dk +LICENSE + Copyright (c) 2006 Amir Salihefendic. All rights reserved. + Copyright (c) 2005 Bob Ippolito. All rights reserved. + http://www.opensource.org/licenses/mit-license.php +VERSION + 3.7 +SITE + http://orangoo.com/AmiNation/AJS +**/ +if(!AJS) { +var AJS = { + BASE_URL: "", + + drag_obj: null, + drag_elm: null, + _drop_zones: [], + _drag_zones: [], + _cur_pos: null, + + ajaxErrorHandler: null, + +//// +// General accessor functions +//// + getQueryArgument: function(var_name) { + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i= 20030210); + }, + + +//// +// Array functions +//// + //Shortcut: AJS.$A + createArray: function(v) { + if(AJS.isArray(v) && !AJS.isString(v)) + return v; + else if(!v) + return []; + else + return [v]; + }, + + forceArray: function(args) { + var r = []; + AJS.map(args, function(elm) { + r.push(elm); + }); + return r; + }, + + join: function(delim, list) { + try { + return list.join(delim); + } + catch(e) { + var r = list[0] || ''; + AJS.map(list, function(elm) { + r += delim + elm; + }, 1); + return r + ''; + } + }, + + isIn: function(elm, list) { + var i = AJS.getIndex(elm, list); + if(i != -1) + return true; + else + return false; + }, + + getIndex: function(elm, list/*optional*/, eval_fn) { + for(var i=0; i < list.length; i++) + if(eval_fn && eval_fn(list[i]) || elm == list[i]) + return i; + return -1; + }, + + getFirst: function(list) { + if(list.length > 0) + return list[0]; + else + return null; + }, + + getLast: function(list) { + if(list.length > 0) + return list[list.length-1]; + else + return null; + }, + + update: function(l1, l2) { + for(var i in l2) + l1[i] = l2[i]; + return l1; + }, + + flattenList: function(list) { + var r = []; + var _flatten = function(r, l) { + AJS.map(l, function(o) { + if(o == null) {} + else if (AJS.isArray(o)) + _flatten(r, o); + else + r.push(o); + }); + } + _flatten(r, list); + return r; + }, + + +//// +// Functional programming +//// + map: function(list, fn,/*optional*/ start_index, end_index) { + var i = 0, l = list.length; + if(start_index) + i = start_index; + if(end_index) + l = end_index; + for(i; i < l; i++) + fn.apply(null, [list[i], i]); + }, + + rmap: function(list, fn) { + var i = list.length-1, l = 0; + for(i; i >= l; i--) + fn.apply(null, [list[i], i]); + }, + + filter: function(list, fn, /*optional*/ start_index, end_index) { + var r = []; + AJS.map(list, function(elm) { + if(fn(elm)) + r.push(elm); + }, start_index, end_index); + return r; + }, + + partial: function(fn) { + var args = AJS.forceArray(arguments); + return AJS.$b(fn, null, args.slice(1, args.length).reverse(), false, true); + }, + + +//// +// DOM functions +//// + //Shortcut: AJS.$ + getElement: function(id) { + if(AJS.isString(id) || AJS.isNumber(id)) + return document.getElementById(id); + else + return id; + }, + + //Shortcut: AJS.$$ + getElements: function(/*id1, id2, id3*/) { + var args = AJS.forceArray(arguments); + var elements = new Array(); + for (var i = 0; i < args.length; i++) { + var element = AJS.getElement(args[i]); + elements.push(element); + } + return elements; + }, + + //Shortcut: AJS.$bytc + getElementsByTagAndClassName: function(tag_name, class_name, /*optional*/ parent) { + var class_elements = []; + if(!AJS.isDefined(parent)) + parent = document; + if(!AJS.isDefined(tag_name)) + tag_name = '*'; + + var els = parent.getElementsByTagName(tag_name); + var els_len = els.length; + var pattern = new RegExp("(^|\\s)" + class_name + "(\\s|$)"); + + for (i = 0, j = 0; i < els_len; i++) { + if ( pattern.test(els[i].className) || class_name == null ) { + class_elements[j] = els[i]; + j++; + } + } + return class_elements; + }, + + _nodeWalk: function(elm, tag_name, class_name, fn_next_elm) { + var p = fn_next_elm(elm); + + var checkFn; + if(tag_name && class_name) { + checkFn = function(p) { + return AJS.nodeName(p) == tag_name && AJS.hasClass(p, class_name); + } + } + else if(tag_name) { + checkFn = function(p) { return AJS.nodeName(p) == tag_name; } + } + else { + checkFn = function(p) { return AJS.hasClass(p, class_name); } + } + + while(p) { + if(checkFn(p)) + return p; + p = fn_next_elm(p); + } + return null; + }, + + getParentBytc: function(elm, tag_name, class_name) { + return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.parentNode; }); + }, + + getPreviousSiblingBytc: function(elm, tag_name, class_name) { + return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.previousSibling; }); + }, + + getNextSiblingBytc: function(elm, tag_name, class_name) { + return AJS._nodeWalk(elm, tag_name, class_name, function(m) { return m.nextSibling; }); + }, + + //Shortcut: AJS.$f + getFormElement: function(form, name) { + form = AJS.$(form); + var r = null; + AJS.map(form.elements, function(elm) { + if(elm.name && elm.name == name) + r = elm; + }); + return r; + }, + + formContents: function(form) { + var form = AJS.$(form); + var r = {}; + var fn = function(elms) { + AJS.map(elms, function(e) { + if(e.name) + r[e.name] = e.value || ''; + }); + } + fn(AJS.$bytc('input', null, form)); + fn(AJS.$bytc('textarea', null, form)); + return r; + }, + + getBody: function() { + return AJS.$bytc('body')[0] + }, + + nodeName: function(elm) { + return elm.nodeName.toLowerCase(); + }, + + hasParent: function(elm, parent_to_consider, max_look_up) { + if(elm == parent_to_consider) + return true; + if(max_look_up == 0) + return false; + return AJS.hasParent(elm.parentNode, parent_to_consider, max_look_up-1); + }, + + isElementHidden: function(elm) { + return elm.style.visibility == "hidden"; + }, + + //Shortcut: AJS.DI + documentInsert: function(elm) { + if(typeof(elm) == 'string') + elm = AJS.HTML2DOM(elm); + document.write(''); + AJS.swapDOM(AJS.$('dummy_holder'), elm); + }, + + cloner: function(element) { + return function() { + return element.cloneNode(true); + } + }, + + appendToTop: function(elm/*, elms...*/) { + var args = AJS.forceArray(arguments).slice(1); + if(args.length >= 1) { + var first_child = elm.firstChild; + if(first_child) { + while(true) { + var t_elm = args.shift(); + if(t_elm) + AJS.insertBefore(t_elm, first_child); + else + break; + } + } + else { + AJS.ACN.apply(null, arguments); + } + } + return elm; + }, + + //Shortcut: AJS.ACN + appendChildNodes: function(elm/*, elms...*/) { + 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; + }, + + //Shortcut: AJS.RCN + replaceChildNodes: function(elm/*, elms...*/) { + var child; + while ((child = elm.firstChild)) + elm.removeChild(child); + if (arguments.length < 2) + return elm; + else + return AJS.appendChildNodes.apply(null, arguments); + return elm; + }, + + insertAfter: function(elm, reference_elm) { + reference_elm.parentNode.insertBefore(elm, reference_elm.nextSibling); + return elm; + }, + + insertBefore: function(elm, reference_elm) { + reference_elm.parentNode.insertBefore(elm, reference_elm); + return elm; + }, + + showElement: function(/*elms...*/) { + var args = AJS.forceArray(arguments); + AJS.map(args, function(elm) { elm.style.display = ''}); + }, + + hideElement: function(elm) { + var args = AJS.forceArray(arguments); + AJS.map(args, function(elm) { elm.style.display = 'none'}); + }, + + swapDOM: function(dest, src) { + dest = AJS.getElement(dest); + var parent = dest.parentNode; + if (src) { + src = AJS.getElement(src); + parent.replaceChild(src, dest); + } else { + parent.removeChild(dest); + } + return src; + }, + + removeElement: function(/*elm1, elm2...*/) { + var args = AJS.forceArray(arguments); + AJS.map(args, function(elm) { AJS.swapDOM(elm, null); }); + }, + + createDOM: function(name, attrs) { + var i=0, attr; + elm = document.createElement(name); + + if(AJS.isDict(attrs[i])) { + for(k in attrs[0]) { + attr = attrs[0][k]; + if(k == "style") + elm.style.cssText = attr; + else if(k == "class" || k == 'className') + elm.className = attr; + else { + elm.setAttribute(k, attr); + } + } + i++; + } + + if(attrs[0] == null) + i = 1; + + AJS.map(attrs, function(n) { + if(n) { + if(AJS.isString(n) || AJS.isNumber(n)) + n = AJS.TN(n); + elm.appendChild(n); + } + }, i); + return elm; + }, + + _createDomShortcuts: function() { + var elms = [ + "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 extends_ajs = function(elm) { + var c_dom = "return AJS.createDOM.apply(null, ['" + elm + "', arguments]);"; + var c_fun_dom = 'function() { ' + c_dom + ' }'; + eval("AJS." + elm.toUpperCase() + "=" + c_fun_dom); + } + AJS.map(elms, extends_ajs); + AJS.TN = function(text) { return document.createTextNode(text) }; + }, + + getCssDim: function(dim) { + if(AJS.isString(dim)) + return dim; + else + return dim + "px"; + }, + getCssProperty: function(elm, prop) { + elm = AJS.$(elm); + var y; + if(elm.currentStyle) + y = elm.currentStyle[prop]; + else if (window.getComputedStyle) + y = document.defaultView.getComputedStyle(elm,null).getPropertyValue(prop); + return y; + }, + + setStyle: function(/*elm1, elm2..., property, new_value*/) { + var args = AJS.forceArray(arguments); + var new_val = args.pop(); + var property = args.pop(); + AJS.map(args, function(elm) { + elm.style[property] = AJS.getCssDim(new_val); + }); + }, + + setWidth: function(/*elm1, elm2..., width*/) { + var args = AJS.forceArray(arguments); + args.splice(args.length-1, 0, 'width'); + AJS.setStyle.apply(null, args); + }, + setHeight: function(/*elm1, elm2..., height*/) { + var args = AJS.forceArray(arguments); + args.splice(args.length-1, 0, 'height'); + AJS.setStyle.apply(null, args); + }, + setLeft: function(/*elm1, elm2..., left*/) { + var args = AJS.forceArray(arguments); + args.splice(args.length-1, 0, 'left'); + AJS.setStyle.apply(null, args); + }, + setTop: function(/*elm1, elm2..., top*/) { + var args = AJS.forceArray(arguments); + args.splice(args.length-1, 0, 'top'); + AJS.setStyle.apply(null, args); + }, + setClass: function(/*elm1, elm2..., className*/) { + var args = AJS.forceArray(arguments); + var c = args.pop(); + AJS.map(args, function(elm) { elm.className = c}); + }, + addClass: function(/*elm1, elm2..., className*/) { + var args = AJS.forceArray(arguments); + var cls = args.pop(); + var add_class = function(o) { + if(!new RegExp("(^|\\s)" + cls + "(\\s|$)").test(o.className)) + o.className += (o.className ? " " : "") + cls; + }; + AJS.map(args, function(elm) { add_class(elm); }); + }, + hasClass: function(elm, cls) { + if(!elm.className) + return false; + return elm.className == cls || + elm.className.search(new RegExp(" " + cls)) != -1 + }, + removeClass: function(/*elm1, elm2..., className*/) { + var args = AJS.forceArray(arguments); + var cls = args.pop(); + var rm_class = function(o) { + o.className = o.className.replace(new RegExp("\\s?" + cls, 'g'), ""); + }; + AJS.map(args, function(elm) { rm_class(elm); }); + }, + + setHTML: function(elm, html) { + elm.innerHTML = html; + return elm; + }, + + RND: function(tmpl, ns, scope) { + scope = scope || window; + var fn = function(w, g) { + g = g.split("|"); + var cnt = ns[g[0]]; + for(var i=1; i < g.length; i++) + cnt = scope[g[i]](cnt); + if(cnt == '') + return ''; + if(cnt == 0 || cnt == -1) + cnt += ''; + return cnt || w; + }; + return tmpl.replace(/%\(([A-Za-z0-9_|.]*)\)/g, fn); + }, + + HTML2DOM: function(html,/*optional*/ first_child) { + var d = AJS.DIV(); + d.innerHTML = html; + if(first_child) + return d.childNodes[0]; + else + return d; + }, + + preloadImages: function(/*img_src1, ..., img_srcN*/) { + AJS.AEV(window, 'load', AJS.$p(function(args) { + AJS.map(args, function(src) { + var pic = new Image(); + pic.src = src; + }); + }, arguments)); + }, + + +//// +// Effects +//// + setOpacity: function(elm, p) { + elm.style.opacity = p; + elm.style.filter = "alpha(opacity="+ p*100 +")"; + }, + + +//// +// Ajax functions +//// + getXMLHttpRequest: function() { + var try_these = [ + function () { return new XMLHttpRequest(); }, + function () { return new ActiveXObject('Msxml2.XMLHTTP'); }, + function () { return new ActiveXObject('Microsoft.XMLHTTP'); }, + function () { return new ActiveXObject('Msxml2.XMLHTTP.4.0'); }, + function () { throw "Browser does not support XMLHttpRequest"; } + ]; + for (var i = 0; i < try_these.length; i++) { + var func = try_these[i]; + try { + return func(); + } catch (e) { + } + } + }, + + getRequest: function(url, data, type) { + if(!type) + type = "POST"; + var req = AJS.getXMLHttpRequest(); + + if(url.indexOf("http://") == -1) { + if(AJS.BASE_URL != '') { + if(AJS.BASE_URL.lastIndexOf('/') != AJS.BASE_URL.length-1) + AJS.BASE_URL += '/'; + url = AJS.BASE_URL + url; + } + else + url = window.location + url; + } + + req.open(type, url, true); + if(type == "POST") + req.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); + return AJS._sendXMLHttpRequest(req); + }, + + _sendXMLHttpRequest: function(req, data) { + var d = new AJSDeferred(req); + + var onreadystatechange = function () { + if (req.readyState == 4) { + var status = ''; + try { + status = req.status; + } + catch(e) {}; + if(status == 200 || status == 304 || req.responseText == null) { + d.callback(); + } + else { + if(AJS.ajaxErrorHandler) + AJS.ajaxErrorHandler(req.responseText, req); + else + d.errback(); + } + } + } + req.onreadystatechange = onreadystatechange; + return d; + }, + + _reprString: function(o) { + return ('"' + o.replace(/(["\\])/g, '\\$1') + '"' + ).replace(/[\f]/g, "\\f" + ).replace(/[\b]/g, "\\b" + ).replace(/[\n]/g, "\\n" + ).replace(/[\t]/g, "\\t" + ).replace(/[\r]/g, "\\r"); + }, + + serializeJSON: function(o) { + var objtype = typeof(o); + if (objtype == "undefined") { + return "undefined"; + } else if (objtype == "number" || objtype == "boolean") { + return o + ""; + } else if (o === null) { + return "null"; + } + if (objtype == "string") { + return AJS._reprString(o); + } + var me = arguments.callee; + if (objtype != "function" && typeof(o.length) == "number") { + var res = []; + for (var i = 0; i < o.length; i++) { + var val = me(o[i]); + if (typeof(val) != "string") { + val = "undefined"; + } + res.push(val); + } + return "[" + res.join(",") + "]"; + } + // it's a function with no adapter, bad + if (objtype == "function") + return null; + res = []; + for (var k in o) { + var useKey; + if (typeof(k) == "number") { + useKey = '"' + k + '"'; + } else if (typeof(k) == "string") { + useKey = AJS._reprString(k); + } else { + // skip non-string or number keys + continue; + } + val = me(o[k]); + if (typeof(val) != "string") { + // skip non-serializable values + continue; + } + res.push(useKey + ":" + val); + } + return "{" + res.join(",") + "}"; + }, + + loadJSONDoc: function(url) { + var d = AJS.getRequest(url); + var eval_req = function(data, req) { + var text = req.responseText; + if(text == "Error") + d.errback(req); + else + return AJS.evalTxt(text); + }; + d.addCallback(eval_req); + return d; + }, + + evalTxt: function(txt) { + try { + return eval('('+ txt + ')'); + } + catch(e) { + return eval(txt); + } + }, + + evalScriptTags: function(html) { + var script_data = html.match(/((\n|\r|.)*?)<\/script>/g); + if(script_data != null) { + for(var i=0; i < script_data.length; i++) { + var script_only = script_data[i].replace(//g, ""); + script_only = script_only.replace(/<\/script>/g, ""); + eval(script_only); + } + } + }, + + queryArguments: function(data) { + var post_data = []; + for(k in data) + post_data.push(k + "=" + AJS.urlencode(data[k])); + return post_data.join("&"); + }, + + +//// +// Position and size +//// + getMousePos: function(e) { + var posx = 0; + var posy = 0; + if (!e) var e = window.event; + if (e.pageX || e.pageY) + { + posx = e.pageX; + posy = e.pageY; + } + else if (e.clientX || e.clientY) + { + posx = e.clientX + document.body.scrollLeft; + posy = e.clientY + document.body.scrollTop; + } + return {x: posx, y: posy}; + }, + + getScrollTop: function() { + //From: http://www.quirksmode.org/js/doctypes.html + var t; + if (document.documentElement && document.documentElement.scrollTop) + t = document.documentElement.scrollTop; + else if (document.body) + t = document.body.scrollTop; + return t; + }, + + absolutePosition: function(elm) { + var posObj = {'x': elm.offsetLeft, 'y': elm.offsetTop}; + if(elm.offsetParent) { + var temp_pos = AJS.absolutePosition(elm.offsetParent); + posObj.x += temp_pos.x; + posObj.y += temp_pos.y; + } + // safari bug + if (AJS.isSafari() && elm.style.position == 'absolute' ) { + posObj.x -= document.body.offsetLeft; + posObj.y -= document.body.offsetTop; + } + return posObj; + }, + + getWindowSize: function(doc) { + doc = doc || document; + var win_w, win_h; + if (self.innerHeight) { + win_w = self.innerWidth; + win_h = self.innerHeight; + } else if (doc.documentElement && doc.documentElement.clientHeight) { + win_w = doc.documentElement.clientWidth; + win_h = doc.documentElement.clientHeight; + } else if (doc.body) { + win_w = doc.body.clientWidth; + win_h = doc.body.clientHeight; + } + return {'w': win_w, 'h': win_h}; + }, + + isOverlapping: function(elm1, elm2) { + var pos_elm1 = AJS.absolutePosition(elm1); + var pos_elm2 = AJS.absolutePosition(elm2); + + var top1 = pos_elm1.y; + var left1 = pos_elm1.x; + var right1 = left1 + elm1.offsetWidth; + var bottom1 = top1 + elm1.offsetHeight; + var top2 = pos_elm2.y; + var left2 = pos_elm2.x; + var right2 = left2 + elm2.offsetWidth; + var bottom2 = top2 + elm2.offsetHeight; + var getSign = function(v) { + if(v > 0) return "+"; + else if(v < 0) return "-"; + else return 0; + } + + if ((getSign(top1 - bottom2) != getSign(bottom1 - top2)) && + (getSign(left1 - right2) != getSign(right1 - left2))) + return true; + return false; + }, + + +//// +// Events +//// + getEventElm: function(e) { + if(e && !e.type && !e.keyCode) + return e + var targ; + if (!e) var e = window.event; + if (e.target) targ = e.target; + else if (e.srcElement) targ = e.srcElement; + if (targ.nodeType == 3) // defeat Safari bug + targ = targ.parentNode; + return targ; + }, + + _getRealScope: function(fn, /*optional*/ extra_args, dont_send_event, rev_extra_args) { + var scope = window; + extra_args = AJS.$A(extra_args); + if(fn._cscope) + scope = fn._cscope; + + return function() { + //Append all the orginal arguments + extra_args + var args = []; + var i = 0; + if(dont_send_event) + i = 1; + + AJS.map(arguments, function(arg) { args.push(arg) }, i); + args = args.concat(extra_args); + if(rev_extra_args) + args = args.reverse(); + return fn.apply(scope, args); + }; + }, + + _unloadListeners: function() { + if(AJS.listeners) + AJS.map(AJS.listeners, function(elm, type, fn) { AJS.REV(elm, type, fn) }); + AJS.listeners = []; + }, + + 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; + } + }, + + //Shortcut: AJS.AEV + addEventListener: function(elm, type, fn, /*optional*/listen_once, cancle_bubble) { + if(!cancle_bubble) + cancle_bubble = false; + + var elms = AJS.$A(elm); + AJS.map(elms, function(elmz) { + if(listen_once) + fn = AJS._listenOnce(elmz, type, fn); + + //Hack since it does not work in all browsers + if(AJS.isIn(type, ['submit', 'load', 'scroll', 'resize'])) { + var old = elm['on' + type]; + elm['on' + type] = function() { + if(old) { + fn(arguments); + return old(arguments); + } + else + return fn(arguments); + }; + return; + } + + //Fix keyCode + if(AJS.isIn(type, ['keypress', 'keydown', 'keyup', 'click'])) { + var old_fn = fn; + fn = function(e) { + AJS.setEventKey(e); + return old_fn.apply(null, arguments); + } + } + + if (elmz.attachEvent) { + //FIXME: We ignore cancle_bubble for IE... could be a problem? + elmz.attachEvent("on" + type, fn); + } + else if(elmz.addEventListener) + elmz.addEventListener(type, fn, cancle_bubble); + + AJS.listeners = AJS.$A(AJS.listeners); + AJS.listeners.push([elmz, type, fn]); + }); + }, + + //Shortcut: AJS.REV + removeEventListener: function(elm, type, fn, /*optional*/cancle_bubble) { + if(!cancle_bubble) + cancle_bubble = false; + if(elm.removeEventListener) { + elm.removeEventListener(type, fn, cancle_bubble); + if(AJS.isOpera()) + elm.removeEventListener(type, fn, !cancle_bubble); + } + else if(elm.detachEvent) + elm.detachEvent("on" + type, fn); + }, + + //Shortcut: AJS.$b + bind: function(fn, scope, /*optional*/ extra_args, dont_send_event, rev_extra_args) { + fn._cscope = scope; + return AJS._getRealScope(fn, extra_args, dont_send_event, rev_extra_args); + }, + + bindMethods: function(self) { + for (var k in self) { + var func = self[k]; + if (typeof(func) == 'function') { + self[k] = AJS.$b(func, self); + } + } + }, + + _listenOnce: function(elm, type, fn) { + var r_fn = function() { + AJS.removeEventListener(elm, type, r_fn); + fn(arguments); + } + return r_fn; + }, + + callLater: function(fn, interval) { + var fn_no_send = function() { + fn(); + }; + window.setTimeout(fn_no_send, interval); + }, + + preventDefault: function(e) { + if(AJS.isIe()) + window.event.returnValue = false; + else + e.preventDefault(); + }, + + +//// +// Drag and drop +//// + dragAble: function(elm, /*optional*/ handler, args) { + if(!args) + args = {}; + if(!AJS.isDefined(args['move_x'])) + args['move_x'] = true; + if(!AJS.isDefined(args['move_y'])) + args['move_y'] = true; + if(!AJS.isDefined(args['moveable'])) + args['moveable'] = false; + if(!AJS.isDefined(args['hide_on_move'])) + args['hide_on_move'] = true; + if(!AJS.isDefined(args['on_mouse_up'])) + args['on_mouse_up'] = null; + if(!AJS.isDefined(args['cursor'])) + args['cursor'] = 'move'; + if(!AJS.isDefined(args['max_move'])) + args['max_move'] = {'top': null, 'left': null}; + + elm = AJS.$(elm); + + if(!handler) + handler = elm; + + handler = AJS.$(handler); + var old_cursor = handler.style.cursor; + handler.style.cursor = args['cursor']; + elm.style.position = 'relative'; + + AJS.addClass(handler, '_ajs_handler'); + handler._args = args; + handler._elm = elm; + AJS.AEV(handler, 'mousedown', AJS._dragStart); + }, + + _dragStart: function(e) { + var handler = AJS.getEventElm(e); + if(!AJS.hasClass(handler, '_ajs_handler')) { + handler = AJS.getParentBytc(handler, null, '_ajs_handler'); + } + if(handler) + AJS._dragInit(e, handler._elm, handler._args); + }, + + dropZone: function(elm, args) { + elm = AJS.$(elm); + var item = {elm: elm}; + AJS.update(item, args); + AJS._drop_zones.push(item); + }, + + removeDragAble: function(elm) { + AJS.REV(elm, 'mousedown', AJS._dragStart); + elm.style.cursor = ''; + }, + + removeDropZone: function(elm) { + var i = AJS.getIndex(elm, AJS._drop_zones, function(item) { + if(item.elm == elm) return true; + }); + if(i != -1) { + AJS._drop_zones.splice(i, 1); + } + }, + + _dragInit: function(e, click_elm, args) { + AJS.drag_obj = new Object(); + AJS.drag_obj.args = args; + + AJS.drag_obj.click_elm = click_elm; + AJS.drag_obj.mouse_pos = AJS.getMousePos(e); + AJS.drag_obj.click_elm_pos = AJS.absolutePosition(click_elm); + + AJS.AEV(document, 'mousemove', AJS._dragMove, false, true); + AJS.AEV(document, 'mouseup', AJS._dragStop, false, true); + + if (AJS.isIe()) + window.event.cancelBubble = true; + AJS.preventDefault(e); + }, + + _initDragElm: function(elm) { + if(AJS.drag_elm && AJS.drag_elm.style.display == 'none') + AJS.removeElement(AJS.drag_elm); + + if(!AJS.drag_elm) { + AJS.drag_elm = AJS.DIV(); + var d = AJS.drag_elm; + AJS.insertBefore(d, AJS.getBody().firstChild); + AJS.setHTML(d, elm.innerHTML); + + d.className = elm.className; + d.style.cssText = elm.style.cssText; + + d.style.position = 'absolute'; + d.style.zIndex = 10000; + + var t = AJS.absolutePosition(elm); + AJS.setTop(d, t.y); + AJS.setLeft(d, t.x); + + if(AJS.drag_obj.args.on_init) { + AJS.drag_obj.args.on_init(elm); + } + } + }, + + _dragMove: function(e) { + var drag_obj = AJS.drag_obj; + var click_elm = drag_obj.click_elm; + + AJS._initDragElm(click_elm); + var drag_elm = AJS.drag_elm; + + if(drag_obj.args['hide_on_move']) + click_elm.style.visibility = 'hidden'; + + var cur_pos = AJS.getMousePos(e); + + var mouse_pos = drag_obj.mouse_pos; + + var click_elm_pos = drag_obj.click_elm_pos; + + AJS.map(AJS._drop_zones, function(d_z) { + if(AJS.isOverlapping(d_z['elm'], drag_elm)) { + if(d_z['elm'] != drag_elm) { + var on_hover = d_z['on_hover']; + if(on_hover) + on_hover(d_z['elm'], click_elm, drag_elm); + } + } + }); + + if(drag_obj.args['on_drag']) + drag_obj.args['on_drag'](click_elm, e); + + var max_move_top = drag_obj.args['max_move']['top']; + var max_move_left = drag_obj.args['max_move']['left']; + var p; + if(drag_obj.args['move_x']) { + p = cur_pos.x - (mouse_pos.x - click_elm_pos.x); + if(max_move_left == null || max_move_left <= p) + AJS.setLeft(elm, p); + } + + if(drag_obj.args['move_y']) { + p = cur_pos.y - (mouse_pos.y - click_elm_pos.y); + if(max_move_top == null || max_move_top <= p) + AJS.setTop(elm, p); + } + if(AJS.isIe()) { + window.event.cancelBubble = true; + window.event.returnValue = false; + } + else + e.preventDefault(); + }, + + _dragStop: function(e) { + var drag_obj = AJS.drag_obj; + var drag_elm = AJS.drag_elm; + var click_elm = drag_obj.click_elm; + + AJS.REV(document, "mousemove", AJS._dragMove, true); + AJS.REV(document, "mouseup", AJS._dragStop, true); + + var dropped = false; + AJS.map(AJS._drop_zones, function(d_z) { + if(AJS.isOverlapping(d_z['elm'], click_elm)) { + if(d_z['elm'] != click_elm) { + var on_drop = d_z['on_drop']; + if(on_drop) { + dropped = true; + on_drop(d_z['elm'], click_elm); + } + } + } + }); + + if(drag_obj.args['moveable']) { + var t = parseInt(click_elm.style.top) || 0; + var l = parseInt(click_elm.style.left) || 0; + var drag_elm_xy = AJS.absolutePosition(drag_elm); + var click_elm_xy = AJS.absolutePosition(click_elm); + AJS.setTop(click_elm, t + drag_elm_xy.y - click_elm_xy.y); + AJS.setLeft(click_elm, l + drag_elm_xy.x - click_elm_xy.x); + } + + if(!dropped && drag_obj.args['on_mouse_up']) + drag_obj.args['on_mouse_up'](click_elm, e); + + if(drag_obj.args['hide_on_move']) + drag_obj.click_elm.style.visibility = 'visible'; + + if(drag_obj.args.on_end) { + drag_obj.args.on_end(click_elm); + } + + AJS._dragObj = null; + if(drag_elm) + AJS.hideElement(drag_elm); + AJS.drag_elm = null; + }, + + +//// +// Misc. +//// + keys: function(obj) { + var rval = []; + for (var prop in obj) { + rval.push(prop); + } + return rval; + }, + + values: function(obj) { + var rval = []; + for (var prop in obj) { + rval.push(obj[prop]); + } + return rval; + }, + + urlencode: function(str) { + return encodeURIComponent(str.toString()); + }, + + isDefined: function(o) { + return (o != "undefined" && o != null) + }, + + isArray: function(obj) { + return obj instanceof Array; + }, + + isString: function(obj) { + return (typeof obj == 'string'); + }, + + isNumber: function(obj) { + return (typeof obj == 'number'); + }, + + isObject: function(obj) { + return (typeof obj == 'object'); + }, + + isFunction: function(obj) { + return (typeof obj == 'function'); + }, + + isDict: function(o) { + var str_repr = String(o); + return str_repr.indexOf(" Object") != -1; + }, + + exportToGlobalScope: function() { + for(e in AJS) + eval(e + " = AJS." + e); + }, + + 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)); + } + } + +} + +AJS.Class = function(members) { + var fn = function() { + if(arguments[0] != 'no_init') { + return this.init.apply(this, arguments); + } + } + fn.prototype = members; + AJS.update(fn, AJS.Class.prototype); + return fn; +} +AJS.Class.prototype = { + extend: function(members) { + var parent = new this('no_init'); + for(k in members) { + var prev = parent[k]; + var cur = members[k]; + if (prev && prev != cur && typeof cur == 'function') { + cur = this._parentize(cur, prev); + } + parent[k] = cur; + } + return new AJS.Class(parent); + }, + + implement: function(members) { + AJS.update(this.prototype, members); + }, + + _parentize: function(cur, prev) { + return function(){ + this.parent = prev; + return cur.apply(this, arguments); + } + } +}; + +//Shortcuts +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, list) { + var data = req.responseText; + while (list.length > 0) { + var fn = list.pop(); + var new_data = fn(data, req); + if(new_data) + data = new_data; + } + }, + + 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(data) { + if(AJS.isObject(data)) { + this.req.send(AJS.queryArguments(data)); + } + else if(AJS.isDefined(data)) + this.req.send(data); + else { + this.req.send(""); + } + } +}; + +//Prevent memory-leaks +AJS.addEventListener(window, 'unload', AJS._unloadListeners); +AJS._createDomShortcuts() +} + +script_loaded = true; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/AJS_fx.js @@ -0,0 +1,194 @@ +/* +Last Modified: 25/12/06 18:26:30 + +AJS effects + A very small library with a lot of functionality +AUTHOR + 4mir Salihefendic (http://amix.dk) - amix@amix.dk +LICENSE + Copyright (c) 2006 Amir Salihefendic. All rights reserved. + Copyright (c) 2005 Bob Ippolito. All rights reserved. + Copyright (c) 2006 Valerio Proietti, http://www.mad4milk.net + http://www.opensource.org/licenses/mit-license.php +VERSION + 3.6 +SITE + http://orangoo.com/AmiNation/AJS +**/ +AJS.fx = { + _shades: {0: 'ffffff', 1: 'ffffee', 2: 'ffffdd', + 3: 'ffffcc', 4: 'ffffbb', 5: 'ffffaa', + 6: 'ffff99'}, + + highlight: function(elm, options) { + var base = new AJS.fx.Base(); + base.elm = AJS.$(elm); + base.setOptions(options); + base.options.duration = 600; + + AJS.update(base, { + increase: function(){ + if(this.now == 7) + elm.style.backgroundColor = 'transparent'; + else + elm.style.backgroundColor = '#' + AJS.fx._shades[Math.floor(this.now)]; + } + }); + return base.custom(6, 0); + }, + + fadeIn: function(elm, options) { + options = options || {}; + if(!options.from) { + options.from = 0; + AJS.setOpacity(elm, 0); + } + if(!options.to) options.to = 1; + var s = new AJS.fx.Style(elm, 'opacity', options); + return s.custom(options.from, options.to); + }, + + fadeOut: function(elm, options) { + options = options || {}; + if(!options.from) options.from = 1; + if(!options.to) options.to = 0; + options.duration = 300; + var s = new AJS.fx.Style(elm, 'opacity', options); + return s.custom(options.from, options.to); + }, + + setWidth: function(elm, options) { + var s = new AJS.fx.Style(elm, 'width', options); + return s.custom(options.from, options.to); + }, + + setHeight: function(elm, options) { + var s = new AJS.fx.Style(elm, 'height', options); + return s.custom(options.from, options.to); + } +} + + +//From moo.fx +AJS.fx.Base = new AJS.Class({ + init: function() { + AJS.bindMethods(this); + }, + + setOptions: function(options){ + this.options = AJS.update({ + onStart: function(){}, + onComplete: function(){}, + transition: AJS.fx.Transitions.sineInOut, + duration: 500, + wait: true, + fps: 50 + }, options || {}); + }, + + step: function(){ + var time = new Date().getTime(); + if (time < this.time + this.options.duration){ + this.cTime = time - this.time; + this.setNow(); + } else { + setTimeout(AJS.$b(this.options.onComplete, this, [this.elm]), 10); + this.clearTimer(); + this.now = this.to; + } + this.increase(); + }, + + setNow: function(){ + this.now = this.compute(this.from, this.to); + }, + + compute: function(from, to){ + var change = to - from; + return this.options.transition(this.cTime, from, change, this.options.duration); + }, + + clearTimer: function(){ + clearInterval(this.timer); + this.timer = null; + return this; + }, + + _start: function(from, to){ + if (!this.options.wait) this.clearTimer(); + if (this.timer) return; + setTimeout(AJS.$p(this.options.onStart, this.elm), 10); + this.from = from; + this.to = to; + this.time = new Date().getTime(); + this.timer = setInterval(this.step, Math.round(1000/this.options.fps)); + return this; + }, + + custom: function(from, to){ + return this._start(from, to); + }, + + set: function(to){ + this.now = to; + this.increase(); + return this; + }, + + setStyle: function(elm, property, val) { + if(this.property == 'opacity') + AJS.setOpacity(elm, val); + else + AJS.setStyle(elm, property, val); + } +}); + +AJS.fx.Style = AJS.fx.Base.extend({ + init: function(elm, property, options) { + this.parent(); + this.elm = elm; + this.setOptions(options); + this.property = property; + }, + + increase: function(){ + this.setStyle(this.elm, this.property, this.now); + } +}); + +AJS.fx.Styles = AJS.fx.Base.extend({ + init: function(elm, options){ + this.parent(); + this.elm = AJS.$(elm); + this.setOptions(options); + this.now = {}; + }, + + setNow: function(){ + for (p in this.from) + this.now[p] = this.compute(this.from[p], this.to[p]); + }, + + custom: function(obj){ + if (this.timer && this.options.wait) return; + var from = {}; + var to = {}; + for (p in obj){ + from[p] = obj[p][0]; + to[p] = obj[p][1]; + } + return this._start(from, to); + }, + + increase: function(){ + for (var p in this.now) this.setStyle(this.elm, p, this.now[p]); + } +}); + +//Transitions (c) 2003 Robert Penner (http://www.robertpenner.com/easing/), BSD License. +AJS.fx.Transitions = { + linear: function(t, b, c, d) { return c*t/d + b; }, + sineInOut: function(t, b, c, d) { return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; } +}; + +script_loaded = true; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.css @@ -0,0 +1,32 @@ +/* Last-Modified: 28/06/06 00:08:22 */ +#GB_overlay { + background-color: #000; + position: absolute; + margin: auto; + top: 0; + left: 0; + z-index: 100; +} + +#GB_window { + left: 0; + top: 0; + font-size: 1px; + position: absolute; + overflow: visible; + z-index: 150; +} + +#GB_window .content { + width: auto; + margin: 0; + padding: 0; +} + +#GB_frame { + border: 0; + margin: 0; + padding: 0; + overflow: auto; + white-space: nowrap; +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/base.js @@ -0,0 +1,192 @@ +var GB_CURRENT = null; + +GB_hide = function() { + GB_CURRENT.hide(); +} + +GreyBox = new AJS.Class({ + init: function(options) { + this.use_fx = AJS.fx; + this.type = "page"; + this.overlay_click_close = false; + this.salt = 0; + this.root_dir = GB_ROOT_DIR; + this.callback_fns = []; + this.reload_on_close = false; + this.src_loader = this.root_dir + 'loader_frame.html'; + + //Solve the www issue + var h_www = window.location.hostname.indexOf('www'); + var src_www = this.src_loader.indexOf('www'); + if(h_www != -1 && src_www == -1) + this.src_loader = this.src_loader.replace('://', '://www.'); + + if(h_www == -1 && src_www != -1) + this.src_loader = this.src_loader.replace('://www.', '://'); + + this.show_loading = true; + AJS.update(this, options); + }, + + addCallback: function(fn) { + if(fn) this.callback_fns.push(fn); + }, + + show: function(url) { + GB_CURRENT = this; + this.url = url; + + var elms = [AJS.$bytc("object"), AJS.$bytc("select")]; + AJS.map(AJS.flattenList(elms), function(elm) { + elm.style.visibility = "hidden"; + }); + + this.createElements(); + return false; + }, + + hide: function() { + var c_bs = this.callback_fns; + if(c_bs != []) { + AJS.map(c_bs, function(fn) { + fn(); + }); + } + + this.onHide(); + if(this.use_fx) { + var elm = this.overlay; + AJS.fx.fadeOut(this.overlay, { + onComplete: function() { + AJS.removeElement(elm); + elm = null; + }, + duration: 300 + }); + AJS.removeElement(this.g_window); + } + else { + AJS.removeElement(this.g_window, this.overlay); + } + + this.removeFrame(); + + AJS.REV(window, "scroll", _GB_setOverlayDimension); + AJS.REV(window, "resize", _GB_update); + + var elms = [AJS.$bytc("object"), AJS.$bytc("select")]; + AJS.map(AJS.flattenList(elms), function(elm) { + elm.style.visibility = "visible"; + }); + + GB_CURRENT = null; + + if(this.reload_on_close) + window.location.reload(); + }, + + update: function() { + this.setOverlayDimension(); + this.setFrameSize(); + this.setWindowPosition(); + }, + + createElements: function() { + this.initOverlay(); + + this.g_window = AJS.DIV({'id': 'GB_window'}); + AJS.hideElement(this.g_window); + AJS.getBody().insertBefore(this.g_window, this.overlay.nextSibling); + + this.initFrame(); + this.initHook(); + this.update(); + + var me = this; + if(this.use_fx) { + AJS.fx.fadeIn(this.overlay, { + duration: 300, + to: 0.7, + onComplete: function() { + me.onShow(); + AJS.showElement(me.g_window); + me.startLoading(); + } + }); + } + else { + AJS.setOpacity(this.overlay, 0.7); + AJS.showElement(this.g_window); + this.onShow(); + this.startLoading(); + } + + AJS.AEV(window, "scroll", _GB_setOverlayDimension); + AJS.AEV(window, "resize", _GB_update); + }, + + removeFrame: function() { + try{ AJS.removeElement(this.iframe); } + catch(e) {} + + this.iframe = null; + }, + + startLoading: function() { + this.iframe.src = this.src_loader + '?s='+this.salt++; + AJS.showElement(this.iframe); + }, + + setOverlayDimension: function() { + var page_size = AJS.getWindowSize(); + if(AJS.isMozilla() || AJS.isOpera()) + AJS.setWidth(this.overlay, "100%"); + else + AJS.setWidth(this.overlay, page_size.w); + + var max_height = Math.max(AJS.getScrollTop()+page_size.h, AJS.getScrollTop()+this.height); + + if(max_height < AJS.getScrollTop()) + AJS.setHeight(this.overlay, max_height); + else + AJS.setHeight(this.overlay, AJS.getScrollTop()+page_size.h); + }, + + initOverlay: function() { + this.overlay = AJS.DIV({'id': 'GB_overlay'}); + + if(this.overlay_click_close) + AJS.AEV(this.overlay, "click", GB_hide); + + AJS.setOpacity(this.overlay, 0); + AJS.getBody().insertBefore(this.overlay, AJS.getBody().firstChild); + }, + + initFrame: function() { + if(!this.iframe) { + var d = {'name': 'GB_frame', 'class': 'GB_frame', 'frameBorder': 0}; + this.iframe = AJS.IFRAME(d); + this.middle_cnt = AJS.DIV({'class': 'content'}, this.iframe); + + this.top_cnt = AJS.DIV(); + this.bottom_cnt = AJS.DIV(); + + AJS.ACN(this.g_window, this.top_cnt, this.middle_cnt, this.bottom_cnt); + } + }, + + /* Can be implemented */ + onHide: function() {}, + onShow: function() {}, + setFrameSize: function() {}, + setWindowPosition: function() {}, + initHook: function() {} + +}); + +_GB_update = function() { if(GB_CURRENT) GB_CURRENT.update(); } +_GB_setOverlayDimension = function() { if(GB_CURRENT) GB_CURRENT.setOverlayDimension(); } + +AJS.preloadImages(GB_ROOT_DIR+'indicator.gif'); + +script_loaded = true; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/base/loader_frame.html @@ -0,0 +1,104 @@ + + + + + + + + +
+ +
+ + + + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.css @@ -0,0 +1,51 @@ +.GB_Gallery { + margin: 0 22px 0 22px; +} + +.GB_Gallery .content { + background-color: #fff; + border: 3px solid #ddd; +} + +.GB_header { + top: 10px; + left: 0; + margin: 0; + z-index: 500; + position: absolute; + border-bottom: 2px solid #555; + border-top: 2px solid #555; +} + +.GB_header .inner { + background-color: #333; + font-family: Arial, Verdana, sans-serif; + padding: 2px 20px 2px 20px; +} + +.GB_header table { + margin: 0; + width: 100%; + border-collapse: collapse; +} + +.GB_header .caption { + text-align: left; + color: #eee; + white-space: nowrap; + font-size: 20px; +} + +.GB_header .close { + text-align: right; +} + +.GB_header .close img { + z-index: 500; + cursor: pointer; +} + +.GB_header .middle { + white-space: nowrap; + text-align: center; +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/gallery/gallery.js @@ -0,0 +1,114 @@ +GB_showImage = function(caption, url, callback_fn) { + var options = { + width: 300, + height: 300, + type: 'image', + + fullscreen: false, + center_win: true, + caption: caption, + callback_fn: callback_fn + } + var win = new GB_Gallery(options); + return win.show(url); +} + +GB_showPage = function(caption, url, callback_fn) { + var options = { + type: 'page', + + caption: caption, + callback_fn: callback_fn, + fullscreen: true, + center_win: false + } + var win = new GB_Gallery(options); + return win.show(url); +} + +GB_Gallery = GreyBox.extend({ + init: function(options) { + this.parent({}); + this.img_close = this.root_dir + 'g_close.gif'; + AJS.update(this, options); + this.addCallback(this.callback_fn); + }, + + initHook: function() { + AJS.addClass(this.g_window, 'GB_Gallery'); + + var inner = AJS.DIV({'class': 'inner'}); + this.header = AJS.DIV({'class': 'GB_header'}, inner); + AJS.setOpacity(this.header, 0); + AJS.getBody().insertBefore(this.header, this.overlay.nextSibling); + + var td_caption = AJS.TD({'id': 'GB_caption', 'class': 'caption', 'width': '40%'}, this.caption); + var td_middle = AJS.TD({'id': 'GB_middle', 'class': 'middle', 'width': '20%'}); + + var img_close = AJS.IMG({'src': this.img_close}); + AJS.AEV(img_close, 'click', GB_hide); + var td_close = AJS.TD({'class': 'close', 'width': '40%'}, img_close); + + var tbody = AJS.TBODY(AJS.TR(td_caption, td_middle, td_close)); + + var table = AJS.TABLE({'cellspacing': '0', 'cellpadding': 0, 'border': 0}, tbody); + AJS.ACN(inner, table); + + if(this.fullscreen) + AJS.AEV(window, 'scroll', AJS.$b(this.setWindowPosition, this)); + else + AJS.AEV(window, 'scroll', AJS.$b(this._setHeaderPos, this)); + }, + + setFrameSize: function() { + var overlay_w = this.overlay.offsetWidth; + var page_size = AJS.getWindowSize(); + + if(this.fullscreen) { + this.width = overlay_w-40; + this.height = page_size.h-80; + } + AJS.setWidth(this.iframe, this.width); + AJS.setHeight(this.iframe, this.height); + + AJS.setWidth(this.header, overlay_w); + }, + + _setHeaderPos: function() { + AJS.setTop(this.header, AJS.getScrollTop()+10); + }, + + setWindowPosition: function() { + var overlay_w = this.overlay.offsetWidth; + var page_size = AJS.getWindowSize(); + AJS.setLeft(this.g_window, ((overlay_w - 50 - this.width)/2)); + + var header_top = AJS.getScrollTop()+55; + if(!this.center_win) { + AJS.setTop(this.g_window, header_top); + } + else { + var fl = ((page_size.h - this.height) /2) + 20 + AJS.getScrollTop(); + if(fl < 0) fl = 0; + if(header_top > fl) { + fl = header_top; + } + AJS.setTop(this.g_window, fl); + } + this._setHeaderPos(); + }, + + onHide: function() { + AJS.removeElement(this.header); + AJS.removeClass(this.g_window, 'GB_Gallery'); + }, + + onShow: function() { + if(this.use_fx) + AJS.fx.fadeIn(this.header, {to: 1}); + else + AJS.setOpacity(this.header, 1); + } +}); + +AJS.preloadImages(GB_ROOT_DIR+'g_close.gif'); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.css @@ -0,0 +1,20 @@ +#GB_middle { + color: #eee; +} + +#GB_middle img { + cursor: pointer; + vertical-align: middle; +} + +#GB_middle .disabled { + cursor: default; +} + +#GB_middle .left { + padding-right: 10px; +} + +#GB_middle .right { + padding-left: 10px; +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/set/set.js @@ -0,0 +1,101 @@ +GB_showFullScreenSet = function(set, start_index, callback_fn) { + var options = { + type: 'page', + fullscreen: true, + center_win: false + } + var gb_sets = new GB_Sets(options, set); + gb_sets.addCallback(callback_fn); + gb_sets.showSet(start_index-1); + return false; +} + +GB_showImageSet = function(set, start_index, callback_fn) { + var options = { + type: 'image', + fullscreen: false, + center_win: true, + width: 300, + height: 300 + } + var gb_sets = new GB_Sets(options, set); + gb_sets.addCallback(callback_fn); + gb_sets.showSet(start_index-1); + return false; +} + +GB_Sets = GB_Gallery.extend({ + init: function(options, set) { + this.parent(options); + if(!this.img_next) this.img_next = this.root_dir + 'next.gif'; + if(!this.img_prev) this.img_prev = this.root_dir + 'prev.gif'; + this.current_set = set; + }, + + showSet: function(start_index) { + this.current_index = start_index; + + var item = this.current_set[this.current_index]; + this.show(item.url); + this._setCaption(item.caption); + + this.btn_prev = AJS.IMG({'class': 'left', src: this.img_prev}); + this.btn_next = AJS.IMG({'class': 'right', src: this.img_next}); + + AJS.AEV(this.btn_prev, 'click', AJS.$b(this.switchPrev, this)); + AJS.AEV(this.btn_next, 'click', AJS.$b(this.switchNext, this)); + + GB_STATUS = AJS.SPAN({'class': 'GB_navStatus'}); + AJS.ACN(AJS.$('GB_middle'), this.btn_prev, GB_STATUS, this.btn_next); + + this.updateStatus(); + }, + + updateStatus: function() { + AJS.setHTML(GB_STATUS, (this.current_index + 1) + ' / ' + this.current_set.length); + if(this.current_index == 0) { + AJS.addClass(this.btn_prev, 'disabled'); + } + else { + AJS.removeClass(this.btn_prev, 'disabled'); + } + + if(this.current_index == this.current_set.length-1) { + AJS.addClass(this.btn_next, 'disabled'); + } + else { + AJS.removeClass(this.btn_next, 'disabled'); + } + }, + + _setCaption: function(caption) { + AJS.setHTML(AJS.$('GB_caption'), caption); + }, + + updateFrame: function() { + var item = this.current_set[this.current_index]; + this._setCaption(item.caption); + this.url = item.url; + this.startLoading(); + }, + + switchPrev: function() { + if(this.current_index != 0) { + this.current_index--; + this.updateFrame(); + this.updateStatus(); + } + }, + + switchNext: function() { + if(this.current_index != this.current_set.length-1) { + this.current_index++ + this.updateFrame(); + this.updateStatus(); + } + } +}); + +AJS.AEV(window, 'load', function() { + AJS.preloadImages(GB_ROOT_DIR+'next.gif', GB_ROOT_DIR+'prev.gif'); +}); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.css @@ -0,0 +1,39 @@ +.GB_Window .content { + background-color: #fff; + border: 3px solid #ccc; + border-top: none; +} + +.GB_Window .header { + border-bottom: 1px solid #aaa; + border-top: 1px solid #999; + border-left: 3px solid #ccc; + border-right: 3px solid #ccc; + margin: 0; + + height: 22px; + font-size: 12px; + padding: 3px 0; + color: #333; +} + +.GB_Window .caption { + font-size: 12px; + text-align: left; + font-weight: bold; + white-space: nowrap; + padding-right: 20px; +} + +.GB_Window .close { text-align: right; } +.GB_Window .close span { + font-size: 12px; + cursor: pointer; +} +.GB_Window .close img { + cursor: pointer; + padding: 0 3px 0 0; +} + +.GB_Window .on { border-bottom: 1px solid #333; } +.GB_Window .click { border-bottom: 1px solid red; } --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/greybox_source/window/window.js @@ -0,0 +1,109 @@ +GB_show = function(caption, url, /* optional */ height, width, callback_fn) { + var options = { + caption: caption, + height: height || 500, + width: width || 500, + fullscreen: false, + callback_fn: callback_fn + } + var win = new GB_Window(options); + return win.show(url); +} + +GB_showCenter = function(caption, url, /* optional */ height, width, callback_fn) { + var options = { + caption: caption, + center_win: true, + height: height || 500, + width: width || 500, + fullscreen: false, + callback_fn: callback_fn + } + var win = new GB_Window(options); + return win.show(url); +} + +GB_showFullScreen = function(caption, url, callback_fn) { + var options = { + caption: caption, + fullscreen: true, + callback_fn: callback_fn + } + var win = new GB_Window(options); + return win.show(url); +} + +GB_Window = GreyBox.extend({ + init: function(options) { + this.parent({}); + this.img_header = this.root_dir+"header_bg.gif"; + this.img_close = this.root_dir+"w_close.gif"; + this.show_close_img = true; + AJS.update(this, options); + this.addCallback(this.callback_fn); + }, + + initHook: function() { + AJS.addClass(this.g_window, 'GB_Window'); + + this.header = AJS.TABLE({'class': 'header'}); + this.header.style.backgroundImage = "url("+ this.img_header +")"; + + var td_caption = AJS.TD({'class': 'caption'}, this.caption); + var td_close = AJS.TD({'class': 'close'}); + + if(this.show_close_img) { + var img_close = AJS.IMG({'src': this.img_close}); + var span = AJS.SPAN('Close'); + + var btn = AJS.DIV(img_close, span); + + AJS.AEV([img_close, span], 'mouseover', function() { AJS.addClass(span, 'on'); }); + AJS.AEV([img_close, span], 'mouseout', function() { AJS.removeClass(span, 'on'); }); + AJS.AEV([img_close, span], 'mousedown', function() { AJS.addClass(span, 'click'); }); + AJS.AEV([img_close, span], 'mouseup', function() { AJS.removeClass(span, 'click'); }); + AJS.AEV([img_close, span], 'click', GB_hide); + + AJS.ACN(td_close, btn); + } + + tbody_header = AJS.TBODY(); + AJS.ACN(tbody_header, AJS.TR(td_caption, td_close)); + + AJS.ACN(this.header, tbody_header); + AJS.ACN(this.top_cnt, this.header); + + if(this.fullscreen) + AJS.AEV(window, 'scroll', AJS.$b(this.setWindowPosition, this)); + }, + + setFrameSize: function() { + if(this.fullscreen) { + var page_size = AJS.getWindowSize(); + overlay_h = page_size.h; + this.width = Math.round(this.overlay.offsetWidth - (this.overlay.offsetWidth/100)*10); + this.height = Math.round(overlay_h - (overlay_h/100)*10); + } + + AJS.setWidth(this.header, this.width+6); //6 is for the left+right border + AJS.setWidth(this.iframe, this.width); + AJS.setHeight(this.iframe, this.height); + }, + + setWindowPosition: function() { + var page_size = AJS.getWindowSize(); + AJS.setLeft(this.g_window, ((page_size.w - this.width)/2)-13); + + if(!this.center_win) { + AJS.setTop(this.g_window, AJS.getScrollTop()); + } + else { + var fl = ((page_size.h - this.height) /2) - 20 + AJS.getScrollTop(); + if(fl < 0) + fl = 0; + AJS.setTop(this.g_window, fl); + } + } +}); + +AJS.preloadImages(GB_ROOT_DIR+'w_close.gif', GB_ROOT_DIR+'header_bg.gif'); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/installation.html @@ -0,0 +1,49 @@ + + + + GreyBox - Installation + + + + + + + + + + +
    +
  1. +Append following to your header section (in between <header>...</header>). +
    +GB_ROOT_DIR is the URL where static files are located: +
    +<script type="text/javascript">
    +    var GB_ROOT_DIR = "http://mydomain.com/greybox/";
    +</script>
    +
    +
  2. +GB_ROOT_DIR should be absolute. + +
  3. +Append also following scripts and one stylesheet: +
    +<script type="text/javascript" src="greybox/AJS.js"></script>
    +<script type="text/javascript" src="greybox/AJS_fx.js"></script>
    +<script type="text/javascript" src="greybox/gb_scripts.js"></script>
    +<link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" />
    +
    + +AJS_fx.js is optional, it's used for effects. If you don't wish effects, then don't include AJS_fx.js in your header section. +
  4. + +
  5. +That's it, you are now ready to use GreyBox! +
  6. +
+ + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/normal_usage.html @@ -0,0 +1,126 @@ + + + + GreyBox - Normal usage + + + + + + + + + + + + + + + + +

Showing images

+ +

Showing one image:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_image[]">HTML</a>
+
+ +

Example:

+
+<a href="http://static.flickr.com/119/294309231_a3d2a339b9.jpg" title="Flower" rel="gb_image[]">Show flower</a>
+
+ +

Example rendered:

+Show flower + + +

Showing a group of images:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_imageset[NAME]">HTML</a>
+<a href="URL" title="CAPTION" rel="gb_imageset[NAME]">HTML</a>
+
+ +

Example:

+
+<a href="static_files/salt.jpg" rel="gb_imageset[nice_pics]" title="Salt flats in Chile">Salt flats</a>
+<a href="static_files/night_valley.jpg" rel="gb_imageset[nice_pics]" title="Night valley">Night valley</a>
+
+ +

Example rendered:

+Salt flats +Night valley + + +

Showing pages

+ +

Showing one page:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_page[WIDTH, HEIGHT]">HTML</a>
+
+ +

Example:

+
+<a href="http://google.com/" title="Google" rel="gb_page[500, 500]">Launch Google.com</a>
+
+ +

Example rendered:

+Launch Google.com + + +

Showing one page as center window:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_page_center[WIDTH, HEIGHT]">HTML</a>
+
+ +

Example:

+
+<a href="http://google.com/" title="Google" rel="gb_page_center[500, 500]">Launch Google.com</a>
+
+ +

Example rendered:

+Launch Google.com + + +

Showing one page in fullscreen:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_page_fs[]">HTML</a>
+
+ +

Example:

+
+<a href="http://google.com/" title="Google" rel="gb_page_fs[]">Launch Google.com</a>
+
+ +

Example rendered:

+Launch Google.com + +

Showing a group of pages:

+

Syntax:

+
+<a href="URL" title="CAPTION" rel="gb_pageset[NAME]">HTML</a>
+<a href="URL" title="CAPTION" rel="gb_pageset[NAME]">HTML</a>
+
+ +

Example:

+
+<a href="http://google.com/" title="Google" rel="gb_pageset[search_sites]">Launch Google search</a>
+<a href="http://search.yahoo.com/" rel="gb_pageset[search_sites]">Launch Yahoo search</a>
+
+ +

Example rendered:

+Launch Google search +Launch Yahoo search + + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.css @@ -0,0 +1,93 @@ +body { + font-family: helvetica, verdana, sans-serif; + font-size: 12px; + background-color: #fff; + padding: 10px 35px 35px 35px; + width: 800px; + margin: auto; +} + +#top { + text-align: center; +} + +h2 { + font-size: 18px; + color: #333; + margin: 35px 0 10px 0; +} + +h3 { + color: #333; + border-bottom: 1px solid #999; + font-size: 15px; + margin: 30px 0 3px 0; +} + +.first { + margin-top: 20px; +} + +h4 { + color: black; + font-size: 13px; + margin: 10px 0 5px 0; +} + +pre { + font-size: 11px; + margin-top: 5px; + padding: 4px; + background-color: #e3e2c6; + border: 1px solid #999; +} + +.hl { + background-color: #ffffcc; +} + +ol { + margin: 0; + padding: 0 0px 0 20px; +} + +li { + padding: 5px 0 5px 0; +} + +img { + border: 0; +} + +/* + * Menu + */ +#menu { + border-bottom: 1px solid #999; + margin: 20px 0px; + padding: 10px 0pt 5px; + text-align: center; +} + +#menu li { + display: inline; + margin: 0px; + padding: 0px; +} + +#menu a { + background: #ddd none repeat; + border: 1px solid #999; + margin: 0 5px 0 5px; + padding: 5px; +} + +#menu a.current { + background: #fff none repeat; + border-bottom: 1px solid #fff; +} + +#menu a { + color: black; + text-decoration: none; +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/GreyBox_v5_5/static_files/help.js @@ -0,0 +1,52 @@ +var tmpl_header = AJS.join('', [ + '

', + 'A pop-up window that doesn\'t suck.', + '
' +]); + +function insertHeader() { + AJS.DI(tmpl_header); +} + +var LINKS = { + 'installation': 'installation.html', + 'examples': 'examples.html', + 'nrm_usage': 'normal_usage.html', + 'adv_usage': 'advance_usage.html', + 'cmpr': 'compressing_greybox.html', + 'about': 'about.html' +} + +function insertMenu(current_page) { + var menu = AJS.UL({id: 'menu'}); + var create_item = function(cls, name) { + var item = AJS.LI({'class': cls}); + AJS.ACN(item, AJS.A({href: LINKS[cls]}, name)); + return item; + } + var items = [ + create_item('installation', 'Installation'), + create_item('examples', 'Examples'), + create_item('nrm_usage', 'Normal usage'), + create_item('adv_usage', 'Advance usage'), + create_item('cmpr', 'Compressing GreyBox'), + create_item('about', 'About') + ]; + + AJS.map(items, function(item) { + if(item.className == current_page) { + AJS.addClass(AJS.$bytc('a', null, item)[0], 'current'); + } + AJS.ACN(menu, item); + }); + AJS.DI(menu); +} + +function insertCode() { + var code = AJS.join('\n', arguments); + var result = '
';
+    code = code.replace(//g, '>');
+    result += code;
+    result += '
'; + document.write(result); +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_scripts.js @@ -0,0 +1,436 @@ +var GB_CURRENT=null; +GB_hide=function(){ +GB_CURRENT.hide(); +}; +GreyBox=new AJS.Class({init:function(_1){ +this.use_fx=AJS.fx; +this.type="page"; +this.overlay_click_close=false; +this.salt=0; +this.root_dir=GB_ROOT_DIR; +this.callback_fns=[]; +this.reload_on_close=false; +this.src_loader=this.root_dir+"loader_frame.html"; +var _2=window.location.hostname.indexOf("www"); +var _3=this.src_loader.indexOf("www"); +if(_2!=-1&&_3==-1){ +this.src_loader=this.src_loader.replace("://","://www."); +} +if(_2==-1&&_3!=-1){ +this.src_loader=this.src_loader.replace("://www.","://"); +} +this.show_loading=true; +AJS.update(this,_1); +},addCallback:function(fn){ +if(fn){ +this.callback_fns.push(fn); +} +},show:function(_5){ +GB_CURRENT=this; +this.url=_5; +var _6=[AJS.$bytc("object"),AJS.$bytc("select")]; +AJS.map(AJS.flattenList(_6),function(_7){ +_7.style.visibility="hidden"; +}); +this.createElements(); +return false; +},hide:function(){ +var _8=this.callback_fns; +if(_8!=[]){ +AJS.map(_8,function(fn){ +fn(); +}); +} +this.onHide(); +if(this.use_fx){ +var _a=this.overlay; +AJS.fx.fadeOut(this.overlay,{onComplete:function(){ +AJS.removeElement(_a); +_a=null; +},duration:300}); +AJS.removeElement(this.g_window); +}else{ +AJS.removeElement(this.g_window,this.overlay); +} +this.removeFrame(); +AJS.REV(window,"scroll",_GB_setOverlayDimension); +AJS.REV(window,"resize",_GB_update); +var _b=[AJS.$bytc("object"),AJS.$bytc("select")]; +AJS.map(AJS.flattenList(_b),function(_c){ +_c.style.visibility="visible"; +}); +GB_CURRENT=null; +if(this.reload_on_close){ +window.location.reload(); +} +},update:function(){ +this.setOverlayDimension(); +this.setFrameSize(); +this.setWindowPosition(); +},createElements:function(){ +this.initOverlay(); +this.g_window=AJS.DIV({"id":"GB_window"}); +AJS.hideElement(this.g_window); +AJS.getBody().insertBefore(this.g_window,this.overlay.nextSibling); +this.initFrame(); +this.initHook(); +this.update(); +var me=this; +if(this.use_fx){ +AJS.fx.fadeIn(this.overlay,{duration:300,to:0.7,onComplete:function(){ +me.onShow(); +AJS.showElement(me.g_window); +me.startLoading(); +}}); +}else{ +AJS.setOpacity(this.overlay,0.7); +AJS.showElement(this.g_window); +this.onShow(); +this.startLoading(); +} +AJS.AEV(window,"scroll",_GB_setOverlayDimension); +AJS.AEV(window,"resize",_GB_update); +},removeFrame:function(){ +try{ +AJS.removeElement(this.iframe); +} +catch(e){ +} +this.iframe=null; +},startLoading:function(){ +this.iframe.src=this.src_loader+"?s="+this.salt++; +AJS.showElement(this.iframe); +},setOverlayDimension:function(){ +var _e=AJS.getWindowSize(); +if(AJS.isMozilla()||AJS.isOpera()){ +AJS.setWidth(this.overlay,"100%"); +}else{ +AJS.setWidth(this.overlay,_e.w); +} +var _f=Math.max(AJS.getScrollTop()+_e.h,AJS.getScrollTop()+this.height); +if(_ffl){ +fl=_30; +} +AJS.setTop(this.g_window,fl); +} +this._setHeaderPos(); +},onHide:function(){ +AJS.removeElement(this.header); +AJS.removeClass(this.g_window,"GB_Gallery"); +},onShow:function(){ +if(this.use_fx){ +AJS.fx.fadeIn(this.header,{to:1}); +}else{ +AJS.setOpacity(this.header,1); +} +}}); +AJS.preloadImages(GB_ROOT_DIR+"g_close.gif"); +GB_showFullScreenSet=function(set,_33,_34){ +var _35={type:"page",fullscreen:true,center_win:false}; +var _36=new GB_Sets(_35,set); +_36.addCallback(_34); +_36.showSet(_33-1); +return false; +}; +GB_showImageSet=function(set,_38,_39){ +var _3a={type:"image",fullscreen:false,center_win:true,width:300,height:300}; +var _3b=new GB_Sets(_3a,set); +_3b.addCallback(_39); +_3b.showSet(_38-1); +return false; +}; +GB_Sets=GB_Gallery.extend({init:function(_3c,set){ +this.parent(_3c); +if(!this.img_next){ +this.img_next=this.root_dir+"next.gif"; +} +if(!this.img_prev){ +this.img_prev=this.root_dir+"prev.gif"; +} +this.current_set=set; +},showSet:function(_3e){ +this.current_index=_3e; +var _3f=this.current_set[this.current_index]; +this.show(_3f.url); +this._setCaption(_3f.caption); +this.btn_prev=AJS.IMG({"class":"left",src:this.img_prev}); +this.btn_next=AJS.IMG({"class":"right",src:this.img_next}); +AJS.AEV(this.btn_prev,"click",AJS.$b(this.switchPrev,this)); +AJS.AEV(this.btn_next,"click",AJS.$b(this.switchNext,this)); +GB_STATUS=AJS.SPAN({"class":"GB_navStatus"}); +AJS.ACN(AJS.$("GB_middle"),this.btn_prev,GB_STATUS,this.btn_next); +this.updateStatus(); +},updateStatus:function(){ +AJS.setHTML(GB_STATUS,(this.current_index+1)+" / "+this.current_set.length); +if(this.current_index==0){ +AJS.addClass(this.btn_prev,"disabled"); +}else{ +AJS.removeClass(this.btn_prev,"disabled"); +} +if(this.current_index==this.current_set.length-1){ +AJS.addClass(this.btn_next,"disabled"); +}else{ +AJS.removeClass(this.btn_next,"disabled"); +} +},_setCaption:function(_40){ +AJS.setHTML(AJS.$("GB_caption"),_40); +},updateFrame:function(){ +var _41=this.current_set[this.current_index]; +this._setCaption(_41.caption); +this.url=_41.url; +this.startLoading(); +},switchPrev:function(){ +if(this.current_index!=0){ +this.current_index--; +this.updateFrame(); +this.updateStatus(); +} +},switchNext:function(){ +if(this.current_index!=this.current_set.length-1){ +this.current_index++; +this.updateFrame(); +this.updateStatus(); +} +}}); +AJS.AEV(window,"load",function(){ +AJS.preloadImages(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"prev.gif"); +}); +GB_show=function(_42,url,_44,_45,_46){ +var _47={caption:_42,height:_44||500,width:_45||500,fullscreen:false,callback_fn:_46}; +var win=new GB_Window(_47); +return win.show(url); +}; +GB_showCenter=function(_49,url,_4b,_4c,_4d){ +var _4e={caption:_49,center_win:true,height:_4b||500,width:_4c||500,fullscreen:false,callback_fn:_4d}; +var win=new GB_Window(_4e); +return win.show(url); +}; +GB_showFullScreen=function(_50,url,_52){ +var _53={caption:_50,fullscreen:true,callback_fn:_52}; +var win=new GB_Window(_53); +return win.show(url); +}; +GB_Window=GreyBox.extend({init:function(_55){ +this.parent({}); +this.img_header=this.root_dir+"header_bg.gif"; +this.img_close=this.root_dir+"w_close.gif"; +this.show_close_img=true; +AJS.update(this,_55); +this.addCallback(this.callback_fn); +},initHook:function(){ +AJS.addClass(this.g_window,"GB_Window"); +this.header=AJS.TABLE({"class":"header"}); +this.header.style.backgroundImage="url("+this.img_header+")"; +var _56=AJS.TD({"class":"caption"},this.caption); +var _57=AJS.TD({"class":"close"}); +if(this.show_close_img){ +var _58=AJS.IMG({"src":this.img_close}); +var _59=AJS.SPAN("Close"); +var btn=AJS.DIV(_58,_59); +AJS.AEV([_58,_59],"mouseover",function(){ +AJS.addClass(_59,"on"); +}); +AJS.AEV([_58,_59],"mouseout",function(){ +AJS.removeClass(_59,"on"); +}); +AJS.AEV([_58,_59],"mousedown",function(){ +AJS.addClass(_59,"click"); +}); +AJS.AEV([_58,_59],"mouseup",function(){ +AJS.removeClass(_59,"click"); +}); +AJS.AEV([_58,_59],"click",GB_hide); +AJS.ACN(_57,btn); +} +tbody_header=AJS.TBODY(); +AJS.ACN(tbody_header,AJS.TR(_56,_57)); +AJS.ACN(this.header,tbody_header); +AJS.ACN(this.top_cnt,this.header); +if(this.fullscreen){ +AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this)); +} +},setFrameSize:function(){ +if(this.fullscreen){ +var _5b=AJS.getWindowSize(); +overlay_h=_5b.h; +this.width=Math.round(this.overlay.offsetWidth-(this.overlay.offsetWidth/100)*10); +this.height=Math.round(overlay_h-(overlay_h/100)*10); +} +AJS.setWidth(this.header,this.width+6); +AJS.setWidth(this.iframe,this.width); +AJS.setHeight(this.iframe,this.height); +},setWindowPosition:function(){ +var _5c=AJS.getWindowSize(); +AJS.setLeft(this.g_window,((_5c.w-this.width)/2)-13); +if(!this.center_win){ +AJS.setTop(this.g_window,AJS.getScrollTop()); +}else{ +var fl=((_5c.h-this.height)/2)-20+AJS.getScrollTop(); +if(fl<0){ +fl=0; +} +AJS.setTop(this.g_window,fl); +} +}}); +AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif"); + + +script_loaded=true; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/gb_styles.css @@ -0,0 +1,158 @@ +/* Last-Modified: 28/06/06 00:08:22 */ +#GB_overlay { + background-color: #000; + position: absolute; + margin: auto; + top: 0; + left: 0; + z-index: 100; +} + +#GB_window { + left: 0; + top: 0; + font-size: 1px; + position: absolute; + overflow: visible; + z-index: 150; +} + +#GB_window .content { + width: auto; + margin: 0; + padding: 0; +} + +#GB_frame { + border: 0; + margin: 0; + padding: 0; + overflow: auto; + white-space: nowrap; +} + + +.GB_Gallery { + margin: 0 22px 0 22px; +} + +.GB_Gallery .content { + background-color: #fff; + border: 3px solid #ddd; +} + +.GB_header { + top: 10px; + left: 0; + margin: 0; + z-index: 500; + position: absolute; + border-bottom: 2px solid #555; + border-top: 2px solid #555; +} + +.GB_header .inner { + background-color: #333; + font-family: Arial, Verdana, sans-serif; + padding: 2px 20px 2px 20px; +} + +.GB_header table { + margin: 0; + width: 100%; + border-collapse: separate; + border-right: 0px; + border-top: 0px; +} + +.GB_header td { + background-color: #333333; + border-bottom: 0px; + border-left: 0px; + padding: 0em 0em; +} + +.GB_header .caption { + text-align: left; + color: #eee; + white-space: nowrap; + font-size: 20px; + border-collapse: separate; +} + +.GB_header .close { + text-align: right; +} + +.GB_header .close img { + z-index: 500; + cursor: pointer; +} + +.GB_header .middle { + white-space: nowrap; + text-align: center; +} + + +#GB_middle { + color: #eee; +} + +#GB_middle img { + cursor: pointer; + vertical-align: middle; +} + +#GB_middle .disabled { + cursor: default; +} + +#GB_middle .left { + padding-right: 10px; +} + +#GB_middle .right { + padding-left: 10px; +} + + +.GB_Window .content { + background-color: #fff; + border: 3px solid #ccc; + border-top: none; +} + +.GB_Window .header { + border-bottom: 1px solid #aaa; + border-top: 1px solid #999; + border-left: 3px solid #ccc; + border-right: 3px solid #ccc; + margin: 0; + + height: 22px; + font-size: 12px; + padding: 3px 0; + color: #333; +} + +.GB_Window .caption { + font-size: 12px; + text-align: left; + font-weight: bold; + white-space: nowrap; + padding-right: 20px; +} + +.GB_Window .close { text-align: right; } +.GB_Window .close span { + font-size: 12px; + cursor: pointer; +} +.GB_Window .close img { + cursor: pointer; + padding: 0 3px 0 0; +} + +.GB_Window .on { border-bottom: 1px solid #333; } +.GB_Window .click { border-bottom: 1px solid red; } --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/greybox/loader_frame.html @@ -0,0 +1,104 @@ + + + + + + + + +
+ +
+ + + + + + --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.css @@ -0,0 +1,435 @@ +/*! + * jQuery UI CSS Framework 1.8.20 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; } +.ui-helper-clearfix:after { clear: both; } +.ui-helper-clearfix { zoom: 1; } +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/*! + * jQuery UI CSS Framework 1.8.20 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&fwDefault=normal&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=cccccc&bgTextureHeader=03_highlight_soft.png&bgImgOpacityHeader=75&borderColorHeader=aaaaaa&fcHeader=222222&iconColorHeader=222222&bgColorContent=ffffff&bgTextureContent=01_flat.png&bgImgOpacityContent=75&borderColorContent=aaaaaa&fcContent=222222&iconColorContent=222222&bgColorDefault=e6e6e6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=75&borderColorDefault=d3d3d3&fcDefault=555555&iconColorDefault=888888&bgColorHover=dadada&bgTextureHover=02_glass.png&bgImgOpacityHover=75&borderColorHover=999999&fcHover=212121&iconColorHover=454545&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=aaaaaa&fcActive=212121&iconColorActive=454545&bgColorHighlight=fbf9ee&bgTextureHighlight=02_glass.png&bgImgOpacityHighlight=55&borderColorHighlight=fcefa1&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=02_glass.png&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=01_flat.png&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #B9D8D9; background: #ffffff; color: #222222; } +.ui-widget-content a { color: #222222; } +.ui-widget-header { border: 1px solid #B9D8D9; background: #E6F0F2 none; color: #222222; font-weight: bold; } +.ui-widget-header a { color: #222222; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #B9D8D9; background: #F4F8F9 none; font-weight: normal; color: #555555; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff none; font-weight: normal; color: #212121; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec; color: #cd0a0a; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); } +.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }/*! + * jQuery UI Autocomplete 1.8.20 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,.3); -moz-box-shadow: 2px 2px 2px rgba(0,0,0,.3); box-shadow: 2px 2px 2px rgba(0,0,0,.3); } + +.ui-autocomplete.ui-widget-content .ui-state-hover { border: 1px solid #B9D8D9; background: #E6F0F2 none; font-weight: normal; color: #212121; +} + +.ui-autocomplete-loading { + background: #FFF url("../../img/loading-small.gif") right center no-repeat; +} + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.20 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu li { + list-style:none; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/*! + * jQuery UI Tabs 1.8.20 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/*! + * jQuery UI Datepicker 1.8.20 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border : 0; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { background : transparent none; padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery-ui.js @@ -0,0 +1,29 @@ +/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.core.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){function c(b,c){var e=b.nodeName.toLowerCase();if("area"===e){var f=b.parentNode,g=f.name,h;return!b.href||!g||f.nodeName.toLowerCase()!=="map"?!1:(h=a("img[usemap=#"+g+"]")[0],!!h&&d(h))}return(/input|select|textarea|button|object/.test(e)?!b.disabled:"a"==e?b.href||c:c)&&d(b)}function d(b){return!a(b).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.ui=a.ui||{};if(a.ui.version)return;a.extend(a.ui,{version:"1.8.21",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}}),a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(b,c){return typeof b=="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus(),c&&c.call(d)},b)}):this._focus.apply(this,arguments)},scrollParent:function(){var b;return a.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?b=this.parents().filter(function(){return/(relative|absolute|fixed)/.test(a.curCSS(this,"position",1))&&/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0):b=this.parents().filter(function(){return/(auto|scroll)/.test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0),/fixed/.test(this.css("position"))||!b.length?a(document):b},zIndex:function(c){if(c!==b)return this.css("zIndex",c);if(this.length){var d=a(this[0]),e,f;while(d.length&&d[0]!==document){e=d.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){f=parseInt(d.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}d=d.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),a.each(["Width","Height"],function(c,d){function h(b,c,d,f){return a.each(e,function(){c-=parseFloat(a.curCSS(b,"padding"+this,!0))||0,d&&(c-=parseFloat(a.curCSS(b,"border"+this+"Width",!0))||0),f&&(c-=parseFloat(a.curCSS(b,"margin"+this,!0))||0)}),c}var e=d==="Width"?["Left","Right"]:["Top","Bottom"],f=d.toLowerCase(),g={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};a.fn["inner"+d]=function(c){return c===b?g["inner"+d].call(this):this.each(function(){a(this).css(f,h(this,c)+"px")})},a.fn["outer"+d]=function(b,c){return typeof b!="number"?g["outer"+d].call(this,b):this.each(function(){a(this).css(f,h(this,b,!0,c)+"px")})}}),a.extend(a.expr[":"],{data:function(b,c,d){return!!a.data(b,d[3])},focusable:function(b){return c(b,!isNaN(a.attr(b,"tabindex")))},tabbable:function(b){var d=a.attr(b,"tabindex"),e=isNaN(d);return(e||d>=0)&&c(b,!e)}}),a(function(){var b=document.body,c=b.appendChild(c=document.createElement("div"));c.offsetHeight,a.extend(c.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0}),a.support.minHeight=c.offsetHeight===100,a.support.selectstart="onselectstart"in c,b.removeChild(c).style.display="none"}),a.extend(a.ui,{plugin:{add:function(b,c,d){var e=a.ui[b].prototype;for(var f in d)e.plugins[f]=e.plugins[f]||[],e.plugins[f].push([c,d[f]])},call:function(a,b,c){var d=a.plugins[b];if(!d||!a.element[0].parentNode)return;for(var e=0;e0?!0:(b[d]=1,e=b[d]>0,b[d]=0,e)},isOverAxis:function(a,b,c){return a>b&&a=9||!!b.button?this._mouseStarted?(this._mouseDrag(b),b.preventDefault()):(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,b)!==!1,this._mouseStarted?this._mouseDrag(b):this._mouseUp(b)),!this._mouseStarted):this._mouseUp(b)},_mouseUp:function(b){return a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,b.target==this._mouseDownEvent.target&&a.data(b.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(b)),!1},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(a){return this.mouseDelayMet},_mouseStart:function(a){},_mouseDrag:function(a){},_mouseStop:function(a){},_mouseCapture:function(a){return!0}})})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.position.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){a.ui=a.ui||{};var c=/left|center|right/,d=/top|center|bottom/,e="center",f={},g=a.fn.position,h=a.fn.offset;a.fn.position=function(b){if(!b||!b.of)return g.apply(this,arguments);b=a.extend({},b);var h=a(b.of),i=h[0],j=(b.collision||"flip").split(" "),k=b.offset?b.offset.split(" "):[0,0],l,m,n;return i.nodeType===9?(l=h.width(),m=h.height(),n={top:0,left:0}):i.setTimeout?(l=h.width(),m=h.height(),n={top:h.scrollTop(),left:h.scrollLeft()}):i.preventDefault?(b.at="left top",l=m=0,n={top:b.of.pageY,left:b.of.pageX}):(l=h.outerWidth(),m=h.outerHeight(),n=h.offset()),a.each(["my","at"],function(){var a=(b[this]||"").split(" ");a.length===1&&(a=c.test(a[0])?a.concat([e]):d.test(a[0])?[e].concat(a):[e,e]),a[0]=c.test(a[0])?a[0]:e,a[1]=d.test(a[1])?a[1]:e,b[this]=a}),j.length===1&&(j[1]=j[0]),k[0]=parseInt(k[0],10)||0,k.length===1&&(k[1]=k[0]),k[1]=parseInt(k[1],10)||0,b.at[0]==="right"?n.left+=l:b.at[0]===e&&(n.left+=l/2),b.at[1]==="bottom"?n.top+=m:b.at[1]===e&&(n.top+=m/2),n.left+=k[0],n.top+=k[1],this.each(function(){var c=a(this),d=c.outerWidth(),g=c.outerHeight(),h=parseInt(a.curCSS(this,"marginLeft",!0))||0,i=parseInt(a.curCSS(this,"marginTop",!0))||0,o=d+h+(parseInt(a.curCSS(this,"marginRight",!0))||0),p=g+i+(parseInt(a.curCSS(this,"marginBottom",!0))||0),q=a.extend({},n),r;b.my[0]==="right"?q.left-=d:b.my[0]===e&&(q.left-=d/2),b.my[1]==="bottom"?q.top-=g:b.my[1]===e&&(q.top-=g/2),f.fractions||(q.left=Math.round(q.left),q.top=Math.round(q.top)),r={left:q.left-h,top:q.top-i},a.each(["left","top"],function(c,e){a.ui.position[j[c]]&&a.ui.position[j[c]][e](q,{targetWidth:l,targetHeight:m,elemWidth:d,elemHeight:g,collisionPosition:r,collisionWidth:o,collisionHeight:p,offset:k,my:b.my,at:b.at})}),a.fn.bgiframe&&c.bgiframe(),c.offset(a.extend(q,{using:b.using}))})},a.ui.position={fit:{left:function(b,c){var d=a(window),e=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft();b.left=e>0?b.left-e:Math.max(b.left-c.collisionPosition.left,b.left)},top:function(b,c){var d=a(window),e=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop();b.top=e>0?b.top-e:Math.max(b.top-c.collisionPosition.top,b.top)}},flip:{left:function(b,c){if(c.at[0]===e)return;var d=a(window),f=c.collisionPosition.left+c.collisionWidth-d.width()-d.scrollLeft(),g=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,h=c.at[0]==="left"?c.targetWidth:-c.targetWidth,i=-2*c.offset[0];b.left+=c.collisionPosition.left<0?g+h+i:f>0?g+h+i:0},top:function(b,c){if(c.at[1]===e)return;var d=a(window),f=c.collisionPosition.top+c.collisionHeight-d.height()-d.scrollTop(),g=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,h=c.at[1]==="top"?c.targetHeight:-c.targetHeight,i=-2*c.offset[1];b.top+=c.collisionPosition.top<0?g+h+i:f>0?g+h+i:0}}},a.offset.setOffset||(a.offset.setOffset=function(b,c){/static/.test(a.curCSS(b,"position"))&&(b.style.position="relative");var d=a(b),e=d.offset(),f=parseInt(a.curCSS(b,"top",!0),10)||0,g=parseInt(a.curCSS(b,"left",!0),10)||0,h={top:c.top-e.top+f,left:c.left-e.left+g};"using"in c?c.using.call(b,h):d.css(h)},a.fn.offset=function(b){var c=this[0];return!c||!c.ownerDocument?null:b?a.isFunction(b)?this.each(function(c){a(this).offset(b.call(this,c,a(this).offset()))}):this.each(function(){a.offset.setOffset(this,b)}):h.call(this)}),function(){var b=document.getElementsByTagName("body")[0],c=document.createElement("div"),d,e,g,h,i;d=document.createElement(b?"div":"body"),g={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},b&&a.extend(g,{position:"absolute",left:"-1000px",top:"-1000px"});for(var j in g)d.style[j]=g[j];d.appendChild(c),e=b||document.documentElement,e.insertBefore(d,e.firstChild),c.style.cssText="position: absolute; left: 10.7432222px; top: 10.432325px; height: 30px; width: 201px;",h=a(c).offset(function(a,b){return b}).offset(),d.innerHTML="",e.removeChild(d),i=h.top+h.left+(b?2e3:0),f.fractions=i>21&&i<22}()})(jQuery);;/*! jQuery UI - v1.8.21 - 2012-06-05 +* https://github.com/jquery/jquery-ui +* Includes: jquery.ui.autocomplete.js +* Copyright (c) 2012 AUTHORS.txt; Licensed MIT, GPL */ +(function(a,b){var c=0;a.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var b=this,c=this.element[0].ownerDocument,d;this.isMultiLine=this.element.is("textarea"),this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(b.options.disabled||b.element.propAttr("readOnly"))return;d=!1;var e=a.ui.keyCode;switch(c.keyCode){case e.PAGE_UP:b._move("previousPage",c);break;case e.PAGE_DOWN:b._move("nextPage",c);break;case e.UP:b._keyEvent("previous",c);break;case e.DOWN:b._keyEvent("next",c);break;case e.ENTER:case e.NUMPAD_ENTER:b.menu.active&&(d=!0,c.preventDefault());case e.TAB:if(!b.menu.active)return;b.menu.select(c);break;case e.ESCAPE:b.element.val(b.term),b.close(c);break;default:clearTimeout(b.searching),b.searching=setTimeout(function(){b.term!=b.element.val()&&(b.selectedItem=null,b.search(null,c))},b.options.delay)}}).bind("keypress.autocomplete",function(a){d&&(d=!1,a.preventDefault())}).bind("focus.autocomplete",function(){if(b.options.disabled)return;b.selectedItem=null,b.previous=b.element.val()}).bind("blur.autocomplete",function(a){if(b.options.disabled)return;clearTimeout(b.searching),b.closing=setTimeout(function(){b.close(a),b._change(a)},150)}),this._initSource(),this.menu=a("
    ").addClass("ui-autocomplete").appendTo(a(this.options.appendTo||"body",c)[0]).mousedown(function(c){var d=b.menu.element[0];a(c.target).closest(".ui-menu-item").length||setTimeout(function(){a(document).one("mousedown",function(c){c.target!==b.element[0]&&c.target!==d&&!a.ui.contains(d,c.target)&&b.close()})},1),setTimeout(function(){clearTimeout(b.closing)},13)}).menu({focus:function(a,c){var d=c.item.data("item.autocomplete");!1!==b._trigger("focus",a,{item:d})&&/^key/.test(a.originalEvent.type)&&b.element.val(d.value)},selected:function(a,d){var e=d.item.data("item.autocomplete"),f=b.previous;b.element[0]!==c.activeElement&&(b.element.focus(),b.previous=f,setTimeout(function(){b.previous=f,b.selectedItem=e},1)),!1!==b._trigger("select",a,{item:e})&&b.element.val(e.value),b.term=b.element.val(),b.close(a),b.selectedItem=e},blur:function(a,c){b.menu.element.is(":visible")&&b.element.val()!==b.term&&b.element.val(b.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"),a.fn.bgiframe&&this.menu.element.bgiframe(),b.beforeunloadHandler=function(){b.element.removeAttr("autocomplete")},a(window).bind("beforeunload",b.beforeunloadHandler)},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"),this.menu.element.remove(),a(window).unbind("beforeunload",this.beforeunloadHandler),a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments),b==="source"&&this._initSource(),b==="appendTo"&&this.menu.element.appendTo(a(c||"body",this.element[0].ownerDocument)[0]),b==="disabled"&&c&&this.xhr&&this.xhr.abort()},_initSource:function(){var b=this,c,d;a.isArray(this.options.source)?(c=this.options.source,this.source=function(b,d){d(a.ui.autocomplete.filter(c,b.term))}):typeof this.options.source=="string"?(d=this.options.source,this.source=function(c,e){b.xhr&&b.xhr.abort(),b.xhr=a.ajax({url:d,data:c,dataType:"json",success:function(a,b){e(a)},error:function(){e([])}})}):this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val(),this.term=this.element.val();if(a.length").data("item.autocomplete",c).append(a("").text(c.label)).appendTo(b)},_move:function(a,b){if(!this.menu.element.is(":visible")){this.search(null,b);return}if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term),this.menu.deactivate();return}this.menu[a](b)},widget:function(){return this.menu.element},_keyEvent:function(a,b){if(!this.isMultiLine||this.menu.element.is(":visible"))this._move(a,b),b.preventDefault()}}),a.extend(a.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},filter:function(b,c){var d=new RegExp(a.ui.autocomplete.escapeRegex(c),"i");return a.grep(b,function(a){return d.test(a.label||a.value||a)})}})})(jQuery),function(a){a.widget("ui.menu",{_create:function(){var b=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(c){if(!a(c.target).closest(".ui-menu-item a").length)return;c.preventDefault(),b.select(c)}),this.refresh()},refresh:function(){var b=this,c=this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem");c.children("a").addClass("ui-corner-all").attr("tabindex",-1).mouseenter(function(c){b.activate(c,a(this).parent())}).mouseleave(function(){b.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.scrollTop(),e=this.element.height();c<0?this.element.scrollTop(d+c):c>=e&&this.element.scrollTop(d+c-e+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end(),this._trigger("focus",a,{item:b})},deactivate:function(){if(!this.active)return;this.active.children("a").removeClass("ui-state-hover").removeAttr("id"),this._trigger("blur"),this.active=null},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(!this.active){this.activate(c,this.element.children(b));return}var d=this.active[a+"All"](".ui-menu-item").eq(0);d.length?this.activate(c,d):this.activate(c,this.element.children(b))},nextPage:function(b){if(this.hasScroll()){if(!this.active||this.last()){this.activate(b,this.element.children(".ui-menu-item:first"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c-d+a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:last")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(b){if(this.hasScroll()){if(!this.active||this.first()){this.activate(b,this.element.children(".ui-menu-item:last"));return}var c=this.active.offset().top,d=this.element.height(),e=this.element.children(".ui-menu-item").filter(function(){var b=a(this).offset().top-c+d-a(this).height();return b<10&&b>-10});e.length||(e=this.element.children(".ui-menu-item:first")),this.activate(b,e)}else this.activate(b,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(!0)},_setOption:function(a,b){if(a=="selected"){if(this.options.collapsible&&b==this.options.selected)return;this.select(b)}else this.options[a]=b,this._tabify()},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+f());return a.cookie.apply(null,[b].concat(a.makeArray(arguments)))},_ui:function(a,b){return{tab:a,panel:b,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b=a(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function m(b,c){b.css("display",""),!a.support.opacity&&c.opacity&&b[0].style.removeAttribute("filter")}var d=this,e=this.options,f=/^#.+/;this.list=this.element.find("ol,ul").eq(0),this.lis=a(" > li:has(a[href])",this.list),this.anchors=this.lis.map(function(){return a("a",this)[0]}),this.panels=a([]),this.anchors.each(function(b,c){var g=a(c).attr("href"),h=g.split("#")[0],i;h&&(h===location.toString().split("#")[0]||(i=a("base")[0])&&h===i.href)&&(g=c.hash,c.href=g);if(f.test(g))d.panels=d.panels.add(d.element.find(d._sanitizeSelector(g)));else if(g&&g!=="#"){a.data(c,"href.tabs",g),a.data(c,"load.tabs",g.replace(/#.*$/,""));var j=d._tabId(c);c.href="#"+j;var k=d.element.find("#"+j);k.length||(k=a(e.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(d.panels[b-1]||d.list),k.data("destroy.tabs",!0)),d.panels=d.panels.add(k)}else e.disabled.push(b)}),c?(this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"),this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.lis.addClass("ui-state-default ui-corner-top"),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom"),e.selected===b?(location.hash&&this.anchors.each(function(a,b){if(b.hash==location.hash)return e.selected=a,!1}),typeof e.selected!="number"&&e.cookie&&(e.selected=parseInt(d._cookie(),10)),typeof e.selected!="number"&&this.lis.filter(".ui-tabs-selected").length&&(e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"))),e.selected=e.selected||(this.lis.length?0:-1)):e.selected===null&&(e.selected=-1),e.selected=e.selected>=0&&this.anchors[e.selected]||e.selected<0?e.selected:0,e.disabled=a.unique(e.disabled.concat(a.map(this.lis.filter(".ui-state-disabled"),function(a,b){return d.lis.index(a)}))).sort(),a.inArray(e.selected,e.disabled)!=-1&&e.disabled.splice(a.inArray(e.selected,e.disabled),1),this.panels.addClass("ui-tabs-hide"),this.lis.removeClass("ui-tabs-selected ui-state-active"),e.selected>=0&&this.anchors.length&&(d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash)).removeClass("ui-tabs-hide"),this.lis.eq(e.selected).addClass("ui-tabs-selected ui-state-active"),d.element.queue("tabs",function(){d._trigger("show",null,d._ui(d.anchors[e.selected],d.element.find(d._sanitizeSelector(d.anchors[e.selected].hash))[0]))}),this.load(e.selected)),a(window).bind("unload",function(){d.lis.add(d.anchors).unbind(".tabs"),d.lis=d.anchors=d.panels=null})):e.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")),this.element[e.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible"),e.cookie&&this._cookie(e.selected,e.cookie);for(var g=0,h;h=this.lis[g];g++)a(h)[a.inArray(g,e.disabled)!=-1&&!a(h).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");e.cache===!1&&this.anchors.removeData("cache.tabs"),this.lis.add(this.anchors).unbind(".tabs");if(e.event!=="mouseover"){var i=function(a,b){b.is(":not(.ui-state-disabled)")&&b.addClass("ui-state-"+a)},j=function(a,b){b.removeClass("ui-state-"+a)};this.lis.bind("mouseover.tabs",function(){i("hover",a(this))}),this.lis.bind("mouseout.tabs",function(){j("hover",a(this))}),this.anchors.bind("focus.tabs",function(){i("focus",a(this).closest("li"))}),this.anchors.bind("blur.tabs",function(){j("focus",a(this).closest("li"))})}var k,l;e.fx&&(a.isArray(e.fx)?(k=e.fx[0],l=e.fx[1]):k=l=e.fx);var n=l?function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.hide().removeClass("ui-tabs-hide").animate(l,l.duration||"normal",function(){m(c,l),d._trigger("show",null,d._ui(b,c[0]))})}:function(b,c){a(b).closest("li").addClass("ui-tabs-selected ui-state-active"),c.removeClass("ui-tabs-hide"),d._trigger("show",null,d._ui(b,c[0]))},o=k?function(a,b){b.animate(k,k.duration||"normal",function(){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),m(b,k),d.element.dequeue("tabs")})}:function(a,b,c){d.lis.removeClass("ui-tabs-selected ui-state-active"),b.addClass("ui-tabs-hide"),d.element.dequeue("tabs")};this.anchors.bind(e.event+".tabs",function(){var b=this,c=a(b).closest("li"),f=d.panels.filter(":not(.ui-tabs-hide)"),g=d.element.find(d._sanitizeSelector(b.hash));if(c.hasClass("ui-tabs-selected")&&!e.collapsible||c.hasClass("ui-state-disabled")||c.hasClass("ui-state-processing")||d.panels.filter(":animated").length||d._trigger("select",null,d._ui(this,g[0]))===!1)return this.blur(),!1;e.selected=d.anchors.index(this),d.abort();if(e.collapsible){if(c.hasClass("ui-tabs-selected"))return e.selected=-1,e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){o(b,f)}).dequeue("tabs"),this.blur(),!1;if(!f.length)return e.cookie&&d._cookie(e.selected,e.cookie),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this)),this.blur(),!1}e.cookie&&d._cookie(e.selected,e.cookie);if(g.length)f.length&&d.element.queue("tabs",function(){o(b,f)}),d.element.queue("tabs",function(){n(b,g)}),d.load(d.anchors.index(this));else throw"jQuery UI Tabs: Mismatching fragment identifier.";a.browser.msie&&this.blur()}),this.anchors.bind("click.tabs",function(){return!1})},_getIndex:function(a){return typeof a=="string"&&(a=this.anchors.index(this.anchors.filter("[href$='"+a+"']"))),a},destroy:function(){var b=this.options;return this.abort(),this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs"),this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all"),this.anchors.each(function(){var b=a.data(this,"href.tabs");b&&(this.href=b);var c=a(this).unbind(".tabs");a.each(["href","load","cache"],function(a,b){c.removeData(b+".tabs")})}),this.lis.unbind(".tabs").add(this.panels).each(function(){a.data(this,"destroy.tabs")?a(this).remove():a(this).removeClass(["ui-state-default","ui-corner-top","ui-tabs-selected","ui-state-active","ui-state-hover","ui-state-focus","ui-state-disabled","ui-tabs-panel","ui-widget-content","ui-corner-bottom","ui-tabs-hide"].join(" "))}),b.cookie&&this._cookie(null,b.cookie),this},add:function(c,d,e){e===b&&(e=this.anchors.length);var f=this,g=this.options,h=a(g.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,d)),i=c.indexOf("#")?this._tabId(a("a",h)[0]):c.replace("#","");h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",!0);var j=f.element.find("#"+i);return j.length||(j=a(g.panelTemplate).attr("id",i).data("destroy.tabs",!0)),j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide"),e>=this.lis.length?(h.appendTo(this.list),j.appendTo(this.list[0].parentNode)):(h.insertBefore(this.lis[e]),j.insertBefore(this.panels[e])),g.disabled=a.map(g.disabled,function(a,b){return a>=e?++a:a}),this._tabify(),this.anchors.length==1&&(g.selected=0,h.addClass("ui-tabs-selected ui-state-active"),j.removeClass("ui-tabs-hide"),this.element.queue("tabs",function(){f._trigger("show",null,f._ui(f.anchors[0],f.panels[0]))}),this.load(0)),this._trigger("add",null,this._ui(this.anchors[e],this.panels[e])),this},remove:function(b){b=this._getIndex(b);var c=this.options,d=this.lis.eq(b).remove(),e=this.panels.eq(b).remove();return d.hasClass("ui-tabs-selected")&&this.anchors.length>1&&this.select(b+(b+1=b?--a:a}),this._tabify(),this._trigger("remove",null,this._ui(d.find("a")[0],e[0])),this},enable:function(b){b=this._getIndex(b);var c=this.options;if(a.inArray(b,c.disabled)==-1)return;return this.lis.eq(b).removeClass("ui-state-disabled"),c.disabled=a.grep(c.disabled,function(a,c){return a!=b}),this._trigger("enable",null,this._ui(this.anchors[b],this.panels[b])),this},disable:function(a){a=this._getIndex(a);var b=this,c=this.options;return a!=c.selected&&(this.lis.eq(a).addClass("ui-state-disabled"),c.disabled.push(a),c.disabled.sort(),this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))),this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;return this.anchors.eq(a).trigger(this.options.event+".tabs"),this},load:function(b){b=this._getIndex(b);var c=this,d=this.options,e=this.anchors.eq(b)[0],f=a.data(e,"load.tabs");this.abort();if(!f||this.element.queue("tabs").length!==0&&a.data(e,"cache.tabs")){this.element.dequeue("tabs");return}this.lis.eq(b).addClass("ui-state-processing");if(d.spinner){var g=a("span",e);g.data("label.tabs",g.html()).html(d.spinner)}return this.xhr=a.ajax(a.extend({},d.ajaxOptions,{url:f,success:function(f,g){c.element.find(c._sanitizeSelector(e.hash)).html(f),c._cleanup(),d.cache&&a.data(e,"cache.tabs",!0),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.success(f,g)}catch(h){}},error:function(a,f,g){c._cleanup(),c._trigger("load",null,c._ui(c.anchors[b],c.panels[b]));try{d.ajaxOptions.error(a,f,b,e)}catch(g){}}})),c.element.dequeue("tabs"),this},abort:function(){return this.element.queue([]),this.panels.stop(!1,!0),this.element.queue("tabs",this.element.queue("tabs").splice(-2,2)),this.xhr&&(this.xhr.abort(),delete this.xhr),this._cleanup(),this},url:function(a,b){return this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",b),this},length:function(){return this.anchors.length}}),a.extend(a.ui.tabs,{version:"1.8.21"}),a.extend(a.ui.tabs.prototype,{rotation:null,rotate:function(a,b){var c=this,d=this.options,e=c._rotate||(c._rotate=function(b){clearTimeout(c.rotation),c.rotation=setTimeout(function(){var a=d.selected;c.select(++a'))}function bindHover(a){var b="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return a.bind("mouseout",function(a){var c=$(a.target).closest(b);if(!c.length)return;c.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(c){var d=$(c.target).closest(b);if($.datepicker._isDisabledDatepicker(instActive.inline?a.parent()[0]:instActive.input[0])||!d.length)return;d.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),d.addClass("ui-state-hover"),d.hasClass("ui-datepicker-prev")&&d.addClass("ui-datepicker-prev-hover"),d.hasClass("ui-datepicker-next")&&d.addClass("ui-datepicker-next-hover")})}function extendRemove(a,b){$.extend(a,b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}function isArray(a){return a&&($.browser.safari&&typeof a=="object"&&a.length||a.constructor&&a.constructor.toString().match(/\Array\(\)/))}$.extend($.ui,{datepicker:{version:"1.8.21"}});var PROP_NAME="datepicker",dpuuid=(new Date).getTime(),instActive;$.extend(Datepicker.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){return extendRemove(this._defaults,a||{}),this},_attachDatepicker:function(target,settings){var inlineSettings=null;for(var attrName in this._defaults){var attrValue=target.getAttribute("date:"+attrName);if(attrValue){inlineSettings=inlineSettings||{};try{inlineSettings[attrName]=eval(attrValue)}catch(err){inlineSettings[attrName]=attrValue}}}var nodeName=target.nodeName.toLowerCase(),inline=nodeName=="div"||nodeName=="span";target.id||(this.uuid+=1,target.id="dp"+this.uuid);var inst=this._newInst($(target),inline);inst.settings=$.extend({},settings||{},inlineSettings||{}),nodeName=="input"?this._connectDatepicker(target,inst):inline&&this._inlineDatepicker(target,inst)},_newInst:function(a,b){var c=a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1");return{id:c,input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:b?bindHover($('
    ')):this.dpDiv}},_connectDatepicker:function(a,b){var c=$(a);b.append=$([]),b.trigger=$([]);if(c.hasClass(this.markerClassName))return;this._attachments(c,b),c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),this._autoSize(b),$.data(a,PROP_NAME,b),b.settings.disabled&&this._disableDatepicker(a)},_attachments:function(a,b){var c=this._get(b,"appendText"),d=this._get(b,"isRTL");b.append&&b.append.remove(),c&&(b.append=$(''+c+""),a[d?"before":"after"](b.append)),a.unbind("focus",this._showDatepicker),b.trigger&&b.trigger.remove();var e=this._get(b,"showOn");(e=="focus"||e=="both")&&a.focus(this._showDatepicker);if(e=="button"||e=="both"){var f=this._get(b,"buttonText"),g=this._get(b,"buttonImage");b.trigger=$(this._get(b,"buttonImageOnly")?$("").addClass(this._triggerClass).attr({src:g,alt:f,title:f}):$('').addClass(this._triggerClass).html(g==""?f:$("").attr({src:g,alt:f,title:f}))),a[d?"before":"after"](b.trigger),b.trigger.click(function(){return $.datepicker._datepickerShowing&&$.datepicker._lastInput==a[0]?$.datepicker._hideDatepicker():$.datepicker._datepickerShowing&&$.datepicker._lastInput!=a[0]?($.datepicker._hideDatepicker(),$.datepicker._showDatepicker(a[0])):$.datepicker._showDatepicker(a[0]),!1})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var d=function(a){var b=0,c=0;for(var d=0;db&&(b=a[d].length,c=d);return c};b.setMonth(d(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort"))),b.setDate(d(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=$(a);if(c.hasClass(this.markerClassName))return;c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(a,c,d){b.settings[c]=d}).bind("getData.datepicker",function(a,c){return this._get(b,c)}),$.data(a,PROP_NAME,b),this._setDate(b,this._getDefaultDate(b),!0),this._updateDatepicker(b),this._updateAlternate(b),b.settings.disabled&&this._disableDatepicker(a),b.dpDiv.css("display","block")},_dialogDatepicker:function(a,b,c,d,e){var f=this._dialogInst;if(!f){this.uuid+=1;var g="dp"+this.uuid;this._dialogInput=$(''),this._dialogInput.keydown(this._doKeyDown),$("body").append(this._dialogInput),f=this._dialogInst=this._newInst(this._dialogInput,!1),f.settings={},$.data(this._dialogInput[0],PROP_NAME,f)}extendRemove(f.settings,d||{}),b=b&&b.constructor==Date?this._formatDate(f,b):b,this._dialogInput.val(b),this._pos=e?e.length?e:[e.pageX,e.pageY]:null;if(!this._pos){var h=document.documentElement.clientWidth,i=document.documentElement.clientHeight,j=document.documentElement.scrollLeft||document.body.scrollLeft,k=document.documentElement.scrollTop||document.body.scrollTop;this._pos=[h/2-100+j,i/2-150+k]}return this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),f.settings.onSelect=c,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),$.blockUI&&$.blockUI(this.dpDiv),$.data(this._dialogInput[0],PROP_NAME,f),this},_destroyDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();$.removeData(a,PROP_NAME),d=="input"?(c.append.remove(),c.trigger.remove(),b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):(d=="div"||d=="span")&&b.removeClass(this.markerClassName).empty()},_enableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!1,c.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().removeClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b})},_disableDatepicker:function(a){var b=$(a),c=$.data(a,PROP_NAME);if(!b.hasClass(this.markerClassName))return;var d=a.nodeName.toLowerCase();if(d=="input")a.disabled=!0,c.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"});else if(d=="div"||d=="span"){var e=b.children("."+this._inlineClass);e.children().addClass("ui-state-disabled"),e.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=$.map(this._disabledInputs,function(b){return b==a?null:b}),this._disabledInputs[this._disabledInputs.length]=a},_isDisabledDatepicker:function(a){if(!a)return!1;for(var b=0;b-1}},_doKeyUp:function(a){var b=$.datepicker._getInst(a.target);if(b.input.val()!=b.lastVal)try{var c=$.datepicker.parseDate($.datepicker._get(b,"dateFormat"),b.input?b.input.val():null,$.datepicker._getFormatConfig(b));c&&($.datepicker._setDateFromField(b),$.datepicker._updateAlternate(b),$.datepicker._updateDatepicker(b))}catch(d){$.datepicker.log(d)}return!0},_showDatepicker:function(a){a=a.target||a,a.nodeName.toLowerCase()!="input"&&(a=$("input",a.parentNode)[0]);if($.datepicker._isDisabledDatepicker(a)||$.datepicker._lastInput==a)return;var b=$.datepicker._getInst(a);$.datepicker._curInst&&$.datepicker._curInst!=b&&($.datepicker._curInst.dpDiv.stop(!0,!0),b&&$.datepicker._datepickerShowing&&$.datepicker._hideDatepicker($.datepicker._curInst.input[0]));var c=$.datepicker._get(b,"beforeShow"),d=c?c.apply(a,[a,b]):{};if(d===!1)return;extendRemove(b.settings,d),b.lastVal=null,$.datepicker._lastInput=a,$.datepicker._setDateFromField(b),$.datepicker._inDialog&&(a.value=""),$.datepicker._pos||($.datepicker._pos=$.datepicker._findPos(a),$.datepicker._pos[1]+=a.offsetHeight);var e=!1;$(a).parents().each(function(){return e|=$(this).css("position")=="fixed",!e}),e&&$.browser.opera&&($.datepicker._pos[0]-=document.documentElement.scrollLeft,$.datepicker._pos[1]-=document.documentElement.scrollTop);var f={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};$.datepicker._pos=null,b.dpDiv.empty(),b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),$.datepicker._updateDatepicker(b),f=$.datepicker._checkOffset(b,f,e),b.dpDiv.css({position:$.datepicker._inDialog&&$.blockUI?"static":e?"fixed":"absolute",display:"none",left:f.left+"px",top:f.top+"px"});if(!b.inline){var g=$.datepicker._get(b,"showAnim"),h=$.datepicker._get(b,"duration"),i=function(){var a=b.dpDiv.find("iframe.ui-datepicker-cover");if(!!a.length){var c=$.datepicker._getBorders(b.dpDiv);a.css({left:-c[0],top:-c[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex($(a).zIndex()+1),$.datepicker._datepickerShowing=!0,$.effects&&$.effects[g]?b.dpDiv.show(g,$.datepicker._get(b,"showOptions"),h,i):b.dpDiv[g||"show"](g?h:null,i),(!g||!h)&&i(),b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus(),$.datepicker._curInst=b}},_updateDatepicker:function(a){var b=this;b.maxRows=4;var c=$.datepicker._getBorders(a.dpDiv);instActive=a,a.dpDiv.empty().append(this._generateHTML(a));var d=a.dpDiv.find("iframe.ui-datepicker-cover");!d.length||d.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}),a.dpDiv.find("."+this._dayOverClass+" a").mouseover();var e=this._getNumberOfMonths(a),f=e[1],g=17;a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),f>1&&a.dpDiv.addClass("ui-datepicker-multi-"+f).css("width",g*f+"em"),a.dpDiv[(e[0]!=1||e[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi"),a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),a==$.datepicker._curInst&&$.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var h=a.yearshtml;setTimeout(function(){h===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml),h=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(a){return{thin:1,medium:2,thick:3}[a]||a};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var d=a.dpDiv.outerWidth(),e=a.dpDiv.outerHeight(),f=a.input?a.input.outerWidth():0,g=a.input?a.input.outerHeight():0,h=document.documentElement.clientWidth+$(document).scrollLeft(),i=document.documentElement.clientHeight+$(document).scrollTop();return b.left-=this._get(a,"isRTL")?d-f:0,b.left-=c&&b.left==a.input.offset().left?$(document).scrollLeft():0,b.top-=c&&b.top==a.input.offset().top+g?$(document).scrollTop():0,b.left-=Math.min(b.left,b.left+d>h&&h>d?Math.abs(b.left+d-h):0),b.top-=Math.min(b.top,b.top+e>i&&i>e?Math.abs(e+g):0),b},_findPos:function(a){var b=this._getInst(a),c=this._get(b,"isRTL");while(a&&(a.type=="hidden"||a.nodeType!=1||$.expr.filters.hidden(a)))a=a[c?"previousSibling":"nextSibling"];var d=$(a).offset();return[d.left,d.top]},_hideDatepicker:function(a){var b=this._curInst;if(!b||a&&b!=$.data(a,PROP_NAME))return;if(this._datepickerShowing){var c=this._get(b,"showAnim"),d=this._get(b,"duration"),e=function(){$.datepicker._tidyDialog(b)};$.effects&&$.effects[c]?b.dpDiv.hide(c,$.datepicker._get(b,"showOptions"),d,e):b.dpDiv[c=="slideDown"?"slideUp":c=="fadeIn"?"fadeOut":"hide"](c?d:null,e),c||e(),this._datepickerShowing=!1;var f=this._get(b,"onClose");f&&f.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),$.blockUI&&($.unblockUI(),$("body").append(this.dpDiv))),this._inDialog=!1}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(!$.datepicker._curInst)return;var b=$(a.target),c=$.datepicker._getInst(b[0]);(b[0].id!=$.datepicker._mainDivId&&b.parents("#"+$.datepicker._mainDivId).length==0&&!b.hasClass($.datepicker.markerClassName)&&!b.closest("."+$.datepicker._triggerClass).length&&$.datepicker._datepickerShowing&&(!$.datepicker._inDialog||!$.blockUI)||b.hasClass($.datepicker.markerClassName)&&$.datepicker._curInst!=c)&&$.datepicker._hideDatepicker()},_adjustDate:function(a,b,c){var d=$(a),e=this._getInst(d[0]);if(this._isDisabledDatepicker(d[0]))return;this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c),this._updateDatepicker(e)},_gotoToday:function(a){var b=$(a),c=this._getInst(b[0]);if(this._get(c,"gotoCurrent")&&c.currentDay)c.selectedDay=c.currentDay,c.drawMonth=c.selectedMonth=c.currentMonth,c.drawYear=c.selectedYear=c.currentYear;else{var d=new Date;c.selectedDay=d.getDate(),c.drawMonth=c.selectedMonth=d.getMonth(),c.drawYear=c.selectedYear=d.getFullYear()}this._notifyChange(c),this._adjustDate(b)},_selectMonthYear:function(a,b,c){var d=$(a),e=this._getInst(d[0]);e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10),this._notifyChange(e),this._adjustDate(d)},_selectDay:function(a,b,c,d){var e=$(a);if($(d).hasClass(this._unselectableClass)||this._isDisabledDatepicker(e[0]))return;var f=this._getInst(e[0]);f.selectedDay=f.currentDay=$("a",d).html(),f.selectedMonth=f.currentMonth=b,f.selectedYear=f.currentYear=c,this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))},_clearDate:function(a){var b=$(a),c=this._getInst(b[0]);this._selectDate(b,"")},_selectDate:function(a,b){var c=$(a),d=this._getInst(c[0]);b=b!=null?b:this._formatDate(d),d.input&&d.input.val(b),this._updateAlternate(d);var e=this._get(d,"onSelect");e?e.apply(d.input?d.input[0]:null,[b,d]):d.input&&d.input.trigger("change"),d.inline?this._updateDatepicker(d):(this._hideDatepicker(),this._lastInput=d.input[0],typeof d.input[0]!="object"&&d.input.focus(),this._lastInput=null)},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),d=this._getDate(a),e=this.formatDate(c,d,this._getFormatConfig(a));$(b).each(function(){$(this).val(e)})}},noWeekends:function(a){var b=a.getDay();return[b>0&&b<6,""]},iso8601Week:function(a){var b=new Date(a.getTime());b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var d=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;d=typeof d!="string"?d:(new Date).getFullYear()%100+parseInt(d,10);var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,g=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,h=(c?c.monthNames:null)||this._defaults.monthNames,i=-1,j=-1,k=-1,l=-1,m=!1,n=function(b){var c=s+1-1){j=1,k=l;do{var u=this._getDaysInMonth(i,j-1);if(k<=u)break;j++,k-=u}while(!0)}var t=this._daylightSavingAdjust(new Date(i,j-1,k));if(t.getFullYear()!=i||t.getMonth()+1!=j||t.getDate()!=k)throw"Invalid date";return t},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1e7,formatDate:function(a,b,c){if(!b)return"";var d=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,e=(c?c.dayNames:null)||this._defaults.dayNames,f=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,h=function(b){var c=m+112?a.getHours()+2:0),a):null},_setDate:function(a,b,c){var d=!b,e=a.selectedMonth,f=a.selectedYear,g=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=g.getDate(),a.drawMonth=a.selectedMonth=a.currentMonth=g.getMonth(),a.drawYear=a.selectedYear=a.currentYear=g.getFullYear(),(e!=a.selectedMonth||f!=a.selectedYear)&&!c&&this._notifyChange(a),this._adjustInstDate(a),a.input&&a.input.val(d?"":this._formatDate(a))},_getDate:function(a){var b=!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return b},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),d=this._get(a,"showButtonPanel"),e=this._get(a,"hideIfNoPrevNext"),f=this._get(a,"navigationAsDateFormat"),g=this._getNumberOfMonths(a),h=this._get(a,"showCurrentAtPos"),i=this._get(a,"stepMonths"),j=g[0]!=1||g[1]!=1,k=this._daylightSavingAdjust(a.currentDay?new Date(a.currentYear,a.currentMonth,a.currentDay):new Date(9999,9,9)),l=this._getMinMaxDate(a,"min"),m=this._getMinMaxDate(a,"max"),n=a.drawMonth-h,o=a.drawYear;n<0&&(n+=12,o--);if(m){var p=this._daylightSavingAdjust(new Date(m.getFullYear(),m.getMonth()-g[0]*g[1]+1,m.getDate()));p=l&&pp)n--,n<0&&(n=11,o--)}a.drawMonth=n,a.drawYear=o;var q=this._get(a,"prevText");q=f?this.formatDate(q,this._daylightSavingAdjust(new Date(o,n-i,1)),this._getFormatConfig(a)):q;var r=this._canAdjustMonth(a,-1,o,n)?''+q+"":e?"":''+q+"",s=this._get(a,"nextText");s=f?this.formatDate(s,this._daylightSavingAdjust(new Date(o,n+i,1)),this._getFormatConfig(a)):s;var t=this._canAdjustMonth(a,1,o,n)?''+s+"":e?"":''+s+"",u=this._get(a,"currentText"),v=this._get(a,"gotoCurrent")&&a.currentDay?k:b;u=f?this.formatDate(u,v,this._getFormatConfig(a)):u;var w=a.inline?"":'",x=d?'
    '+(c?w:"")+(this._isInRange(a,v)?'":"")+(c?"":w)+"
    ":"",y=parseInt(this._get(a,"firstDay"),10);y=isNaN(y)?0:y;var z=this._get(a,"showWeek"),A=this._get(a,"dayNames"),B=this._get(a,"dayNamesShort"),C=this._get(a,"dayNamesMin"),D=this._get(a,"monthNames"),E=this._get(a,"monthNamesShort"),F=this._get(a,"beforeShowDay"),G=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths"),I=this._get(a,"calculateWeek")||this.iso8601Week,J=this._getDefaultDate(a),K="";for(var L=0;L1)switch(N){case 0:Q+=" ui-datepicker-group-first",P=" ui-corner-"+(c?"right":"left");break;case g[1]-1:Q+=" ui-datepicker-group-last",P=" ui-corner-"+(c?"left":"right");break;default:Q+=" ui-datepicker-group-middle",P=""}Q+='">'}Q+='
    '+(/all|left/.test(P)&&L==0?c?t:r:"")+(/all|right/.test(P)&&L==0?c?r:t:"")+this._generateMonthYearHeader(a,n,o,l,m,L>0||N>0,D,E)+'
    '+"";var R=z?'":"";for(var S=0;S<7;S++){var T=(S+y)%7;R+="=5?' class="ui-datepicker-week-end"':"")+">"+''+C[T]+""}Q+=R+"";var U=this._getDaysInMonth(o,n);o==a.selectedYear&&n==a.selectedMonth&&(a.selectedDay=Math.min(a.selectedDay,U));var V=(this._getFirstDayOfMonth(o,n)-y+7)%7,W=Math.ceil((V+U)/7),X=j?this.maxRows>W?this.maxRows:W:W;this.maxRows=X;var Y=this._daylightSavingAdjust(new Date(o,n,1-V));for(var Z=0;Z";var _=z?'":"";for(var S=0;S<7;S++){var ba=F?F.apply(a.input?a.input[0]:null,[Y]):[!0,""],bb=Y.getMonth()!=n,bc=bb&&!H||!ba[0]||l&&Ym;_+='",Y.setDate(Y.getDate()+1),Y=this._daylightSavingAdjust(Y)}Q+=_+""}n++,n>11&&(n=0,o++),Q+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(Y)+""+(bb&&!G?" ":bc?''+Y.getDate()+"":''+Y.getDate()+"")+"
    "+(j?""+(g[0]>0&&N==g[1]-1?'
    ':""):""),M+=Q}K+=M}return K+=x+($.browser.msie&&parseInt($.browser.version,10)<7&&!a.inline?'':""),a._keyEvent=!1,K},_generateMonthYearHeader:function(a,b,c,d,e,f,g,h){var i=this._get(a,"changeMonth"),j=this._get(a,"changeYear"),k=this._get(a,"showMonthAfterYear"),l='
    ',m="";if(f||!i)m+=''+g[b]+"";else{var n=d&&d.getFullYear()==c,o=e&&e.getFullYear()==c;m+='"}k||(l+=m+(f||!i||!j?" ":""));if(!a.yearshtml){a.yearshtml="";if(f||!j)l+=''+c+"";else{var q=this._get(a,"yearRange").split(":"),r=(new Date).getFullYear(),s=function(a){var b=a.match(/c[+-].*/)?c+parseInt(a.substring(1),10):a.match(/[+-].*/)?r+parseInt(a,10):parseInt(a,10);return isNaN(b)?r:b},t=s(q[0]),u=Math.max(t,s(q[1]||""));t=d?Math.max(t,d.getFullYear()):t,u=e?Math.min(u,e.getFullYear()):u,a.yearshtml+='",l+=a.yearshtml,a.yearshtml=null}}return l+=this._get(a,"yearSuffix"),k&&(l+=(f||!i||!j?" ":"")+m),l+="
    ",l},_adjustInstDate:function(a,b,c){var d=a.drawYear+(c=="Y"?b:0),e=a.drawMonth+(c=="M"?b:0),f=Math.min(a.selectedDay,this._getDaysInMonth(d,e))+(c=="D"?b:0),g=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(d,e,f)));a.selectedDay=g.getDate(),a.drawMonth=a.selectedMonth=g.getMonth(),a.drawYear=a.selectedYear=g.getFullYear(),(c=="M"||c=="Y")&&this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max"),e=c&&bd?d:e,e},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");b&&b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){var b=this._get(a,"numberOfMonths");return b==null?[1,1]:typeof b=="number"?[1,b]:b},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,d){var e=this._getNumberOfMonths(a),f=this._daylightSavingAdjust(new Date(c,d+(b<0?b:e[0]*e[1]),1));return b<0&&f.setDate(this._getDaysInMonth(f.getFullYear(),f.getMonth())),this._isInRange(a,f)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min"),d=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!d||b.getTime()<=d.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");return b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10),{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,d){b||(a.currentDay=a.selectedDay,a.currentMonth=a.selectedMonth,a.currentYear=a.selectedYear);var e=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(d,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),e,this._getFormatConfig(a))}}),$.fn.datepicker=function(a){if(!this.length)return this;$.datepicker.initialized||($(document).mousedown($.datepicker._checkExternalClick).find("body").append($.datepicker.dpDiv),$.datepicker.initialized=!0);var b=Array.prototype.slice.call(arguments,1);return typeof a!="string"||a!="isDisabled"&&a!="getDate"&&a!="widget"?a=="option"&&arguments.length==2&&typeof arguments[1]=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b)):this.each(function(){typeof a=="string"?$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this].concat(b)):$.datepicker._attachDatepicker(this,a)}):$.datepicker["_"+a+"Datepicker"].apply($.datepicker,[this[0]].concat(b))},$.datepicker=new Datepicker,$.datepicker.initialized=!1,$.datepicker.uuid=(new Date).getTime(),$.datepicker.version="1.8.21",window["DP_jQuery_"+dpuuid]=$})(jQuery);; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/jquery.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
    a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
    "+""+"
    ",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
    t
    ",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
    ",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( +a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f +.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.checkboxes.min.js @@ -0,0 +1,13 @@ +/* + * + * Copyright (c) 2006-2008 Sam Collett (http://www.texotela.co.uk) + * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) + * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. + * + * Version 2.1 + * Demo: http://www.texotela.co.uk/code/jquery/checkboxes/ + * + * $LastChangedDate$ + * $Rev$ + */ +;(function(d){d.fn.toggleCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=!this.checked}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.checkCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=true}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.unCheckCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=false}).filter(":not(:checked)");c=e});if(!b){c=this}return c};d.radioCheckboxGroup=function(e,a){a=a||"*";var b="input[type=checkbox]";if(e){b+="[name="+e+"]"}var c=d(b).filter(a);c.click(function(){c.not(this).each(function(){this.checked=false}).end()})}})(jQuery); --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.dataTables.min.js @@ -0,0 +1,153 @@ +/* + * File: jquery.dataTables.min.js + * Version: 1.8.1 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2010 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + */ +(function(i,wa,p){i.fn.dataTableSettings=[];var D=i.fn.dataTableSettings;i.fn.dataTableExt={};var o=i.fn.dataTableExt;o.sVersion="1.8.1";o.sErrMode="alert";o.iApiIndex=0;o.oApi={};o.afnFiltering=[];o.aoFeatures=[];o.ofnSearch={};o.afnSortData=[];o.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active", +sPageButtonStaticDisabled:"paginate_button paginate_button_disabled",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled", +sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};o.oJUIClasses={sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left", +sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled",sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled", +sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last ui-corner-tr ui-corner-br",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset ui-buttonset fg-buttonset-multi ui-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default", +sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sSortJUIWrapper:"DataTables_sort_wrapper",sSortIcon:"DataTables_sort_icon",sScrollWrapper:"dataTables_scroll", +sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};o.oPagination={two_button:{fnInit:function(g,l,r){var s,w,y;if(g.bJUI){s=p.createElement("a");w=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;w.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev; +s.appendChild(y)}else{s=p.createElement("div");w=p.createElement("div")}s.className=g.oClasses.sPagePrevDisabled;w.className=g.oClasses.sPageNextDisabled;s.title=g.oLanguage.oPaginate.sPrevious;w.title=g.oLanguage.oPaginate.sNext;l.appendChild(s);l.appendChild(w);i(s).bind("click.DT",function(){g.oApi._fnPageChange(g,"previous")&&r(g)});i(w).bind("click.DT",function(){g.oApi._fnPageChange(g,"next")&&r(g)});i(s).bind("selectstart.DT",function(){return false});i(w).bind("selectstart.DT",function(){return false}); +if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");s.setAttribute("id",g.sTableId+"_previous");w.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=g.aanFeatures.p,r=0,s=l.length;r=w-s){s=w-r+1;x=w}else{s=y-Math.ceil(r/2)+1;x=s+r-1}for(r=s;r<=x;r++)G+=y!=r?''+r+"":''+r+"";x=g.aanFeatures.p;var z,Y=function(L){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;l(g);L.preventDefault()},V=function(){return false};r=0;for(s=x.length;rl?1:0},"string-desc":function(g,l){if(typeof g!="string")g="";if(typeof l!="string")l="";g=g.toLowerCase();l=l.toLowerCase();return gl?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g< +l?-1:g>l?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return gl?-1:0},"date-asc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return g-l},"date-desc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return l- +g},"numeric-asc":function(g,l){return(g=="-"||g===""?0:g*1)-(l=="-"||l===""?0:l*1)},"numeric-desc":function(g,l){return(l=="-"||l===""?0:l*1)-(g=="-"||g===""?0:g*1)}};o.aTypes=[function(g){if(typeof g=="number")return"numeric";else if(typeof g!="string")return null;var l,r=false;l=g.charAt(0);if("0123456789-".indexOf(l)==-1)return null;for(var s=1;s")!=-1)return"html";return null}];o.fnVersionCheck=function(g){var l=function(x,v){for(;x.length=parseInt(w,10)};o._oExternConfig={iNextUnique:0};i.fn.dataTable=function(g){function l(){this.fnRecordsTotal= +function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false||this._iDisplayLength==-1?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd};this.sInstance= +this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false,bDeferRender:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,bInfinite:false,iLoadGap:100,iBarWidth:0,bAutoCss:true};this.aanFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sEmptyTable:"No data available in table", +sLoadingRecords:"Loading...",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"},fnInfoCallback:null};this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.aoHeader=[];this.aoFooter=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bRegex:false, +bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripClasses=[];this.asDestoryStrips=[];this.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=this.fnPreDrawCallback=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=this.bDeferLoading=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType="two_button"; +this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.sAjaxDataProp="aaData";this.bAjaxDataGet=true;this.jqXHR=null;this.fnServerData=function(a,b,c,d){d.jqXHR=i.ajax({url:a,data:b,success:c,dataType:"json",cache:false,error:function(f,e){e=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})}; +this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;dtr>th",a.nTFoot).addClass(a.oClasses.sFooterTH);if(a.nTFoot!==null){c=S(a,null,a.aoFooter);b=0;for(d=a.aoColumns.length;b=0;e--)!a.aoColumns[e].bVisible&&!c&&h[d].splice(e,1);j.push([])}d=0;for(f=h.length;d=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;E(a)}if(a.bDeferLoading){a.bDeferLoading=false;a.iDraw++}else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!za(a))return}else a.iDraw++;if(a.aiDisplay.length!==0){var h=a._iDisplayStart,j=a._iDisplayEnd;if(a.oFeatures.bServerSide){h=0;j=a.aoData.length}for(h=h;htr",a.nTHead)[0],aa(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);typeof a.fnFooterCallback== +"function"&&a.fnFooterCallback.call(a.oInstance,i(">tr",a.nTFoot)[0],aa(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=p.createDocumentFragment();b=p.createDocumentFragment();if(a.nTBody){e=a.nTBody.parentNode;b.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered){c=a.nTBody.childNodes;for(b=c.length-1;b>=0;b--)c[b].parentNode.removeChild(c[b])}b=0;for(c=d.length;b=0;b--)a.aoDrawCallback[b].fn.call(a.oInstance,a);a.bSorted=false;a.bFiltered=false;a.bDrawing=false;if(a.oFeatures.bServerSide){K(a,false);typeof a._bInitComplete=="undefined"&&w(a)}}}function ba(a){if(a.oFeatures.bSort)R(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)M(a,a.oPreviousSearch);else{E(a);C(a)}}function za(a){if(a.bAjaxDataGet){K(a,true);var b=a.aoColumns.length,c=[],d,f;a.iDraw++;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:ha(a)}); +c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==false?a._iDisplayLength:-1});for(f=0;f")c=c.parentNode;else if(h=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=Ca(a);e=1}else if(h=="f"&&a.oFeatures.bFilter){f=Da(a);e=1}else if(h=="r"&&a.oFeatures.bProcessing){f=Ea(a);e=1}else if(h=="t"){f=Fa(a);e=1}else if(h=="i"&&a.oFeatures.bInfo){f=Ga(a);e=1}else if(h=="p"&&a.oFeatures.bPaginate){f=Ha(a);e=1}else if(o.aoFeatures.length!== +0){j=o.aoFeatures;t=0;for(k=j.length;tcaption",a.nTable);h=0;for(k=d.length;hi(a.nTable).height()-a.oScroll.iLoadGap)if(a.fnDisplayEnd()0&&a.nTable.removeChild(h[0]);if(a.nTFoot!==null){k=a.nTable.getElementsByTagName("tfoot");k.length>0&&a.nTable.removeChild(k[0])}h=a.nTHead.cloneNode(true);a.nTable.insertBefore(h,a.nTable.childNodes[0]);if(a.nTFoot!==null){k=a.nTFoot.cloneNode(true); +a.nTable.insertBefore(k,a.nTable.childNodes[1])}if(a.oScroll.sX===""){d.style.width="100%";b.parentNode.style.width="100%"}var O=S(a,h);f=0;for(e=O.length;ff-a.oScroll.iBarWidth)a.nTable.style.width=u(f)}else a.nTable.style.width=u(f);f=i(a.nTable).outerWidth();if(a.oScroll.sX===""){d.style.width=u(f+a.oScroll.iBarWidth);b.parentNode.style.width=u(f+a.oScroll.iBarWidth)}e=a.nTHead.getElementsByTagName("tr");h=h.getElementsByTagName("tr");P(function(B,F){m=B.style;m.paddingTop= +"0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;q=i(B).width();F.style.width=u(q);I.push(q)},h,e);i(h).height(0);if(a.nTFoot!==null){j=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");P(function(B,F){m=B.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;q=i(B).width();F.style.width=u(q);I.push(q)},j,k);i(j).height(0)}P(function(B){B.innerHTML="";B.style.width=u(I.shift())},h);a.nTFoot!==null&&P(function(B){B.innerHTML= +"";B.style.width=u(I.shift())},j);if(i(a.nTable).outerWidth()d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight'):b===""?'':b+' '; +var c=p.createElement("div");c.className=a.oClasses.sFilter;c.innerHTML="";a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&c.setAttribute("id",a.sTableId+"_filter");b=i("input",c);b.val(a.oPreviousSearch.sSearch.replace('"',"""));b.bind("keyup.DT",function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f=0;d--){f=ma(H(a,a.aiDisplay[d],c,"filter"),a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Ka(a,b,c,d,f){var e=la(b,d,f);if(typeof c=="undefined"||c===null)c=0;if(o.afnFiltering.length!==0)c=1;if(b.length<=0){a.aiDisplay.splice(0,a.aiDisplay.length);a.aiDisplay=a.aiDisplayMaster.slice()}else if(a.aiDisplay.length==a.aiDisplayMaster.length||a.oPreviousSearch.sSearch.length> +b.length||c==1||b.indexOf(a.oPreviousSearch.sSearch)!==0){a.aiDisplay.splice(0,a.aiDisplay.length);ka(a,1);for(c=0;c/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");else if(a===null)return"";return a}function R(a,b){var c,d,f,e,h=[],j=[],k=o.oSort;d=a.aoData;var m=a.aoColumns;if(!a.oFeatures.bServerSide&&(a.aaSorting.length!==0||a.aaSortingFixed!==null)){h=a.aaSortingFixed!== +null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(c=0;c=h)for(b=0;b=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength=0){b=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart= +0;else J(a,0,"Unknown paging action: "+b);return c!=a._iDisplayStart}function Ga(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Na,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}function Na(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=a._iDisplayStart+1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),e=a.fnFormatNumber(b),h=a.fnFormatNumber(c),j= +a.fnFormatNumber(d),k=a.fnFormatNumber(f);if(a.oScroll.bInfinite)e=a.fnFormatNumber(1);e=a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()===0?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",j)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_",e).replace("_END_",h).replace("_TOTAL_",k)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_", +e).replace("_END_",h).replace("_TOTAL_",k)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;if(a.oLanguage.fnInfoCallback!==null)e=a.oLanguage.fnInfoCallback(a,b,c,d,f,e);a=a.aanFeatures.i;b=0;for(c=a.length;b",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]== +"object"){c=0;for(d=a.aLengthMenu[0].length;c'+a.aLengthMenu[1][c]+""}else{c=0;for(d=a.aLengthMenu.length;c'+a.aLengthMenu[c]+""}b+="";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_length");f.className=a.oClasses.sLength;f.innerHTML="";i('select option[value="'+ +a._iDisplayLength+'"]',f).attr("selected",true);i("select",f).bind("change.DT",function(){var e=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;ca.aiDisplay.length|| +a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Oa(a,b){if(!a||a===null||a==="")return 0;if(typeof b=="undefined")b=p.getElementsByTagName("body")[0];var c=p.createElement("div");c.style.width=u(a);b.appendChild(c);a=c.offsetWidth;b.removeChild(c);return a}function ea(a){var b=0,c,d=0,f=a.aoColumns.length,e,h=i("th",a.nTHead);for(e=0;etd",b);h=S(a,e);for(e=d=0;e0)a.aoColumns[e].sWidth=u(c);d++}a.nTable.style.width=u(i(b).outerWidth());b.parentNode.removeChild(b)}}function Qa(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){i(b).width();b.style.width=u(i(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!=="")b.style.width=u(i(b).outerWidth())}function Pa(a,b){var c= +Ra(a,b);if(c<0)return null;if(a.aoData[c].nTr===null){var d=p.createElement("td");d.innerHTML=H(a,c,b,"");return d}return Q(a,c)[b]}function Ra(a,b){for(var c=-1,d=-1,f=0;f/g,"");if(e.length>c){c=e.length;d=f}}return d}function u(a){if(a===null)return"0px";if(typeof a=="number"){if(a<0)return"0px";return a+"px"}var b=a.charCodeAt(a.length-1);if(b<48||b>57)return a;return a+"px"}function Va(a,b){if(a.length!=b.length)return 1;for(var c= +0;cb&&a[d]--;c!=-1&&a.splice(c,1)}function Ba(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d4096){a=p.cookie.split(";");for(var j=0,k=a.length;j=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){E(d);C(d)}return f};this.fnClearTable=function(a){var b=A(this[o.iApiIndex]);ia(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=A(this[o.iApiIndex]);this.fnClose(a);var f=p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c;e.colSpan=X(d);if(typeof b.jquery!="undefined"||typeof b== +"object")e.appendChild(b);else e.innerHTML=b;b=i("tr",d.nTBody);i.inArray(a,b)!=-1&&i(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=A(this[o.iApiIndex]),c=0;c=X(d);if(!j)for(f=a;ftr>td."+a.oClasses.sRowEmpty,a.nTable).parent().remove();if(a.nTable!=a.nTHead.parentNode){i(">thead",a.nTable).remove();a.nTable.appendChild(a.nTHead)}if(a.nTFoot&& +a.nTable!=a.nTFoot.parentNode){i(">tfoot",a.nTable).remove();a.nTable.appendChild(a.nTFoot)}a.nTable.parentNode.removeChild(a.nTable);i(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];T(a);i($(a)).removeClass(a.asStripClasses.join(" "));if(a.bJUI){i("th",a.nTHead).removeClass([o.oStdClasses.sSortable,o.oJUIClasses.sSortableAsc,o.oJUIClasses.sSortableDesc,o.oJUIClasses.sSortableNone].join(" "));i("th span."+o.oJUIClasses.sSortIcon,a.nTHead).remove();i("th",a.nTHead).each(function(){var e= +i("div."+o.oJUIClasses.sSortJUIWrapper,this),h=e.contents();i(this).append(h);e.remove()})}else i("th",a.nTHead).removeClass([o.oStdClasses.sSortable,o.oStdClasses.sSortableAsc,o.oStdClasses.sSortableDesc,o.oStdClasses.sSortableNone].join(" "));a.nTableReinsertBefore?b.insertBefore(a.nTable,a.nTableReinsertBefore):b.appendChild(a.nTable);d=0;for(f=a.aoData.length;dtr:even",c).addClass(a.asDestoryStrips[0]);i(">tr:odd",c).addClass(a.asDestoryStrips[1]);d=0;for(f=D.length;dt<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!=="")e.oScroll.iBarWidth=Ua();if(typeof g.iDisplayStart!="undefined"&&typeof e.iInitDisplayStart=="undefined"){e.iInitDisplayStart= +g.iDisplayStart;e._iDisplayStart=g.iDisplayStart}if(typeof g.bStateSave!="undefined"){e.oFeatures.bStateSave=g.bStateSave;Ta(e,g);e.aoDrawCallback.push({fn:sa,sName:"state_save"})}if(typeof g.iDeferLoading!="undefined"){e.bDeferLoading=true;e._iRecordsTotal=g.iDeferLoading;e._iRecordsDisplay=g.iDeferLoading}if(typeof g.aaData!="undefined")j=true;if(typeof g!="undefined"&&typeof g.aoData!="undefined")g.aoColumns=g.aoData;if(typeof g.oLanguage!="undefined")if(typeof g.oLanguage.sUrl!="undefined"&&g.oLanguage.sUrl!== +""){e.oLanguage.sUrl=g.oLanguage.sUrl;i.getJSON(e.oLanguage.sUrl,null,function(t){y(e,t,true)});h=true}else y(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"){e.asStripClasses.push(e.oClasses.sStripOdd);e.asStripClasses.push(e.oClasses.sStripEven)}c=false;d=i(">tbody>tr",this);a=0;for(b=e.asStripClasses.length;a=0;a--){var m=g.aoColumnDefs[a].aTargets;i.isArray(m)||J(e,1,"aTargets must be an array of targets, not a "+typeof m);c=0;for(d=m.length;c=0){for(;e.aoColumns.length<=m[c];)G(e);x(e,m[c],g.aoColumnDefs[a])}else if(typeof m[c]== +"number"&&m[c]<0)x(e,e.aoColumns.length+m[c],g.aoColumnDefs[a]);else if(typeof m[c]=="string"){b=0;for(f=e.aoColumns.length;b=e.aoColumns.length)e.aaSorting[a][0]=0;k=e.aoColumns[e.aaSorting[a][0]];if(typeof e.aaSorting[a][2]=="undefined")e.aaSorting[a][2]=0;if(typeof g.aaSorting=="undefined"&& +typeof e.saved_aaSorting=="undefined")e.aaSorting[a][1]=k.asSorting[0];c=0;for(d=k.asSorting.length;cthead",this);if(a.length===0){a=[p.createElement("thead")];this.appendChild(a[0])}e.nTHead=a[0];a=i(">tbody",this);if(a.length===0){a=[p.createElement("tbody")];this.appendChild(a[0])}e.nTBody=a[0];a=i(">tfoot",this);if(a.length>0){e.nTFoot=a[0];W(e.aoFooter,e.nTFoot)}if(j)for(a=0;a + +MIT license. + +Johann Burkard + + + +*/ + +jQuery.fn.highlight = function(pat) { + function innerHighlight(node, pat) { + var skip = 0; + if (node.nodeType == 3) { + var pos = node.data.toUpperCase().indexOf(pat); + if (pos >= 0) { + var spannode = document.createElement('span'); + spannode.className = 'term'; + var middlebit = node.splitText(pos); + var endbit = middlebit.splitText(pat.length); + var middleclone = middlebit.cloneNode(true); + spannode.appendChild(middleclone); + middlebit.parentNode.replaceChild(spannode, middlebit); + skip = 1; + } + } + else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) { + for (var i = 0; i < node.childNodes.length; ++i) { + i += innerHighlight(node.childNodes[i], pat); + } + } + return skip; + } + return this.each(function() { + innerHighlight(this, pat.toUpperCase()); + }); +}; + +jQuery.fn.removeHighlight = function() { + return this.find("span.term").each(function() { + this.parentNode.firstChild.nodeName; + with (this.parentNode) { + replaceChild(this.firstChild, this); + normalize(); + } + }).end(); +}; --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.hoverIntent.minified.js @@ -0,0 +1,9 @@ +/** +* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+ +* +* +* @param f onMouseOver function || An object with configuration options +* @param g onMouseOut function || Nothing (use configuration options object) +* @author Brian Cherne +*/ +(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))1){ + var args = arguments; + return this.each(function(){ + $.fn.rating.apply($(this), args); + }); + }; + // Invoke API method handler + $.fn.rating[arguments[0]].apply(this, $.makeArray(arguments).slice(1) || []); + // Quick exit... + return this; + }; + + // Initialize options for this call + var options = $.extend( + {}/* new object */, + $.fn.rating.options/* default options */, + options || {} /* just-in-time options */ + ); + + // Allow multiple controls with the same name by making each call unique + $.fn.rating.calls++; + + // loop through each matched element + this + .not('.star-rating-applied') + .addClass('star-rating-applied') + .each(function(){ + + // Load control parameters / find context / etc + var control, input = $(this); + var eid = (this.name || 'unnamed-rating').replace(/\[|\]/g, '_').replace(/^\_+|\_+$/g,''); + var context = $(this.form || document.body); + + // FIX: http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=23 + var raters = context.data('rating'); + if(!raters || raters.call!=$.fn.rating.calls) raters = { count:0, call:$.fn.rating.calls }; + var rater = raters[eid]; + + // if rater is available, verify that the control still exists + if(rater) control = rater.data('rating'); + + if(rater && control)//{// save a byte! + // add star to control if rater is available and the same control still exists + control.count++; + + //}// save a byte! + else{ + // create new control if first star or control element was removed/replaced + + // Initialize options for this rater + control = $.extend( + {}/* new object */, + options || {} /* current call options */, + ($.metadata? input.metadata(): ($.meta?input.data():null)) || {}, /* metadata options */ + { count:0, stars: [], inputs: [] } + ); + + // increment number of rating controls + control.serial = raters.count++; + + // create rating element + rater = $(''); + input.before(rater); + + // Mark element for initialization (once all stars are ready) + rater.addClass('rating-to-be-drawn'); + + // Accept readOnly setting from 'disabled' property + if(input.attr('disabled') || input.hasClass('disabled')) control.readOnly = true; + + // Accept required setting from class property (class='required') + if(input.hasClass('required')) control.required = true; + + // Create 'cancel' button + rater.append( + control.cancel = $('') + .mouseover(function(){ + $(this).rating('drain'); + $(this).addClass('star-rating-hover'); + //$(this).rating('focus'); + }) + .mouseout(function(){ + $(this).rating('draw'); + $(this).removeClass('star-rating-hover'); + //$(this).rating('blur'); + }) + .click(function(){ + $(this).rating('select'); + }) + .data('rating', control) + ); + + }; // first element of group + + // insert rating star + var star = $(''); + rater.append(star); + + // inherit attributes from input element + if(this.id) star.attr('id', this.id); + if(this.className) star.addClass(this.className); + + // Half-stars? + if(control.half) control.split = 2; + + // Prepare division control + if(typeof control.split=='number' && control.split>0){ + var stw = ($.fn.width ? star.width() : 0) || control.starWidth; + var spi = (control.count % control.split), spw = Math.floor(stw/control.split); + star + // restrict star's width and hide overflow (already in CSS) + .width(spw) + // move the star left by using a negative margin + // this is work-around to IE's stupid box model (position:relative doesn't work) + .find('a').css({ 'margin-left':'-'+ (spi*spw) +'px' }) + }; + + // readOnly? + if(control.readOnly)//{ //save a byte! + // Mark star as readOnly so user can customize display + star.addClass('star-rating-readonly'); + //} //save a byte! + else//{ //save a byte! + // Enable hover css effects + star.addClass('star-rating-live') + // Attach mouse events + .mouseover(function(){ + $(this).rating('fill'); + $(this).rating('focus'); + }) + .mouseout(function(){ + $(this).rating('draw'); + $(this).rating('blur'); + }) + .click(function(){ + $(this).rating('select'); + }) + ; + //}; //save a byte! + + // set current selection + if(this.checked) control.current = star; + + // set current select for links + if(this.nodeName=="A"){ + if($(this).hasClass('selected')) + control.current = star; + }; + + // hide input element + input.hide(); + + // backward compatibility, form element to plugin + input.change(function(){ + $(this).rating('select'); + }); + + // attach reference to star to input element and vice-versa + star.data('rating.input', input.data('rating.star', star)); + + // store control information in form (or body when form not available) + control.stars[control.stars.length] = star[0]; + control.inputs[control.inputs.length] = input[0]; + control.rater = raters[eid] = rater; + control.context = context; + + input.data('rating', control); + rater.data('rating', control); + star.data('rating', control); + context.data('rating', raters); + }); // each element + + // Initialize ratings (first draw) + $('.rating-to-be-drawn').rating('draw').removeClass('rating-to-be-drawn'); + + return this; // don't break the chain... + }; + + /*--------------------------------------------------------*/ + + /* + ### Core functionality and API ### + */ + $.extend($.fn.rating, { + // Used to append a unique serial number to internal control ID + // each time the plugin is invoked so same name controls can co-exist + calls: 0, + + focus: function(){ + var control = this.data('rating'); if(!control) return this; + if(!control.focus) return this; // quick fail if not required + // find data for event + var input = $(this).data('rating.input') || $( this.tagName=='INPUT' ? this : null ); + // focus handler, as requested by focusdigital.co.uk + if(control.focus) control.focus.apply(input[0], [input.val(), $('a', input.data('rating.star'))[0]]); + }, // $.fn.rating.focus + + blur: function(){ + var control = this.data('rating'); if(!control) return this; + if(!control.blur) return this; // quick fail if not required + // find data for event + var input = $(this).data('rating.input') || $( this.tagName=='INPUT' ? this : null ); + // blur handler, as requested by focusdigital.co.uk + if(control.blur) control.blur.apply(input[0], [input.val(), $('a', input.data('rating.star'))[0]]); + }, // $.fn.rating.blur + + fill: function(){ // fill to the current mouse position. + var control = this.data('rating'); if(!control) return this; + // do not execute when control is in read-only mode + if(control.readOnly) return; + // Reset all stars and highlight them up to this element + this.rating('drain'); + this.prevAll().andSelf().filter('.rater-'+ control.serial).addClass('star-rating-hover'); + },// $.fn.rating.fill + + drain: function() { // drain all the stars. + var control = this.data('rating'); if(!control) return this; + // do not execute when control is in read-only mode + if(control.readOnly) return; + // Reset all stars + control.rater.children().filter('.rater-'+ control.serial).removeClass('star-rating-on').removeClass('star-rating-hover'); + },// $.fn.rating.drain + + draw: function(){ // set value and stars to reflect current selection + var control = this.data('rating'); if(!control) return this; + // Clear all stars + this.rating('drain'); + // Set control value + if(control.current){ + control.current.data('rating.input').attr('checked','checked'); + control.current.prevAll().andSelf().filter('.rater-'+ control.serial).addClass('star-rating-on'); + } + else + $(control.inputs).removeAttr('checked'); + // Show/hide 'cancel' button + control.cancel[control.readOnly || control.required?'hide':'show'](); + // Add/remove read-only classes to remove hand pointer + this.siblings()[control.readOnly?'addClass':'removeClass']('star-rating-readonly'); + },// $.fn.rating.draw + + + + + + select: function(value,wantCallBack){ // select a value + + // ***** MODIFICATION ***** + // Thanks to faivre.thomas - http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=27 + // + // ***** LIST OF MODIFICATION ***** + // ***** added Parameter wantCallBack : false if you don't want a callback. true or undefined if you want postback to be performed at the end of this method' + // ***** recursive calls to this method were like : ... .rating('select') it's now like .rating('select',undefined,wantCallBack); (parameters are set.) + // ***** line which is calling callback + // ***** /LIST OF MODIFICATION ***** + + var control = this.data('rating'); if(!control) return this; + // do not execute when control is in read-only mode + if(control.readOnly) return; + // clear selection + control.current = null; + // programmatically (based on user input) + if(typeof value!='undefined'){ + // select by index (0 based) + if(typeof value=='number') + return $(control.stars[value]).rating('select',undefined,wantCallBack); + // select by literal value (must be passed as a string + if(typeof value=='string') + //return + $.each(control.stars, function(){ + if($(this).data('rating.input').val()==value) $(this).rating('select',undefined,wantCallBack); + }); + } + else + control.current = this[0].tagName=='INPUT' ? + this.data('rating.star') : + (this.is('.rater-'+ control.serial) ? this : null); + + // Update rating control state + this.data('rating', control); + // Update display + this.rating('draw'); + // find data for event + var input = $( control.current ? control.current.data('rating.input') : null ); + // click callback, as requested here: http://plugins.jquery.com/node/1655 + + // **** MODIFICATION ***** + // Thanks to faivre.thomas - http://code.google.com/p/jquery-star-rating-plugin/issues/detail?id=27 + // + //old line doing the callback : + //if(control.callback) control.callback.apply(input[0], [input.val(), $('a', control.current)[0]]);// callback event + // + //new line doing the callback (if i want :) + if((wantCallBack ||wantCallBack == undefined) && control.callback) control.callback.apply(input[0], [input.val(), $('a', control.current)[0]]);// callback event + //to ensure retro-compatibility, wantCallBack must be considered as true by default + // **** /MODIFICATION ***** + + },// $.fn.rating.select + + + + + + readOnly: function(toggle, disable){ // make the control read-only (still submits value) + var control = this.data('rating'); if(!control) return this; + // setread-only status + control.readOnly = toggle || toggle==undefined ? true : false; + // enable/disable control value submission + if(disable) $(control.inputs).attr("disabled", "disabled"); + else $(control.inputs).removeAttr("disabled"); + // Update rating control state + this.data('rating', control); + // Update display + this.rating('draw'); + },// $.fn.rating.readOnly + + disable: function(){ // make read-only and never submit value + this.rating('readOnly', true, true); + },// $.fn.rating.disable + + enable: function(){ // make read/write and submit value + this.rating('readOnly', false, false); + }// $.fn.rating.select + + }); + + /*--------------------------------------------------------*/ + + /* + ### Default Settings ### + eg.: You can override default control like this: + $.fn.rating.options.cancel = 'Clear'; + */ + $.fn.rating.options = { //$.extend($.fn.rating, { options: { + cancel: 'Cancel Rating', // advisory title for the 'cancel' link + cancelValue: '', // value to submit when user click the 'cancel' link + split: 0, // split the star into how many parts? + + // Width of star image in case the plugin can't work it out. This can happen if + // the jQuery.dimensions plugin is not available OR the image is hidden at installation + starWidth: 16//, + + //NB.: These don't need to be pre-defined (can be undefined/null) so let's save some code! + //half: false, // just a shortcut to control.split = 2 + //required: false, // disables the 'cancel' button so user can only select one of the specified values + //readOnly: false, // disable rating plugin interaction/ values cannot be changed + //focus: function(){}, // executed when stars are focused + //blur: function(){}, // executed when stars are focused + //callback: function(){}, // executed when a star is clicked + }; //} }); + + /*--------------------------------------------------------*/ + + /* + ### Default implementation ### + The plugin will attach itself to file inputs + with the class 'multi' when the page loads + */ + $(function(){ + $('input[type=radio].star').rating(); + }); + + + +/*# AVOID COLLISIONS #*/ +})(jQuery); +/*# AVOID COLLISIONS #*/ --- a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js +++ a/koha-tmpl/opac-tmpl/ccsr/en/lib/jquery/plugins/jquery.tablesorter.min.js @@ -0,0 +1,2 @@ + +(function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('
    ').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;ib)?1:0));};function sortTextDesc(a,b){return((ba)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery); --