//@ sourceURL=datoseconomicosEstudio.js 
jQuery(function($){

	
	
	let tableColModels = [			
			
			{ 	name: "maestroTiposDatoEco.idTipoDatoEco61",
				index: "maestroTiposDatoEco.idTipoDatoEco61",
				editable: true, 
				hidden: false
			},
			{ 	name: "ejercicioDesde85",
				index: "ejercicioDesde85",
				editable: true, 
				hidden: false
			},
			{ 	name: "ejercicioHasta85",
				index: "ejercicioHasta85",
				editable: true, 
				hidden: false
			},
			{ 	name: "importeAnual85",
				index: "importeAnual85",
				editable: true, 
				hidden: false
			}
			];
	let columnDefs = [ 
		{ 
			"targets": 0,
			"render": function(data, type, row, settings){
				if(row.tipoDatoEco != undefined && row.tipoDatoEco.desc != undefined){
					return row.tipoDatoEco.desc;	
				}
				return '';	
				
			}
		},{ 
			"targets": 1,
			"render": function(data, type, row, settings){					
				if(data != undefined){
					return data;	
				}
				return '';	
			}
		},{ 
			"targets": 2,
			"render": function(data, type, row, settings){					
				if(data != undefined){
					return data;	
				}
				return '';	
			}
		},{ 
			"targets": 3,
			"render": function(data, type, row, settings){					
				return Ad74aUtils.valorFormatoMoneda(data);	
			}
		}
		
	];

	window.inciarDatosEconomicos = (editable, param_FN_getNivelRecurso ) => {  
		
		if($('div[aria-describedby=datosEconomicos_detail_div]').length == 1){
			$('div[aria-describedby=datosEconomicos_detail_div]').remove();
		}
		
			
		$.rup_ajax({
		  url: $.rup.CTX_PATH + "datoseconomicos/datoseconomicosTramitacion/" +idExpediente00  + "/" + idSolicitante01,
		  type: 'GET',
		  success: function(res){
			 //Insertamos la respuesta en el DOM
			 $("#datosEconomicosDiv")[0].innerHTML = res;	
			 
			 $("#idTipoDatoEco85_detail_table").rup_combo({
					source: $.rup.CTX_PATH + 'combo/tipoDatoEco',
					sourceParam: {label: "desc", value:"idTipoDatoEco61"},
					loadFromSelect:false,
					width: 'auto',
			        ordered: false,
					customClasses: ['select-material'],
					rowStriping: true,
					blank:'',
					onLoadSuccess: function(obj){
						$("#idTipoDatoEco85_detail_table").rup_combo("select", $("#idTipoDatoEco85_detail_table").attr("value"));
					}
				});
			 
			 if(editable){
					$("#datosEconomicos").rup_table({
						colReorder: {
						 fixedColumnsLeft: 1
						}
						,colModel: tableColModels
						,columnDefs : columnDefs
						,primaryKey: "idDatoEco85"
						,filter:{
				  	  		id:"datosEconomicos_filter_form",
				  	  		filterToolbar:"datosEconomicos_filter_toolbar",
				  	  		collapsableLayerId:"datosEconomicos_filter_fieldset"
				     	}
						,loadOnStartUp: true
				     	,formEdit:{
				        	detailForm: "#datosEconomicos_detail_div"
				        	,fillDataMethod: "clientSide"
				         	,validate:{ 
				    			rules:{
				    					
					    				"maestroTiposDatoEco.idTipoDatoEco61":{
											required: false
				    					}
				    					,
					    				"descripcion85":{
											required: false
				    					}
				    					,
					    				"importeAnual85":{
											required: false
				    					}
				    					,
					    				"ejercicioDesde85":{
											required: false
				    					}
				    					,
					    				"ejercicioHasta85":{
											required: false
				    					}
				    					
									}
				    		   	}
				    		   	,titleForm: jQuery.rup.i18nParse(jQuery.rup.i18n.base,'rup_table.edit.editCaption')  
				    		}
				       		,select: {
				           		activate: true
				       		}
							,buttons: {
								activate: true
							}
							,order: [[0, "asc"]]
					});
					
				}else{
					$("#datosEconomicos").rup_table({
						colReorder: {
						 fixedColumnsLeft: 1
						}
						,colModel: tableColModels
						,columnDefs : columnDefs
						,primaryKey: "idDatoEco85"
						,filter:{
				  	  		id:"datosEconomicos_filter_form",
				  	  		filterToolbar:"datosEconomicos_filter_toolbar",
				  	  		collapsableLayerId:"datosEconomicos_filter_fieldset"
				     	}
						,loadOnStartUp: true
						,noEdit: true
			       		,select: {
			           		activate: true
			       		}
						,buttons: {
							activate: true
						}
						,order: [[0, "asc"]]
					});
					
				}
				 jQuery.validator.addMethod("controlEjercicio", function(value, element, params) {
					 try{
						 if(eval($("#ejercicioDesde85_detail_table").val()) <= eval($("#ejercicioHasta85_detail_table").val())){
							 return true;
						 }
						 return false;
					 }catch{
						 return true;
					 }
					 return true;
				 }, $.rup.i18n.app.validaciones.desdeMenorIgualHasta);
				
				var properties={
						feedback:$("#datosEconomicos_detail_feedback"),
						liveCheckingErrors: false,
						showFieldErrorAsDefault: true,
						showErrorsInFeedback: true,
						showFieldErrorsInFeedback: true,
					  rules:{
						  "ejercicioDesde852":{ controlEjercicio : true}
					 },
				};
				$("#datosEconomicos_detail_form").rup_validate(properties);
				
				
				// EVENTO AL MOSTRAR EL DIALOGO DE EDITAR
				$("#datosEconomicos").on(
						"tableEditFormAddEditBeforeShowForm",
						function(ctx) {
							Ad74aUtils.soloNumericos();
							Ad74aUtils.formatoMoneda();
							
							
							
				});
				// EVENTO AL MOSTRAR EL DIALOGO DE EDITAR
				$("#datosEconomicos").on(
						"tableEditFormAddEditAfterShowForm",
						function(ctx) {
							//Comprobamos la cantidad de enventos y añadimos si hace falta
							let nEventos = 0;
							let eventos;	
							if(jQuery._data($('#datosEconomicos_detail_button_save')[0], "events") != undefined){
								eventos = jQuery._data($('#datosEconomicos_detail_button_save')[0], "events").click;
								nEventos = eventos.length;
							}	
							if(nEventos < 2){
								//La primera vez puede todavia no tener el evento de guardar. 0 o 1 eventos
								$('#datosEconomicos_detail_button_save').on( "click",function(ctxAux) {
									$("#importeAnual85_detail_table").val(Ad74aUtils.deshacerValorFormatoMoneda($("#importeAnual85_detail_table").val()))
								});	
								nEventos++;
							}
							if(nEventos == 2){
								//Ponemos primero el que cambia el formato				
								eventos.splice(0, 0,eventos.splice(1, 1)[0]);
							}
							
							
							
				});
				// EVENTO AL PREPARAR LA LLAMADA AL GUARDAR -- YA SE HAN RECUPERADO LOS DATOS Y PREPARADO LA LLAMADA AJAX AL LLEGAR A ESTE EVENTO
				$("#datosEconomicos").on(
						"tableButtonSave",
						function(ctx, actionType, url) {
							Ad74aUtils.formatoMoneda();
							
				});
				
				$("#datosEconomicos").on('draw.dt', function () {
					param_FN_getNivelRecurso();
				});
			

		   }
		})
	
	};
	

});