﻿// Upload Progress Bar - jQuery, Mediabox, AJAX
(function($){var s,t,u=window,v={};$.upload=$.extend(v,{start:function(a,b){if(!v.hasFields(a))return true;t=$('<div id="progressContainer"><table id="progress"><tr><th colspan="2" class="title">Uploading File</th></tr><tr><td colspan="2" class="bar"><div id="progressBarContainer"><div id="progressBar"></div><div id="progressPercentDone">0.00%</div></div></td></tr><tr><th>Current File:</th><td id="progressCurrentFileName" /></tr><tr><th>Time Left:</th><td id="progressTimeLeft" /></tr><tr><th>Upload Left:</th><td id="progressUploadLeft" /></tr><tr><th>Transfer Rate:</th><td id="progressTransferRate" /></tr><tr><th /><td><b><a href="javascript:$.upload.cancel();">Cancel</a></b></td></tr></table></div>');mediabox.open(t,{modal:true,style:{width:350}});var c=a.attr('action').split(/[?&]/),d=c.shift(),e=[];$.each(c,function(){if(this.indexOf('UploadID=')!=0)e.push(this)});e.push('UploadID='+b);a.attr('action',d+'?'+e.join('&'));return true},hasFields:function(a){return!!a.find(':file').filter(function(){return $(this).val().length!=0})[0]},update:function(c){$.each(c,function(a,b){$('#progress'+a,t).text(b)});$('#progressBar',t).css('width',c.PercentDone);if(c.UploadStatus=='Complete'){return false}else if(c.UploadStatus=='Cancelled'){mediabox.close();return false}return true},cancel:function(){if(u.stop)u.stop();else if(u.document&&u.document.execCommand)u.document.execCommand('Stop');clearTimeout(s);mediabox.close()}});$.streamer=function(c,d,e){var f,g,h,i,j,k,l,m,n,o=100,p=function(){l=g!==f;while(true){h=g||(typeof(r.responseText)!='unknown'?r.responseText:'');i=h.indexOf('|',n);if(i<=n)break;j=parseInt(h.slice(n,i));if(h.length-i-1<j)break;n=++i+j;if(j>0){k=eval('('+h.slice(i,n)+')');d(k)}}if(!l)setTimeout(p,o);else if('complete'in e&&!e.complete(m)){var a={};if('reconnect'in e)a=e.reconnect();setTimeout(function(){r=q(a)},2000)}},q=function(b){g=f;n=-1;b=$.extend({url:c,cache:false,dataType:'text',beforeSend:function(a){if(typeof(a.responseText)=='unknown')a.setRequestHeader('StreamerCount',1);setTimeout(p,o)},complete:function(a){m=a.status;g=a.responseText}},b);return $.ajax(b)},r=q();return r};this.AttemptUpload=function(c){var d=$(c).closest('form'),e='/upload/ajaxprogress.aspx',f,g,h,i='multipart/form-data',j,k,l,m;if(!$.upload.hasFields(d))return true;$.streamer(e,function(a){if('UploadID'in a){f=a['UploadID'];g='iframe-'+f;h=$('<iframe src="about:blank"/>').hide().attr({id:g,name:g}).appendTo('body');j=d.attr('enctype');k=d.attr('target');l=d.attr('action');d.attr({enctype:i,encoding:i,target:g});$.upload.start(d,f);d.submit()}if('UploadStatus'in a)m=a['UploadStatus'];$.upload.update(a)},{complete:function(a){if(m=='Complete'){d.attr({action:l,enctype:j,encoding:j,target:k}).find(':file').attr('disabled','disabled');$(d.find(':input[name=UploadID]')[0]||$('<input name="UploadID"/>').appendTo(d)).val(f);var b=$(c).attr('href');if(b&&b.indexOf('javascript:')>=0)eval(b.slice(11));else d.submit()}else if(a==200&&f){return false}else{mediabox.close()}return true},reconnect:function(){return{url:e+'?UploadID='+f}}});return false}})(jQuery);

// Microsoft Ajax Script Loaded Notifier
(function($){if($&&($=$.Application))$.notifyScriptLoaded()})(window.Sys);
