jQuery(function($){

	$("#menuTablasBasicas").addClass("active");
	
	var inspeccionCargada = sessionStorage.getItem("inspeccionCargada");
	
	if(typeof DIRECCION_PRECARGADA !== "undefined" && DIRECCION_PRECARGADA !== null && DIRECCION_PRECARGADA !== "") {
		$("#idDireccion").val(DIRECCION_PRECARGADA);
	}
	
	if (inspeccionCargada !== null)
	{
		$("#menuFichaInspeccion").removeClass("disabled");
		/* Para completar la url del menú Ficha Inspección */
		 var link=$("#menuFichaInspeccion a").attr("href");
		 $("#menuFichaInspeccion a").attr("href",link+inspeccionCargada);
		 
		/* Para completar la url del menú Listados */
		 var link=$("#menuListados a").attr("href");
		 $("#menuListados a").attr("href",link+inspeccionCargada);
	}
	
	//Feedback modal resultados de actuación
	$("#estadosInspeccionModal_detail_feedback").rup_feedback({
		gotoTop : true,
		block : false,
		closeLink : true
	});

	//Feedback modal añadir nueva descripción
	$("#nuevaDescripcionModalFeedback").rup_feedback({
		gotoTop : true,
		block : false,
		closeLink : true
	});
	
	$("#idOrigen").rup_combo({
		blank : "",
		source : CTX_PATH + "origenesinspeccion",
		sourceParam : {
			label : (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera": "descripcionCastellano"),
			value : "idOrigenInspeccion"
		},
		width: 320,
		ordered: false
	});
	
	$("#idDireccion").rup_combo({
		blank : "",
		source : CTX_PATH + "direcciones",
		sourceParam : {
			label : (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera": "descripcionCastellano"),
			value : "idDireccion"
		},
		width: 320,
		ordered: false
	});
	
	//Combo descripciones estados de inspección
	$("#idDesEstIns").rup_combo({
		blank: "",
		source: CTX_PATH + "desestins",
		sourceParam: {
			label: (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera" : "descripcionCastellano"),
			value: "idDesEstIns"
		},
		width: 320
	});
	
	$("#idOrigenModal").rup_combo({
		blank : "",
		source : CTX_PATH + "origenesinspeccion",
		sourceParam : {
			label : (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera": "descripcionCastellano"),
			value : "idOrigenInspeccion"
		},
		width: 320,
		ordered: false
	});
	
	$("#idDireccionModal").rup_combo({
		blank : "",
		source : CTX_PATH + "direcciones",
		sourceParam : {
			label : (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera": "descripcionCastellano"),
			value : "idDireccion"
		},
		width: 320,
		ordered: false
	});
	
	//Combo descripciones estados de inspección
	$("#idDesEstInsModal").rup_combo({
		blank: "",
		source: CTX_PATH + "desestins",
		sourceParam: {
			label: (("eu"===$.rup_utils.get("language")) ? "descripcionEuskera" : "descripcionCastellano"),
			value: "idDesEstIns"
		},
		width: 320
	});
	
	//Modal añadir nueva descripción
	$("#nuevaDescripcionModal").rup_dialog({
		autoOpen: false,
		width: 600,
		modal: true,
		position: { my: "center center" },
		close: function(){
			$("#nuevaDescripcionModalForm")[0].reset();
		},
		type: $.rup.dialog.DIV
	});
	
	$("#estadosInspeccion").rup_datatable({		
		primaryKey: "idEstadoInspeccion",
		loadOnStartUp: true,
		pagingType: "full_numbers",
		dom: 'rt<"bottom"lip>',
		pageLength : 10,
		lengthMenu: [10, 25, 50],
		filter:{
  	  		id:"estadosInspeccion_filter_form",
  	  		filterToolbar:"estadosInspeccion_filter_toolbar",
  	  		collapsableLayerId:"estadosInspeccion_filter_fieldset"
     	},
    	colReorder: {
			fixedColumnsLeft: 1
    	},
    	columnDefs: [
    		   {
    		      targets: [0,3,4],
    		      orderable: false
    		   },  
    		   {
     		      targets: [0,3,4],
     		      visible: false
     		   },
			   {
				   targets: [1],
				   visible: (("es"==$.rup_utils.get("language")) ? true : false),
			   },
			   {
				   targets: [2],
				   visible: (("eu"==$.rup_utils.get("language")) ? true : false),
			   },
			   {
				   targets: [5],
				   visible: (("es"==$.rup_utils.get("language")) ? true : false),
			   },
			   {
				   targets: [6],
				   visible: (("eu"==$.rup_utils.get("language")) ? true : false),
			   }
			   ,
			   {
				   targets: [7],
				   visible: (("es"==$.rup_utils.get("language")) ? true : false),
			   },
			   {
				   targets: [8],
				   visible: (("eu"==$.rup_utils.get("language")) ? true : false),
			   }
    	],
    	initComplete:function() {
			
			  var spanM = document.createElement("span"); 
			  var mostrando = document.createTextNode($.rup.i18n.app.paginador.mostrando); 
			  spanM.appendChild(mostrando);  
			  spanM.className = "mostrando";
			  var spanR = document.createElement("span"); 
			  var registros = document.createTextNode($.rup.i18n.app.paginador.registros); 
			  spanR.appendChild(registros);
			  spanR.className = "registros";
			  
			  var longitudTabla = document.getElementById("estadosInspeccion_length"); 
			  longitudTabla.appendChild(spanM); 
			  longitudTabla.appendChild(spanR);
			  
			 $("#botoneraTablaEstadosInspeccion").css("display", "none");
			 $("#estadosInspeccion_wrapper").css("display", "none");
  	}
	});
	
	var tabla = $('#estadosInspeccion').DataTable();
	
	$('#estadosInspeccion tbody').on( 'click', 'tr', function () {
		tabla.$('tr.selected').removeClass('selected');
        $(this).addClass('selected');
    });	
	
	$('#estadosInspeccion tbody').on('dblclick', 'tr', function () {
		$("#btnEditEstadosinspeccion").trigger("click");
	});
	
	
	$("#estadosInspeccion_detail_div").rup_dialog({
		autoOpen: false,
		width: 700,
		modal: true,
		position: { my: "center center" },
		type: $.rup.dialog.DIV
	});
	
	$('#btnAddEstadosinspeccion').on( 'click', function () {		
		
		$("#idOrigenModal").rup_combo("clear");
		$("#idDireccionModal").rup_combo("clear");
		$("#idDesEstInsModal").rup_combo("clear");
		$("#estadosInspeccion_detail_form")[0].reset();
		$("#estadosInspeccionModal_detail_feedback").rup_feedback("close");
		
		$("#estadosInspeccion_detail_form").rup_form({
			feedback: $("#estadosInspeccion_detail_feedback"),
			url: CTX_PATH + "estadosinspeccion",
			type: "POST",
			contentType: "application/json",
			dataType:"json",
			validate:{ 
				liveCheckingErrors : false,
				showFieldErrorAsDefault : true,
				showErrorsInFeedback : false,
				showFieldErrorsInFeedback : true,
				rules:{
					"origenInspeccion.idOrigenInspeccion" : {required: true},
					"direccion.idDireccion" 			  : {required: true},
					"desEstIns.idDesEstIns" 			  : {required: true}
				}
			},
		    success: function(){
			   $("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			   $("#estadosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.guardarOk, "ok");
			   tabla.ajax.reload();
			   $("#estadosInspeccion_detail_div").rup_dialog("close");
		    },
		    error: function(){
			   $("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			   $("#estadosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.guardarError, "error");
			   $("#estadosInspeccion_detail_div").rup_dialog("close");
		    }
		});
		
		$("#estadosInspeccion_detail_form").rup_validate("resetForm");
		if(typeof DIRECCION_PRECARGADA !== "undefined" && DIRECCION_PRECARGADA !== null && DIRECCION_PRECARGADA !== "") {
			$("#idDireccionModal").rup_combo("setRupValue", DIRECCION_PRECARGADA);
			$("#idDireccionModal").rup_combo("disable");
		} else {
			$("#idDireccionModal").rup_combo("clear");
			$("#idDireccionModal").rup_combo("enable");
		}
		$("#estadosInspeccion_detail_div").rup_dialog("setOption", "title", $.rup.i18n.app.estadosInspeccion.nuevo);
		$("#estadosInspeccion_detail_div").rup_dialog("open");
	});
	
	$('#estadosInspeccion_detail_button_save').on( 'click', function () {
		if($("#idOrigenModal").val() !== "" && $("#idDireccionModal").val() !== "" && $("#idDesResActModal").val() !== ""){
			
			$.ajax({
				url: CTX_PATH + "estadosinspeccion/registroDuplicado/" + $("#idOrigenModal").val() + "/" + $("#idDireccionModal").val() + "/" + $("#idDesEstInsModal").val(),
				type: "GET",
				dataType:"json",
				success: function(data){
					if(data > 0){
						$("#estadosInspeccionModal_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.registroDuplicado, "alert");
					} else{
						$("#estadosInspeccion_detail_form").submit();
					}
				},
				error: function(){
					$("#estadosInspeccionModal_detail_feedback").rup_feedback("set", $.rup.i18n.app.feedback.error.errorGenerico, "error");
				}
			});
		} else{
			$("#estadosInspeccion_detail_form").submit();	
		}
	});	
	
	$('#estadosInspeccion_detail_button_cancel').on( 'click', function () {
		$("#estadosInspeccion_detail_div").rup_dialog("close");
	});	
	
	$('#btnDeleteEstadosinspeccion').on( 'click', function () {		
		if(tabla.rows(['.selected']).data().toArray().length > '0'){	
			$.rup_messages("msgConfirm", {
				title: $.rup.i18n.app.tabla.botones.eliminar,
				message: $.rup.i18n.app.estadosInspeccion.borrar,
				OKFunction:	function() {
					bloquearInterfaz();
					var datosRow = tabla.rows(['.selected']).data().toArray(); 			
					$.ajax({
						type : "DELETE",
						url : CTX_PATH + "estadosinspeccion/" + datosRow[0].idEstadoInspeccion,
						dataType : "json",
						async : false,
						success : function() {
							desbloquearInterfaz();
							tabla.ajax.reload();
							$("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
							$("#estadosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.borradoOK, "ok");
						},
						error: function(){
							desbloquearInterfaz();
							$("#estadosInspeccion_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
							$("#estadosInspeccion_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.borradoError, "error");
						}
					});			
				}
			});		
		}else{
			$("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : false, block : false, closeLink : true });
			$("#estadosInspeccion_detail_feedback").rup_feedback("set",$.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
	});
	
	$('#btnEditEstadosinspeccion').on( 'click', function () {	
		$("#estadosInspeccion_detail_form")[0].reset();
		
		$("#estadosInspeccion_detail_form").rup_form({
			feedback: $("#estadosInspeccion_detail_feedback"),
			url: CTX_PATH + "estadosinspeccion",
			type: "PUT",
			contentType: "application/json",
			dataType:"json",
			validate:{ 
				liveCheckingErrors : false,
				showFieldErrorAsDefault : true,
				showErrorsInFeedback : false,
				showFieldErrorsInFeedback : true,
				rules:{
					"origenInspeccion.idOrigenInspeccion" : {required: true},
					"direccion.idDireccion" 			  : {required: true},
					"desEstIns.idDesEstIns" 			  : {required: true}
				}
			},
		    success: function(){
			   $("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			   $("#estadosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.modificarOk, "ok");
			   tabla.ajax.reload();
			   $("#estadosInspeccion_detail_div").rup_dialog("close");
		    },
		    error: function(){
			   $("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : true, block : false, closeLink : true });
			   $("#estadosInspeccion_detail_feedback").rup_feedback("set", $.rup.i18n.app.estadosInspeccion.modificarError, "error");
			   $("#estadosInspeccion_detail_div").rup_dialog("close");
		    }
		});
		
		$("#estadosInspeccion_detail_form").rup_validate("resetForm");
		
		if(tabla.rows(['.selected']).data().toArray().length > '0'){	
			var datosRow = tabla.rows(['.selected']).data().toArray(); 	
			$.ajax({
				type : "GET",
				url : CTX_PATH + "estadosinspeccion/" + datosRow[0].idEstadoInspeccion,
				dataType : "json",
				async : false,
				success : function(data) {
					$("#idEstadoInspeccion_detail_table").val(data.idEstadoInspeccion);
					$("#idDireccionModal").rup_combo("setRupValue",data.direccion.idDireccion); 
					$("#idOrigenModal").rup_combo("setRupValue",data.origenInspeccion.idOrigenInspeccion); 
					$("#idDesEstInsModal").rup_combo("setRupValue", data.desEstIns.idDesEstIns);
					if(typeof DIRECCION_PRECARGADA !== "undefined" && DIRECCION_PRECARGADA !== null && DIRECCION_PRECARGADA !== "") {
						$("#idDireccionModal").rup_combo("disable");
					} else {
						$("#idDireccionModal").rup_combo("enable");
					}
					$("#estadosInspeccion_detail_div").rup_dialog("setOption", "title", $.rup.i18n.app.estadosInspeccion.editar);
					$("#estadosInspeccion_detail_div").rup_dialog("open");
				}
			});	
		}else{
			$("#estadosInspeccion_detail_feedback").rup_feedback({ gotoTop : false, block : false, closeLink : true });
			$("#estadosInspeccion_detail_feedback").rup_feedback("set",$.rup.i18n.app.feedback.error.lineaNoSeleccionada, "error");
		}
	});
	
	//Botón añadir nueva descripción
	$("#btnNuevaDescripcion").click(function(){
		$("#nuevaDescripcionModalFeedback").rup_feedback("close");
		$("#nuevaDescripcionModal").rup_dialog("setOption", "title", $.rup.i18n.app.resultadoActuacion.nuevaDescripcion);
		$("#nuevaDescripcionModal").rup_dialog("open");		
	});
	
	//Botón cancelar modal nueva descripción
	$("#nuevaDescripcionModalCancelar").click(function(){
		$("#nuevaDescripcionModal").rup_dialog("close");
	});
	
	//Botón guardar modal nueva descripción
	$("#nuevaDescripcionModalGuardar").click(function(){
		
		$("#nuevaDescripcionModalForm").rup_form({
			feedback: $("#nuevaDescripcionModalFeedback"),
			url: CTX_PATH + "desestins",
			type: "POST",
			contentType: "application/json",
			dataType: "json",
			validate: {
				liveCheckingErrors : false,
				showFieldErrorAsDefault : true,
				showErrorsInFeedback : false,
				showFieldErrorsInFeedback : true,
				rules: {
					"descripcionCastellano" : {required: true},
					"descripcionEuskera"	: {required: true}
				}
			},
			success: function(){
				$("#nuevaDescripcionModal").rup_dialog("close");
				$("#estadosInspeccionModal_detail_feedback").rup_feedback("set", $.rup.i18n.app.resultadoActuacion.nuevaDescripcionOk, "ok");
				$("#idDesEstIns").rup_combo("reload");
				$("#idDesEstInsModal").rup_combo("reload");
			},
			error: function(){
				$("#nuevaDescripcionModalFeedback").rup_feedback("set", $.rup.i18n.app.resultadoActuacion.nuevaDescripcionError, "error");
			}
		});
		
		$("#nuevaDescripcionModalForm").submit();
		
	});
	
	//Exportar a Excel
	$("#btnExportarExcel").click(function(){
		var orderColumnIndex = tabla.order()[0][0];
		var sord = tabla.order()[0][1];
		var sidx = tabla.settings().init().columns[orderColumnIndex].sidx;
		var form=document.getElementById("estadosInspeccion_filter_form");
		form.method = "POST";
		form.action = "/ab79WebAppWar/estadosinspeccion/exportarExcel/"+sidx+"/"+sord;
		form.submit();
	});
	
	//Botón búsqueda
	$("#btnBuscarEstadosInspeccion").click(function(){
		$("#estadosInspeccion_filter_filterButton").click();
		$("#botoneraTablaEstadosInspeccion").css("display", "block");
		$("#estadosInspeccion_wrapper").css("display", "block");
	});
	
	//Botón limpiar búsqueda
	$("#btnLimpiarEstadosInspeccion").click(function(){
		 $("#idOrigen").rup_combo("reload");
		 $("#idDireccion").rup_combo("reload");
		 $("#idDesEstIns").rup_combo("reload");
		 $("#idOrigen").rup_combo("clear");
		 $("#idDireccion").rup_combo("clear");
		 $("#idDesEstIns").rup_combo("clear");
	});
});


