var idOcultar;

function validarDesasociar(idBloque){
	var result="";
	jQuery.ajax({
		type: 'GET',
		url: '/y41egGestionWar/pregunta/validarDesasociar/'+ idBloque,
		dataType:"json",
		contentType: "application/json",
		async: false,
		success : function(data) {
			result = data;
		}
	});
	return result;
}

/* PREGUNTAS */
function fncNuevaPregunta(idBoton, idSortable){
	$("#bloques_feedback").hide();
	idOcultar = "ocultar-" + idBoton.split("-")[1];
	var idBloque = idBoton.split("-")[1].split("___")[1];
	contCombo = 0;
	tipo="add";
	sortablePregunta = $("#sortableBloque");
	
	$('#tipoPregunta_detail_table').rup_combo("clear");
	$('#respuestasAviso_detail_table').rup_combo("clear");
	$("#pregunta_detail_form").validate().resetForm();
	jQuery('#respuestasAvisoId').val("");
	respuestasAvisoStr="";
	$("#idBloquePreguntaDet").val(idBloque);
	$("#obligatorio_detail_table").bootstrapSwitch("setState", true);
	$("#aviso_detail_table").bootstrapSwitch("setState", false);
	jQuery("#pregunta_detail_div").rup_dialog("open");
}

function fncAsociarPregunta(idBoton, idSortable){
	$('#asociarPregunta').rup_table("cleanFilterForm").rup_table('clearGridData',true);
	$("#bloques_feedback").hide();
	idOcultar = "ocultar-" + idBoton.split("-")[1];
	idBloque = idBoton.split("-")[1].split("___")[1];
	$("#idBloqueAsociar").val(idBloque);
	sortablePregunta = $("#sortableBloque");
	$("#idActivaPregAsociar").val(SI);
	jQuery("#divAsociarPregunta").rup_dialog("open");
}

function fncEnlazarPregunta(idBoton, idSortable){
	$("#bloques_feedback").hide();
	idOcultar = "ocultar-" + idBoton.split("-")[1];
	sortablePregunta = $("#sortableBloque");
	idBloqueEnlazar = idBoton.split("-")[1].split("___")[1]
	idPreguntaEnlazar = idBoton.split("___")[2];
	idEncuestaEnlazar = $("#idEncuestaDG").val();
	jQuery("#divEnlazarPregunta").rup_dialog("open");
}

function fncDetallePregunta(idBoton, idSortable){
	$("#bloques_feedback").hide();
	bloquearPantalla();
	$("#pregunta_detail_form").validate().resetForm();
	var idPregunta = idBoton.split("___")[2];
	sortablePregunta = $('#' + idSortable);
	jQuery.ajax({
		type: 'GET',
		url: '/y41egGestionWar/pregunta/'+ idPregunta,
		dataType:"json",
		contentType: "application/json",
		async: false,
		success : function(xhr){
			//método a ejecutar
			tipo="edit";
			$("div.error").remove();
			contCombo = 0;
			respuestasAvisoStr=xhr.respuestasAviso;
			var xhrArray = $.rup_utils.jsontoarray(xhr);
			$.rup_utils.populateForm(xhrArray, $("#pregunta_detail_form"));
			$("#idBloquePreguntaDet").val($("#idBloquePregunta").val());
			jQuery("#pregunta_detail_div").rup_dialog("open");
			desbloquearPantalla();
		}
	});
}

function fncEliminarPregunta(idBoton, idSortable){
	var idBloque = idBoton.split("-")[1].split("___")[1];
	var resultado = validarDesasociar(idBloque);
	if(resultado=="EE"){
		alert($.rup.i18n.app.mensaje.borrarPreguntaEnviada);
		return false;
	}else {
		jQuery.rup_messages("msgConfirm", {
			message: $.rup.i18nParse($.rup.i18n.app.mensaje,"avisoBorrarPregunta"),
			title: $.rup.i18nParse($.rup.i18n.base.rup_message,"confirmacion"),
			OKFunction: function() {
				fncEliminarPreguntaOK(idBoton);
			}
		});
	}
}

function fncEliminarPreguntaOK(idBoton, idSortable){
	$("#bloques_feedback").hide();
	idOcultar = "ocultar-" + idBoton.split("-")[1];
	bloquearPantalla();
	var idEncuesta = $("#idEncuestaDG").val();
	var idBloque = idBoton.split("-")[1].split("___")[1]
	var idPregunta = idBoton.split("___")[2];
	jQuery.ajax({
		type: 'DELETE',
		url: '/y41egGestionWar/relbloquepregunta/'+ idEncuesta + "/" + idBloque + "/" + idPregunta,
		dataType:"json",
		contentType: "application/json",
		async: false,
		success : function() {
			feedback.rup_feedback("set", $.rup.i18nParse($.rup.i18n.base,"rup_table.deletedOK"), "ok");
			$("#sortableBloque").rup_sortable("reload");
			desbloquearPantalla();
		}
	});
}

function actualizarOrdenPregunta(idSortable) {
	$("#bloques_feedback").hide();
	sortablePregunta = $('#' + idSortable);
	var orden = sortablePregunta.rup_sortable("toArray").join(';');
	var data = {};
	data.orden = orden;
	data.idBloque = idSortable.split("___")[1];
	
	jQuery.ajax({
		type: "POST",
		url: "/y41egGestionWar/relbloquepregunta/moverPregunta",
		dataType:"json",
		contentType: "application/json",
		data: JSON.stringify(data),
		async: true,
		success : function() {
		}
	});
}

/* BLOQUES */
function fncDetalleBloque(idBoton, idSortable){
	$("#bloques_feedback").hide();
	idOcultar = "";
	bloquearPantalla();
	var idBloque = idBoton.split("___")[1];
	jQuery.ajax({
		type: 'GET',
		url: '/y41egGestionWar/bloque/'+ idBloque,
		dataType:"json",
		contentType: "application/json",
		async: false,
		success : function(xhr){
			//método a ejecutar
			tipo="edit";
			$("#bloque_detail_form").validate().resetForm();
			var xhrArray = $.rup_utils.jsontoarray(xhr);
			$.rup_utils.populateForm(xhrArray, $("#bloque_detail_form"));
			$("#idEncuestaBloqueDet").val($("#idEncuestaDG").val());
			jQuery("#bloque_detail_div").rup_dialog("open");
			desbloquearPantalla();
		}
	});
}

function fncEliminarBloque(idBoton){
	var idBloque = idBoton.split("-")[1].split("___")[1];
	if(jQuery("#enviadaDG").bootstrapSwitch('state')){
		alert($.rup.i18n.app.mensaje.borrarBloque);
		return false;
	}else {
		jQuery.rup_messages("msgConfirm", {
			message: $.rup.i18nParse($.rup.i18n.app.mensaje,"avisoBorrarBloque"),
			title: $.rup.i18nParse($.rup.i18n.base.rup_message,"confirmacion"),
			OKFunction: function() {
				fncEliminarBloqueOK(idBoton);
			}
		});
	}
}

function fncEliminarBloqueOK(idBoton){
	$("#bloques_feedback").hide();
	idOcultar = "ocultar-" + idBoton.split("-")[1];
	bloquearPantalla();
	var idEncuesta = idBoton.split("-")[1].split("___")[0];
	var idBloque = idBoton.split("-")[1].split("___")[1];
	jQuery.ajax({
		type: 'DELETE',
		url: '/y41egGestionWar/relencuestabloque/'+ idEncuesta + "/" + idBloque,
		dataType:"json",
		contentType: "application/json",
		async: false,
		success : function() {
			feedback.rup_feedback("set", $.rup.i18nParse($.rup.i18n.base,"rup_table.deletedOK"), "ok");
			$("#sortableBloque").rup_sortable("reload");
			desbloquearPantalla();
		}
	});
}

function fncAsociarBloque(){
	$("#bloques_feedback").hide();
	$('#asociarBloque').rup_table("cleanFilterForm").rup_table('clearGridData',true);
	$("#idEncuestaAsociar").val($("#idEncuestaDG").val());
	$("#idActivaAsociar").val(SI);
	jQuery("#divAsociarBloque").rup_dialog("open");
}

function actualizarOrdenBloque() {
	var orden = $('#sortableBloque').rup_sortable("toArray").join(';');
	var data = {};
	data.orden = orden;
	data.idEncuesta = $("#idEncuestaDG").val();
	
	jQuery.ajax({
		type: "POST",
		url: "/y41egGestionWar/relencuestabloque/moverBloque",
		dataType:"json",
		contentType: "application/json",
		data: JSON.stringify(data),
		async: true,
		success : function() {
		}
	});
}

/* SORTABLES */
function fncCreateBloquesSortable() {
	bloquearPantalla();
	var relEncuestaBloque = {};
	var encuesta = {};
	encuesta.idEncuesta = $("#idEncuestaDG").val();
	relEncuestaBloque.encuesta=encuesta;
	$('#sortableBloque').rup_sortable({
		filterForm : relEncuestaBloque,
		feedback : "",
	    action: '/y41egGestionWar/relencuestabloque/filter',
	    key: 'codigoPK',
	    nextListId: 'sortablePregunta',
	    sord: 'asc',
	    placeholder:"espacio-disponible",
	    sidx: 'ORDEN_BLOQ_003',
	    colNames: {
	        'bloque.numPreguntas': $.rup.i18n.app.tabla.preguntas.toUpperCase()
	    },
	    load: function() {
	    	$('[id^="editarBloque-"]').each(function(i,e){
	    		$(e).attr('title', $.rup.i18n.app.boton.editarBloque);
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
		 			fncDetalleBloque(e.id);
				})
	    	});
	    	
	    	$('[id^="eliminarBloque-"]').each(function(i,e){
	    		$(e).attr('title', $.rup.i18n.app.boton.desasociarBloque);
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
		 			fncEliminarBloque(e.id);
				})
	    	});
	    	
	    	$('[id^="ocultar-"]').each(function(i,e){
	    		$(e).attr('title', $.rup.i18n.app.boton.verOcultarPreguntas);
	    		$(e).on('click',function(event){
	    			var idDiv = "#sortablePregunta_"+ this.id.replace('ocultar-','') + "-toggle";
	    			var idDivImg = "#" + this.id + " i";
	    			if ($(idDiv).is(":hidden")) {
	    				$(idDivImg).removeClass("fa-angle-down")
	    				$(idDivImg).addClass("fa-angle-up")
	    			}else{
	    				$(idDivImg).removeClass("fa-angle-up")
	    				$(idDivImg).addClass("fa-angle-down")
	    			}
	    			$(idDiv).toggle();
				})
	    	});
	    	
	    	$('[id^="pregunta.obligatorio_value"]').each(function(i,e){
	    		$(e).text(formatterSiNo($(e).text()));
	    	});
	    	
	    	$('[id^="sortablePregunta"] .list-group').each(function(i,e){
	    		fncCreatePreguntaSortable(e.id);
	    	});
	    	
	    	if(isNotEmpty(idOcultar)){
	    		$("#" + idOcultar).click();
	    	}
	    	
	    	$('[id^="bloque.isEnlazada_value"]').each(function(i,e){
	    		if($(e).text()===SI){
	    			$("#sortableBloque-itemTemplate_"+ $(e).data('id')).addClass("disable-sort");
	    			$("#sortableBloque-itemTemplate_"+ $(e).data('id') + " .bloque-enlazado").removeClass("d-none");
	    		}
	    	});
	    	
	    	desbloquearPantalla();
	    },
	    distance: 5,
	    delay: 300,
	    opacity: 0.6,
	    cursor: 'move',
	    cancel: ".disable-sort",
	    update: function(event, ui ) {
	    	actualizarOrdenBloque();
	    }
	  }).disableSelection();
	  
	$('#sortableBloque').rup_sortable("filter");
}

function fncCreatePreguntaSortable(idSortable) {
	var idBloque = idSortable.split("___")[1];
	var relBloquePregunta = {};
	var bloque = {};
	bloque.idBloque = idBloque;
	relBloquePregunta.bloque=bloque;
	bloque.idEncuesta = $("#idEncuestaDG").val();
	$("#idBloquePregunta").val(idBloque);
	  var filterForm="";
	  $('#'+ idSortable).rup_sortable({
		filterForm : relBloquePregunta,
		feedback : "",
		toolbar: "sortablePregunta_toolbar",
	    action: '/y41egGestionWar/relbloquepregunta/filter/',
	    key: 'codigoPK',
	    sord: 'asc',
	    placeholder:"espacio-disponible",
	    sidx: 'ORDEN_PREG_005',
	    colNames: {
	        'pregunta.tipoPregunta.descEs': $.rup.i18n.app.tabla.tipoPregunta.toUpperCase(),
	        'pregunta.tipoPregunta.descEu': $.rup.i18n.app.tabla.tipoPregunta.toUpperCase(),
	        'pregunta.obligatorio': $.rup.i18n.app.tabla.obligatorio.toUpperCase(),
	        'pregunta.aviso': $.rup.i18n.app.tabla.aviso.toUpperCase(),
	        'pregunta.hasEnlazada': $.rup.i18n.app.tabla.hasEnlazada.toUpperCase()
	    },
	    load: function() {
	    	var idSortable = this.id;
	    	$('[id^="botNuevo-"]').each(function(i,e){
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
		 			fncNuevaPregunta(e.id, idSortable);
				})
	    	});
	    	
	    	$('[id^="botAsociar-"]').each(function(i,e){
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
		 			fncAsociarPregunta(e.id, idSortable);
				})
	    	});
	    	
	    	$('#'+ idSortable +' [id^="editarPregunta-"]').each(function(i,e){
	    		$(e).attr('title', $.rup.i18n.app.boton.editarPregunta);
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
					fncDetallePregunta(e.id, idSortable);
				})
	    	});
	    	
	    	$('#'+ idSortable +' [id^="eliminarPregunta-"]').each(function(i,e){
	    		$(e).attr('title', $.rup.i18n.app.boton.desasociarPregunta);
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
					fncEliminarPregunta(e.id, idSortable);
				})
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.obligatorio_value"]').each(function(i,e){
	    		$(e).text(formatterSiNo($(e).text()));
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.aviso_value"]').each(function(i,e){
	    		$(e).text(formatterSiNo($(e).text()));
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.tipoPregunta.idTipoPregunta_value"]').each(function(i,e){
	    		var id = $(e).attr('id').split('_value_')[1];
	    		if($(e).text()!=TIPO_RESPUESTA_SI_NO){
	    			$("#enlazarPregunta-"+$("#idEncuestaDG").val()+"___"+ idBloque+ "-" + id).remove();
	    		}
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.hasEnlazada_value"]').each(function(i,e){
	    		var id = $(e).attr('id').split('_value_')[1];
	    		if($(e).text()===SI){
	    			$("#sortablePregunta_"+$("#idEncuestaDG").val()+"___"+ idBloque+"-itemTemplate_"+ id ).addClass("disable-sort");
	    		}
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.isEnlazada_value"]').each(function(i,e){
	    		var id = $(e).attr('id').split('_value_')[1];
	    		//
	    		if($(e).text()===SI){
	    			$("#sortablePregunta_"+$("#idEncuestaDG").val()+"___"+ idBloque+"-itemTemplate_"+ id ).addClass("disable-sort");
	    			$("#sortablePregunta_"+$("#idEncuestaDG").val()+"___"+ idBloque+"-itemTemplate_"+ id + " .p-enlazada").removeClass("d-none");
	    			$("#enlazarPregunta-"+$("#idEncuestaDG").val()+"___"+ idBloque+ "-" + id).remove();
	    		}
	    	});
	    	
	    	$('#'+ idSortable +' [id^="pregunta.isBloqueEnlazada_value"]').each(function(i,e){
	    		var id = $(e).attr('id').split('_value_')[1];
	    		if($(e).text()===SI){
	    			$("#enlazarPregunta-"+$("#idEncuestaDG").val()+"___"+ idBloque+ "-" + id).remove();
	    		}
	    	});
	    	
    		$('#'+ idSortable +' [id^="enlazarPregunta-"]').each(function(i,e){
    			$(e).attr('title', $.rup.i18n.app.boton.enlazarPregunta);
	    		$(e).on('click',function(event){
	    			event.preventDefault();
		 			event.stopImmediatePropagation();
		 			fncEnlazarPregunta(e.id, idSortable);
				})
	    	});
	    },
	    distance: 5,
	    delay: 300,
	    opacity: 0.6,
	    cursor: 'move',
	    cancel: ".disable-sort",
	    update: function() {
	    	var idSortable = this.id;
	    	actualizarOrdenPregunta(idSortable);
	    }
	  }).disableSelection();
	  
	  $('#'+ idSortable).rup_sortable("filter");
}

jQuery(function($){
	
	$('#bntAnterior').on('click', function(){
		cargarPestania(0);
	});
	
	$("#bloques_toolbar").rup_toolbar({
		buttons : [ 
			{
				id : "nuevoBloque",
				i18nCaption :  $.rup.i18n.app.boton.nuevoBloque,
				css : "fa fa-plus",
				click : function(e) {
					idOcultar = "";
					tipo="add";
					$("#bloques_feedback").hide();
					$("#bloque_detail_form").validate().resetForm();
					$("#idEncuestaBloqueDet").val($("#idEncuestaDG").val());
					$("#obligatorioBloque_detail_table").bootstrapSwitch("setState", true);
					jQuery("#bloque_detail_div").rup_dialog("open");
				}
			}
			, 
			{
				id : "asociarBloque",
				i18nCaption :  $.rup.i18n.app.boton.asociarBloque,
				css : "fa fa-link",
				click : function(e) {
					idOcultar = "";
					fncAsociarBloque();
				}
			}
		]
	});
	
	$("#bloques_feedback").rup_feedback();
	
	$("#bloques_sortable_feedback").rup_feedback();
	
	jQuery("#btnVolverBusquedaBloques").click(function(){
		$('#divDetalleEncuestas').removeClass('in');
		$('#rup-list').rup_list('filter');
		setTimeout(function() {
			$('#divDetalleEncuestas').addClass('collapsed');
			$('#divBusqEncuestas').removeClass('collapsed');
			$('#divBusqEncuestas').removeClass('d-none');
			$('#divBusqEncuestas').addClass('in');
		}, 500);
	});
	
	feedback = $('#bloques_feedback');
});