function RegisterNamespaces(){for(var C=0;C<arguments.length;C++){var D=arguments[C].split("."),A=window;for(var B=0;B<D.length;B++){if(!A[D[B]]){A[D[B]]=new Object()}A=A[D[B]]}}}RegisterNamespaces("Inpl.SwfUploadHandlers");Inpl.SwfUploadHandlers=function(elementId,queueDisappear){var form=null;var isDataSendProgress=false;var isBlocked=false;var listeners={};var swfUploadInstance;var uploadedFilesCount=0;Inpl.SwfUploadHandlers.UPLOAD_SUCCESS="uploadSuccess";Inpl.SwfUploadHandlers.UPLOAD_ERROR="uploadError";Inpl.SwfUploadHandlers.UPLOAD_START="uploadStart";this.addListener=function(event,efunction){listeners[event]=efunction};this.removeListener=function(event){listeners[event]=null};var dispatch=function(event,args){if(typeof listeners[event]!="undefined"&&typeof listeners[event]=="function"){if(typeof args=="undefined"){listeners[event]()}else{listeners[event](args)}}};var findParentForm=function(id){form=document.getElementById(id);while(form){if("FORM"==form.tagName){form.onsubmit=blockSubmit;return form}form=form.parentNode}};window.onload=function(){findParentForm(elementId)};var blockSubmit=function(){if(isDataSendProgress){isBlocked=true;submit=form.getElementsByTagName("INPUT");for(var i=0;i<submit.length;i++){if(submit[i].getAttribute("type")=="submit"){submit[i].disabled=true}}return false}else{isBlocked=false}};this.swfUploadPreLoad=function(){swfUploadInstance=this;var self=this;var loading=function(){document.getElementById(elementId+"divLoadingContent").style.display="";var longLoad=function(){var d=document.getElementById(elementId+"DivAlternateContent");d.style.display="none";d=d.getElementsByTagName("input");d[0].setAttribute("disabled","disabled");document.getElementById(elementId+"divLongLoading").style.display=""};this.customSettings.loadingTimeout=setTimeout(function(){longLoad.call(self)},15*1000)};this.customSettings.loadingTimeout=setTimeout(function(){loading.call(self)},1*1000)};this.swfUploadLoaded=function(){var self=this;clearTimeout(this.customSettings.loadingTimeout);document.getElementById(elementId+"DivLoadingContent").style.display="none";var d=document.getElementById(elementId+"DivLongLoading");d.style.display="none";d=d.getElementsByTagName("input");d[0].setAttribute("disabled","disabled");var d=document.getElementById(elementId+"DivAlternateContent");d.style.display="none";d=d.getElementsByTagName("input");d[0].setAttribute("disabled","disabled");document.getElementById(elementId+"BtnCancel").onclick=function(){self.cancelQueue()}};this.swfUploadLoadFailed=function(){clearTimeout(this.customSettings.loadingTimeout);document.getElementById(elementId).style.display="none";document.getElementById(elementId+"DivLoadingContent").style.display="none";var d=document.getElementById(elementId+"DivLongLoading");d.style.display="none";d=d.getElementsByTagName("input");d[0].setAttribute("disabled","disabled");document.getElementById(elementId+"DivAlternateContent").style.display=""};this.fileQueued=function(file){try{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Oczekuje...");progress.toggleCancel(true,this)}catch(ex){this.debug(ex)}};this.fileQueueError=function(file,errorCode,message){try{if(errorCode===SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED){alert("Próbujesz wgrać zbyt dużo plików.\n"+(message===0?"Osiągnąłeś limit wgrywanych plików.":"Możesz wybrać "+(message>1?"maksymalnie "+message+" plików":"jeden plik.")));return }var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setError();progress.toggleCancel(false);switch(errorCode){case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:progress.setStatus("Zbyt duży plik.");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Zbyt duży plik."});this.debug("Error Code: File too big, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:progress.setStatus("Nie można wgrywac plków o rozmiarze 0 bajtów.");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Nie można wgrywac plków o rozmiarze 0 bajtów."});this.debug("Error Code: Zero byte file, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:progress.setStatus("Zły typ pliku.");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Zły typ pliku."});this.debug("Error Code: Invalid File Type, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;default:if(file!==null){progress.setStatus("Nieznany błąd!")}this.debug("Error Code: "+errorCode+", File name: "+file.name+", File size: "+file.size+", Message: "+message);break}}catch(ex){this.debug(ex)}};this.fileDialogComplete=function(numFilesSelected,numFilesQueued){try{if(numFilesSelected>0){document.getElementById(this.customSettings.cancelButtonId).disabled=false}this.startUpload()}catch(ex){this.debug(ex)}};this.uploadStart=function(file){if(!isDataSendProgress){isDataSendProgress=true}try{dispatch(Inpl.SwfUploadHandlers.UPLOAD_START,{type:Inpl.SwfUploadHandlers.UPLOAD_START});var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Wgrywam...");progress.toggleCancel(true,this)}catch(ex){}return true};this.uploadProgress=function(file,bytesLoaded,bytesTotal){try{var percent=Math.ceil((bytesLoaded/bytesTotal)*100);var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setProgress(percent);progress.setStatus("Wgrywam... "+percent+" procent")}catch(ex){this.debug(ex)}};this.uploadSuccess=function(file,serverData){if(serverData!=""){try{var data=eval("("+serverData+")")}catch(e){var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Błąd podczas wgrywania.");progress.setError();progress.toggleCancel(false);return }if(typeof data=="object"){if(data.response.result){var input=document.createElement("input");input.name="__swfupload_"+elementId+"[]";input.type="hidden";input.value=data.response.result.attachments[0].id;document.getElementById(elementId).appendChild(input);file.name=file.name.toLowerCase();file.type=file.type.toLowerCase();dispatch(Inpl.SwfUploadHandlers.UPLOAD_SUCCESS,{type:Inpl.SwfUploadHandlers.UPLOAD_SUCCESS,fileId:data.response.result.attachments[0].id,fileData:file});try{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setComplete();progress.setStatus("Zakończono.");progress.toggleCancel(false)}catch(ex){this.debug(ex)}}else{if(data.response.error){var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus(data.response.error.message);progress.setError();progress.toggleCancel(false)}else{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Nieznany błąd podczas wgrywania.");progress.setError();progress.toggleCancel(false)}}}else{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Błąd podczas wgrywania. Błędny format danych");progress.setError();progress.toggleCancel(false)}}else{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setStatus("Błąd serwera podczas wgrywania.");progress.setError();progress.toggleCancel(false)}};this.uploadError=function(file,errorCode,message){try{var progress=new Inpl.FileProgress(file,this.customSettings.progressTarget,queueDisappear);progress.setError();progress.toggleCancel(false);switch(errorCode){case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:progress.setStatus("Błąd podczas wgrywania: "+message);dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Błąd podczas wgrywania: "+message});this.debug("Error Code: HTTP Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:progress.setStatus("Błąd podczas wgrywania");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Błąd podczas wgrywania"});this.debug("Error Code: Upload Failed, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.IO_ERROR:progress.setStatus("Błąd serwera podczas wgrywania");this.debug("Error Code: IO Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:progress.setStatus("Błąd bezpieczeństwa podczas wgrywania");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Błąd bezpieczeństwa podczas wgrywania"});this.debug("Error Code: Security Error, File name: "+file.name+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:progress.setStatus("Przekroczono limit wygraywanych plików");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Przekroczono limit wygraywanych plików"});this.debug("Error Code: Upload Limit Exceeded, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:progress.setStatus("Bład walidacji. Plik pominięto.");dispatch(Inpl.SwfUploadHandlers.UPLOAD_ERROR,{type:Inpl.SwfUploadHandlers.UPLOAD_ERROR,error:"Bład walidacji. Plik pominięto."});this.debug("Error Code: File Validation Failed, File name: "+file.name+", File size: "+file.size+", Message: "+message);break;case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:if(this.getStats().files_queued===0){document.getElementById(this.customSettings.cancelButtonId).disabled=true}progress.setStatus("Anulowano");progress.setCancelled();break;case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:progress.setStatus("Zatrzymano");break;default:progress.setStatus("Nieznany błąd: "+errorCode);this.debug("Error Code: "+errorCode+", File name: "+file.name+", File size: "+file.size+", Message: "+message);break}}catch(ex){this.debug(ex)}};this.uploadComplete=function(file){if(this.getStats().files_queued===0){document.getElementById(this.customSettings.cancelButtonId).disabled=true}};this.queueComplete=function(numFilesUploaded){uploadedFilesCount+=numFilesUploaded;if(isDataSendProgress){isDataSendProgress=false}if(isBlocked){isBlocked=false;form.submit()}var status=document.getElementById(elementId+"DivStatus");message="";files="";num=uploadedFilesCount.toString();if(num.length>2){num=num.substring(num.length-2)}num=num*1;if(num>4&&num<15){files="plików"}else{if(num>14){num=num%10}}if(num>1&&num<5){files="pliki"}else{files="plików"}if(num==1){files="plik"}status.innerHTML="Wgrano "+uploadedFilesCount+" "+files};this.removeUploadedAttachment=function(id){for(var i=0;i<form.length;i++){if(form.elements[i].value==id){try{if(document.getElementById(elementId).removeChild(form.elements[i])){limit=swfUploadInstance.settings.file_upload_limit;limit++;if(uploadedFilesCount>0){uploadedFilesCount--}swfUploadInstance.setFileUploadLimit(limit);return true}else{return false}}catch(e){return false}}}};this.setButtonDisabled=function(isDisabled){swfUploadInstance.setButtonDisabled(isDisabled);}};