jQuery(function($){

	$("#TecnicosEntidad_filter_cleanLink").bind("click",function(event){
		$('input:radio[value=0]').prop("checked", true );
	});
	
	$("#TecnicosEntidad").rup_table({	
		url: $.rup.CTX_PATH + "tecnicosentidad",
		colNames: [
			"codtecnico",
			"baja",
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["nombre"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["apellido1"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["apellido2"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["tfno"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["email"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["direccion"],
			$.rup.i18n.app.campos_tabla_tecnicos_entidad["entidades"]
		],
		colModel: [
			{ 	name: "codtecnico",
				index: "CODTECNICO",
				align: "left",
				width: 150,
				hidden: true,
				sortable: true
			},
			{ 	name: "baja",
				index: "BAJA",
				align: "left",
				width: 150,
				hidden: true,
				sortable: true
			},
			{ 	name: "nombre",
				index: "NOMBRE",
				align: "left",
				width: 50,
				hidden: false,
				sortable: true
			},
			{ 	name: "ape1",
				index: "APE1",
				align: "left",
				width: 50,
				hidden: false,
				sortable: true
			},
			{ 	name: "ape2",
				index: "APE2",
				align: "left",
				width: 50,
				hidden: false,
				sortable: true
			},
			{ 	name: "telefono1",
				index: "TELEFONO1",
				align: "left",
				width: 50,
				hidden: false,
				sortable: true
			},
			{ 	name: "email",
				index: "EMAIL",
				align: "left",
				width: 100,
				hidden: false,
				sortable: true
			},
			{ 	name: "direccioncompleta",
				index: "DIRECCION",
				align: "left",
				width: 150,
				hidden: true,
				sortable: true
			},
			{ 	name: "direccionesEntidades",
				index: "DIRECCIONESENTIDADES",
				align: "left",
				width: 190,
				hidden: false,
				sortable: true
			}
        ],

        model:"TecnicosEntidad",
        usePlugins:[
			"formEdit",
        	"feedback",
			"toolbar",
        	"contextMenu",
        	"responsive",
        	"filter"
         	],
		primaryKey: "codtecnico",
		sortname: "CODTECNICO",
		sortorder: "ASC",
		loadOnStartUp: true,
		feedback:{
			config:{
				block: false
			}
		},
		core:{
	    	showOperations:{
	    		"clone": false,
	    		"delete": false
	    	},
	    	operations:{
		    	"activarDesactivar":{
		    		name: $.rup.i18n.app.ab39a_botonera.activarDesactivar,
		    		enabled: function(){	
		    			return true;
		    		},
		    		callback: function(key, options){		
		    			
		    			activarDesactivar();
		    			
		    		}
		    	}
		    }
    	},
        formEdit:{
        	detailForm: "#TecnicosEntidad_detail_div",
			addEditOptions: {
				width: 1400,
				resizable: true,
    			reloadAfterSubmit:true
    		},
			deleteOptions:{
				reloadAfterSubmit:true
			},
         	validate:{ 
    			rules:{
    				"codtecnico":{
						required: false
    					},
    				"baja":{
						required: false
    					},
    				"docidentificacion":{
						required: false
    					},
    				"nombre":{
						required: false
    					},
    				"ape1":{
						required: false
    					},
    				"ape2":{
						required: false
    					},
    				"telefono1":{
						required: false
    					},
    				"telefono2":{
						required: false
    					},
    				"email":{
						required: false
    					},
    				"dni":{
						required: false
    					},
    				"sexo":{
						required: false
    					},
    				"calle":{
						required: false
    					},
    				"numcalle":{
						required: false
    					},
    				"codpostal":{
						required: false
    					},
    				"municipio":{
						required: false
    					},
    				"provincia":{
						required: false
    					}
    				}
    		}
        }
	});
	
	
	$('#codth_filter_table').rup_combo({
		source: $.rup.CTX_PATH + "provincia/getAllProvincia?idAutonomia="+COD_EUSKADI,
		sourceParam: {label:"descOf", value:"idProvincia"},
		blank: "",
		rowStriping: true,
		width : 204,
		autocomplete :true		
	});

	$('#codmun_filter_table').rup_combo({
		parent: [ "codth_filter_table" ],
		source : $.rup.CTX_PATH + "municipio/getAllMunicipio",
		sourceParam : {label: "descOf",value: "idMunicipio"},
		//width : 400,
		blank : ""
	});
	
	
	$('#codth_detail_table').rup_combo({
		source: $.rup.CTX_PATH + "provincia/getAllProvincia",
		sourceParam: {label:"descOf", value:"idProvincia"},
		blank: "",
		width : 160,
		rowStriping: true,
		autocomplete :true,
		ordered:false
	});
	
	$("#codmun_detail_table").rup_combo({
		parent: [ "codth_detail_table" ],
		source: $.rup.CTX_PATH + "municipio/getAllMunicipio",
		sourceParam: {label:"descOf", value:"idMunicipio"},
		blank: "",
		width : 180,
		rowStriping: true,
		autocomplete :true
	});
	
	$("#codloc_detail_table").rup_combo({
		parent: [ "codth_detail_table","codmun_detail_table" ],
		source: $.rup.CTX_PATH + "localidad/getAllLocalidad",
		sourceParam: {label:"descOf", value:"idLocalidad"},
		blank: "",
		rowStriping: true,
		autocomplete :true
	});
	
	$('#tipoIdentif_detail_table').rup_combo({
		source: $.rup.CTX_PATH + "combo/tipoidentifTecnico",
		sourceParam: {label:"desc", value:"codigo"},
		blank: "",
		width : 170,
		rowStriping: true,
		autocomplete :true
		});
	
	$('.esNumero').on('input', function () { 
	    this.value = this.value.replace(/[^0-9]/g,'');
	});
	 
	 //radio botones para el sexo en la pantalla de detalle
	 var htmlFilaSexo = '';
	 htmlFilaSexo +='<input type="radio" name="sexo" id="sexo_detail_tableM" value='+SEXO_MUJER_ID+'><label for="sexo_detail_tableM"  class="sinNegrita">'+$.rup.i18n.app.campos_sexo[SEXO_MUJER_DESC]+'</label>';
	 htmlFilaSexo +='&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="sexo" id="sexo_detail_tableH" value='+SEXO_HOMBRE_ID+'><label for="sexo_detail_tableH"  class="sinNegrita">'+$.rup.i18n.app.campos_sexo[SEXO_HOMBRE_DESC]+'</label>';
	 htmlFilaSexo += '<br>';
	 $('#radiosSexo').append(htmlFilaSexo);
	 
	 //Evento para el botón Limpiar de la ventana de detalle
	 $('#TecnicosEntidad_detail_button_reset').on('click',resetearCamposDetalle);
	 
	 //Función para resetaer los campos en la pantalla de detalle
	 function resetearCamposDetalle(){
		var codTecnico = $('#codtecnico_detail_table').val();
		 
		//Se comprueba si es un alta o una edición
		if(codTecnico === VACIO){
			limpiarDatosPagina();
		}
		else{ 
			$.rup_ajax({
				url : $.rup.CTX_PATH + "tecnicosentidad/get/"+codTecnico,
				contentType : "application/json",
				cache : false,
				dataType : "json",
				type : "GET",
				success : function(response) {
					recargarDatosPagina(response);
				},
				error : function() {
					ab39aUtils.feedback.pintarFeedbackError($.rup.i18n.app.errores["limpiarCampos"]);
				}
			});
		}
 	}
	 
	 //Función para activar/desactivar el registro
	function activarDesactivar(){
		var mensaje;
		var titulo;
		var selectedRow = ab39aUtils.tabla.getSelectedRow($("#TecnicosEntidad"));
		if(selectedRow.baja==0){
			mensaje = $.rup.i18n.app.campos_tabla_tecnicos_entidad.desactivarTecnico;
			titulo = $.rup.i18n.app.campos_tabla_tecnicos_entidad.desactivarTecnicoTitulo;
		}else{
			mensaje = $.rup.i18n.app.campos_tabla_tecnicos_entidad.activarTecnico;
			titulo = $.rup.i18n.app.campos_tabla_tecnicos_entidad.activarTecnicoTitulo;
		}
		if(selectedRow.codtecnico!==undefined){
			$.rup_messages("msgConfirm", {
				message: mensaje,
				title: titulo,
				OKFunction : function () {
					
					$.rup_ajax({
						url : $.rup.CTX_PATH + "tecnicosentidad/remove", 
						data: JSON.stringify(selectedRow),
						contentType : "application/json",
						cache : false,
						dataType : "json",
						type : "POST",
						success : function(response) {
							$("#TecnicosEntidad").rup_table("reloadGrid", true);
							ab39aUtils.feedback.pintarFeedbackOk($.rup.i18n.app.feedBack_ok["cambioBajaOk"]);
						},
						error : function(error) {
							ab39aUtils.feedback.pintarFeedbackError($.rup.i18n.app.errores["errorBaja"]);
						}
					});
				}
			});
		}
	}
	 
	 //Función que deja la pantalla como estaba antes de empezar a editarla
		function recargarDatosPagina(response){
			$('#docidentificacion_detail_table').val(response.docidentificacion);
			$('#nombre_detail_table').val(response.nombre);
			$('#ape1_detail_table').val(response.ape1);
			$('#ape2_detail_table').val(response.ape2);
			$('#telefono1_detail_table').val(response.telefono1);
			$('#telefono2_detail_table').val(response.telefono2);
			$('#email_detail_table').val(response.email);
			$('#tipoIdentif_detail_table').rup_combo("setRupValue", response.tipoIdentif.codigo);
			$('#codth_detail_table').rup_combo("setRupValue", response.codth);
			$('#codmun_detail_table').rup_combo("setRupValue", response.codmun);
			$('#codloc_detail_table').rup_combo("setRupValue", response.codloc);
			$('#codpostal_detail_table').val(response.codpostal);
			$('#calle_detail_table').val(response.calle);
			$('#numcalle_detail_table').val(response.numcalle);
			$('input:radio[value='+response.sexo+']').prop("checked", true );
		}
	 
		//Función que limpia los campos del detalle del tecnicoEntidad en el caso de estar dando de alta una nueva.
		function limpiarDatosPagina(){
			$('#docidentificacion_detail_table').val(VACIO);
			$('#nombre_detail_table').val(VACIO);
			$('#ape1_detail_table').val(VACIO);
			$('#ape2_detail_table').val(VACIO);
			$('#telefono1_detail_table').val(VACIO);
			$('#telefono2_detail_table').val(VACIO);
			$('#email_detail_table').val(VACIO);	
			$('#tipoIdentif_detail_table').rup_combo("setRupValue", "");
			$('#codth_detail_table').rup_combo("setRupValue", "");
			$('#codmun_detail_table').rup_combo("setRupValue", "");
			$('#codloc_detail_table').rup_combo("setRupValue", "");
			$('#codpostal_detail_table').val(VACIO);
			$('#calle_detail_table').val(VACIO);
			$('#numcalle_detail_table').val(VACIO);
			$('input:radio[name=sexo]:checked').prop('checked', false);
		}
		
		$("#TecnicosEntidad_filter_cleanLink").on("click", function(){
			 $("input[name=baja][value=" + ALTA_LOGICA + "]").prop('checked', true);
		});
		
		$("#TecnicosEntidad").on("jqGridAddEditAfterFillData", function(event, $form, oper){
			if(oper==="edit"){
				$("#bloque_entidades").css("display","");
				$("#EntidadesTecnico").rup_table("setGridParam", {
					//url:$.rup.CTX_PATH + "tecnicosentidad/entidades/"+$("#TecnicosEntidad").rup_table("getSelectedRows")+"/filter"});
					url:$.rup.CTX_PATH + "tecnicosentidad/entidades/"+$("#codtecnico_detail_table").val()+"/filter"});
					
				$("#EntidadesTecnico").rup_table("reloadGrid",false);
		    }else{
		    	$("#bloque_entidades").css("display","none");
		    }
		});
		
		
		
		$("#EntidadesTecnico").rup_table({
			url: $.rup.CTX_PATH + "tecnicosentidad/entidades/0",
			colNames: [
				"id",
				$.rup.i18n.app.campos_tabla_entidades["CIF_NIF"],
				$.rup.i18n.app.campos_tabla_entidades["izena"],
				$.rup.i18n.app.campos_tabla_entidades["direccion"],
				$.rup.i18n.app.campos_tabla_entidades["email"],
				$.rup.i18n.app.campos_tabla_entidades["tfno"]
			],
			colModel: [
				{ 	name: "codentidad",
					index: "CODENTIDAD",
					align: "left",
					width: 0,
					hidden: true,
					sortable: true
				},
				{ 	name: "cifnif",
					index: "CIFNIF",
					align: "left",
					width: 70,
					hidden: false,
					sortable: true
				},
				{ 	name: "desentidad",
					index: "DESENTIDAD",
					align: "left",
					width: 150,
					hidden: false,
					sortable: true
				},
				{ 	name: "direccioncompleta",
					index: "DIRECCION",
					align: "left",
					width: 250,
					hidden: false,
					sortable: true
				},
				{ 	name: "email",
					index: "EMAIL",
					align: "left",
					width: 150,
					hidden: false,
					sortable: true
				},
				{ 	name: "tfno",
					index: "TFNO",
					align: "left",
					width: 100,
					hidden: false,
					sortable: true
				}
	        ],

	        model:"Entidades",
	        usePlugins:[
				"toolbar"
	         	],
			primaryKey: "codentidad",
			sortname: "CODENTIDAD",
			sortorder: "ASC",
			loadOnStartUp: false,
			toolbar:{
				showOperations:{
				},
				buttons:[
						{ obj: { i18nCaption: $.rup.i18n.app.ab39a_botonera.anadir , css: "rup-icon rup-icon-new" }, 
	                        json_i18n: $.rup.i18n.base.rup_maint, 
	                        click: handleAnadir
						},
						{ obj: { i18nCaption: $.rup.i18n.app.ab39a_botonera.eliminar , css: "rup-icon rup-icon-delete" }, 
	                        json_i18n: $.rup.i18n.base.rup_maint, 
	                        click: handleRemove
						}
					]
				 
	    	},
	    	formEdit:{
	        	detailForm: "#EntidadesTecnico_detail_div"
	    	}
		});
		
		function handleAnadir(){
			ab39aUtils.util.bloquearInterfaz();
			$('#divBusquedaEntidad_Dialog').rup_dialog({
					title :$.rup.i18n.app.campos_tabla_tecnicos_entidad.tituloBusqEntidad,
					type: $.rup.dialog.AJAX, 
					url: ab39aUtils.util.setUrlNoCachePortalWar($.rup.CTX_PATH + "entidades/dialog/"+$('#codtecnico_detail_table').val()),
					autoOpen : true,
					closeOnEscape : true,
					modal : true,
					resizable : true,
					minWidth : 1200,
					minHeight : 650,
					ajaxOptions: {
						success: function (data, textStatus, XMLHttpRequest){

						},
						error: function (error){
						}
					},
					open: function(){
						
					},
					load: function(){
						ab39aUtils.util.desbloquearInterfaz();
					},
					close: function(event, ui) { 
						
					}
				});	
		}
		
		function handleRemove(){
			var codEntidad = $("#EntidadesTecnico").rup_table("getSelectedRows");
			var codTecnico = $('#codtecnico_detail_table').val();
			
			$.rup_messages("msgConfirm", {
				message: $.rup.i18n.app.campos_tabla_tecnicos_entidad.eliminarEntidad,
				title: $.rup.i18n.app.campos_tabla_tecnicos_entidad.eliminarEntidadTitulo,
				OKFunction : function () {
					if(codEntidad!=="" && codEntidad!==null){
						$.rup_ajax({
								url : $.rup.CTX_PATH + "tecnicosentidad/borrarEntidad/"+codTecnico+"/"+codEntidad,
								contentType : "application/json",
								cache : false,
								dataType : "json",
								type : "DELETE",
								success : function(response) {
									$("#EntidadesTecnico").rup_table("reloadGrid",false);
								},
								error : function(jqXHR) {
									ab39aUtils.feedback.pintarFeedbackError(jqXHR.responseText);
								}
						 });
					}
				}
			});
			
			
		}
		
		
		//$("#TecnicosEntidad_detail_navigation").css("display","none");
		//$("#EntidadesTecnico_toolbar").css("width","720px");
		$("#EntidadesTecnico_toolbar").addClass("clsToolBarTecnicoEntidadesTecnico");
		
		$("#EntidadesTecnico_pager_left").css("width","10px");
	
});