1if(typeof AcDocuments==="undefined"){function AcDocuments(step,config){var defaultConfig={rootSelector:'[data-ov-widget="file-upload"]',msg:{},urls:{addFile:null,deleteFile:null},validate:{minSizes:{'image/jpeg':300,'image/png':80,'application/pdf':5120,'application/vnd.openxmlformats-officedocument.wordprocessingml.document':10000,'application/msword':20000}},animate:{duration:{show:400,hide:900},timeout:{hide:4000}},reloadOnAuthError:false};this.step=step;this.config=jQuery.extend({},defaultConfig,config||{});this.pendingOperations=0;if(this.findElements().length!=1){throw new Error('Invalid root selector: '+this.config.rootSelector);}} 2AcDocuments.prototype.reloadIfAuthError=function(timeout){if(this.config.reloadOnAuthError===true){}} 3AcDocuments.prototype.add=function(id,fileName,mimeType){this.documents[id]={file:fileName,mime:mimeType};} 4AcDocuments.prototype.init=function(){if(typeof this.config.init==="function"){this.config.init(this);}} 5AcDocuments.prototype.findElements=function(groupId,selector){var result=jQuery(this.config.rootSelector).first();if(typeof groupId==="string"&&groupId.trim()){result=result.find('[data-ov-file-upload-group-id="'+groupId+'"]').first();} 6if(typeof selector==="string"&&selector.trim()){result=result.find(selector.trim());} 7return result;} 8AcDocuments.prototype.findElement=function(groupId,selector){return this.findElements(groupId,selector).first();} 9AcDocuments.prototype.createFileElement=function(groupId,fileId,file){var fileElem=jQuery('<span class="fileImage"></span>');fileElem.attr("data-ov-file-upload-document-id",fileId);var icon=jQuery('<span class="document file-type-icon"></span>');if(this.isImage(file)){icon.addClass('file-type-image');var img=document.createElement('img');img.src=URL.createObjectURL(file);img.alt="";img.onLoad=function(){URL.revokeObjectURL(this.src);};icon.append(img);}else if(this.isPdf(file)){icon.addClass('file-type-pdf');}else if(file&&file.name.indexOf('.')>=0){var ext=file.name.toLowerCase().split('.').slice(-1);icon.addClass('file-type-'+ext);}else{icon.addClass('file-type-any');} 10fileElem.append(icon);fileElem.append(jQuery('<span class="name">'+file.name+'</span>'));fileElem.append(jQuery('<span class="progress"><span class="progress-bar"></span></span>'));this.findElement(groupId,".fileList").append(fileElem);this.findElement(groupId,'.placeholder').addClass('hide');return fileElem;} 11AcDocuments.prototype.addFileElementDeleteLink=function(groupId,fileId,replaceJElem){var deleteButton=jQuery('<span class="delete action-button" aria-role="button">'+this.config.msg.eliminarFichero+'</span>');if(typeof replaceJElem==="object"){replaceJElem.replaceWith(deleteButton);}else{var fileElem=this.findElement(groupId,'[data-ov-file-upload-document-id="'+fileId+'"]');if(fileElem.find('.delete').length>0){return;} 12fileElem.append(deleteButton);} 13this.attachEventHandlers(deleteButton);} 14AcDocuments.prototype.deleteFileElement=function(groupId,fileId){var document=this.findElement(groupId,'[data-ov-file-upload-document-id="'+fileId+'"]');document.find('.delete').off('click.dnd');document.remove();if(this.findElement(groupId,'.fileList .fileImage').length==0){this.findElement(groupId,'.placeholder').removeClass('hide');}} 15AcDocuments.prototype.updateFileInList=function(groupId,tmpFileId,fileData){var fileElem=this.findElement(groupId,'[data-ov-file-upload-document-id="'+tmpFileId+'"]');if(fileElem.length==0){fileElem=this.createFileElement(groupId,fileData.id);}else{fileElem.attr('data-ov-file-upload-document-id',fileData.id);} 16fileElem.find('.name').text(fileData.fileName);var icon=fileElem.find('.document.file-type-icon').addClass('.file-type-'+fileData.simpleType).removeClass('.file-type-any');if(fileData.mimeType&&fileData.base64Thumbnail){var img=icon.find('img');var dataUrl='data:'+fileData.mimeType+";base64,"+fileData.base64Thumbnail;if(img.length===0){img=jQuery('<img src="'+dataUrl+'" alt="">');icon.append(img);}else{img.attr('src',dataUrl).removeClass('hide');}} 17return fileElem;} 18AcDocuments.prototype.attachEventHandlers=function(itemRootElem){var $this=this;var targetElem=itemRootElem.find('.delete');if(itemRootElem.hasClass('delete')&&itemRootElem.hasClass('action-button')){targetElem=itemRootElem.first();} 19targetElem.off('click.dnd').on('click.dnd',function(ev){$this.handleDeleteEvent(this,ev);});} 20AcDocuments.prototype.handleDeleteEvent=function(domElem,ev){ev.stopPropagation();ev.preventDefault();var fileElem=jQuery(domElem).closest('[data-ov-file-upload-document-id]');var fileId=fileElem.attr('data-ov-file-upload-document-id');if(fileId){var groupId=this.getGroupId(domElem);this.ajaxDeleteFile(groupId,fileId,fileElem);}} 21AcDocuments.prototype.ajaxDeleteFile=function(groupId,fileId,fileElem){var $this=this;var data={};data[this.step.config.nmsp+"groupId"]=groupId;data[this.step.config.nmsp+"fileId"]=fileId;
21$this.onBackgroundOperationStart();jQuery.ajax({url:this.config.url.deleteFile,method:'POST',data:data,cache:false,dataType:'json'}).done(function(result,textStatus,jqXHR){$this.internalFileDelete(groupId,fileElem,result.success,result.status);}).fail(function(jqXHR,textStatus,errorThrown){$this.internalFileDelete(groupId,null,false,textStatus);}).always(function(){$this.onBackgroundOperationEnd();});} 22AcDocuments.prototype.internalFileDelete=function(groupId,fileElem,success,statusOrMsg){if(success){fileElem.remove();var fileList=this.findElements(groupId,'.fileList');if(fileList.children().length==0){fileList.parent().find('.placeholder').removeClass('hide').show();}}else{if(statusOrMsg&&statusOrMsg.code==="401"){this.reloadIfAuthError();} 23this.showError(groupId,statusOrMsg);}} 24AcDocuments.prototype.normalizeToFileArray=function(files){var result=[];if(files instanceof Array||files instanceof FileList||files instanceof DataTransferItemList){for(var index=0;index<files.length;index++){var file=files[index];if(file instanceof DataTransferItem){file=file.getAsFile();} 25if(file instanceof File){result.push(file);}else{result=result.concat(this.normalizeToFileArray(file));}}}else if(files instanceof DataTransferItem){result.push(files.getAsFile());}else if(files instanceof File){result.push(files);}else if(file){throw new Error("Cannot normalize to File[]: "+files);} 26return result;} 27AcDocuments.prototype.ajaxAddFiles=function(groupId,fileKey,fileValues,fileAddedCallback,finalCallback){var files=this.normalizeToFileArray(fileValues);var count=files.length;var order=0;for(var index=0;index<files.length;index++){var file=files[index];order++;this.ajaxAddFile(groupId,fileKey,file,function(finalGroupId,finalFileId){count--;if(typeof fileAddedCallback==='function'){fileAddedCallback(finalGroupId,finalFileId,order,activeUploads);} 28if(count==0&&typeof finalCallback==='function'){finalCallback(finalGroupId,finalFileId);}})}} 29AcDocuments.prototype.generateFileId=function(groupId,file){return(new Date()).getTime()+""+parseInt(Math.random()*1000000);} 30AcDocuments.prototype.ajaxAddFile=function(groupId,fileKey,fileValue,finalCallback){var tmpFileId=this.generateFileId(groupId,fileValue);var fileElem=this.createFileElement(groupId,tmpFileId,fileValue);this.startProgressAnimation(fileElem);var formData=new FormData();formData.append(fileKey,fileValue) 31formData.append(this.step.config.nmsp+"groupId",groupId);formData.append(this.step.config.nmsp+"tmpFileId",tmpFileId);var $this=this;$this.onBackgroundOperationStart();jQuery.ajax({url:this.config.url.addFile,method:'POST',data:formData,cache:false,contentType:false,processData:false,dataType:'json',timeout:50000,beforeSend:function(){}}).done(function(result,textStatus,jqXHR){var data=result&&result.success&&result.data?result.data:null;$this.handleAjaxFileUploadResult(result.success&&data,result.status,fileElem,groupId,tmpFileId,data,finalCallback);}).fail(function(jqXHR,textStatus,errorThrown){$this.handleAjaxFileUploadResult(false,textStatus,fileElem,groupId,tmpFileId,null,finalCallback);}).always(function(){$this.onBackgroundOperationEnd();});} 32AcDocuments.prototype.handleAjaxFileUploadResult=function(success,statusOrMsg,fileElem,groupId,tmpFileId,data,finalCallback){var $this=this;this.stopProgressAnimation(fileElem,function(progress){if(success){$this.updateFileInList(groupId,tmpFileId,data);$this.addFileElementDeleteLink(groupId,data.id,progress);if(typeof finalCallback==="function"){finalCallback(groupId,data.id);}}else{$this.deleteFileElement(groupId,tmpFileId);if(statusOrMsg&&statusOrMsg.code==="401"){$this.reloadIfAuthError();} 33$this.showError(groupId,statusOrMsg);if(typeof finalCallback==="function"){finalCallback(groupId,undefined);}}});} 34AcDocuments.prototype.onBackgroundOperationStart=function(){this.pendingOperations++;this.step.disableUserInteraction();} 35AcDocuments.prototype.onBackgroundOperationEnd=function(){this.pendingOperations--;if(this.pendingOperations===0){this.step.enableUserInteraction();}} 36AcDocuments.prototype.filterMsgToKey=function(msg){var safeMsg="";if(typeof msg==="object"){if("status"in msg&&typeof msg.status.message==="string"){safeMsg=msg.status.message;}else if(typeof msg==="object"&&"message"in msg){safeMsg=msg.message;} 37safeMsg=safeMsg.replace(" ","_");}else if(typeof msg==="string"){safeMsg=msg;} 38var diacriticsRegex=new RegExp("\\p{Diacritic}","gu");safeMsg=safeMsg.trim().normalize("NFD").replace(diacriticsRegex,"");safeMsg=safeMsg.toLowerCase().replace(/[ \t\r\n\-]+/,"-");return safeMsg;}
39AcDocuments.prototype.getMessageObj=function(msgKey,msg){var result={title:this.config.msg.genericErrorTitle,description:this.config.msg.genericErrorDescription};var unhandledErrors=["timeout","parsererror","abort","error","authorization_required"];if(msgKey==="invalid-size"||msgKey=="error-file-upload-max-size"){result.title=this.config.msg.invalidSizeTitle;result.description=this.config.msg.invalidSizeDescription;}else if(msgKey==="invalid-format"||msgKey=="error-file-upload-format"){result.title=this.config.msg.invalidFormatTitle;result.description=this.config.msg.invalidFormatDescription;}else if(msgKey==="invalid-file"||msgKey=="error-file-corrupted"||msgKey=="error-file-truncated"){result.title=this.config.msg.fileCorruptedTitle;result.description=this.config.msg.fileCorruptedDescription;}else if(unhandledErrors.indexOf(msgKey)>=0){var errorKey="ajaxError";if(msgKey==="Error"){errorKey+="Generic";}else{var parts=msgKey.split("-");for(var index=0;index<parts.length;index++){var part=parts[index];errorKey+=part[0].toUpperCase()+part.substring(1);}} 40if(errorKey in this.config.msg){result.description=this.config.msg[errorKey];}}else if(msgKey.length>0){result.description=msgKey.trim().replace(/[\-_]+/," ");result.description=result.description[0].toUpperCase()+result.description.substr(1);} 41return result;} 42AcDocuments.prototype.showError=function(groupId,msg){var msgKey=this.filterMsgToKey(msg);var msgObj=this.getMessageObj(msgKey,msg);var errorContainer=this.findElement(groupId,'.file-upload-error-message');errorContainer.find('.title').text(msgObj.title);errorContainer.find('.description').text(msgObj.description);var $this=this;var showTime=this.config.animate.duration.show||'slow';var hideTimeout=this.config.animate.timeout.hide||4000;errorContainer.attr("aria-role","alert").addClass("current-error").show(showTime,function(){setTimeout(function(){$this.hideError(groupId);},hideTimeout);});} 43AcDocuments.prototype.hideError=function(groupId){var errorContainer=this.findElement(groupId,'.file-upload-error-message');var hideTime=this.config.animate.duration.hide||'fast';errorContainer.removeAttr("aria-role").removeClass("current-error").hide(hideTime);} 44AcDocuments.prototype.initDnD=function(){var rootElem=this.findElement();this.initValidation(rootElem);this.init();rootElem.find('[data-ov-file-upload-group-id] input[type="file"]').attr('accept',this.config.validate.accepts.join(',')).attr('data-ov-validation-ignore',true).attr('data-ov-validation','valid').prop('multiple',true).show().addClass('ov-hidden-accesible-block');this.handleEvents(rootElem);} 45AcDocuments.prototype.handleEvents=function(rootElem){var $this=this;rootElem.find('[data-ov-file-upload-group-id] [data-ov-file-upload-document-id]').each(function(pos,elem){var jElem=jQuery(elem);$this.attachEventHandlers(jElem);});rootElem.find('[data-ov-file-upload-group-id] .drop_zone').on('dragover.dnd dragleave.dnd',function(ev){ev.stopPropagation();ev.preventDefault();$this.hideError($this.getGroupId(this));}).on('drop.dnd',function(ev){$this.onDrop(this,ev);});rootElem.find('[data-ov-file-upload-group-id] input[type="file"]').on('change.dnd',function(ev){$this.onChange(this,ev);});} 46AcDocuments.prototype.initValidation=function(rootElem){var accepts=rootElem.attr("data-ov-upload-file-accepts");accepts=accepts?accepts.trim().toLowerCase().split(/[,\ ]+/):[];var maxSize=rootElem.attr("data-ov-upload-file-max-size");maxSize=maxSize?parseInt(maxSize.trim()):0;if(isNaN(maxSize)||maxSize<0){maxSize=0;} 47this.config.validate.maxSize=maxSize;this.config.validate.accepts=accepts;} 48AcDocuments.prototype.getGroupId=function(elem){var jElem=jQuery(elem);var groupId=jElem.attr('data-ov-file-upload-group-id');if(!groupId){jElem=jElem.closest('[data-ov-file-upload-group-id]');if(jElem.length>=0){groupId=jElem.attr('data-ov-file-upload-group-id');}} 49return groupId?groupId:undefined;} 50AcDocuments.prototype.getFileInputByElem=function(domElement){var groupId=this.getGroupId(domElement);if(!groupId){throw new Error('No groupId found by DOM element',domElement);} 51var fileInput=this.findElement(groupId,'input[type="file"]');return fileInput&&fileInput.length>0?fileInput:undefined;} 52AcDocuments.prototype.onDrop=function(domElement,ev){ev.stopPropagation();ev.preventDefault();var dataTransferItems=(ev.dataTransfer&&ev.dataTransfer.items)||(ev.originalEvent.dataTransfer&&ev.originalEvent.dataTransfer.items)||[];var dataFiles=ev.target.files||ev.originalEvent.target.files||[];var files=this.normalizeToFileArray([].concat(dataTransferItems).concat(dataFiles));var fileInput=this.getFileInputByElem(domElement);if(!fileInput){throw new Error('No file input found by group '+groupId);} 53this.handleFilesForUpload(domElement,fileInput.attr("name"),files);} 54AcDocuments.prototype.onChange=function(targetElem,ev){ev.preventDefault();ev.stopPropagation();var fileUploadRow=jQuery(targetElem).closest('.file-upload-row');if(fileUploadRow.length===0){throw new Error('Invalid target element is not inside the upload row');} 55var files=this.normalizeToFileArray(ev.target.files);this.handleFilesForUpload(fileUploadRow[0],ev.target.name,files);} 56AcDocuments.prototype.handleFilesForUpload=function(targetElem,inputName,files){var groupId=this.getGroupId(targetElem);if(!groupId){throw new Error("No group found for target element");} 57for(var index=0;
57index<files.length;index++){var candidate=files[index];var validation=this.validateFile(candidate);if(validation!==""){console&&console.error("Invalid file "+candidate.name+". Validation: "+validation);this.showError(groupId,validation);return;}} 58var $this=this;this.ajaxAddFiles(groupId,inputName,files,null,function(finalGroupId,finalFileId){var input=$this.findElement(finalGroupId,'input[type="file"]');if(input.length===1){$this.clearFileInput(input);}else if(input.length>1){throw new Error("Found multiple inputs in group "+finalGroupId);}else if(input.length===0){throw new Error("No file input found in group "+finalGroupId);}});} 59AcDocuments.prototype.clearFileInput=function(input){input.val('').attr("data-ov-validation","valid")[0].removeAttribute("aria-invalid");var newInput=input.clone(true);input.replaceWith(newInput);newInput.change();} 60AcDocuments.prototype.validateFileNotCorrupted=function(file){var key=(file&&file.type.toLowerCase())||"none";var minSize=0;if(key in this.config.validate.minSizes){minSize=this.config.validate.minSizes[key];} 61return AcValidations.validateFileNotEmptyAndMime(file,minSize);} 62AcDocuments.prototype.validateFileSize=function(file){return AcValidations.validateFileSize(file,this.config.validate.maxSize);} 63AcDocuments.prototype.validateFileAccept=function(file){return AcValidations.validateFileAccept(file,this.config.validate.accepts);} 64AcDocuments.prototype.validateFile=function(file){if(!this.validateFileNotCorrupted(file)){return"invalid-file";}else if(!this.validateFileSize(file)){return"invalid-size";}else if(!this.validateFileAccept(file)){return"invalid-format";} 65return'';} 66AcDocuments.prototype.isImage=function(file){return file&&file.type&&file.type.startsWith('image/');} 67AcDocuments.prototype.isPdf=function(file){return file&&file.type&&file.type==='application/pdf';} 68AcDocuments.prototype.startProgressAnimation=function(fileElem,onEnd){var progress=fileElem.find('.progress');var domElem=progress.get(0);var totalWidth=parseInt(progress.css('width'));var maxTimeUnits=120;var stepTime=400;var fill=progress.find('.progress-bar');var currentWidth=parseInt(fill.css('width'));var stepWidth=(totalWidth-currentWidth)/maxTimeUnits;var $this=this;var updateFill=function(){clearTimeout(domElem.progressTimer);if(currentWidth>=totalWidth){$this.showError(fileElem.attr('data-ov-file-upload-group-id'));$this.stopProgressAnimation(fileElem,onEnd);}else{currentWidth+=stepWidth;fill.css('width',currentWidth+'px');if(currentWidth>(totalWidth/4)){stepTime=300;stepWidth=stepWidth/2;}else if(currentWidth>(totalWidth/2)){stepTime=200;stepWidth=stepWidth/2;} 69domElem.progressTimer=setTimeout(updateFill,stepTime);}};updateFill();} 70AcDocuments.prototype.stopProgressAnimation=function(fileElem,onEnd){var progress=fileElem.find('.progress');if(progress.length>0){var domElem=progress.get(0);clearTimeout(domElem.progressTimer);progress.find('.progress-bar').css('width','100%');} 71if(typeof onEnd==='function'){setTimeout(function(){onEnd(progress);},100);}}} 72if(typeof AcTramiteStep==='undefined'){function AcTramiteStep(config){var baseSelector=".ac-tramite.tramite-cambio-titular";var sectionSelector=baseSelector+" .tramite-wrapper";var defaultConfig={nmsp:"",validation:{},selectors:{base:baseSelector,section:sectionSelector,form:sectionSelector+" form.tramite-form"},};this.config=jQuery.extend({},defaultConfig,config||{});this.name="tramite-step";var parts=this.getCurrentStep().split("-");for(var index=0;index<parts.length;index++){var part=parts[index];if(part.length>0){this.name+=part[0].toUpperCase()+part.substr(1);}} 73this.validator=null;this.enableButtonPending=false;this.debug=false;} 74AcTramiteStep.prototype.getNmsp=function(){return this.config.nmsp;} 75AcTramiteStep.prototype.getName=function(){return this.name;} 76AcTramiteStep.prototype.getValidator=function(){return this.validator;} 77AcTramiteStep.prototype._getElement=function(type){var elem=null;if(type in this.config.selectors){elem=jQuery(this.config.selectors[type]);if(typeof elem==="undefined"||!elem.length){typeof window.console==="object"&&console.error("No element found by selector type "+type+": "+this.config.selectors[type]);}}else{typeof window.console==="object"&&console.error("Invalid selector type "+type);} 78return elem;} 79AcTramiteStep.prototype.getSectionElement=function(){return this._getElement("section");} 80AcTramiteStep.prototype.getForm=function(){return this._getElement("form");} 81AcTramiteStep.prototype.getFormElement=function(elemName){if(typeof elemName!=="string"||!elemName){return null;} 82return this.getForm().find('[name="'+elemName+'"]');} 83AcTramiteStep.prototype.getValidElements=function(){return this._getValidationElements("valid");} 84AcTramiteStep.prototype.getInvalidElements=function(){return this._getValidationElements("invalid");} 85AcTramiteStep.prototype.getMissingElements=function(){return this._getValidationElements("missing");} 86AcTramiteStep.prototype.getAllElements=function(){return this._getValidationElements("all");}
87AcTramiteStep.prototype._getValidationElements=function(validFlag){var filterType="";if(validFlag===true||validFlag==="true"){filterType="valid";}else if(validFlag===false||validFlag==="false"){filterType="invalid";}else if(validFlag==="missing"){filterType="missing";}else if(validFlag===undefined||validFlag==="not-validated"){filterType="not-validated";}else if(validFlag==="validated"){filterType="not-validated";}else{filterType="all";} 88var result=this.getValidator().elements();var $this=this;if(filterType!=="all"){result=result.filter(function(pos,elem){return $this._is(jQuery(elem),filterType);});} 89return result;} 90AcTramiteStep.prototype.getElementsSummary=function(){var summary={total:0,required:0,missing:0,validated:0,notValidated:0,valid:0,invalid:0};var $this=this;this.getValidator().elements().each(function(pos,elem){var jElem=jQuery(elem);summary.total++;summary.required+=jElem.is(':required')?1:0;summary.missing+=$this._is(jElem,"missing")?1:0;summary.validated+=$this._is(jElem,"validated")?1:0;summary.notValidated+=$this._is(jElem,"not-validated")?1:0;summary.valid+=$this._is(jElem,"valid")?1:0;summary.invalid+=$this._is(jElem,"invalid")?1:0;});return summary;} 91AcTramiteStep.prototype._is=function(jElem,filterType){if(jElem.is(":hidden")||jElem.prop("readonly")){return false;} 92switch(filterType){case"valid":return jElem.is('[data-ov-validation="valid"]');case"invalid":return jElem.is('[data-ov-validation="invalid"]');case"missing":return this.validator.isMissing(jElem[0]);case"not-validated":return jElem.is('[data-ov-validation="pending"]');case"validated":return jElem.is(':not([data-ov-validation="pending"])');default:return true;}} 93AcTramiteStep.prototype.isValid=function(){var summary=this.getElementsSummary();var formIsValid=summary.missing===0&&summary.invalid===0;if(this.debug){typeof window.console==="object"&&console.debug("isValid::"+formIsValid,summary)&&console.debug(this.getForm().find(':focus').first());} 94return formIsValid;} 95AcTramiteStep.prototype.getSubmitButton=function(form){form=form||this.getForm();return form.find('.btn-tramite[type="submit"]');} 96AcTramiteStep.prototype._delayedEnableSubmitButton=function(enable,form){var $this=this;if(this._delayedEnableSubmitButtonTimeout!==null){clearTimeout(this._delayedEnableSubmitButtonTimeout);this._delayedEnableSubmitButtonTimeout=null;} 97this._delayedEnableSubmitButtonTimeout=setTimeout(function(){this._delayedEnableSubmitButtonTimeout=null;$this.enableSubmitButton(enable,form);},50);} 98AcTramiteStep.prototype.enableSubmitButton=function(enable,form){if(typeof enable==="undefined"||enable===null){enable=this.isValid();} 99var propValue=typeof enable==="boolean"&&enable;
99this.getSubmitButton(form).prop("disabled",!propValue);} 100AcTramiteStep.prototype.hideErrorsBlock=function(time){if(this.getInvalidElements().length===0&&jQuery('#errores-formulario').is(":visible")){jQuery('#errores-formulario').hide(time||800);}} 101AcTramiteStep.prototype.getCurrentStep=function(){var section=this.getSectionElement();var data=section.attr("data-tramite-step");if(typeof data==="string"&&data.trim()){return data.trim();} 102return"";} 103AcTramiteStep.prototype.getCurrentStepName=function(){var step=this.getCurrentStep();var name="";if(step){var parts=step.split("-");for(var index=0;index<parts.length;index++){if(index==0){name+=parts[index];}else{name+=parts[index][0].toUpperCase()+parts[index].substr(1);}}} 104return name;} 105AcTramiteStep.prototype.getDefaultValidation=function(){var $this=this;return{errorClass:"has-error",validClass:"is-valid",success:"is-valid",errorElement:"span",errorPlacement:function(error,element){jQuery(element).closest(".ov-form-field").find(".field-error").empty().append(error);},highlight:function(element,errorClass,validClass){jQuery(element).closest(".ov-form-field").addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){jQuery(element).closest(".ov-form-field").removeClass(errorClass).addClass(validClass);},invalidHandler:function(event,validator){$this.enableSubmitButton(false);},afterElementValidated:function(element,valid){$this._delayedEnableSubmitButton();}}} 106AcTramiteStep.prototype.destroyValidator=function(){if(this.validator!=null){var validator=this.validator;this.validator=null;validator.destroy();}} 107AcTramiteStep.prototype.getOrCreateWaitLoad=function(){var section=this.getSectionElement();var wait=section.find("#wait-load");if(wait&&wait.length===0){wait=section.find(".spinner.wait-load");} 108if(!wait||wait.length===0){wait=jQuery('<div class="spinner wait-load" style="display: none;"><div class="double-bounce1"></div><div class="double-bounce2"></div></div>');section.append(wait);} 109return wait;} 110AcTramiteStep.prototype.disableUserInteraction=function(focus,disableAllInputs){var wait=this.getOrCreateWaitLoad();if(wait&&wait.length===1&&!wait.is(':visible')){wait.show();if(focus){wait.attr("tabindex",0)[0].scrollIntoView()}}else{return;} 111var form=this.getForm();form.attr("data-ov-disabled","true");if(disableAllInputs){form.find("input:not(:hidden)").each(function(pos,elem){var jElem=jQuery(elem);if(!jElem.prop("disabled")){jElem.attr("data-ov-disabled",'true');jElem.prop("disabled",true);}});} 112form.find('button[type="submit"]').each(function(pos,elem){var jElem=jQuery(elem);var disabledPrev=jElem.prop('disabled')===true;jElem.attr("data-ov-disabled-prev",disabledPrev);jElem.prop('disabled',true);});} 113AcTramiteStep.prototype.enableUserInteraction=function(){var section=this.getSectionElement();var wait=section.find("#wait-load");if(wait&&wait.length===0){wait=section.find(".spinner.wait-load");} 114if(wait&&wait.length===1&&wait.is(':visible')){wait.hide();} 115var form=this.getForm();form.removeAttr("data-ov-disabled");form.find('[data-ov-disabled="true"]').each(function(pos,elem){jQuery(elem).removeAttr("data-ov-disabled").prop('disabled',false);});form.find('button[type="submit"]').each(function(pos,elem){var jElem=jQuery(elem);var disabledPrev=jElem.attr('data-ov-disabled-prev')==='true';jElem.removeAttr('data-ov-disabled-prev');if(!disabledPrev){jElem.prop('disabled',false);}});} 116AcTramiteStep.prototype.initValidation=function(customValidation){if(this.validator!=null){return;} 117customValidation=customValidation||{};var defaultValidation=this.getDefaultValidation();var validation=jQuery.extend({},defaultValidation,this.config.validation,customValidation);var form=this.getForm();this.validator=form.validate(validation);var $this=this;form.find('input[data-ov-toggle-visibility], select[data-ov-toggle-visibility], textarea[data-ov-toggle-visibility]').change(function(ev){$this.toggleVisibility(this);});jQuery("[data-ov-toggle-visibility]").change();if(this.validator.elementsFilled().length>0){var valid=form.valid();this.validator.showErrors();this.enableSubmitButton(valid,form);}else{this.validator.initElements();}} 118AcTramiteStep.prototype.toggleVisibility=function(elem){var jElem=jQuery(elem);var toggleSource=jElem.closest(".row--panel-toggle-source");var visible=jElem.is(":checked");if(visible){toggleSource.addClass("visible");}else{toggleSource.removeClass("visible");} 119var targets=jElem.attr('data-ov-toggle-visibility').split(' ');for(var index=0;
119index<targets.length;index++){var targetId=targets[index];var target=this.getForm().find('[id="'+targetId+'"]').first();if(!visible){this.hideToggleTarget(target);}else{this.showToggleTarget(target);}}} 120AcTramiteStep.prototype.getTargetElements=function(target){return jQuery(target).find('input, select, textarea').not(':submit, :reset, :image, :disabled, [type="hidden"], [readonly]');} 121AcTramiteStep.prototype.hideToggleTarget=function(target){var $this=this;target.hide("fast","swing",function(){$this.validator.resetElements($this.getTargetElements(target));$this._delayedEnableSubmitButton();});} 122AcTramiteStep.prototype.showToggleTarget=function(target){var $this=this;target.show(400,"swing",function(){var enableValidation=false;var elements=$this.getTargetElements(target);for(var index=0;index<elements.length;index++){var jElem=jQuery(elements[index]);if(jElem.is(":visible")&&!jElem.is(":blank")){enableValidation=true;break;}} 123if(enableValidation){elements.each(function(pos,targetElement){$this.validator.element(targetElement);});}else{$this.validator.resetElements(elements);} 124$this._delayedEnableSubmitButton();});}} 125if(typeof AcTramite==='undefined'){function AcTramite(config){this.steps={};this.msg={};this.funcs={};var defaultConfig={nmsp:"",name:"tramite-generic",defaultStep:"default-step"};this.config=jQuery.extend({},defaultConfig,config||{});} 126AcTramite.prototype.getCurrentStep=function(){var currentStep=jQuery('.ac-tramite.tramite-'+this.config.name+' .tramite-wrapper').attr('data-tramite-step');if(!currentStep){currentStep=this.config.defaultStep;} 127return currentStep;};AcTramite.prototype.createStep=function(stepConfig){var config=stepConfig||{};var defaultConfig={nmsp:this.config.nmsp,};var finalConfig=jQuery.extend(defaultConfig,config);var step=new AcTramiteStep(finalConfig);return step;} 128AcTramite.prototype.init=function(){var currentStep=this.getCurrentStep();if(typeof this.funcs['before-init']==="function"){this.funcs['before-init'](currentStep);} 129if(typeof this.funcs['init-'+currentStep]){this.funcs['init-'+currentStep]();} 130if(typeof this.funcs['after-init']){this.funcs['after-init'](currentStep);}} 131AcTramite.prototype.initStep=function(stepName){};} 132if(typeof AcValidations==="undefined"){function AcValidations(){} 133AcValidations.validateFileNotEmptyAndMime=function(file,minSize){if(!file){return true;} 134var safeMinSize=parseInt(minSize);if(isNaN(safeMinSize)||safeMinSize<0){safeMinSize=0;} 135return file.size>safeMinSize&&file.type!==""&&file.name.indexOf(".")>0;} 136AcValidations.validateFileSize=function(file,maximumSize){var fileSizeLimit=parseInt(maximumSize);if(!file||isNaN(fileSizeLimit)||fileSizeLimit<=0){return true;} 137return file.size<=fileSizeLimit;} 138AcValidations.validateFileAccept=function(file,accept){if(!file||(typeof accept==="string"&&accept.trim()==="")||(accept instanceof Array&&accept.length===0)){return true;} 139var expressions=null;if(typeof accept==="string"){expressions=accept.split(",");}else if(accept instanceof Array){expressions=accept;}else{return true;} 140var fileExt=file.name.toLowerCase().substring(file.name.lastIndexOf("."));var fileType=file.type.toLowerCase();for(var index=0;index<expressions.length;index++){var expression=expressions[index].trim().toLowerCase();if(expression.length===0){continue;} 141var checkTypeEnds=false;if(expression.endsWith("*")){expression=expression.substring(0,expression.length-1);checkTypeEnds=true;} 142if(expression===fileExt||(!checkTypeEnds&&fileType===expression)||(checkTypeEnds&&fileType.startsWith(expression))){return true;}} 143return false;}}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.