YAHOO.widget.Column.parseDate=function(sMarkup){return new Date(sMarkup);};ONEHAT.widget.FileReader={init:function(){this.columns=[{key:'type',label:'Type',formatter:this.divFormatter,sortable:true,sortOptions:{ascFunction:this.typeASC,descFunction:this.typeDESC}},{key:'name',label:'File name',formatter:this.linkFormatter,sortable:true,resizable:true,sortOptions:{ascFunction:this.nameASC,descFunction:this.nameDESC}},{key:'date',label:'Last modified',formatter:'date',sortable:true,resizable:true,sortOptions:{ascFunction:this.dateASC,descFunction:this.dateDESC}},{key:'size',label:'File size',formatter:'text',sortable:true,resizable:true,sortOptions:{ascFunction:this.sizeASC,descFunction:this.sizeDESC}}];this.dataSource=new YAHOO.util.DataSource($('filesTable'));this.dataSource.responseType=YAHOO.util.DataSource.TYPE_HTMLTABLE;this.dataSource.responseSchema={fields:[{key:'type'},{key:'name'},{key:'date',parser:YAHOO.util.DataSource.parseDate},{key:'size'}]};this.dataTable=new YAHOO.widget.DataTable('filesTableContainer',this.columns,this.dataSource,{});},linkFormatter:function(el,oRecord,oColumn,oData){el.innerHTML=oData;},divFormatter:function(el,oRecord,oColumn,oData){el.innerHTML=oData;},typeASC:function(a,b,desc){if(!a.isPrepped){ONEHAT.widget.FileReader.prep(a);}
if(!b.isPrepped){ONEHAT.widget.FileReader.prep(b);}
if(a.fileType==b.fileType){return YAHOO.util.Sort.compareAsc(a.fileName,b.fileName);}else{return desc?YAHOO.util.Sort.compareAsc(a.fileType,b.fileType):YAHOO.util.Sort.compareDesc(a.fileType,b.fileType);}},typeDESC:function(a,b){return ONEHAT.widget.FileReader.typeASC(a,b,true);},nameASC:function(a,b,desc){if(!a.isPrepped){ONEHAT.widget.FileReader.prep(a);}
if(!b.isPrepped){ONEHAT.widget.FileReader.prep(b);}
if(a.fileType=='directory'){if(b.fileType=='directory'){return YAHOO.util.Sort.compareAsc(a.fileName,b.fileName);}else{return desc?1:-1;}}else{if(b.fileType=='directory'){return desc?-1:1;}else{return YAHOO.util.Sort.compareAsc(a.fileName,b.fileName);}}},nameDESC:function(a,b){return ONEHAT.widget.FileReader.nameASC(b,a,true);},dateASC:function(a,b,desc){if(!a.isPrepped){ONEHAT.widget.FileReader.prep(a);}
if(!b.isPrepped){ONEHAT.widget.FileReader.prep(b);}
if(a.fileType=='directory'){if(b.fileType=='directory'){return YAHOO.util.Sort.compareAsc(a.date,b.date);}else{return desc?1:-1;}}else{if(b.fileType=='directory'){return desc?-1:1;}else{return YAHOO.util.Sort.compareAsc(a.date,b.date);}}},dateDESC:function(a,b){return ONEHAT.widget.FileReader.dateASC(b,a,true);},sizeASC:function(a,b,desc){if(!a.isPrepped){ONEHAT.widget.FileReader.prep(a);}
if(!b.isPrepped){ONEHAT.widget.FileReader.prep(b);}
if(a.fileType=='directory'){if(b.fileType=='directory'){return desc?YAHOO.util.Sort.compareDesc(a.fileName,b.fileName):YAHOO.util.Sort.compareAsc(a.fileName,b.fileName);}else{return desc?1:-1;}}else{if(b.fileType=='directory'){return desc?-1:1;}else{return YAHOO.util.Sort.compareAsc(a.bytes,b.bytes);}}},sizeDESC:function(a,b){return ONEHAT.widget.FileReader.sizeASC(b,a,true);},prep:function(x){x.fileType=ONEHAT.widget.FileReader.getType(x.type);x.fileName=ONEHAT.widget.FileReader.getName(x.name);if(x.fileType=='file'){x.bytes=ONEHAT.widget.FileReader.getMultiplier(x.size)*parseFloat(x.size);}
x.isPrepped=true;},getName:function(x){return x.match(/<a[^>]*>(.*)<\/a>$/i)[1].toLowerCase();},getType:function(x){if(x.search(/directory/i)!=-1){return'directory';}else if(x.search(/pdf/i)!=-1){return'pdf';}else if(x.search(/doc/i)!=-1){return'doc';}},getMultiplier:function(x){if(x.search(/TB$/i)!=-1){return 1000000000000;}else if(x.search(/GB$/i)!=-1){return 1000000000;}else if(x.search(/MB$/i)!=-1){return 1000000;}else if(x.search(/KB$/i)!=-1){return 1000;}else if(x.search(/B$/i)!=-1){return 1;}else{return 0;}}};ONEHAT.widget.FileReader.init();