var KretaFileUpload = (function () { var kretaFileUpload = function () {}; kretaFileUpload.GetUploadControl = function (uploadInputName) { return getUploadControl(uploadInputName); }; kretaFileUpload.ResetUploadControl = function (uploadInputContainerId) { $('#' + uploadInputContainerId) .find('.k-delete') .click(); return 0; }; kretaFileUpload.DisplayValidationInfo = function (uploadInputContainerId) { var uploadInputContainer = $('#' + uploadInputContainerId).find( '.k-widget.k-upload' ); uploadInputContainer.append( "
" ); return 0; }; kretaFileUpload.DisplayValidationInfo = function ( uploadInputContainerId, fileUploadValidationContainerId ) { var uploadInputContainer = $('#' + uploadInputContainerId).find( '.k-widget.k-upload' ); uploadInputContainer.append( "
" ); return 0; }; var stopAnimation = false; var animationTimeOut; kretaFileUpload.StopAnimation = function () { stopAnimation = true; $('#FileUploadValidationInfo').html(''); clearTimeout(animationTimeOut); }; kretaFileUpload.StopAnimation = function (fileUploadValidationContainerId) { stopAnimation = true; $('#' + fileUploadValidationContainerId).html(''); clearTimeout(animationTimeOut); }; kretaFileUpload.StartAnimation = function () { stopAnimation = false; }; kretaFileUpload.VaidationInfoExtensionContainerAnimation = function ( allowedFileExtensionArray, start ) { if (stopAnimation) { kretaFileUpload.StopAnimation(); return 0; } var extensionContainer = $('#FileUploadValidationInfo'); extensionContainer.append( (start < 3 ? ' ' : ', ') + allowedFileExtensionArray[start] ); if (start < allowedFileExtensionArray.length - 1) { animationTimeOut = setTimeout(function () { kretaFileUpload.VaidationInfoExtensionContainerAnimation( allowedFileExtensionArray, start + 1 ); }, 20); } return 0; }; kretaFileUpload.VaidationInfoExtensionContainerAnimation = function ( fileUploadValidationContainerId, allowedFileExtensionArray, start ) { if (stopAnimation) { kretaFileUpload.StopAnimation(); return 0; } var extensionContainer = $('#' + fileUploadValidationContainerId); extensionContainer.append( (start < 3 ? ' ' : ', ') + allowedFileExtensionArray[start] ); if (start < allowedFileExtensionArray.length - 1) { animationTimeOut = setTimeout(function () { kretaFileUpload.VaidationInfoExtensionContainerAnimation( fileUploadValidationContainerId, allowedFileExtensionArray, start + 1 ); }, 20); } return 0; }; kretaFileUpload.EnableUpload = function (uploadInputName) { getUploadControl(uploadInputName).enable(); }; kretaFileUpload.DisableUpload = function (uploadInputName) { getUploadControl(uploadInputName).disable(); }; kretaFileUpload.ToggleEnabled = function (uploadInputName) { getUploadControl(uploadInputName).toggle(); }; function getUploadControl(inputName) { return $('#' + inputName).data('kendoUpload'); } kretaFileUpload.SendAttachmentsAsBase64EncodedString = function ( inputName, sendRequest ) { function addCsatolmanyWithBase64EncodedConvertedFile( file, callbackAddCsatolmany, callbackSendRequest, csatolmanyArray, fileName ) { var reader = new FileReader(); reader.readAsDataURL(file); reader.onloadend = function () { callbackAddCsatolmany( callbackSendRequest, csatolmanyArray, fileName, reader.result ); }; } function addCsatolmany( callbackSendRequest, csatolmanyArray, name, base64EncodedString ) { csatolmanyArray.push({ Name: name, ContentAsBase64EncodedString: base64EncodedString }); if (typeof callbackSendRequest !== 'undefined') callbackSendRequest(csatolmanyArray); } var csatolmanyArray = []; var csatolmanyInputFileArray = getUploadControl(inputName).wrapper.find("input[type='file']"); var csatolmanyokSzama = csatolmanyInputFileArray.length - 1; for (var i = 0; i < csatolmanyokSzama; i++) { var bouquetCsatolmanyArray = csatolmanyInputFileArray[i].files; var bouquetCsatolmanyokSzama = bouquetCsatolmanyArray.length; for (var j = 0; j < bouquetCsatolmanyokSzama; j++) { addCsatolmanyWithBase64EncodedConvertedFile( bouquetCsatolmanyArray[j], addCsatolmany, i == csatolmanyokSzama - 1 && j == bouquetCsatolmanyokSzama - 1 ? sendRequest : undefined, csatolmanyArray, bouquetCsatolmanyArray[j].name ); } } if (csatolmanyokSzama < 1) sendRequest(csatolmanyArray); }; return kretaFileUpload; })();