
var d=document;function get_ext(v)
{return v.substring(v.lastIndexOf(".")+1,v.length).toLowerCase();}
function basename(v)
{if(isset(v))
{var pos=v.lastIndexOf("\/");var r=v.substring(pos+1);return r;}
else
{return false;}}
function dec_hex(v)
{return v.toString(16);}
function hex_dec(v)
{return parseInt(v,16);}
function isset(v)
{return(typeof v!="undefined"&&v!==null)?true:false;}
function is_null(v)
{return(v===null);}
function popup(name,url,width,height,left,top,options)
{if(isset(name)&&isset(url))
{var option_string="width="+width+",height="+height;if(isset(left)&&left!==0){option_string+=",left="+left;}
if(isset(top)&&top!==0){option_string+=",top="+top;}
if(!isset(options)){options="resizable,status,scrollbars";}
if(options.indexOf("location")!=-1){option_string+=",location=yes";}
if(options.indexOf("menubar")!=-1){option_string+=",menubar=yes";}
if(options.indexOf("resizable")!=-1){option_string+=",resizable=yes";}
if(options.indexOf("scrollbars")!=-1){option_string+=",scrollbars=yes";}
if(options.indexOf("status")!=-1){option_string+=",status=yes";}
if(options.indexOf("toolbar")!=-1){option_string+=",toolbar=yes";}
option_string+=",dependent=yes";return window.open(url,name,option_string);}
else
{return false;}}
function rand(min,max)
{var r=Math.round(Math.random()*(max-min))+min;return r;}
function redirect(v)
{if(isset(v))
{window.location.href=v;}}
function strip_scripts(v)
{return v.replace(/<script[^>]*>([\u0001-\uFFFF]*?)<\/script>/g,"");}
function strip_tags(v)
{return v.replace(/<[^>]*>/g,"");}
core={app:{},util:{}}
core.control=function(id)
{this.Id=id;try
{this.ext=Ext.get(id);this.dom=Ext.get(id).dom;}
catch(e){}
this.disable=function()
{if(typeof(this.dom.disabled=="boolean"))
{this.ext.removeClass("x-form-invalid");this.setValue("");this.dom.disabled=true;}};this.enable=function()
{if(typeof(this.dom.disabled)=="boolean")
{this.dom.disabled=false;}};this.validate=function(v)
{if(typeof(v)!="undefined"&&v!="")
{var validate=new core.validate();var validations=v.toString().split(";");for(i=0;i<=validations.length;i++)
{var validation=validations[i];if(typeof(validation)=="string"&&validation!="")
{var match=validation.match(/^([a-zA-Z_-]+)(\(([a-zA-Z0-9,]*)\))?$/);if(isset(match[1]))
{var cmd=match[1];if(isset(match[3]))
{args=match[3].toString().split(",");}
else
{var args=[];}
if(isset(validate[cmd]))
{if(!validate[cmd](this.getValue(),args))
{this.ext.addClass("x-form-invalid");return false;}}}}}}
this.ext.removeClass("x-form-invalid");return true;};if(typeof(this._construct)=="function")this._construct();return this;};core.control.common=Ext.extend(core.control,{Type:"common"});core.control.layer=Ext.extend(core.control,{Type:"layer",toggle:function()
{if(this.ext.isVisible())
{this.hide();}
else
{this.show();}
return true;},hide:function()
{this.ext.setVisible(false);this.ext.setDisplayed("none");return true;},show:function()
{this.ext.setVisible(true);this.ext.setDisplayed("block");return true;}});core.control.form=Ext.extend(core.control,{Type:"form",items:Array(),_construct:function()
{delete(this.disable);delete(this.enable);this.validate=this.validateForm;var exclude=Array();for(i=0;i<this.dom.length;i++)
{var item=false;var ele=this.dom.elements[i];switch(ele.tagName)
{case"INPUT":switch(ele.type)
{case"checkbox":var item=new core.control.form.checkbox(ele.id);break;case"radio":if(exclude.indexOf(ele.name)==-1)
{var item=new core.control.form.radio(ele.id);exclude.push(ele.name);}
break;case"hidden":case"password":case"text":var item=new core.control.form.text(ele.id);break;}
break;case"SELECT":var item=new core.control.form.select(ele.id);break;case"TEXTAREA":var item=new core.control.form.text(ele.id);break;}
if(typeof(item)!=="undefined"&&item!==false)
{this.items.push(item);}}},exists:function(key)
{for(i=0;i<this.items.length;i++)
{if(this.items[i].Id==key)
{return i;}}
return undefined;},get:function(key)
{var i=this.exists(key);if(typeof(i)!="undefined")
{return this.items[i];}
return undefined;},submit:function(option)
{var r=this.validate();if(r==false)
{Ext.Msg.show({title:"Validation Error",msg:"Please fill out all required fields and your input is correct!",buttons:Ext.Msg.OK,icon:Ext.MessageBox.ERROR});}
else
{if(typeof(option)!="undefined")
{this.dom.action=this.dom.action+"&o="+option;}
this.dom.submit();}},toString:function()
{var r="";for(i=0;i<this.items.length;i++)
{var item=this.items[i];if(typeof(item)=="object")
{if(typeof(item.getValue)=="function")
{var v=item.getValue();}
else
{var v=undefined;}
r+="&"+item.Id+"="+((typeof(v)=="undefined")?"":escape(v));}}
return r;},validateForm:function()
{for(var i=0;i<this.items.length;i++)
{var item=this.items[i];var validate=this.items[i].dom.getAttribute("x-validate");if(typeof(item)=="object"&&validate!=null)
{if(!item.validate(validate))
{return false;}}}
return true;}});core.control.form.fieldset=Ext.extend(core.control,{Type:"fieldset",toggle:function()
{try
{var fieldset=this.ext;var layer=Ext.get(this.Id+".content");if(layer.isVisible())
{layer.hide(false);fieldset.setHeight(10,true);}
else
{fieldset.setHeight(layer.getHeight()+50,true);setTimeout(function(){layer.show(false);},500);}
return true;}
catch(e)
{return false;}}});core.control.form.checkbox=Ext.extend(core.control,{Type:"checkbox",checked:function()
{try
{return(this.dom.checked)?true:false;}
catch(e)
{return false;}},getValue:function()
{try
{return(this.checked())?this.dom.value:undefined;}
catch(e)
{return undefined;}},setValue:function(v)
{return false;},value:function(v)
{if(typeof(v)==="undefined")
{return this.getValue();}
else
{return this.setValue(v);}}});core.control.form.image=Ext.extend(core.control,{Type:"image",clear:function()
{try
{this.dom.value="";Ext.get(this.Id+".image").dom.src="image.php?file=img/core/blank.gif&options=";return true;}
catch(e)
{return false;}},getValue:function()
{try
{return this.dom.value;}
catch(e)
{return undefined;}},setValue:function(value)
{try
{this.dom.value=value;Ext.get(this.Id+".image").dom.src=value;return true;}
catch(e)
{return false;}},value:function(v)
{if(typeof(v)==="undefined")
{return this.getValue();}
else
{return this.setValue(v);}}});core.control.form.radio=Ext.extend(core.control,{Type:"radio",items:null,_construct:function()
{this.items=this.dom.form[this.Id];this.disable=function()
{for(i=0;i<this.items.length;i++)
{this.items[i].disabled=true;}};this.enable=function()
{for(i=0;i<this.items.length;i++)
{this.items[i].disabled=false;}};},count:function()
{try
{return this.items.length;}
catch(e)
{return 0;}},getValue:function()
{for(i=0;i<this.items.length;i++)
{if(this.items[i].checked==true)
{return this.items[i].value;}}
return undefined;},select:function(i)
{try
{for(l=0;l<this.items.length;l++)
{this.items[l].checked=false;}
this.items[i].checked=true;return true;}
catch(e)
{return false;}},setValue:function(v)
{return false;},value:function(v)
{if(typeof(v)==="undefined")
{return this.getValue();}
else
{return this.setValue(v);}}});core.control.form.select=Ext.extend(core.control,{Type:"select",items:null,_construct:function()
{this.items=this.dom.options;this.disable=function()
{this.ext.removeClass("x-form-invalid");this.select(0);this.dom.disabled=true;};},clear:function()
{try
{this.dom.options.length=0;return true;}
catch(e)
{return false;}},count:function()
{try
{return this.dom.options.length;}
catch(e)
{return 0;}},getValue:function()
{try
{return this.dom.options[this.dom.selectedIndex].value;}
catch(e)
{return undefined;}},remove:function(i)
{try
{this.dom.options[i]=null;return true;}
catch(e)
{return false;}},select:function(i)
{try
{this.dom.options[i].selected=true;return true;}
catch(e)
{return false;}},setValue:function()
{return false;},value:function(v)
{if(typeof(v)==="undefined")
{return this.getValue();}
else
{return this.setValue(v);}}});core.control.form.text=Ext.extend(core.control,{Type:"text",getValue:function()
{try
{return this.dom.value;}
catch(e)
{return undefined;}},setValue:function(v)
{try
{this.dom.value=v;return true;}
catch(e)
{return false;}},value:function(v)
{if(typeof(v)==="undefined")
{return this.getValue();}
else
{return this.setValue(v);}}});core.control.tab=Ext.extend(core.control,{Type:"tab",_construct:function()
{if(typeof(this.dom)!="undefined"&&typeof(this.dom.attributes["x-tabs"])!="undefined")
{this.tabs=this.dom.attributes["x-tabs"].value.split(",");}},toggle:function()
{if(this.ext.isVisible())
{this.ext.setVisible(false);this.ext.setDisplayed("none");}
else
{this.ext.setVisible(true);this.ext.setDisplayed("block");}},activate:function(id)
{for(var i=0;i<this.tabs.length;i++)
{var layer=Ext.get("layer."+this.tabs[i]);var tab=Ext.get(this.tabs[i]);if(this.tabs[i]==id)
{layer.setVisible(true);layer.setDisplayed("block");tab.removeClass("tab");tab.addClass("tab-selected");}
else
{layer.setVisible(false);layer.setDisplayed("none");tab.removeClass("tab-selected");tab.addClass("tab");}}}});core.validate=function()
{return{"alpha":function(v,args)
{return/^[a-zA-Z_]+$/.test(v);},"alphanum":function(v,args)
{return/^[a-zA-Z0-9_]+$/.test(v);},"email":function(v,args)
{return/^([\w]+)(.[\w]+)*@([\w-]+\.){1,5}([A-Za-z]){2,4}$/.test(v);},"max":function(v,args)
{return(v.length<=args[0])?true:false;},"min":function(v,args)
{return(v.length>=args[0])?true:false;},"not-empty":function(v,args)
{return(v!="")?true:false;},"url":function(v,args)
{return/(((https?)|(ftp)):\/\/([\-\w]+\.)+\w{2,3}(\/[%\-\w]+(\.\w{2,})?)*(([\w\-\.\?\\\/+@&#;`~=%!]*)(\.\w{2,})?)*\/?)/i.test(v);}};};core.language={strings:{},get:function(key)
{if(this.exists(key))
{return this.strings[key];}
else
{return undefined;}},exists:function(key)
{return(typeof(this.strings[key])!="undefined")?true:false;},set:function(arg1,arg2)
{switch(typeof(arg1))
{case"string":this.strings[arg1]=arg2;break;case"object":if(arg1 instanceof Array)
{for(i=0;i<arg1.length;i++)
{if(arg1[i]instanceof Array&&arg1.length==2)
{core.language.set(arg1[i][0],arg1[i][1]);}}}
else if(arg1 instanceof Object)
{for(item in arg1)
{core.language.set(item,arg1[item]);}}
break;}}};core.util.guid=function()
{var token=function(amount)
{var seed1=rand(0,Math.pow(8,8)*16);var seed=seed1^rand(0,Math.pow(10,seed1.length));seed=dec_hex(seed);return seed.substring(seed.length-(amount+1),seed.length-1);};this.toString=function()
{return this.value;};this.valueOf=function()
{return this.value;};this.value=token(4)+token(4)+"-"+token(4)+"-"+token(4)+"-"+token(4)+"-"+token(4)+token(4)+token(4);}
core.app.media={Path:"",Item:"",Mode:"",Target:"",Options:"",Window:null,Bookmark:null,apply:function(path,file,is_binary)
{switch(core.app.media.Mode)
{case"tinymce":if(typeof(is_binary)=="undefined"||is_binary==false)
{var ed=tinyMCE.getInstanceById(core.app.media.Target);ed.selection.moveToBookmark(core.app.media.Bookmark);var selected=ed.selection.getContent({format:"html"});if(selected!="")
{ed.selection.setContent("<a href=\""+core.app.media.image.Src+"\" target=\"_blank\">"+selected+"</a>");}
else
{ed.selection.setContent("<p><img src=\""+core.app.media.image.Src+"\" /></p>");}}
else
{var ed=tinyMCE.getInstanceById(core.app.media.Target);ed.selection.moveToBookmark(core.app.media.Bookmark);var selected=ed.selection.getContent({format:'html'});if(selected!="")
{ed.selection.setContent("<a href=\""+path+"/"+file+"\">"+selected+"</a>");}
else
{ed.selection.setContent("<a href=\""+path+"/"+file+"\">"+file+"</a>");}}
break;case"field":Ext.get(core.app.media.Target).dom.value=core.app.media.image.Src;Ext.get(core.app.media.Target+".image").dom.src=core.app.media.image.Src;break;case"field_plain":Ext.get(core.app.media.Target).dom.value=path+"/"+file;Ext.get(core.app.media.Target+".image").dom.src="image.php?file="+path+"/"+file+"&options=resize(150,150);sharpen(20);";break;case"file":Ext.get(core.app.media.Target).dom.value=path+"/"+file;break;}
core.app.media.Window.close();},load:function(url)
{core.app.media.files.load(url);},open:function(mode,target,options)
{this.Mode=(isset(mode)?mode:"");this.Target=(isset(target)?target:"");this.Options=(isset(options)?options:"");if(this.Mode=="tinymce")
{var ed=tinyMCE.getInstanceById(target);this.Bookmark=ed.selection.getBookmark();}
this.Window=new Ext.Window({title:"File Manager",width:1000,height:500,x:5,y:5,layout:"border",maximizable:true,items:[new Ext.Panel({id:"west",title:"",region:"west",split:true,width:220,margins:"0 0 0 0",layout:"accordion",layoutConfig:{animate:false,hideCollapseTool:true},items:[new Ext.tree.TreePanel({id:"tree",title:"<b>Explore</b>",animate:false,enableDD:true,containerScroll:true,rootVisible:true,width:190,split:true,autoScroll:true,margins:"0 0 0 0",listeners:{"beforeexpand":{fn:function(){core.app.media.tab.instance().activate("tab_files");},delay:10},"movenode":{fn:core.app.media.tree.move,delay:10}},root:new Ext.tree.TreeNode({text:"files",allowDrag:false,allowDrop:true,expanded:true,href:"javascript: core.app.media.load('?a=100&t=1&y=1100&r=0&n=0&i=0&c=0&p=&o=1&path=var/files');"}),tbar:toolbar=new Ext.Toolbar({items:[{text:"Options",tooltip:"Options",cls:"x-btn-text",menu:new Ext.menu.Menu({id:"options",items:[{id:"option_show_files",text:"Show files",checked:false,checkHandler:core.app.media.options.handler}]})},{text:"Add",tooltip:"Create a new directory",cls:"x-btn-text",handler:function()
{var tree=core.app.media.tree.instance();var node=core.app.media.tree.current();node.expand();var new_node=node.appendChild(new Ext.tree.TreeNode({text:"Enter name",icon:"img/system.media/tree/folder.gif",allowDrag:false}));core.app.media.tree.select(new_node);core.app.media.tree.edit(new_node);}},{text:"Rename",tooltip:"Rename a directory or file",cls:"x-btn-text",handler:function()
{core.app.media.tree.edit(core.app.media.tree.current());}},{text:"Delete",tooltip:"Delete a directory or file",cls:"x-btn-text",handler:function()
{var node=core.app.media.tree.current();Ext.MessageBox.confirm("Delete Directory/File","Are you sure you want to delete the directory/file <b>'"+node.text+"'</b>?",core.app.media.tree.remove);}}]})}),new Ext.FormPanel({id:"filter",title:"Filter",defaultType:"textfield",labelWidth:50,frame:true,listeners:{"beforeexpand":{fn:function(){core.app.media.tab.instance().activate("tab_preview");},delay:10}},items:[{xtype:"fieldset",title:"Size",collapsible:true,autoHeight:true,defaultType:"textfield",items:[new Ext.form.NumberField({id:"size.width",name:"size.width",value:"400",width:"30",fieldLabel:"Width",allowBlank:false,allowDecimals:false,listeners:{"change":{fn:core.app.media.image.refresh,delay:10}}}),new Ext.form.NumberField({id:"size.height",name:"size.height",value:"0",width:"30",fieldLabel:"Height",allowBlank:false,allowDecimals:false,listeners:{"change":{fn:core.app.media.image.refresh,delay:10}}})]},{xtype:"fieldset",title:"Watermark",collapsible:true,autoHeight:true,defaultType:"textfield",items:[new Ext.form.Checkbox({id:"watermark.activate",fieldLabel:"Activate",listeners:{"check":{fn:core.app.media.image.refresh,delay:10}}}),new Ext.form.ComboBox({id:"watermark.align.select",fieldLabel:"Align",displayField:"text",valueField:"id",hiddenName:"watermark.align",emptyText:"Select...",tpl:"<tpl for=\".\"><div ext:qtip=\"{desc}\" class=\"x-combo-list-item\">{text}</div></tpl>",store:new Ext.data.SimpleStore({fields:["id","text","desc"],data:[["TL","top left","Watermark in the top left corner"],["T","top center","Watermark centered in the top"],["TR","top right","Watermark in the top right corner"],["BL","bottom left","Watermark in the bottom left corner"],["B","bottom center","Watermark centered in the bottom"],["BR","bottom right","Watermark in the bottom right corner"]]}),mode:"local",forceSelection:true,typeAhead:true,triggerAction:"all",selectOnFocus:true,width:100,listWidth:100,listeners:{"change":{fn:core.app.media.image.refresh,delay:10}}}),new Ext.form.NumberField({id:"watermark.opacity",name:"watermark.opacity",value:"80",width:"30",fieldLabel:"Opacity",allowBlank:false,allowDecimals:false,listeners:{"change":{fn:core.app.media.image.refresh,delay:10}}})]},{xtype:"fieldset",title:"Sharpen",collapsible:true,autoHeight:true,defaultType:"textfield",items:[new Ext.form.Checkbox({id:"sharpen.activate",name:"sharpen.activate",fieldLabel:"Activate",listeners:{"check":{fn:core.app.media.image.refresh,delay:10}}}),new Ext.form.NumberField({id:"sharpen.amount",name:"sharpen.amount",value:"20",width:"30",fieldLabel:"Amount",allowBlank:false,allowDecimals:false,listeners:{"change":{fn:core.app.media.image.refresh,delay:10}}})]}],buttons:[{text:"Apply",handler:core.app.media.apply}]})]}),new Ext.TabPanel({id:"tab",region:"center",activeTab:0,frame:true,defaults:{autoScroll:true},items:[{id:"tab_files",title:"Files",autoLoad:"?a=100&t=1&y=1100&o=1"+"&mode="+this.Mode+"&target="+this.Target+"&options="+this.Options,listeners:{"activate":{fn:function(){core.app.media.tree.instance().expand();},delay:10}}},new Ext.form.FormPanel({id:"tab_upload",title:"Upload",header:true,labelWidth:50,frame:true,url:"?a=113&t=1&y=1100&o=1",fileUpload:true,timeout:15000,items:[{xtype:"textfield",fieldLabel:"File #1",name:"file01",inputType:"file"},{xtype:"textfield",fieldLabel:"File #2",name:"file02",inputType:"file"},{xtype:"textfield",fieldLabel:"File #3",name:"file03",inputType:"file"},{xtype:"textfield",fieldLabel:"File #4",name:"file04",inputType:"file"},{xtype:"textfield",fieldLabel:"File #5",name:"file05",inputType:"file"},{xtype:"textfield",fieldLabel:"File #6",name:"file06",inputType:"file"},{xtype:"textfield",fieldLabel:"File #7",name:"file07",inputType:"file"},{xtype:"textfield",fieldLabel:"File #8",name:"file08",inputType:"file"},{xtype:"textfield",fieldLabel:"File #9",name:"file09",inputType:"file"},{xtype:"textfield",fieldLabel:"File #10",name:"file10",inputType:"file"}],buttons:[{text:"Upload",handler:function()
{core.app.media.tab.instance().getComponent("tab_upload").getForm().submit({waitMsg:"Uploading file(s) to '"+core.app.media.tree.current().getPath("text")+"'",success:function(btn,response)
{core.app.media.tab.instance().activate("tab_files");core.app.media.tree.refresh(core.app.media.tree.current().getPath("text"));core.app.media.files.refresh();core.app.media.tab.instance().getComponent("tab_upload").getForm().reset();},failure:function(btn,response)
{Ext.MessageBox.show({title:"Error",msg:"Error uploading files!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});}})}}]})]})]});this.Window.show();core.app.media.filter.deactivate();this.tree.refresh();}}
core.app.media.image={Path:"",Image:"",Src:"",edit:function(path,image,width,height)
{this.Path=path;this.Image=image;core.app.media.filter.activate();var tab=core.app.media.tab.instance();var tab_id="tab_preview";if(isset(tab.getComponent(tab_id)))
{tab.getComponent(tab_id).un("destroy");tab.remove(tab_id);}
var tab_new=new Ext.TabPanel({id:tab_id,title:"Preview: "+image+" ("+width+"x"+height+"px)",closable:true,bodyStyle:"background: #dfe8f6",listeners:{"activate":{fn:function(){core.app.media.filter.activate();},delay:10},"destroy":{fn:function(){core.app.media.filter.deactivate();},delay:10}}});tab.add(tab_new);tab.activate(tab_id);core.app.media.image.refresh();},refresh:function()
{var tab=core.app.media.tab.instance();var post=core.app.media.filter.instance().getForm().getValues();var options="";if(post["size.width"]>1000)post["size.width"]=1000;if(post["size.height"]>1000)post["size.height"]=1000;options+="resize("+post["size.width"]+","+post["size.height"]+");";if(typeof(post["watermark.activate"])!="undefined"&&post["watermark.align"]!="")
{options+="watermark(img/system.media/watermark/watermark.png,"+post["watermark.align"]+","+post["watermark.opacity"]+");";}
if(typeof(post["sharpen.activate"])!="undefined")
{options+="sharpen("+post["sharpen.amount"]+");";}
var url="image.php?file="+core.app.media.image.Path+"/"+core.app.media.image.Image+"&options="+options;core.app.media.image.Src=url;tab.getComponent("tab_preview").body.dom.innerHTML="<div style=\"padding: 3px;\"><img src=\""+url+"\" style=\"border: 1px solid black;\"></div>";},resize:function(id,width,height)
{var img=Ext.get(id);if(img.getWidth()!=width&&img.getHeight()!=height)
{img.setWidth(width);img.setHeight(height);}
else
{var tab=core.app.media.tab.instance();var tab_width=tab.el.getWidth();var tab_height=tab.el.getHeight();var img_ratio=height/width;var tab_ratio=tab_height/tab_width;if(img_ratio>tab_ratio)
{var img_height=tab_height;var img_width=Math.round(width/(height/tab_height));}
else
{var img_width=tab_width;var img_height=Math.round(height/(width/tab_width));}
img_width=img_width-6;img_height=img_height-44;if(img_width<width||img_height<height)
{img.setWidth(img_width);img.setHeight(img_height);}
else
{img.setWidth(width);img.setHeight(height);}}},view:function(image,width,height)
{var tab=core.app.media.tab.instance();var id=new core.util.guid().toString();var html="<div style=\"padding: 3px;\"><a href=\"javascript: void(0);\" onclick=\"core.app.media.image.resize('"+id+"', "+width+", "+height+");\"><img id=\""+id+"\" style=\"width: "+width+"px; height:"+height+"px;\" src=\""+image+"\"></a></div>";var tab_id=basename(image);if(!isset(tab.getComponent(tab_id)))
{var tab_new=new Ext.TabPanel({id:tab_id,title:basename(image)+" ("+width+"x"+height+"px)",closable:true,bodyStyle:"background: #DFE8F6",html:html});tab.add(tab_new);}
tab.activate(tab_id);core.app.media.image.resize(id,width,height);}}
core.app.media.files={url:"?a=100&t=1&y=1100&o=1",remove:function(file)
{var url="?a=111&t=1&y=1100&o=1&path="+file;Ext.Ajax.request({url:url,success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);if(!obj)
{Ext.MessageBox.show({title:"Error",msg:"Error deleting directory/file!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});}
else
{core.app.media.tree.refresh(core.app.media.tree.current().getPath("text"));core.app.media.files.refresh();}}});},instance:function()
{return core.app.media.tab.instance().getComponent("tab_files");},load:function(url)
{this.url=url;core.app.media.tab.instance().activate("tab_files");this.instance().load(url+"&mode="+core.app.media.Mode+"&target="+core.app.media.Target+"&options="+core.app.media.Options);},refresh:function()
{core.app.media.files.load(this.url);}}
core.app.media.filter={activate:function()
{core.app.media.tree.instance().collapse();this.instance().expand();this.instance().enable();},deactivate:function()
{core.app.media.tree.instance().expand();this.instance().collapse();this.instance().disable();},instance:function()
{return core.app.media.Window.getComponent("west").getComponent("filter");}}
core.app.media.options={get:function(i)
{switch(i)
{case"show_files":return core.app.media.tree.instance().getTopToolbar().items.items[0].menu.items.items[0].checked;break;default:return false;break;}
var options=core.app.media.tree.instance().getTopToolbar().items.items[0];},handler:function(item,checked)
{if(item.id=="option_show_files")
{core.app.media.tree.refresh();}
else
{}}}
core.app.media.tab={instance:function()
{return core.app.media.Window.getComponent("tab");}}
core.app.media.tree={add:function(node,obj)
{for(var property in obj.Item)
{var item=obj.Item[property];if(item.Type=="dir")
{var current=new Ext.tree.TreeNode({text:item.Name,icon:"img/system.media/tree/folder.gif",href:"javascript: core.app.media.load('?a=100&t=1&y=1100&r=0&n=0&i=0&c=0&p=&o=1&path="+item.FullPath+"');",allowDrop:true,allowDrag:true});current.on("click",function(node)
{node.toggle();var regex=/javascript: core\.app\.media\.load\('(.+)'\);/;var r=regex.exec(node.attributes.href);core.app.media.load(r[1]);});node.appendChild(current);core.app.media.tree.add(current,item);}
else if(item.Type=="file"&&core.app.media.options.get("show_files"))
{if(item.Extension.toLowerCase()=="jpg"||item.Extension.toLowerCase()=="gif"||item.Extension.toLowerCase()=="png")
{var file=new Ext.tree.TreeNode({text:item.Name,icon:"img/system.media/tree/image.gif",href:"javascript: core.app.media.image.view('"+item.FullPath+"',"+item.Info["image_width"]+","+item.Info["image_height"]+");",allowDrop:false,allowDrag:true});}
else
{var file=new Ext.tree.TreeNode({text:item.Name,icon:"img/system.media/tree/file.gif",allowDrop:false,allowDrag:true});}
node.appendChild(file);}}},clear:function()
{var root=core.app.media.tree.instance().root;while(root.childNodes.length>0)
{root.childNodes[0].remove();}},current:function()
{var tree=core.app.media.tree.instance();var r=tree.getSelectionModel().getSelectedNode();if(!isset(r))
{var r=tree.root;}
return r;},edit:function(node)
{var tree=core.app.media.tree.instance();var node=core.app.media.tree.current();var ed=new Ext.tree.TreeEditor(tree,{id:"tree_editor",allowBlank:false,ignoreNoChange:true});ed.on("complete",core.app.media.tree.save);setTimeout(function()
{ed.editNode=node;ed.startEdit(node.ui.textNode);},10);},instance:function()
{return core.app.media.Window.getComponent("west").getComponent("tree");},move:function(tree,node,oldParent,newParent,index)
{var from=oldParent.getPath("text");var to=newParent.getPath("text");var from_full="var"+(from!=""?from+"/":"")+node.text;var to_full="var"+(to!=""?to+"/":"")+node.text;var url="?a=112&t=1&y=1100&o=1&from="+from_full+"&to="+to_full;if(from!=to)
{Ext.Ajax.request({url:url,success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);if(!obj)
{Ext.MessageBox.show({title:"Error",msg:"Error moving directory/file!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});}
else
{core.app.media.tree.refresh(from,to);}}});}},refresh:function(path1,path2)
{var root=core.app.media.tree.instance().root;core.app.media.tree.clear();Ext.Ajax.request({url:"?a=102&t=1&y=1100&o=1",success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);core.app.media.tree.add(root,obj);core.app.media.tree.instance().root.expand();if(typeof(path1)!="undefined")
{core.app.media.tree.instance().expandPath(path1,"text");}
if(typeof(path2)!="undefined")
{core.app.media.tree.instance().expandPath(path2,"text");}}});},remove:function(btn)
{if(btn=="yes")
{var node=core.app.media.tree.current();var url="?a=111&t=1&y=1100&o=1&path=var"+node.getPath("text");Ext.Ajax.request({url:url,success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);if(!obj)
{Ext.MessageBox.show({title:"Error",msg:"Error deleting directory/file!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});}
else
{var node=core.app.media.tree.current();node.remove();}}});}},save:function(ed,new_val,old_val)
{if(old_val=="Enter name")
{if(new_val=="Enter name")
{var node=core.app.media.tree.current();node.remove();}
else
{var tree=core.app.media.tree.instance();var node=core.app.media.tree.current();var path=core.app.media.tree.current().getPath("text");var url="?a=110&t=1&y=1100&o=1&path=var"+path+"&name="+new_val;Ext.Ajax.request({url:url,success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);if(!obj)
{Ext.MessageBox.show({title:"Error",msg:"Error creating directory!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});node.remove();}
else
{core.app.media.tree.refresh(path);core.app.media.files.load("?a=100&t=1&y=1100&o=1&path="+path);}}});}}
else
{if(new_val==old_val)
{}
else
{var tree=core.app.media.tree.instance();var node=core.app.media.tree.current();var path=core.app.media.tree.current().getPath("text");var url="?a=114&t=1&y=1100&o=1&path=var"+path+"&name="+old_val+"&newname="+new_val;Ext.Ajax.request({url:url,success:function(response)
{var obj=Ext.util.JSON.decode(response.responseText);if(!obj)
{node.setText(old_val);ed.cancelEdit();Ext.MessageBox.show({title:"Error",msg:"Error renaming directory or file!",buttons:Ext.MessageBox.OK,icon:Ext.MessageBox.ERROR});}}});}}
ed.destroy();},select:function(node)
{core.app.media.tree.instance().getSelectionModel().select(node);}}