var pestanya=0;
var segundaPestanya=false;
var siguiente=$("#next").val();
var anterior=$("#prev").val();

jQuery(function($){
	
	$("#imprimirFicha").rup_tooltip();
	$("#empresaBaja").rup_tooltip();
	
	$("#tabs").rup_tabs({
		tabs : [
			{i18nCaption:$.rup.i18n.app.tabsDetExp.datosExpediente, layer:".datExp"},
			{i18nCaption:$.rup.i18n.app.tabsDetExp.datosTrabajadores, layer:".datTrab"},
			{i18nCaption:$.rup.i18n.app.tabsDetExp.tramitacion, layer:".tram"}],
			select:function(event,ui){
				return validarParaCambioPestana(event,ui);
			}
	});
	$("#tabs").rup_tabs("selectTab",{ idTab: "tabs", position: tabActiva});
	
	$(".doc-slide").click(function(){
		var ID = $(this).attr("id");
		if($(this).hasClass("activoOff")){
			$(this).removeClass("activoOff");
			$(this).addClass("activoOn");
			$("#"+ID).next().slideDown("slow");
		}else{
			$(this).removeClass("activoOn");
			$(this).addClass("activoOff");
			$("#"+ID).next().slideUp("slow");
		}
	});	
	
	// FUNCIONES BOTONERA
	var exp = {
			volver:function(){
				location.href = $.rup.CTX_PATH + "ab03b24v00/maint";
			},next:function(){
				location.href = $.rup.CTX_PATH + "ab03b24v00/irDetalle/"+siguiente+"?tab="+tabActiva;
			},prev:function(){
				location.href = $.rup.CTX_PATH + "ab03b24v00/irDetalle/"+anterior+"?tab="+tabActiva;
			}
	};
	
	/*
	 * TOOLBAR  
	 * Se van aÃ±adiendo botones por la izquierda, segun se cumplan diferentes requisitos.
	 */
	var $botonera = $("#expedientes_toolbar");
	if(siguiente != ""){
		$botonera.addButton({i18nCaption:"next",right:true,click:exp.next},$.rup.i18n.app["botones"]);	
	}
	$botonera.addButton({i18nCaption:"volver",right:true,click:exp.volver},$.rup.i18n.app["botones"]);
	if(anterior != ""){
		$botonera.addButton({i18nCaption:"prev",right:true,click:exp.prev},$.rup.i18n.app["botones"]);
	}
	
	$("#tramitacion_toolbar").rup_toolbar({
		buttons:
			[]
	});
	
	$("#tramitacion_toolbar").addButton({id:"Documentos", i18nCaption:$.rup.i18n.app.botones.verOcultarDocumentos, right:true, click: verOcultarTodos});
	
	if(!estadoCierreRealizado && esUsuarioModificacion){
		//mostrar boton de cierre siempre que no esté creado el tramite de cierre
		$("#tramitacion_toolbar").addButton({id:"cerrarExpediente",i18nCaption:$.rup.i18n.app.botones.cerrarExpediente,right:false, click:function(event){cerrarExpediente(event);}});
	
		//Botonera crear informes-->Mostrar boton resolucion solo si F= 1-T=2,3,4|| F=2-T=3,4,5
		if(mostrarBotonResol){
			$("#tramitacion_toolbar").addButton({id:"JustificanteInscripcion", i18nCaption:$.rup.i18n.app.botones.JustificanteInscripcion, right:false, click: function(event){resolucion(event);}});
		}
	
		if(mostrarBotonRequer){
			$("#tramitacion_toolbar").addButton({id:"Requerimiento", i18nCaption:$.rup.i18n.app.botones.Requerimiento, right:false, click: function(event){requerimiento(event);}});
		}
	
		//mostrar boton recurso de alzada solo F=6-T=2
		if (mostrarBotonBaja){
			$("#tramitacion_toolbar").addButton({id:"ConfirmarBaja", i18nCaption:$.rup.i18n.app.botones.ConfirmarBaja, right:false, click: function(event){confirmarBaja(event);}});
		}
	}
	
	cargarCombos();
	
	
	$("#expedientes_feedback").rup_feedback({ 
		type: "ok",
		closeLink: true,
		delay: 1000,
		fadeSpeed: 999999,
		block:true
	});

	$("#expedientes_form").rup_validate({
		feedback:$("#expedientes_feedback"),
		liveCheckingErrors: true,
		rules:{
			
			"numCalle047":{digits:true},
			"piso047":{digits:true},
			"letra047":{lettersonly:true},
			"cp047":{digits:true}
		}
	});
	
	// activamos tooltip
	$("#doc_info").rup_tooltip();
	
	cargarPestanyaTrabajadores();
	
	$("#imprimirFicha").on("click", imprimir);
});

function cargarPestanyaTrabajadores(){

	if(!estadoCierreRealizado && esUsuarioModificacion){
		$("#datTrab").rup_table({
			url: $.rup.CTX_PATH + "ab03b32t00/buscarTrabajadores",
			colNames: [
				$.rup.i18n.app.mantenimientos.id,
				$.rup.i18n.app.mantenimientos.nif,
				$.rup.i18n.app.mantenimientos.nombre,
				$.rup.i18n.app.mantenimientos.apellido1,
				$.rup.i18n.app.mantenimientos.apellido2,
				$.rup.i18n.app.mantenimientos.niss,
				$.rup.i18n.app.mantenimientos.ActiSN		    
			],
			colModel: [
				{ 	name: "id032", 
				 	label: "id032",
					align: "left", 
					width: 90, 
					editable: false, 
					fixed: false, 
					hidden: true
				},
				{ 	name: "nif032", 
					label: "nif032",
					align: "left", 
					width: 90, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "nombre032", 
				 	label: "nombre032",
					align: "left", 
					width: 150, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "apellido1032", 
				 	label: "apellido1032",
					align: "", 
					width: 180, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "apellido2032", 
				 	label: "apellido2032",
					align: "", 
					width: 180, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "nss032", 
				 	label: "nss032",
					align: "", 
					width: 130, 
					editable: false, 
					fixed: false, 
					hidden: false,
					sortable: true
				},			
				{ 	name: "estado032", 
					index: "estado032", 
					editable:true, 
					width: 90,
					edittype: "checkbox",
					formatter: "checkbox",
					editable: false, 
					align: "center",
					fixed: false, 
					hidden: false, 
					sortable: true
				}
	        ],
	
	        model:"Ab03b32v00",
	        usePlugins:[
				"formEdit",
				"toolbar",
				"fluid"
		    ],
	        fluid: {
	        	baseLayer: "seccionTrabajadores"
	        },   
	        core: {
				operations:{
					"Baja": {
						name:	$.rup.i18n.app.botones.activarDesactivar,
						icon:	"rup-icon rup-icon-edit",
						enabled: function(){
							if ($("#datTrab").getGridParam("reccount") != 0){
								return true;
							}else{
								return false;
							}
						},
						callback: function(key, options){
							bajaTrabajador();
						}
					}
				}
			},
			toolbar: {
	        	showOperations: {   
	        		'add':false,
	        		'edit':false,
	        		'clone': false,
	        		'delete': false
	        	}
	        },
			primaryKey: "id032",
			sortname: "nif032",
			sortorder: "asc",
			loadOnStartUp: true
		});
	}else{
		$("#datTrab").rup_table({
			url: $.rup.CTX_PATH + "ab03b32t00/buscarTrabajadores",
			colNames: [
				$.rup.i18n.app.mantenimientos.id,
				$.rup.i18n.app.mantenimientos.nif,
				$.rup.i18n.app.mantenimientos.nombre,
				$.rup.i18n.app.mantenimientos.apellido1,
				$.rup.i18n.app.mantenimientos.apellido2,
				$.rup.i18n.app.mantenimientos.niss,
				$.rup.i18n.app.mantenimientos.ActiSN		    
			],
			colModel: [
				{ 	name: "id032", 
				 	label: "id032",
					align: "left", 
					width: 90, 
					editable: false, 
					fixed: false, 
					hidden: true
				},
				{ 	name: "nif032", 
					label: "nif032",
					align: "left", 
					width: 90, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "nombre032", 
				 	label: "nombre032",
					align: "left", 
					width: 150, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "apellido1032", 
				 	label: "apellido1032",
					align: "", 
					width: 180, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "apellido2032", 
				 	label: "apellido2032",
					align: "", 
					width: 180, 
					editable: false, 
					fixed: false, 
					hidden: false, 
					sortable: true
				},
				{ 	name: "nss032", 
				 	label: "nss032",
					align: "", 
					width: 130, 
					editable: false, 
					fixed: false, 
					hidden: false,
					sortable: true
				},			
				{ 	name: "estado032", 
					index: "estado032", 
					editable:true, 
					width: 90,
					edittype: "checkbox",
					formatter: "checkbox",
					editable: false, 
					align: "center",
					fixed: false, 
					hidden: false, 
					sortable: true
				}
	        ],
	
	        model:"Ab03b32v00",
	        usePlugins:[
				"fluid"
		    ],
	        fluid: {
	        	baseLayer: "seccionTrabajadores"
	        },
			primaryKey: "id032",
			sortname: "nif032",
			sortorder: "asc",
			loadOnStartUp: true
		});
	}

}

function validarParaCambioPestana(event,tab){
	
	$tabs = $('#tabs').tabs();
	pest_anterior = $tabs.tabs('option', 'selected');
	selected = tab.index;		

	if(pest_anterior!=selected){
		if($("#expedientes_feedback").html()!=''){
			pestanya=pest_anterior;
		}else{
			pestanya=selected;
		}
	}
	tabActiva=pestanya;
}

function requerimiento(event){
	$.rup_messages("msgConfirm", {
		message: $.rup.i18n.app.mensajes.confirmacionRequerimiento,
		title: "",
		OKFunction: function(){
			var idExpediente = $("#idProv024").val()+"/"+$("#idAno024").val()+"/"+$("#id024").val();			
			$.rup_ajax({
				url :  $.rup.CTX_PATH +"expedientesRERA/detalle/tramitacion/crearRequerimiento",
				dataType: 'json',
				data: {"idProvincia":$("#idProv024").val(), "idExpediente" : $("#id024").val(),"idAno" : $("#idAno024").val()},
		    	type: "GET",
		    	contentType: 'application/json',
				success: function (xhr, ajaxOptions) {
					if (xhr.resultado == "error"){
						ab03bUtils.feedback.pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorRequerimiento"), $("#expedientes_feedback"));
					} else {
						location.href = $.rup.CTX_PATH + "expedientesRERA/detalle/tramitacion/irTramite/" + idExpediente + "/" + xhr.resultado+"/"+estadoCierreRealizado;						
					}
		    	},
				error: function(error){
					ab03bUtils.feedback.pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
				},
				beforeSend : function() {
					ab03bUtils.util.bloquearInterfaz();
				},
				complete: function() {
					ab03bUtils.util.desBloquearInterfaz();
				}
			});			
		}
	});
}

function resolucion(event){
	$.rup_messages("msgConfirm", {
		message: $.rup.i18n.app.mensajes.confirmacionJustificanteInscripcion,
		title: "",
		OKFunction: function(){
			var idExpediente = $("#idProv024").val()+"/"+$("#idAno024").val()+"/"+$("#id024").val();
			var url = $.rup.CTX_PATH +"expedientesRERA/detalle/tramitacion/crearResolucion";
			$.rup_ajax({
				url :  url,
				dataType: 'json',
				data: {"idProvincia":$("#idProv024").val(), "idExpediente" : $("#id024").val(),"idAno" : $("#idAno024").val()},
		    	type: "GET",
		    	contentType: 'application/json',
				success: function (xhr, ajaxOptions) {
					if (xhr.resultado == "error"){
						ab03bUtils.feedback.pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorResolucion"), $("#expedientes_feedback"));
					} else {
						location.href = $.rup.CTX_PATH + "expedientesRERA/detalle/tramitacion/irTramite/" + idExpediente + "/" + xhr.resultado+"/"+estadoCierreRealizado;						
					}
		    	},
				error: function(error){
					ab03bUtils.feedback.pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
				},
				beforeSend : function() {
					ab03bUtils.util.bloquearInterfaz();
				},
				complete: function() {
					ab03bUtils.util.desBloquearInterfaz();
				}
			});			
		}
	});
	
}



function irTramitacion(idExpediente, id028){
	location.href = $.rup.CTX_PATH + "expedientesRERA/detalle/tramitacion/irTramite/" + idExpediente+"/"+id028+"/"+estadoCierreRealizado+"?tab=0";
}

function verOcultarTodos() {
	if ($("div.campoTramite.activoOff").size() >0) {	
		$("div.campoTramite.activoOff").click();
	} else {
		$("div.campoTramite.activoOn").click();
	}
}
	

function modificarExpediente(){
	//$("#expedientes_feedback").rup_feedback("close");

	// Llamada ajax para Guardar
	$.rup_ajax({
		url:  $.rup.CTX_PATH +"ab03b24v00/modificar",
		type: "POST",
		data: JSON.stringify(serializeExpediente()),
		dataType: 'json',
		contentType: 'application/json',
		success: function (mapaRespuesta){
			// Ir al detalle y mostrar un feedback
			var idExpediente = mapaRespuesta.idProv024+"/"+mapaRespuesta.idAno024+"/"+mapaRespuesta.id024;
			location.href = $.rup.CTX_PATH + "ab03b24v00/irDetalle/"+idExpediente+"/"+estadoCierreRealizado;
		},
		error: function(error){
			pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
		},
		beforeSend : function() {
			var error=false;
			var correctoNif=true;
			var correctoCif=true;
			$(".validate").each(function(){
				$(this).removeClass("error");
				if($(this).val()==""){
					$(this).addClass("error");
					error=true;
				}else{
					if($("#cifSolicitante").is(':checked')){
						correctoCif=validaCif($("#nifEmpresa047").val());
					}else{
						correctoNif=validaNif($("#nifEmpresa047").val());
					}
				}
			});
			if(error){
				pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorValidarObligatorios"), $("#expedientes_feedback"));
				return false;
			}else{
				if(!correctoNif){
					pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorValidarNif"), $("#expedientes_feedback"));
					return false;
				}else{
					if(!correctoCif){
						pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorValidarCif"), $("#expedientes_feedback"));
						return false;
					}
				}
			}
		},
		complete: function() {
			ab03bUtils.util.desBloquearInterfaz();
		}
	});
}

function bajaTrabajador(){

	fila = $("#datTrab").rup_grid('getGridParam', 'selrow');
	obj = $("#datTrab").rup_grid('getRowData', fila);
	
	// Llamada ajax para Guardar
	$.rup_ajax({
		url:  $.rup.CTX_PATH +"ab03b32t00/baja/"+obj.id032,
		type: "POST",
		data: JSON.stringify(serializeExpediente()),
		dataType: 'json',
		contentType: 'application/json',
		success: function (mapaRespuesta){			
			$("#datTrab").trigger("reloadGrid");			
		},
		error: function(error){
			pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
			//alert("ERROR : " + error.responseText);
		},		
		complete: function() {
			ab03bUtils.util.desBloquearInterfaz();
		}
	});
}


//Funcion que serializa el Expediente para ser enviado
function serializeExpediente(){
		
	var calle047=$("#calle047_label").val();
	$("#calle047").val(calle047);
	
	return $("#expedientes_form").rup_form('formToJson');
}

function cargarCombos(){
	
	//Pestaña 2: Datos de la empresa
	$("#provincia047").rup_combo({
		source:  "/ab03bRERAWar/ab03bNora/comboProvinciaTodas",
		sourceParam : {label:"desc"+$.rup_utils.capitalizedLang(), value:"code", style:"css"},
		selected:$("#provSolicitante").val(),
		width:200,
		rowStriping:true,
		inputText:true,
		ordered:true,
		disabled: true
	});
	
	$('#municipio047').rup_combo({
		source : "/ab03bRERAWar/ab03bNora/comboMunicipio",
		sourceParam : {label:"desc"+$.rup_utils.capitalizedLang(), value:"code", style:"css"},
		selected:$("#muniSolicitante").val(),
		width: 200,
		rowStriping:true,
		inputText:true,
		ordered:true,
		parent:["provincia047"],
		disabled: true
	});	
	
	//Combo Localidad
	$('#localidad047').rup_combo({
		source : "/ab03bRERAWar/ab03bNora/comboLocalidad",
		sourceParam : {label:"desc"+$.rup_utils.capitalizedLang(), value:"code", style:"css"},
		selected:$("#locaSolicitante").val(),
		width: 200,
		rowStriping:true,
		inputText:true,
		ordered:true,
		parent:["provincia047","municipio047"],
		disabled: true
	});
}

function fncDescargaDocumentoPif(codDocumento){
	window.location.assign($.rup.CTX_PATH + "documentoRERA/descargarFichero?codDocumento=" + codDocumento );
}

function irComunicacion(idExpediente, id028){
	window.location.assign($.rup.CTX_PATH + "expedientesRERA/detalle/tramitacion/irTramite/" + idExpediente+"/"+id028+"/"+estadoCierreRealizado+"?tab=1");
	
}

function confirmarBaja(event){
	$.rup_messages("msgConfirm", {
		message: $.rup.i18n.app.mensajes.confirmacionBaja,
		title: "",
		OKFunction: function(){
			//var idExpediente = $("#idExpediente").val();
			var idExpediente = $("#idProv024").val()+"/"+$("#idAno024").val()+"/"+$("#id024").val();
			var url = $.rup.CTX_PATH +"expedientesRERA/detalle/tramitacion/baja/"+idExpediente+"/"+estadoCierreRealizado;
			$.rup_ajax({
				url :  url,
				dataType: 'json',
		    	type: "GET",
		    	contentType: 'application/json',
				success: function (mapaRespuesta){			
					irComunicacion(idExpediente, mapaRespuesta.resultado);		
				},
				error: function(error){
					pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
				},
				complete: function() {
					ab03bUtils.util.desBloquearInterfaz();
				}
			});	
		}
	});
}

function imprimir(){
	var idProv = $("#idProv024").val();
	var idAno = $("#idAno024").val();
	var idExp = $("#id024").val();
	
	$.rup_ajax({
		url: $.rup.CTX_PATH + "ab03b24v00/imprimirExpediente?idProv="+idProv+"&idAno="+idAno+"&idExp="+idExp,
		type: "POST",
		dataType: 'json',		
		contentType: 'application/json',
		success: function (){
			window.location = $.rup.CTX_PATH + "ab03b24v00/descargarFicha";
		},
		error: function(error){
		},
		beforeSend : function() {
			ab03bUtils.util.bloquearInterfaz();
		},
		complete: function() {
			ab03bUtils.util.desBloquearInterfaz();
		}
	});	
}

function cerrarExpediente(event){
	$.rup_messages("msgConfirm", {
		message: $.rup.i18n.app.mensajes.confirmacionCierreExpediente,
		title: "",
		OKFunction: function(){
			//var idExpediente = $("#idExpediente").val();
			var idExpediente = $("#idProv024").val()+"/"+$("#idAno024").val()+"/"+$("#id024").val();
			var url = $.rup.CTX_PATH +"expedientesRERA/detalle/tramitacion/cerrarExpediente";
			$.rup_ajax({
				url :  url,
				dataType: 'json',
				data: {idExpediente: idExpediente},
		    	type: "GET",
		    	contentType: 'application/json',
				success: function (xhr, ajaxOptions) {
					if (xhr.resultado == "error"){
						ab03bUtils.feedback.pintarFeedbackError($.rup.i18nParse($.rup.i18n.app,"mensajes.errorCerrarExpediente"), $("#expedientes_feedback"));
					} else {
						location.href = $.rup.CTX_PATH + "expedientesRERA/detalle/tramitacion/irTramite/" + idExpediente + "/" + xhr.resultado +"/"+estadoCierreRealizado+"?tab=0";						
					}
		    	},
				error: function(error){
					ab03bUtils.feedback.pintarFeedbackError(error.responseText, $("#expedientes_feedback"));
				},
				beforeSend : function() {
					ab03bUtils.util.bloquearInterfaz();
				},
				complete: function() {
					ab03bUtils.util.desBloquearInterfaz();
				}
			});			
		}
	});
}