(function( $ ){
    // 当domReady的时候开始初始化


        var uploader = WebUploader.create({

             //swf文件路径
            swf: '//develop/lib/webuploader/Uploader.swf',

            // 文件接收服务端。
            server: '/flow/upload',

            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建，可能是input元素，也可能是flash.
            pick: '#picker',

            // 不压缩image, 默认如果是jpeg，文件上传前会压缩一把再上传！
            resize: false
        });

        // 当有文件被添加进队列的时候
        uploader.on( 'fileQueued', function( file ) {
            var  uploader = this;
            var $list = $(this.fileList);
            $list.append( '<div id="' + file.id + '" class="item">' +
                '<h4 class="info">' + file.name + '</h4>' +
                '<p class="state">等待上传...</p>' +
                '</div>' );
        });

        // 文件上传过程中创建进度条实时显示。
        uploader.on( 'uploadProgress', function( file, percentage ) {
            var $li = $( '#'+file.id ),
                $percent = $li.find('.progress .progress-bar');

            // 避免重复创建
            if ( !$percent.length ) {
                $percent = $('<div class="progress progress-striped active">' +
                    '<div class="progress-bar" role="progressbar" style="width: 0%">' +
                    '</div>' +
                    '</div>').appendTo( $li ).find('.progress-bar');
            }

            $li.find('p.state').text('上传中');

            $percent.css( 'width', percentage * 100 + '%' );
        });
        uploader.on( 'uploadSuccess', function( file ) {
            $( '#'+file.id ).find('p.state').text('已上传');
        });

        uploader.on( 'uploadError', function( file ) {
            $( '#'+file.id ).find('p.state').text('上传出错');
        });

        uploader.on( 'uploadComplete', function( file ) {
            $( '#'+file.id ).find('.progress').fadeOut();
        });



        /* --===================================== 图片上传==================================================*/

        // 初始化Web Uploader
    //    var uploader = WebUploader.create({
    //
    //        // 选完文件后，是否自动上传。
    //        auto: true,
    //
    //        // swf文件路径
    //        swf:  '/develop/lib/webuploader/Uploader.swf',
    //
    //        // 文件接收服务端。
    //        server: '/flow/upload',
    //
    //        // 选择文件的按钮。可选。
    //        // 内部根据当前运行是创建，可能是input元素，也可能是flash.
    //        pick: '#filePicker',
    //
    //        // 只允许选择图片文件。
    //        accept: {
    //            title: 'Images',
    //            extensions: 'gif,jpg,jpeg,bmp,png',
    //            mimeTypes: 'image/*'
    //        }
    //    });
    //
    //    function bindEvents() {
    //        alert(11111);
    //        var  uploader = this;
    //        var $list = $(this.fileList),
    //        // 优化retina, 在retina下这个值是2
    //            ratio = window.devicePixelRatio || 1,
    //        // 缩略图大小
    //            thumbnailWidth = this.thumbWidth * ratio,
    //            thumbnailHeight = this.thumbHeight * ratio;
    //
    //        uploader.on( 'beforeFileQueued', function( file ) {
    //            if(uploader.aloneFile===true || Util.isStrEquals("true", uploader.aloneFile)) {
    //                $(uploader.fileList).empty();
    //                uploader.reset();
    //            }
    //            uploader.trigger('beforeQueued',file);
    //        });
    //        // 当有文件添加进来的时候
    //        uploader.on( 'fileQueued', function( file ) {
    //            debugger
    //            var $li = $(
    //                    '<div id="' + file.id + '" class="file-item thumbnail">' +
    //                    '<img>' +
    //                    '<div class="info">' + file.name + '</div>' +
    //                    '</div>'
    //                ),
    //                $img = $li.find('img');
    //
    //            $list.append( $li );
    //
    //            // 创建缩略图
    //            uploader.makeThumb( file, function( error, src ) {
    //                if ( error ) {
    //                    $img.replaceWith('<span>不能预览</span>');
    //                    return;
    //                }
    //
    //                $img.attr( 'src', src );
    //            }, thumbnailWidth, thumbnailHeight );
    //            uploader.trigger('queued',file);        // 当有文件添加进来的时候
    //            uploader.on( 'fileQueued', function( file ) {
    //
    //                var $li = $(
    //                        '<div id="' + file.id + '" class="file-item thumbnail">' +
    //                        '<img>' +
    //                        '<div class="info">' + file.name + '</div>' +
    //                        '</div>'
    //                    ),
    //                    $img = $li.find('img');
    //
    //                $list.append( $li );
    //
    //                // 创建缩略图
    //                uploader.makeThumb( file, function( error, src ) {
    //                    if ( error ) {
    //                        $img.replaceWith('<span>不能预览</span>');
    //                        return;
    //                    }
    //
    //                    $img.attr( 'src', src );
    //                }, thumbnailWidth, thumbnailHeight );
    //                uploader.trigger('queued',file);
    //            });
    //        });
    //        uploader.on( 'uploadBeforeSend', function( obj, data, headers ) {
    //            uploader.trigger('beforeSend',obj, data, headers);
    //        });
    //        // 文件上传过程中创建进度条实时显示。
    //        uploader.on( 'uploadProgress', function( file, percentage ) {
    //            var $li = $( '#'+file.id ),
    //                $percent = $li.find('.progress span');
    //
    //            // 避免重复创建
    //            if ( !$percent.length ) {
    //                $percent = $('<p class="progress"><span></span></p>')
    //                    .appendTo( $li )
    //                    .find('span');
    //            }
    //
    //            $percent.css( 'width', percentage * 100 + '%' );
    //            uploader.trigger('progress',file, percentage);
    //        });
    //
    //        // 文件上传成功，给item添加成功class, 用样式标记上传成功。
    //        uploader.on( 'uploadSuccess', function( file ) {
    //            $( '#'+file.id ).addClass('upload-state-done');
    //            uploader.trigger('success',file);
    //        });
    //
    //        // 文件上传失败，现实上传出错。
    //        uploader.on( 'uploadError', function( file ) {
    //            var $li = $( '#'+file.id ),
    //                $error = $li.find('div.error');
    //
    //            // 避免重复创建
    //            if ( !$error.length ) {
    //                $error = $('<div class="error"></div>').appendTo( $li );
    //            }
    //
    //            $error.text('上传失败');
    //            uploader.trigger('error',file);
    //        });
    //
    //        // 完成上传完了，成功或者失败，先删除进度条。
    //        uploader.on( 'uploadComplete', function( file ) {
    //            $( '#'+file.id ).find('.progress').remove();
    //            uploader.trigger('complete',file);
    //        });
    //    }
    //
    //
    //$.fn.extend({
    //    webupload: function (opts) {
    //        alert(2222);
    //        opts = $.extend(true,{},defaults,opts);
    //        var attrs = getAttrs.call(this);
    //        if(attrs.aloneFile) {
    //            opts = $.extend(true,{},opts,{
    //                pick: {
    //                    multiple: false
    //                }
    //            });
    //        }
    //        var uploader = WebUploader.create(opts);
    //        $.extend(uploader,{
    //            aloneFile: false,
    //            fileList: '#div_file_list',
    //            thumbWidth: 88,
    //            thumbHeight: 110
    //        }, attrs);
    //        bindEvents.call(uploader);
    //        return uploader;
    //    }
    //});
})( jQuery );