jQuery(function($){

	$("#Planificacion").rup_table({	
		url: $.rup.CTX_PATH + "planificacion",
		colNames: [
			"codplanificacion",
			$.rup.i18n.app.campos_tabla_planificacion["fechaIni"],
			$.rup.i18n.app.campos_tabla_planificacion["fechaFin"],
			$.rup.i18n.app.campos_tabla_planificacion["descripcion"],
			$.rup.i18n.app.campos_tabla_planificacion["vigencia"],
			"bajaOculta",
			//$.rup.i18n.app.campos_tabla_planificacion["tipoEntidad"],
			"tipoEntidadOculta",
			"codPlaniPlanesEstrOculto"
		],
		colModel: [
			{ 	name: "codplanificacion",
				index: "CODPLANIFICACION",
				align: "left",
				width: 150,
				hidden: true,
				sortable: true
			},
			{ 	name: "fechainicio",
				index: "FECHAINICIO",
				align: "left",
				width: 150,
				hidden: false,
				sortable: true
			},
			{ 	name: "fechafin",
				index: "FECHAFIN",
				align: "left",
				width: 150,
				hidden: false,
				sortable: true
			},
			{ 	name: "desc",
				index: "DES"+IDIOMA,
				align: "left",
				width: 150,
				hidden: false,
				sortable: true
			},
			{ 	name: "baja",
				index: "BAJA",
				align: "left",
				width: 150,
				hidden: false,
				sortable: true,
				formatter: formatterVigencia
			},
			{ 	name: "baja",
				index: "BAJA",
				align: "left",
				width: 10,
				hidden: true,
				sortable: true,
			},
//			{ 	name: "tipoEntidad",
//				index: "TIPO_ENTIDAD",
//				align: "left",
//				width: 150,
//				hidden: false,
//				sortable: true,
//				formatter: formatterTipoEntidad
//			},
			{ 	name: "tipoEntidad",
				index: "TIPO_ENTIDAD",
				align: "left",
				width: 150,
				hidden: true,
				sortable: true,
			},
			{ 	name: "codPlaniPlanesEstrat",
				index: "CODPLANIFICACIONPE",
				align: "left",
				width: 100,
				hidden: true,
				sortable: true,
			}
        ],

        model:"Planificacion",
        usePlugins:[
			"formEdit",
        	"feedback",
			"toolbar",
        	"contextMenu",
        	"responsive",
        	"filter"
         	],
		primaryKey: "codplanificacion",
		sortname: "CODPLANIFICACION",
		sortorder: "ASC",
		loadOnStartUp: true,
		feedback:{
			config:{
				block: false
			}
		},
		core:{
	    	showOperations:{
	    		"clone": false,
	    		"delete": false
	    	}
    	},
        formEdit:{
        	detailForm: "#Planificacion_detail_div",
			addEditOptions: {
    			reloadAfterSubmit:true
    		},
			deleteOptions:{
				reloadAfterSubmit:true
			},			
         	validate:{ 
    			rules:{
    				"codplanificacion":{
						required: false
    					},
    				"fechainicio":{
						required: false, digits:true, maxlength:4, minlength:4
    					},
    				"fechafin":{
						required: false, digits:true, maxlength:4, minlength:4
    					},
    				"descas":{
						required: false
    					},
					"deseus":{
						required: false
					}
    			}
    		}
        }
	});
	
	$('.esNumero').on('input', function () { 
	    this.value = this.value.replace(/[^0-9]/g,'');
	});

	
//	$.rup_date({
//		from: "fechainicio_detail_table",
//		to: "fechafin_detail_table",
//	});
	
	//Evento para el botón Limpiar de la ventana de detalle
	 $('#Planificacion_detail_button_reset').on('click',resetearCamposDetalle);
	 
	 //Función para resetaer los campos en la pantalla de detalle
	 function resetearCamposDetalle(){
		var codPlanificacion = $('#codplanificacion_detail_table').val();
		 
		//Se comprueba si es un alta o una edición
		if(codPlanificacion == VACIO){
			limpiarDatosPagina();
		}
		else{ 
		 $.rup_ajax({
				url : $.rup.CTX_PATH + "planificacion/get/"+codPlanificacion,
				contentType : "application/json",
				cache : false,
				dataType : "json",
				type : "GET",
				success : function(response) {
					recargarDatosPagina(response);
				},
				error : function(error) {
					ab39aUtils.feedback.pintarFeedbackError($.rup.i18n.app.errores["limpiarCampos"]);
				}
			});
		}
	}
	 
	 //Función que deja la pantalla como estaba ntes de empezar a editarla
	function recargarDatosPagina(response){
		$('#fechainicio_detail_table').val(response.fechainicio);
		$('#fechafin_detail_table').val(response.fechafin);
		$('#descas_detail_table').val(response.descas);
		$('#deseus_detail_table').val(response.deseus);
	}
	
	//Función que limpia los campos del delatalle de la entidad en el caso de estar dando de alta una nueva.
	function limpiarDatosPagina(){
		$('#fechainicio_detail_table').val(VACIO);
		$('#fechafin_detail_table').val(VACIO);
		$('#descas_detail_table').val(VACIO);
		$('#deseus_detail_table').val(VACIO);
	}
	
	 
	// Formatter vigencia
	function formatterVigencia(cellval) {
		var resultado = "";
		if(cellval != undefined ) {
			if(BAJA == cellval) {
				resultado = $.rup.i18n.app.campos_tabla_planificacion['vigenciaBaja'];
			} else if(ALTA == cellval) {
				resultado = $.rup.i18n.app.campos_tabla_planificacion['vigenciaAlta'];
			}
		}
		return resultado;
	}
	

	$("#Planificacion").on("rupTable_beforeEditRow", function(deleteOptions,
			selectedRow){ 
		
		var selectedRow = ab39aUtils.tabla.getSelectedRow($("#Planificacion"));
		var vigente = selectedRow.baja;
		var tipoEntidad = selectedRow.tipoEntidad;
		if(vigente==BAJA){
			ab39aUtils.feedback.pintarFeedbackError($.rup.i18n.app.errores["errorEditar"]);
			return false;
		}
		else if(vigente==ALTA){
			return true;
		}
		
	});
	
	 $("#Planificacion").on("jqGridAddEditAfterFillData", function(event, $form, oper){
		var selectedRow = ab39aUtils.tabla.getSelectedRow($("#Planificacion"));
		var planEstrategico = selectedRow.codPlaniPlanesEstrat;
		if (planEstrategico!=VACIO && planEstrategico!=null){
			$("#fechainicio_detail_table").attr('disabled',true);
			$("#fechafin_detail_table").attr('disabled',true);
		}
		else if(oper==="edit"){
			$("#fechainicio_detail_table").attr('disabled',false);
			$("#fechafin_detail_table").attr('disabled',false);
			
	    } 
		if (oper==="add"){
				$("#fechainicio_detail_table").attr('disabled',false);
				$("#fechafin_detail_table").attr('disabled',false);
			}

	});
	
});