(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('
');builder.append('
    ');builder.append('
    ');builder.append('
    '+options.lang.loadMoreData+"
    ");builder.append(''+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")});loadFilesFromServer()}function bindEvent(){G(".close_btn").on("click",function(){o.close()});G(".btn-confirm").on("click",function(){options.callback(o.selectedList);o.close()});G(".btn-cancel").on("click",function(){o.close()});G(".imagelist").on("scroll",function(){if(this.scrollTop+this.clientHeight>=this.scrollHeight){loadFilesFromServer()}})}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").html(options.lang.noDataText).show();return}o.page++;o.marker=res.extra;appendFiles(res.data)}else{G(".online .no-data").text(options.lang.noDataText).show();o.noRecord=true}},"json")}function appendFiles(data){$.each(data,function(idx,item){var builder=new StringBuilder;builder.append("
  • ");var extension=getFileExt(item.thumbURL);if(extension=="")extension="default";extension=extension.toLowerCase();var oriExtension=getFileExt(item.oriURL);if(oriExtension=="")oriExtension="default";oriExtension=oriExtension.toLowerCase();var imgSize=formatFileSize(item.filesize)+(item.filename?" - "+item.filename:"");if("mp4|mpeg|flv|mp3|wav|acc|webm".indexOf(oriExtension)>-1){imgSize=formatFileSize(item.filesize)+(item.filename?" - "+item.filename:"");builder.append('')}else if("jpg|jpeg|gif|png|bmp|webp|svg".indexOf(extension)==-1){imgSize=formatFileSize(item.filesize)+(item.filename?" - "+item.filename:"");builder.append('')}else{imgSize=item.width+"x"+item.height+" "+imgSize;builder.append('')}builder.append(''+imgSize+"
  • ");var $image=$(builder.toString());$image.find(".ic").on("click",function(){var src=$(this).prev().attr("data-src");var oldSrc=$(".selected:eq(0)").prev().attr("data-src");if(options.multiple){if($(this).hasClass("selected")){$(this).removeClass("selected");o.selectedList.remove(src)}else{$(this).addClass("selected");o.selectedList.push(src)}}else{$(".selected:eq(0)").removeClass("selected");o.selectedList.remove(oldSrc);$(this).addClass("selected");o.selectedList.push(src)}});G(".imagelist .list").append($image)})}function getFileExt(filename){if(!filename)return false;var position=filename.lastIndexOf(".");if(position!=-1){return filename.substr(position+1).toLowerCase()}return false}function formatFileSize(size){if(size/1048576>1){return(size/1048576).toFixed(2)+"MB"}else{return(size/1024).toFixed(2)+"KB"}}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);