%PDF- %PDF-
Direktori : /home/lightco1/www/lightingrepublic.com.au/media/com_files/js/ |
Current File : /home/lightco1/www/lightingrepublic.com.au/media/com_files/js/files.min.js |
//fgnass.github.com/spin.js#v1.2.6 if(!Koowa)var Koowa={};!function(e,t,n){function r(e,n){var r=t.createElement(e||"div"),i;for(i in n)r[i]=n[i];return r}function i(e){for(var t=1,n=arguments.length;t<n;t++)e.appendChild(arguments[t]);return e}function s(e,t,n,r){var i=["opacity",t,~~(e*100),n,r].join("-"),s=.01+n/r*100,o=Math.max(1-(1-e)/t*(100-s),e),u=h.substring(0,h.indexOf("Animation")).toLowerCase(),a=u&&"-"+u+"-"||"";return c[i]||(p.insertRule("@"+a+"keyframes "+i+"{"+"0%{opacity:"+o+"}"+s+"%{opacity:"+e+"}"+(s+.01)+"%{opacity:1}"+(s+t)%100+"%{opacity:"+e+"}"+"100%{opacity:"+o+"}"+"}",p.cssRules.length),c[i]=1),i}function o(e,t){var r=e.style,i,s;if(r[t]!==n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(s=0;s<l.length;s++){i=l[s]+t;if(r[i]!==n)return i}}function u(e,t){for(var n in t)e.style[o(e,n)||n]=t[n];return e}function a(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)e[i]===n&&(e[i]=r[i])}return e}function f(e){var t={x:e.offsetLeft,y:e.offsetTop};while(e=e.offsetParent)t.x+=e.offsetLeft,t.y+=e.offsetTop;return t}var l=["webkit","Moz","ms","O"],c={},h,p=function(){var e=r("style",{type:"text/css"});return i(t.getElementsByTagName("head")[0],e),e.sheet||e.styleSheet}(),d={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",speed:1,trail:100,opacity:.25,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto"},v=function m(e){if(!this.spin)return new m(e);this.opts=a(e||{},m.defaults,d)};v.defaults={},a(v.prototype,{spin:function(e){this.stop();var t=this,n=t.opts,i=t.el=u(r(0,{className:n.className}),{position:"relative",width:0,zIndex:n.zIndex}),s=n.radius+n.length+n.width,o,a;e&&(e.insertBefore(i,e.firstChild||null),a=f(e),o=f(i),u(i,{left:(n.left=="auto"?a.x-o.x+(e.offsetWidth>>1):parseInt(n.left,10)+s)+"px",top:(n.top=="auto"?a.y-o.y+(e.offsetHeight>>1):parseInt(n.top,10)+s)+"px"})),i.setAttribute("aria-role","progressbar"),t.lines(i,t.opts);if(!h){var l=0,c=n.fps,p=c/n.speed,d=(1-n.opacity)/(p*n.trail/100),v=p/n.lines;(function m(){l++;for(var e=n.lines;e;e--){var r=Math.max(1-(l+e*v)%p*d,n.opacity);t.opacity(i,n.lines-e,r,n)}t.timeout=t.el&&setTimeout(m,~~(1e3/c))})()}return t},stop:function(){var e=this.el;return e&&(clearTimeout(this.timeout),e.parentNode&&e.parentNode.removeChild(e),this.el=n),this},lines:function(e,t){function n(e,n){return u(r(),{position:"absolute",width:t.length+t.width+"px",height:t.width+"px",background:e,boxShadow:n,transformOrigin:"left",transform:"rotate("+~~(360/t.lines*o+t.rotate)+"deg) translate("+t.radius+"px"+",0)",borderRadius:(t.corners*t.width>>1)+"px"})}var o=0,a;for(;o<t.lines;o++)a=u(r(),{position:"absolute",top:1+~(t.width/2)+"px",transform:t.hwaccel?"translate3d(0,0,0)":"",opacity:t.opacity,animation:h&&s(t.opacity,t.trail,o,t.lines)+" "+1/t.speed+"s linear infinite"}),t.shadow&&i(a,u(n("#000","0 0 4px #000"),{top:"2px"})),i(e,i(a,n(t.color,"0 0 1px rgba(0,0,0,.1)")));return e},opacity:function(e,t,n){t<e.childNodes.length&&(e.childNodes[t].style.opacity=n)}}),function(){function e(e,t){return r("<"+e+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',t)}var t=u(r("group"),{behavior:"url(#default#VML)"});!o(t,"transform")&&t.adj?(p.addRule(".spin-vml","behavior:url(#default#VML)"),v.prototype.lines=function(t,n){function r(){return u(e("group",{coordsize:a+" "+a,coordorigin:-o+" "+ -o}),{width:a,height:a})}function s(t,s,a){i(l,i(u(r(),{rotation:360/n.lines*t+"deg",left:~~s}),i(u(e("roundrect",{arcsize:n.corners}),{width:o,height:n.width,left:n.radius,top:-n.width>>1,filter:a}),e("fill",{color:n.color,opacity:n.opacity}),e("stroke",{opacity:0}))))}var o=n.length+n.width,a=2*o,f=-(n.width+n.length)*2+"px",l=u(r(),{position:"absolute",top:f,left:f}),c;if(n.shadow)for(c=1;c<=n.lines;c++)s(c,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(c=1;c<=n.lines;c++)s(c);return i(t,l)},v.prototype.opacity=function(e,t,n,r){var i=e.firstChild;r=r.shadow&&r.lines||0,i&&t+r<i.childNodes.length&&(i=i.childNodes[t+r],i=i&&i.firstChild,i=i&&i.firstChild,i&&(i.opacity=n))}):h=o(t,"animation")}(),typeof define=="function"&&define.amd?define(function(){return v}):Koowa.Spinner=v}(window,document);if(!Files)var Files={};Files._||(Files._=function(e){return e}),Files.utils||(Files.utils={append:function(e,t){return window.$extend?$extend(e,t):Object.append(e,t)},typeOf:function(e){return window.$type?$type(e):typeOf(e)},merge:function(e,t){if(window.$merge)return $merge(e,t);var n=Array.slice(arguments);return n.unshift({}),Object.merge.apply(null,n)},each:function(e,t,n){return window.$each?$each(e,t,n):Object.each(e,t,n)}}),Files.Filesize=new Class({Implements:Options,options:{units:["Bytes","KB","MB","GB","TB","PB"]},initialize:function(e,t){this.setOptions(t),this.size=e},humanize:function(){var e=0,t=this.size;while(t>=1024)t/=1024,e++;return(e===0||t%1===0?t:t.toFixed(2))+" "+Files._(this.options.units[e])}}),Files.FileTypes={},Files.FileTypes.map={audio:["aif","aiff","alac","amr","flac","ogg","m3u","m4a","mid","mp3","mpa","wav","wma"],video:["3gp","avi","flv","mkv","mov","mp4","mpg","mpeg","rm","swf","vob","wmv"],image:["bmp","gif","jpg","jpeg","png","psd","tif","tiff"],document:["doc","docx","rtf","txt","xls","xlsx","pdf","ppt","pptx","pps","xml"],archive:["7z","gz","rar","tar","zip"]},Files.getFileType=function(e){var t="document";return e=e.toLowerCase(),Files.utils.each(Files.FileTypes.map,function(n,r){n.contains(e)&&(t=r)}),t};if(!Files)var Files={};Files.State=new Class({Implements:Options,data:{},defaults:{},options:{defaults:{}},initialize:function(e){this.setOptions(e),this.options.data&&Files.utils.append(this.data,this.options.data),this.options.defaults&&(Files.utils.append(this.defaults,this.options.defaults),Files.utils.append(this.data,this.defaults))},getData:function(){return this.data},setDefaults:function(){return this.set(this.defaults),this},set:function(e,t){return Files.utils.typeOf(e)=="object"?Files.utils.append(this.data,e):this.data[e]=t,this},get:function(e,t){return this.data[e]||t},unset:function(e){delete this.data[e]}});if(!Files)var Files={};(function(){var e={};Files.Template=new Class({Implements:[Events],render:function(e){var t=this.template;e=e||"default",e!=="default"&&(t=e+"_"+t),this.fireEvent("beforeRender",{layout:e,template:t});var n=(new EJS({element:t})).render(this),r=new(Files.Template[e.capitalize()])(n);return this.fireEvent("afterRender",{layout:e,template:t,result:r}),r}}),Files.Template.Details=new Class({initialize:function(e){var t=(new Element("div",{html:e})).getElement("table");if(t)return t;var n="<table><tbody>"+e+"</tbody></table>";return(new Element("div",{html:n})).getElement("tr")}}),Files.Template.Default=new Class({initialize:function(e){return(new Element("div",{html:e})).getFirst()}}),Files.Template.Icons=new Class({initialize:function(e){return(new Element("div",{html:e})).getFirst()}}),Files.Template.Compact=new Class({initialize:function(e){return(new Element("div",{html:e})).getFirst()}})})();if(!Files)var Files={};Files.Grid=new Class({Implements:[Events,Options],layout:"icons",options:{onClickFolder:function(){},onClickFile:function(){},onClickImage:function(){},onDeleteNode:function(){},onSwitchLayout:function(){},switcher:".files-layout-controls",layout:!1,batch_delete:!1,icon_size:150,types:null},initialize:function(e,t){this.setOptions(t),this.addEvents({afterReset:function(){this.spin()},afterInsertRows:function(){this.unspin()}}),this.nodes=new Hash,this.container=document.id(e),this.options.switcher&&(this.options.switcher=document.getElement(this.options.switcher)),this.options.batch_delete&&(this.options.batch_delete=document.getElement(this.options.batch_delete)),this.options.layout&&this.setLayout(this.options.layout),this.render(),this.attachEvents()},attachEvents:function(){var e=this,t=function(t,n){e.container.addEvent(t,function(t){t.stop(),e.fireEvent(n,arguments)})};t("click:relay(.files-folder a.navigate)","clickFolder"),t("click:relay(.files-file a.navigate)","clickFile"),t("click:relay(.files-image a.navigate)","clickImage");var n=function(t){if(t.target.match("a.navigate"))return;t.target.get("tag")=="input"&&t.target.setProperty("checked",!t.target.getProperty("checked"));var n=t.target.getParent(".files-node-shadow");n||(n=t.target.match(".files-node")?t.target:t.target.getParent(".files-node")),e.checkNode(n.retrieve("row"))};this.container.addEvent("click:relay(div.imgOutline)",n.bind(this)),this.container.addEvent("click:relay(input.files-select)",n.bind(this));var r=function(e){e.stop&&e.stop();var t=e.target.getParent(".files-node-shadow");t||(t=e.target.match(".files-node")?e.target:e.target.getParent(".files-node")),this.erase(t.retrieve("row").path)}.bind(this);this.container.addEvent("click:relay(.delete-node)",r),e.addEvent("afterDeleteNodeFail",function(e){var t=e.xhr,n=JSON.decode(t.responseText,!0);n&&n.error&&alert(n.error)});if(this.options.batch_delete){var i=new Chain,s=function(){i.callChain()},e=this;this.addEvent("afterCheckNode",function(){var e=this.container.getElements("input[type=checkbox]:checked");this.options.batch_delete.setProperty("disabled",!e.length)}.bind(this)),this.options.batch_delete.addEvent("click",function(t){t.stop();var n=0,o=[];folder_count=0,folders=[],checkboxes=this.container.getElements("input[type=checkbox]:checked.files-select").filter(function(e){if(e.checked){var t=e.getParent(".files-node-shadow")||e.getParent(".files-node"),r=t.retrieve("row").name;return e.getParent(".files-node").hasClass("files-folder")?(folder_count++,folders.push(r)):(n++,o.push(r)),!0}});var u="";if(n+folder_count===1)u=Files._("You are deleting %item%. Are you sure?"),u=u.replace("%item%",folder_count?folders[0]:o[0]);else{var a=n+folder_count,u=Files._("You are deleting %items%. Are you sure?"),f=Files._("%count% files and folders");!folder_count&&n?f=Files._("%count% files"):folder_count&&!n&&(f=Files._("%count% folders")),f=f.replace("%count%",a),u=u.replace("%items%",f)}if(!checkboxes.length||!confirm(u))return!1;e.addEvent("afterDeleteNode",s),e.addEvent("afterDeleteNodeFail",s),checkboxes.each(function(e){if(!e.checked)return;i.chain(function(){r({target:e})})}),i.chain(function(){e.removeEvent("afterDeleteNode",s),e.removeEvent("afterDeleteNodeFail",s),i.clearChain()}),i.callChain()}.bind(this))}if(this.options.switcher){var e=this;this.options.switcher.addEvent("change",function(t){t.stop();var n=this.get("value");e.setLayout(n)})}if(this.options.icon_size){var o=this.options.icon_size;this.addEvent("beforeRenderObject",function(e){e.object.icon_size=o})}},checkNode:function(e,t){var n=e.element,r=e.element.match(".files-node")?e.element:e.element.getElement(".files-node"),i=n.getElement("input[type=checkbox]");t!==!1&&this.fireEvent("beforeCheckNode",{row:e,checkbox:i});var s=i.getProperty("checked");s?r.removeClass("selected"):r.addClass("selected"),e.checked=!s,i.setProperty("checked",!s),t!==!1&&this.fireEvent("afterCheckNode",{row:e,checkbox:i})},erase:function(e){typeof e=="string"&&(e=this.nodes.get(e));if(e){this.fireEvent("beforeDeleteNode",{node:e});var t=function(){e.element&&e.element.dispose(),this.nodes.erase(e.path),this.fireEvent("afterDeleteNode",{node:e})}.bind(this),n=function(t){this.fireEvent("afterDeleteNodeFail",{node:e,xhr:t})}.bind(this);e["delete"](t,n)}},render:function(){this.fireEvent("beforeRender"),this.container.empty(),this.root=new Files.Grid.Root(this.layout),this.container.adopt(this.root.element),this.renew(),this.fireEvent("afterRender")},renderObject:function(e,t){var t=t||"alphabetical";this.fireEvent("beforeRenderObject",{object:e,position:t}),e.element=e.render(this.layout),e.element.store("row",e);if(t=="last")this.root.adopt(e.element,"bottom");else if(t=="first")this.root.adopt(e.element);else{var n=this.nodes.filter(function(t){return t.type==e.type}).getKeys();if(n.length===0)if(e.type==="folder"){var r=this.nodes.getKeys();if(r.length){var i=this.nodes.get(r[0]);e.element.inject(i.element,"before")}else this.root.adopt(e.element,"bottom")}else this.root.adopt(e.element,"bottom");else{n.push(e.path),n=n.sort();var s=n.indexOf(e.path),o=n.length;if(s===0){var i=this.nodes.get(n[1]);e.element.inject(i.element,"before")}else{var i=s+1===o?n[o-2]:n[s-1];i=this.nodes.get(i),e.element.inject(i.element,"after")}}}return this.fireEvent("afterRenderObject",{object:e,position:t}),e.element},reset:function(){this.fireEvent("beforeReset"),this.nodes.each(function(e){e.element&&e.element.dispose(),this.nodes.erase(e.path)}.bind(this)),this.fireEvent("afterReset")},insert:function(e,t){this.fireEvent("beforeInsertNode",{object:e,position:t});if(!this.options.types||this.options.types.contains(e.type))this.renderObject(e,t),this.nodes.set(e.path,e),this.fireEvent("afterInsertNode",{node:e,position:t})},insertRows:function(e){this.fireEvent("beforeInsertRows",{rows:e}),Files.utils.each(e,function(e){var t=Files[e.type.capitalize()],n=new t(e);this.insert(n,"last")}.bind(this)),this.options.icon_size&&this.setIconSize(this.options.icon_size),this.fireEvent("afterInsertRows",{rows:e})},renew:function(){this.fireEvent("beforeRenew");var e=this.getFolders(),t=this.getFiles(),n=this,r=function(e){var e=n.nodes.get(e);e.element&&e.element.dispose(),n.renderObject(e,"last"),e.checked&&n.checkNode(e,!1)};e.each(r),t.each(r),this.fireEvent("afterRenew")},setLayout:function(e){e&&(this.fireEvent("beforeSetLayout",{layout:e}),this.layout=e,this.options.switcher&&this.options.switcher.set("value",e),this.fireEvent("afterSetLayout",{layout:e}),this.render())},getFolders:function(){return this.nodes.filter(function(e){return e.type==="folder"}).getKeys().sort()},getFiles:function(){return this.nodes.filter(function(e){return e.type==="file"||e.type=="image"}).getKeys().sort()},setIconSize:function(e){this.fireEvent("beforeSetIconSize",{size:e}),this.options.icon_size=e,this.nodes.getKeys().length&&this.layout=="icons"&&(this.container.getElements(".imgTotal").setStyles({width:e+"px",height:e*.75+"px"}),this.container.getElements(".imgOutline .ellipsis").setStyle("width",e+"px")),this.fireEvent("afterSetIconSize",{size:e})},spin:function(){if(!this.spinner){var e=document.id("files-grid"),t={lines:12,length:7,width:4,radius:10,color:"#666",speed:1,trail:60};this.spinner=new Koowa.Spinner(t)}this.spinner.spin(e)},unspin:function(){this.spinner&&(this.spinner.stop(),this.spinner=null)}}),Files.Grid.Root=new Class({Implements:Files.Template,template:"container",initialize:function(e){this.element=this.render(e)},adopt:function(e,t){t=t||"top";var n=this.element;this.element.get("tag")=="table"&&(n=this.element.getElement("tbody")),e.injectInside||(e.injectInside=e.inject),e.injectInside(n,t)}});if(!Files)var Files={};Files.Tree=new Class({Extends:MooTreeControl,Implements:[Options],options:{mode:"folders",title:"",grid:!0,onClick:function(){},onAdopt:function(){},adopt:null,root:{open:!0}},initialize:function(e){this.setOptions(e),this.onAdopt=this.options.onAdopt,this.parent(this.options,this.options.root),e.adopt&&this.adopt(e.adopt),this.options.title&&this.setTitle(this.options.title)},setTitle:function(e){this.title_element||(this.title_element=(new Element("h3")).inject(document.id(this.options.div),"top")),this.title=e,this.title_element.set("text",e)},select:function(e,t){t||(this.onClick(e),e.onClick());if(this.selected===e)return;this.selected&&(this.selected.select(!1),this.onSelect(this.selected,!1)),this.selected=e,e.select(!0),this.onSelect(e,!0);for(;;){if(!e.parent||e.parent.id==null)break;e.parent.toggle(!1,!0),e=e.parent}},adopt:function(e,t){this.parent(e,t),this.onAdopt(e,t)},fromUrl:function(e){var t=this,n=function(e,t){var r=t.data.path?t.data.path+"/":"";r+=e.name;var i=t.insert({text:e.name,id:r,data:{path:r,url:"#"+e.path,type:"folder"}});return i.div.main.setAttribute("title",i.div.text.innerText),e.children&&Files.utils.each(e.children,function(e){n(e,i)}),i};(new Request.JSON({url:e,method:"get",onSuccess:function(e){e.total&&Files.utils.each(e.items,function(e){n(e,t.root)}),Files.app&&Files.app.active&&t.selectPath(Files.app.active),t.onAdopt(t.options.div,t.root)}})).send()},selectPath:function(e){if(e!==undefined){var t=this.get(e);t?this.select(t,!0):this.select(this.root,!0)}}});if(!Files)var Files={};Files.Row=new Class({Implements:[Options,Events,Files.Template],initialize:function(e,t){this.setOptions(t),Files.utils.each(e,function(e,t){this[t]=e}.bind(this)),this.path||(this.path=(e.folder?e.folder+"/":"")+e.name),this.identifier=this.path,this.filepath=(e.folder?this.encodePath(e.folder)+"/":"")+this.encode(e.name)},encodePath:function(e,t){var n=e.split("/");return t||(t=this.encode),n=n.map(function(e){return t(e)}),n.join("/")},encode:function(e){return e},realpath:function(e){return e}}),Files.File=new Class({Extends:Files.Row,type:"file",template:"file",initialize:function(e,t){this.parent(e,t),Files.app&&(this.baseurl=Files.app.baseurl),this.size=new Files.Filesize(this.metadata.size),this.filetype=Files.getFileType(this.metadata.extension)},getModifiedDate:function(e){var t=new Date;return t.setTime(this.metadata.modified_date*1e3),e?t.toLocaleString():t},"delete":function(e,t){this.fireEvent("beforeDeleteRow");var n=this,r=new Request.JSON({url:Files.app.createRoute({view:"file",folder:n.folder,name:n.name}),method:"post",data:{action:"delete",_token:Files.token},onSuccess:function(t,r){typeof e=="function"&&e(t),n.fireEvent("afterDeleteRow",{status:!0,response:t,request:this})},onFailure:function(e){if(e.status==204||e.status==1223)return this.onSuccess();response=e.responseText,typeof t=="function"?t(e):(response=JSON.decode(e.responseText,!0),error=response&&response.error?response.error:Files._("An error occurred during request"),alert(error)),n.fireEvent("afterDeleteRow",{status:!1,response:response,request:this,xhr:e})}});r.send()}}),Files.Image=new Class({Extends:Files.File,type:"image",template:"image",initialize:function(e,t){this.parent(e,t),this.image=this.baseurl+"/"+this.encodePath(this.filepath,this.realpath),this.client_cache=!1,window.sessionStorage&&sessionStorage[this.image.toString()]&&(this.client_cache=sessionStorage[this.image.toString()])},getThumbnail:function(e,t){var n=this,r=new Request.JSON({url:Files.app.createRoute({view:"thumbnail",filename:n.name,folder:n.folder}),method:"get",onSuccess:function(t,n){typeof e=="function"&&e(t)},onFailure:function(e){response=e.responseText,typeof t=="function"?t(e):(response=JSON.decode(e.responseText,!0),error=response&&response.error?response.error:Files._("An error occurred during request"),alert(error))}});r.send()}}),Files.Folder=new Class({Extends:Files.Row,type:"folder",template:"folder",getChildren:function(e,t,n,r){var i=this.path,s={view:"nodes",folder:i};n&&(s=Files.utils.append(s,n));var s=r?r(s):Files.app.createRoute(s);Files.Folder.Request._onSuccess=e,Files.Folder.Request._onFailure=t,Files.Folder.Request.options.url=s,Files.Folder.Request.get()},add:function(e,t){this.fireEvent("beforeAddRow");var n=this;request=new Request.JSON({url:Files.app.createRoute({view:"folder",name:n.name,folder:Files.app.getPath()}),method:"post",data:{action:"add",_token:Files.token},onSuccess:function(t,r){typeof e=="function"&&e(t),n.fireEvent("afterAddRow",{status:!0,response:t,request:this})},onFailure:function(e){response=e.responseText,typeof t=="function"?t(e):(response=JSON.decode(e.responseText,!0),error=response&&response.error?response.error:Files._("An error occurred during request"),alert(error)),n.fireEvent("afterAddRow",{status:!1,response:response,request:this,xhr:e})}}),request.send()},"delete":function(e,t){var n=this,r=new Request.JSON({url:Files.app.createRoute({view:"folder",folder:Files.app.getPath(),name:n.name}),method:"post",data:{action:"delete",_token:Files.token},onSuccess:function(t,r){typeof e=="function"&&e(t),n.fireEvent("afterDeleteRow",{status:!0,response:t,request:this})},onFailure:function(e){if(e.status==204||e.status==1223)return this.onSuccess();response=e.responseText,typeof t=="function"?t(e):(response=JSON.decode(e.responseText,!0),error=response&&response.error?response.error:Files._("An error occurred during request"),alert(error)),n.fireEvent("afterDeleteRow",{status:!1,response:response,request:this,xhr:e})}});r.send()}}),Files.Folder.Request=new Request.JSON({method:"get",onSuccess:function(e,t){typeof this._onSuccess=="function"&&this._onSuccess(e)},onFailure:function(e){typeof this._onFailure=="function"?this._onFailure(e):(resp=JSON.decode(e.responseText,!0),error=resp&&resp.error?resp.error:Files._("An error occurred during request"),alert(error))}}),Files.Paginator=new Class({Implements:[Options,Events],state:null,values:{total:0,limit:0,offset:0,page_total:0,page_current:0},initialize:function(e,t){t.state&&(this.state=t.state,this.setData(this.state.getData())),this.setOptions(t);var e=document.id(e);this.element=e,this.elements={page_total:e.getElement(".page-total"),page_current:e.getElement(".page-current"),page_start:e.getElement(".start a"),page_next:e.getElement(".next a"),page_prev:e.getElement(".prev a"),page_end:e.getElement(".end a"),page_container:e.getElement(".page"),pages:{},limit_box:e.getElement("select")},this.setValues(),this.element.addEvent("click:relay(a)",function(e){e.stop();if(e.target.get("data-enabled")=="0")return;this.fireEvent("clickPage",e.target)}.bind(this)),this.elements.limit_box.addEvent("change",function(e){e.stop(),this.fireEvent("changeLimit",this.elements.limit_box.get("value"))}.bind(this))},setValues:function(){this.fireEvent("beforeSetValues");var e=this.values,t=this.elements;this.setPageData(t.page_start,{offset:0}),this.setPageData(t.page_end,{offset:(e.page_total-1)*e.limit}),this.setPageData(t.page_prev,{offset:Math.max(0,(e.page_current-2)*e.limit)});var n=Math.min((e.page_total-1)*e.limit,e.page_current*e.limit);this.setPageData(t.page_next,{offset:n}),t.page_container.empty();var r=1;while(r<=e.page_total){var i=null;r==e.page_current?i=new Element("span",{text:r}):r<3||Math.abs(r-e.page_total)<2||Math.abs(r-e.page_current)<2?i=new Element("a",{href:"#",text:r,"data-limit":e.limit,"data-offset":(r-1)*e.limit}):Math.abs(r-e.page_current)<3&&(i=new Element("span",{html:"…"})),i&&(t.pages[r]=i,i.inject(t.page_container)),r++}t.page_current.set("text",e.page_current),t.page_total.set("text",e.page_total),t.limit_box.set("value",e.limit),this.fireEvent("afterSetValues")},setPageData:function(e,t){this.fireEvent("beforeSetPageData",{page:e,data:t});var n=t.limit||this.values.limit;e.set("data-limit",n),e.set("data-offset",t.offset);var r=t.offset==this.values.offset?"addClass":"removeClass",i=e;i.getParent()!==this.elements.page_container&&i.getParent()!==this.element&&!i.getParent().match("ul")&&(i=i.getParent(),i.getParent()!==this.elements.page_container&&i.getParent()!==this.element&&!i.getParent().match("ul")&&(i=i.getParent())),i[r]("off disabled"),e.set("data-enabled",(t.offset!=this.values.offset)-0),this.fireEvent("afterSetPageData",{page:e,data:t})},setData:function(e){this.fireEvent("beforeSetData",{data:e});var t=this.values;e.total==0?(t.limit=this.state.get("limit"),t.offset=this.state.get("offset"),t.total=0,t.page_total=1,t.page_current=1):(Files.utils.each(e,function(e,n){t[n]=e}),t.limit=Math.max(t.limit,1),t.offset=Math.max(t.offset,0),t.limit>t.total&&(t.offset=0),t.limit||(t.offset=0,t.limit=t.total),t.page_total=Math.ceil(t.total/t.limit),t.offset>t.total&&(t.offset=(t.page_total-1)*t.limit),t.page_current=Math.floor(t.offset/t.limit)+1),this.fireEvent("afterSetData",{data:e})}}),function(){var e=function(e,t,n,r,i){var s=r-i,o=n[s]||n.max,u=e.getChildren().length-1;e.getChildren().each(function(e,t){t>0&&t<u&&(e.setStyle("width",o[t].value),o[t].value<=48?e.removeClass("overflow-ellipsis"):e.addClass("overflow-ellipsis"))})};this.Files||(this.Files={}),Files.Pathway=new Class({Implements:[Options],element:!1,options:{element:"files-pathway",offset:8},initialize:function(e){this.setOptions(e)},setPath:function(t){this.element||(this.element=document.id(this.options.element)),this.element.getParent().setStyle("position","relative");var n=this.element;n.setStyles({overflow:"visible","text-overflow":"ellipsis","white-space":"nowrap",bottom:0,top:0,left:(n.getPrevious()?n.getPrevious().getSize().x:0)+this.options.offset,right:n.getNext().getSize().x+this.options.offset,position:"absolute"}),n.empty();var r=new Element("ul",{"class":"breadcrumb breadcrumb-resizable"}),i=function(e,t,n,r){var i=new Element("li",{title:t,events:{click:function(){e.navigate(n)}}}),s=new Element("span",{text:t});return i.grab(s),r&&s.grab(new Element("span",{"class":"divider"}),"top"),i},s=i(t," "+t.container.title,"",!1).getElement("span").grab(new Element("i",{"class":"icon-database icon-hdd"}),"top").getParent();r.adopt(s);var o=t.getPath().split("/"),u="";o.each(function(e){e.trim()&&(u+=u?"/"+e:e,r.adopt(i(t,e,u,!0)))}),r.getLast().addClass("active"),n.setStyle("visibility","hidden"),n.adopt(r),this.pathway&&(window.removeEvent("resize",this.pathway),this.pathway=!1);if(r.getChildren().length>2){var a={},f=0,l=r.getFirst().getSize().x+r.getLast().getSize().x;r.getChildren().each(function(e,t){if(e.match(":first-child")||e.match(":last-child"))return;var n=e.getSize().x;a[t]={key:t,value:n},f+=n});var c={},h=f;c[f]=c.max=a;while(h>0){--h;var p={key:null,value:0},d={};for(var v in a)if(a.hasOwnProperty(v)){var m=a[v];m.value>p.value&&(p=m),d[v]={key:m.key,value:m.value}}--d[p.key].value,c[h]=d,a=d}e(r,n,c,n.getSize().x,l),n.setStyle("visibility","visible"),this.pathway=function(){e(r,n,c,n.getSize().x,l)},window.addEvent("resize",this.pathway)}else n.setStyle("visibility","visible")}})}();if(!Files)var Files={};Files.blank_image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAMAAAAoyzS7AAAABGdBTUEAALGPC/xhBQAAAAd0SU1FB9MICA0xMTLhM9QAAAADUExURf///6fEG8gAAAABdFJOUwBA5thmAAAACXBIWXMAAAsSAAALEgHS3X78AAAACklEQVQIHWNgAAAAAgABz8g15QAAAABJRU5ErkJggg==",Files.App=new Class({Implements:[Events,Options],_tmpl_cache:{},active:null,title:"",cookie:null,options:{cookie:{path:"/toto"},persistent:!0,thumbnails:!0,types:null,container:null,active:null,title:"files-title",pathway:{element:"files-pathway"},state:{defaults:{}},tree:{enabled:!0,div:"files-tree",theme:""},grid:{element:"files-grid",batch_delete:"#files-batch-delete",icon_size:150},paginator:{element:"files-paginator"},history:{enabled:!0},router:{defaults:{option:"com_files",view:"files",format:"json"}},initial_response:null,onAfterSetGrid:function(){window.addEvent("resize",function(){this.setDimensions(!0)}.bind(this)),this.grid.addEvent("onAfterRenew",function(){this.setDimensions(!0)}.bind(this)),this.addEvent("onUploadFile",function(){this.setDimensions(!0)}.bind(this))},onAfterNavigate:function(e){e!==undefined&&(this.setTitle(this.folder.name||this.container.title),jQuery("#upload-files-to, .upload-files-to").text(this.container.title+(e?"/"+e:"")))}},initialize:function(e){this.setOptions(e);if(this.options.persistent&&this.options.container){var t=typeof this.options.container=="string"?this.options.container:this.options.container.slug;this.cookie="com.files.container."+t}this.options.pathway&&this.setPathway(),this.setState(),this.setHistory(),this.setGrid(),this.setPaginator();var n=this.getUrl();n.getData("container")&&!this.options.container&&(this.options.container=n.getData("container")),n.getData("folder")&&(this.options.active=n.getData("folder")),this.options.title&&(this.options.title=document.id(this.options.title)),this.options.thumbnails&&this.addEvent("afterSelect",function(e){this.setThumbnails()}),this.options.container&&this.setContainer(this.options.container)},setState:function(){this.fireEvent("beforeSetState");if(this.cookie){var e=Cookie.read(this.cookie+".state"),t=JSON.decode(e,!0);t&&(this.getUrl().getData("folder")||(this.options.active=t.folder),delete t.folder,this.options.state.defaults=Files.utils.merge(this.options.state.defaults,t))}var n=this.options.state;this.state=new Files.State(n),this.fireEvent("afterSetState")},setHistory:function(){this.fireEvent("beforeSetHistory");if(this.options.history.enabled){var e=this;this.history=History,window.addEvent("popstate",function(t){t&&t.stop();var n=History.getState(),r=e.state.getData(),i=n.data,s=!1;Files.utils.each(r,function(e,t){if(s===!0)return;i&&i[t]&&e!==i[t]&&(s=!0)});if(e.container&&(s||e.active!==n.data.folder)){var o=Files.utils.append({},n.data);["option","view","layout","folder","container"].each(function(e){delete o[e]}),e.state.set(o),e.navigate(n.data.folder,"stateless")}}),this.addEvent("afterNavigate",function(t,n){if(n!=="stateless"&&e.history){var r={folder:e.active,container:e.container?e.container.slug:null};r=Files.utils.append(r,e.state.getData());var i=n==="initial"?"replaceState":"pushState",s=e.getUrl().setData(r,!0).set("fragment","").toString();e.history[i](r,null,s)}})}this.fireEvent("afterSetHistory")},navigate:function(e,t,n,r){this.fireEvent("beforeNavigate",[e,t]),e!==undefined&&(this.active&&this.state.set("offset",0),this.active=e=="/"?"":e),this.grid.reset();var i=this.active.split("/"),s=i[i.length?i.length-1:0],o=i.slice(0,i.length-1).join("/"),u=this;url_builder=function(e){return n&&(e.revalidate_cache=1),this.createRoute(e)}.bind(this),success=function(e){e.status!==!1?(Files.utils.each(e.items,function(e){e.baseurl||(e.baseurl=u.baseurl)}),u.response=e,u.grid.insertRows(e.items),u.fireEvent("afterSelect",e)):alert(e.error)},this.folder=new Files.Folder({folder:o,name:s}),r?success(r):this.folder.getChildren(success,null,this.state.getData(),url_builder);if(this.cookie){var a=jQuery.extend(!0,{},this.state.data);a.folder=this.active,Cookie.write(this.cookie+".state",JSON.encode(a),this.options.cookie)}this.fireEvent("afterNavigate",[e,t])},setContainer:function(e){var t=function(e){this.fireEvent("beforeSetContainer",{container:e}),this.container=e,this.baseurl=Files.sitebase+"/"+e.relative_path,this.active="";if(this.uploader){this.container.parameters.allowed_extensions&&(this.uploader.settings.filters=[{title:Files._("All Files"),extensions:this.container.parameters.allowed_extensions.join(",")}]);if(this.container.parameters.maximum_size){this.uploader.settings.max_file_size=this.container.parameters.maximum_size;var t=document.id("upload-max-size");t&&t.set("html",(new Files.Filesize(this.container.parameters.maximum_size)).humanize())}}this.container.parameters.thumbnails!==!0?this.options.thumbnails=!1:this.state.set("thumbnails",!0),this.options.types!==null&&(this.options.grid.types=this.options.types,this.state.set("types",this.options.types)),this.fireEvent("afterSetContainer",{container:e}),this.setTree(),this.active=this.options.active||"",this.options.active="",typeof this.options.initial_response=="string"&&(this.options.initial_response=JSON.decode(this.options.initial_response)),this.navigate(this.active,"initial",!1,this.options.initial_response)}.bind(this);typeof e=="string"?(new Request.JSON({url:this.createRoute({view:"container",slug:e,container:!1}),method:"get",onSuccess:function(e){t(e.item)}.bind(this)})).send():t(e)},setPaginator:function(){this.fireEvent("beforeSetPaginator");var e=this.options.paginator,t=this.state;Files.utils.append(e,{state:t,onClickPage:function(e){this.state.set("limit",e.get("data-limit")),this.state.set("offset",e.get("data-offset")),this.navigate()}.bind(this),onChangeLimit:function(e){this.state.set("limit",e);var t=Files.app.paginator.values.total,n=Files.app.paginator.values.offset;if(t){var r=Math.ceil(t/e);n=(r-1)*e}this.state.set("offset",n),this.navigate()}.bind(this)}),this.paginator=new Files.Paginator(e.element,e);var n=this;n.addEvent("afterSelect",function(e){n.paginator.setData({limit:e.limit,offset:e.offset,total:e.total}),n.paginator.setValues()}),this.fireEvent("afterSetPaginator")},setGrid:function(){this.fireEvent("beforeSetGrid");var e=this,t=this.options.grid,n=this.cookie+".grid.layout";this.cookie&&Cookie.read(n)&&(t.layout=Cookie.read(n)),Files.utils.append(t,{onClickFolder:function(e){var t=document.id(e.target),n=t.getParent(".files-node-shadow")||t.getParent(".files-node"),r=n.retrieve("row").path;r&&this.navigate(r)}.bind(this),onClickImage:function(t){var n=document.id(t.target),r=n.getParent(".files-node-shadow")||n.getParent(".files-node"),i=r.retrieve("row"),s=e.createRoute({view:"file",format:"raw",name:i.name,folder:i.folder});s&&SqueezeBox.open(s,{handler:"image"})},onClickFile:function(e){var t=document.id(e.target),n=t.getParent(".files-node-shadow")||t.getParent(".files-node"),r=n.retrieve("row"),i=Files.utils.append({},r),s=(new Element("div",{style:"display: none" })).inject(document.body);i.template="file_preview";var o=i.render().inject(s),u=o.measure(function(){return this.getDimensions()});SqueezeBox.open(o,{handler:"adopt",size:{x:u.x,y:u.y}}),s.dispose()},onAfterSetLayout:function(e){n&&Cookie.write(n,e.layout,this.options.cookie)}.bind(this)}),this.grid=new Files.Grid(this.options.grid.element,t),this.fireEvent("afterSetGrid")},setTree:function(){this.fireEvent("beforeSetTree");if(this.options.tree.enabled){var e=this.options.tree,t=this;Files.utils.append(e,{onClick:function(e){(e.id||e.data.url)&&t.navigate(e&&e.id?e.id:"")},root:{text:this.container.title,data:{url:"#"}}}),this.tree=new Files.Tree(e),this.tree.fromUrl(this.createRoute({view:"folders",tree:"1",limit:"0"})),this.addEvent("afterNavigate",function(e){t.tree.selectPath(e)}),this.grid&&this.grid.addEvent("afterDeleteNode",function(e){var n=e.node;if(n.type=="folder"){var r=t.tree.get(n.path);r&&r.remove()}})}this.fireEvent("afterSetTree")},getUrl:function(){return new URI(window.location.href)},getPath:function(){return this.active},setThumbnails:function(){this.setDimensions(!0);var e=this.grid.nodes,t=this;e.getLength()&&e.each(function(e){if(e.filetype!=="image")return;var t=e.name,n=e.element.getElement("img.image-thumbnail");n&&(n.addEvent("load",function(){this.addClass("loaded")}),n.set("src",e.thumbnail?e.thumbnail:Files.blank_image),(e.element.getElement(".files-node")||e.element).addClass("loaded").removeClass("loading"),window.sessionStorage&&(sessionStorage[e.image.toString()]=n.get("src")))})},setDimensions:function(e){this._cached_grid_width||(this._cached_grid_width=0);if(this._cached_grid_width!=this.grid.root.element.getSize().x||e){var t=this.grid.root.element.getSize().x,n=t/(this.grid.options.icon_size.toInt()+40),r=Math.min(Math.floor(n),this.grid.nodes.getLength()),i=t/r,s=[[]],o=[[]],u=0,a=0;this.grid.root.element.getElements(".files-node-shadow").each(function(e,t,n){e.setStyle("width",100/r+"%")},this),this._cached_grid_width=this.grid.root.element.getSize().x}},setPathway:function(){this.fireEvent("beforeSetPathway");var e=new Files.Pathway(this.options.pathway);this.addEvent("afterSetTitle",e.setPath.bind(e,this)),this.fireEvent("afterSetPathway")},setTitle:function(e){this.fireEvent("beforeSetTitle",{title:e}),this.title=e,this.options.title&&this.options.title.set("html",e),this.fireEvent("afterSetTitle",{title:e})},createRoute:function(e){return e=Files.utils.merge(this.options.router.defaults,e||{}),e.container!==!1&&!e.container&&this.container?e.container=this.container.slug:delete e.container,e.format=="html"&&delete e.format,"?"+(new Hash(e)).filter(function(e,t){return typeof e!="function"}).toQueryString()}});