(function($){$.fn.imageCrop=function(__width,__height){$(this).on("load",function(){var width,height,left,top;var orgRate=this.width/this.height;var cropRate=__width/__height;if(orgRate>=cropRate){height=__height;width=__width*orgRate;top=0;left=(width-__width)/2}else{width=__width;height=__height/orgRate;left=0;top=0}$(this).css({position:"absolute",top:-top+"px",left:-left+"px",width:width+"px",height:height+"px"})})};$.fn.draggable=function(options){var defaults={handler:null};options=$.extend(defaults,options);var __self=this;$(options.handler).mousedown(function(e){var offsetLeft=e.pageX-$(__self).position().left;var offsetTop=e.pageY-$(__self).position().top;$(document).mousemove(function(e){window.getSelection?window.getSelection().removeAllRanges():document.selection.empty();$(__self).css({top:e.pageY-offsetTop+"px",left:e.pageX-offsetLeft+"px"})})}).mouseup(function(){$(document).unbind("mousemove")})};if(Array.prototype.remove==undefined){Array.prototype.remove=function(item){for(var i=0;i
');builder.append('
'+options.lang.title+'
');builder.append('
'+options.lang.localUpload+"");if(options.list_url!=null){builder.append(''+options.lang.fileServer+"")}builder.append('
');builder.append('
'+options.lang.selectFile+'
');builder.append('
    ');builder.append('
    \x3c!-- end of wrapper --\x3e
    '+options.lang.confirmBtnText+"");builder.append(''+options.lang.cancelBtnText+"
    ");o.dialog=$(builder.toString());$("body").append(o.dialog);if(options.top==0){options.top=Math.max(0,$(window).height()-o.dialog.height())/2}o.dialog.css({left:($(window).width()-o.dialog.width())/2+"px",top:options.top+"px"});$(".wrapper",o.dialog).css("max-height",$(window).height()-100+"px");o.dialog.draggable({handler:o.dialog.find(".ued_title")})}function bindEvent(){G(".tab").on("click",function(){var tab=$(this).attr("tab");G(".tab-panel").hide();G("."+tab).show();G(".tab").removeClass("focus");$(this).addClass("focus")});G(".close_btn").on("click",function(){o.close()});G(".webuploader-element-invisible").on("change",function(){addFiles(this)});G(".image-select").on("click",function(){G(".webuploader-element-invisible").trigger("click")});G(".btn-continue-add").on("click",function(){G(".webuploader-element-invisible").trigger("click")});G(".btn-start-upload").on("click",function(){if(o.uploadLock)return;if(o.todoList.length==0){options.errorHandler(options.lang.noFileAdded,"error");return false}$(this).addClass("disabled").text(options.lang.uploading);uploadFile(o.todoList.shift())});G(".btn-confirm").on("click",function(){if(o.todoList.length>0){options.errorHandler(options.lang.fileNotUpload,"error");return false}if(o.selectedList.length==0){options.errorHandler(options.lang.noFileSelected,"error");return false}options.callback(o.selectedList);o.close()});G(".btn-cancel").on("click",function(){o.close()});G(".tab-online").on("click",function(){if(G(".imagelist .list").children().length==0){loadFilesFromServer()}});G(".imagelist").on("scroll",function(){if(this.scrollTop+this.clientHeight>=this.scrollHeight){loadFilesFromServer()}})}function addFiles(input){var files=input.files;var totalFileNum=o.todoList.length+o.uploadSuccessNum+files.length;for(var i=o.addedFileNumber;ioptions.max_filenum){options.errorHandler(KindEditor.tmpl(options.lang.uploadLimit,{uploadLimit:options.max_filenum}),"error");return}var builder=new StringBuilder;var tempFile=files[i-o.addedFileNumber];builder.append('
  • ');var extension=getFileExt(tempFile.name);if(extension=="")extension="default";extension=extension.toLowerCase();if("jpg|jpeg|gif|png|bmp|svg|webp".indexOf(extension)==-1){builder.append('')}else{builder.append('')}builder.append('
    '+options.lang.remove+''+options.lang.rotateRight+"");builder.append(''+options.lang.rotateLeft+'
    ');builder.append('
  • ');var $image=$(builder.toString());$image.find(".remove").on("click",function(){$(this).parents("li").remove();var index=$(this).attr("index");for(var i=0;i1){return(size/1048576).toFixed(2)+"MB"}else{return(size/1024).toFixed(2)+"KB"}}function fileCheckHandler(node){var maxsize=options.max_filesize*1024;if(maxsize>0&&node.file.size>maxsize){__error__(KindEditor.tmpl(options.lang.sizeLimit,{sizeLimit:options.max_filesize}),node);return false}var ext=getFileExt(node.file.name);if(ext&&options.ext_allow.indexOf(ext)!=-1&&options.ext_refuse.indexOf(ext)==-1){return true}else{__error__(KindEditor.tmpl(options.lang.invalidExt,{invalidExt:ext}),node);return false}}function getFileExt(filename){if(!filename)return false;var position=filename.lastIndexOf(".");if(position!=-1){return filename.substr(position+1).toLowerCase()}return false}function getAccept(){var extensions=options.ext_allow.split("|");var accept=[];$.each(extensions,function(idx,item){accept.push(mimeType[item])});if(accept.length>1){return accept.uinque().join(",")}return"*"}function __error__(message,node){G("#img-comtainer-"+dialogSCode+node.index).find(".error").show().text(message)}function G(query){return o.dialog.find(query)}function loadFilesFromServer(){if(!options.list_url){G(".online .no-data").html(''+options.lang.noListUrl+"").show();return false}if(o.noRecord)return false;G(".loading-icon").show();$.get(options.list_url,{page:o.page,marker:o.marker,fileType:options.fileType},function(res){G(".loading-icon").hide();if(res.code=="000"){if(!res.data[0]){G(".online .no-data").text(options.lang.noDataText).show();return}o.marker=res.extra;o.page++;appendFiles(res.data,"online")}else{G(".online .no-data").text(options.lang.noDataText).show();o.noRecord=true}},"json")}function appendFiles(data,module){$.each(data,function(idx,item){var builder=new StringBuilder;builder.append("
  • ");var extension=getFileExt(item.thumbURL);if(extension=="")extension="default";extension=extension.toLowerCase();var imgSize=item.width+"x"+item.height;if("jpg|jpeg|gif|png|bmp".indexOf(extension)==-1){imgSize=formatFileSize(item.filesize);builder.append('')}else{builder.append('')}builder.append(''+imgSize+"
  • ");var $image=$(builder.toString());$image.find(".ic").on("click",function(){var src=$(this).prev().data("src");var module=$(this).data("module");if($(this).hasClass("selected")){$(this).removeClass("selected")}else{$(this).addClass("selected");o.selectedList.push(src)}});$image.find("img").imageCrop(113,113);if(module=="online"){G(".imagelist .list").append($image)}else if(module=="search"){G(".search-imagelist-box .search-list").append($image)}})}createDialog();bindEvent();return o};var StringBuilder=function(){var buffer=new Array;StringBuilder.prototype.append=function(str){buffer.push(str)};StringBuilder.prototype.toString=function(){return buffer.join("")}}})(jQuery);