jQuery.fn.nginxUploadProgress=function(a){return this.each(function(){$(this).submit(function(){a=jQuery.extend({interval:2000,progress_bar_id:"progressbar",nginx_progress_url:"/progress"},a);var b="";for(i=0;i<32;i++){b+=Math.floor(Math.random()*16).toString(16)}$(this).attr("action",$(this).attr("action")+"?X-Progress-ID="+b);this.timer=window.setInterval(function(){jQuery.nginxUploadProgress(this,a.nginx_progress_url,a.progress_bar_id,b)},a.interval)})})};jQuery.nginxUploadProgress=function(d,b,c,a){$.ajax({type:"GET",url:b,dataType:"json",beforeSend:function(e){e.setRequestHeader("X-Progress-ID",a)},success:function(e){if(e.state=="uploading"){bar=$("#"+c);w=Math.floor((e.received/e.size)*100);bar.width(w+"%")}if(e.state=="done"){window.clearTimeout(d.timer)}}})};