(function($) {
    $(function() {
        var log = (function() {
            var dom = $('#log');

            return function( str ) {
                dom.append('<p>' + str + '</p>')
            }
        })();

        WebUploader.create({
            pick: '#filePicker'
        }).on('fileQueued', function( file ) {
            var start =  +new Date();

            // 返回的是 promise 对象
            this.md5File(file, 0, 1 * 1024 * 1024)

                // 可以用来监听进度
                .progress(function(percentage) {
                    // console.log('Percentage:', percentage);
                })

                // 处理完成后触发
                .then(function(ret) {
                    // console.log('md5:', ret);
                    
                    var end = +new Date();
                    log('HTML5: md5 ' + file.name + ' cost ' + (end - start) + 'ms get value: ' + ret);
                });
        });

        WebUploader.create({
            pick: '#filePicker2',
            swf: '../Uploader.swf',
            runtimeOrder: 'flash'
        }).on('fileQueued', function( file ) {
            var start =  +new Date();

            // 返回的是 promise 对象
            this.md5File(file, 0, 1 * 1024 * 1024)

                // 可以用来监听进度
                .progress(function(percentage) {
                    // console.log('Percentage:', percentage);
                })

                // 处理完成后触发
                .then(function(ret) {
                    // console.log('md5:', ret);
                    
                    var end = +new Date();
                    log('Flash: md5 ' + file.name + ' cost ' + (end - start) + 'ms get value: ' + ret);
                });
        });
    });
})(jQuery);