function swfUploadLoaded(){}function fileSelect(){clearQueue(this)}function fileQueued(file){try{$(this.customSettings.fieldid).value=file.name;this.customSettings.fileid=file.id;setProgress(this)}catch(ex){this.debug(ex)}}function clearQueue(uploader){try{if(uploader.customSettings.fileid!=''){uploader.customSettings.fileid='';$(uploader.customSettings.fieldid).value='';$(uploader.customSettings.fieldid+'-bar').hide();uploader.cancelUpload(uploader.customSettings.fileid)}}catch(ex){uploader.debug(ex)}}function fileDialogComplete(numFilesSelected,numFilesQueued){}function doSubmit(){try{var index=0;for(i=1;i<=filenum;i++){if(index==0&&swfu[i].customSettings.fileid!=''){index=i}}if(index>0){swfu[index].startUpload(swfu[index].customSettings.fileid);hideButtons();$('upload').hide();$('progress').show()}else{alert('Define file(s) for upload')}}catch(ex){swfu[index].debug(ex)}return false}function fileQueueError(file,errorCode,message){try{switch(errorCode){case SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:alert("You have attempted to queue too many files.\n"+(message===0?"You have reached the upload limit.":"You may select "+(message>1?"up to "+message+" files.":"one file.")));return;case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:alert("The file you selected is too big.");this.debug("Error Code: File too big, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:alert("The file you selected is empty.  Please select another file.");this.debug("Error Code: Zero byte file, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:alert("The file you choose is not an allowed file type.");this.debug("Error Code: Invalid File Type, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;default:alert("An error occurred in the upload. Try again later.");this.debug("Error Code: "+errorCode+", File name: "+file.name+", File size: "+file.size+", Message: "+message);return}}catch(ex){this.debug(ex)}}function uploadStart(file){this.customSettings.time=new Date().getTime()/1000;$(this.customSettings.fieldid+'-cancel').show();return true}function uploadProgress(file,bytesLoaded,bytesTotal){updateProgress(this,bytesLoaded,bytesTotal)}function uploadSuccess(file,serverData){Element.hide(this.customSettings.fieldid+'-bar');this.customSettings.fileid='';$('progress-bottom').hide();$('progress-bottom').show();$('result-log').show();$('result-log').insert(serverData)}function uploadComplete(file){$(this.customSettings.fieldid+'-info').update('Done');$(this.customSettings.fieldid+'-cancel').hide();try{var index=0;for(i=1;i<=filenum;i++){if(index==0&&swfu[i].customSettings.fileid!=''){index=i}}if(index>0){swfu[index].startUpload()}else{$('progress').hide();$('result').show()}}catch(ex){this.debug(ex)}}function uploadError(file,errorCode,message){try{switch(errorCode){case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL:alert("There was a configuration error.  You will not be able to upload a resume at this time.");this.debug("Error Code: No backend file, File name: "+file.name+", Message: "+message);return;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:alert("You may only upload 1 file.");this.debug("Error Code: Upload Limit Exceeded, File name: "+file.name+", File size: "+file.size+", Message: "+message);return;case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:break;case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:alert("Upload temporary unavailable. Error code #1");this.debug("Error Code: HTTP Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:alert("Upload temporary unavailable. Error code #2");this.debug("Error Code: Upload Failed, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:alert("Connection lost. Please, check your internet connection and try again.");this.debug("Error Code: IO Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:this.debug("Error Code: Security Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:this.debug("Error Code: Upload Cancelled, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:this.debug("Error Code: Upload Stopped, File name: "+file.name+", Message: "+message);break;default:alert("Upload temporary unavailable. Error code #4");this.debug("Error Code: "+errorCode+", File name: "+file.name+", File size: "+file.size+", Message: "+message);return}}catch(ex){this.debug(ex)}}function setProgress(uploader){var fieldid=uploader.customSettings.fieldid;var file=uploader.getFile(uploader.customSettings.fileid);if(!stringlen){stringlen=60}var name=file.name;if(name.length>stringlen){name=name.substr(0,stringlen)+'...'}$(fieldid+'-title').update(name);$(fieldid+'-info').update('Queued');$(fieldid+'-count').setStyle({width:'0'});$(fieldid+'-cancel').hide();$(fieldid+'-bar').show()}function updateProgress(uploader,loaded,total){var fieldid=uploader.customSettings.fieldid;var received=new Number(loaded/1024);var received_kb=received.toFixed(2);var size=new Number(total/1024);var size_kb=size.toFixed(2);lasttime=new Date().getTime()/1000;frequency=lasttime-uploader.customSettings.time;if(frequency>=1){uploader.customSettings.time=lasttime;var speed=new Number((loaded-uploader.customSettings.loaded)/1024/frequency);var speed_kb=speed.toFixed(2);uploader.customSettings.loaded=loaded;var time=Math.round((size_kb-received_kb)/speed_kb);var time_h=Math.floor(time/3600);var time_m=Math.floor((time-time_h*3600)/60);var time_s=time-time_h*3600-time_m*60;time_h=(time_h<10)?'0'+time_h:time_h;time_m=(time_m<10)?'0'+time_m:time_m;time_s=(time_s<10)?'0'+time_s:time_s;var percent=Math.round(loaded/total*100);$(fieldid+'-info').update(received_kb+'KB of '+size_kb+'KB, Time Left: '+time_h+':'+time_m+':'+time_s+' (at '+speed_kb+' KB/s)');$(fieldid+'-count').setStyle({width:percent+'%'})}}function stopUpload(){for(i=filenum;i>0;i--){if(swfu[i].customSettings.fileid!=''){clearQueue(swfu[i])}}}function queueComplete(){}function clearFields(){for(i=1;i<=filenum;i++){$('userfile'+i).value=''}$('result-log').update('')}function makeLess(){Element.hide('upload_more');for(i=2;i<=filenum;i++){if(swfu[i].customSettings.fileid!=''){clearQueue(swfu[i])}$('button'+i).hide()}Element.hide('less-link');Element.hide('upload-bottom');Element.show('more-link');Element.show('upload-bottom')}function makeMore(){Element.show('upload_more');for(i=2;i<=filenum;i++){$('button'+i).show()}Element.hide('more-link');Element.hide('upload-bottom');Element.show('less-link');Element.show('upload-bottom')}function newUpload(){Element.show('upload');showButtons();Element.hide('result');Element.hide('result-log');clearFields()}function hideButtons(){for(i=1;i<=filenum;i++){var button=$('button'+i);button.setStyle({width:'0px'});button.setStyle({height:'0px'})}}function showButtons(){for(i=1;i<=filenum;i++){var button=$('button'+i);button.setStyle({width:(btn_width+4)+'px'});button.setStyle({height:(btn_height+4)+'px'})}}function changeFolder(id){var file=id;var select=$('sel-'+id);var folder=select.options[select.selectedIndex].value;if(folder==''){return}if(folder==0){Element.hide('wait-'+file);Element.hide('done-'+file);Element.show('form-'+file)}else{new Ajax.Request('/upload/change_folder/'+folder+'/'+file,{method:'get',onLoading:function(){Element.hide('done-'+file);Element.hide('form-'+file);Element.show('wait-'+file)},onSuccess:function(transport){var response=transport.responseText;if(response){Element.hide('wait-'+file);Element.hide('form-'+file);Element.show('done-'+file);if(response==0){$('done-'+id).innerHTML='Error'}else{$('done-'+id).innerHTML='Done'}}}})}}function createFolder(id){var folder_name=$('folder-'+id).value;if(folder_name!=''){new Ajax.Request('/upload/change_folder/0/'+id+'/'+folder_name,{method:'get',onLoading:function(){Element.hide('form-'+id);Element.hide('done-'+id);Element.show('wait-'+id)},onSuccess:function(transport){var response=transport.responseText;if(response){Element.hide('wait-'+id);Element.hide('form-'+id);Element.show('done-'+id);if(response==0){$('done-'+id).innerHTML='Error'}else{$('done-'+id).innerHTML='Done';var opt=document.createElement("option");opt.text=folder_name;opt.value=response;opt.selected=true;$('sel-'+id).options.add(opt)}}}})}}