From 478cc9c6cf621d3caeaec8c59aa5e9395f2819d5 Mon Sep 17 00:00:00 2001
From: cesare <cesare@bigeh>
Date: Fri, 10 May 2024 13:20:04 +0200
Subject: [PATCH] gestione risultati target Periodo

---
 js/browseMgr.js | 2328 ++++++++++++++++++++++++-----------------------
 1 file changed, 1167 insertions(+), 1161 deletions(-)

diff --git a/js/browseMgr.js b/js/browseMgr.js
index 2cdd7ed..20ccfdd 100644
--- a/js/browseMgr.js
+++ b/js/browseMgr.js
@@ -6,193 +6,191 @@
 var resetResult;
 var lsentid;
 var lisid;
-const formaClass='frm'
+const formaClass = 'frm'
 var selectedVista;
-var vistaPeriodi=false
-var vistaDialoghi=false
+var vistaPeriodi = false
+var vistaDialoghi = false
 var listaPeriodiRisultato;
 var listaClausoleRisultato;
 var numeroContesti;
 
 $(document).ready(function() {
-	removeGraph=false;
-	const dialogspeakers={
-		"Beatrice":"diaBeatrice",
-		"Dante":"diaDante",
-		"Virgilio":"diaVirgilio",
-		"Cacciaguida":"diaCacciaguida",
-		"san Bernardo":"diaSanBernardo"
+	removeGraph = false;
+	const dialogspeakers = {
+		"Beatrice": "diaBeatrice",
+		"Dante": "diaDante",
+		"Virgilio": "diaVirgilio",
+		"Cacciaguida": "diaCacciaguida",
+		"san Bernardo": "diaSanBernardo"
 	}
-	const dialogaltri='diaAltri'
+	const dialogaltri = 'diaAltri'
+
 
-	
 	const cantobadgeclass = 'badge badge-outline-warning badge-pill'
 
 	const sparqlGenerator = sparqljs.Generator;
 	const myEngine = new Comunica.QueryEngine();
 	//const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commediaontosintgra/query";
 	const sparqlEndpoint = "https://hdnlab1.isti.cnr.it/fuseki/commedia/query";
-	
+
 	var shownSentenceList = new Set()
 
 	listarisultati = [];
 	listaPeriodiRisultato = [];
-	listaClausoleRisultato=[]
+	listaClausoleRisultato = []
 	var commentsArray = []
 	var commentsJson = {}
 	var resultSentences = new Set()
-	const cantiche=["Inferno", "Purgatorio","Paradiso"]
-	var loadedCanti=new Set();
-	const openSTag="{"
-	const closeSTag="}"
-	
+	const cantiche = ["Inferno", "Purgatorio", "Paradiso"]
+	var loadedCanti = new Set();
+	const openSTag = "{"
+	const closeSTag = "}"
+
 	var cantoDisplayed = "#InfernoCanto_1";
 	var prevCantoDisplayed = "#InfernoCanto_1";
-	var contextLength = 3; 
-	var showOffset = 30; 
+	var contextLength = 3;
+	var showOffset = 30;
 	var idCitazione = "citazioneFrase";
-	
+
 	initCitazioni();
-	
-	resetResult=function(){
+
+	resetResult = function() {
 		//console.log('clean result')
 		cleanSearchResult()
 		esprlogica = []
 	}
-	
+
 	//hideMinimap();
 	createAllDivCanti()
 	//const start = performance.now();
-	showCanto(formeprima, '1','1')
+	showCanto(formeprima, '1', '1')
 	$("#InfernoCanto_1").attr('style', 'display: d-flex;')
 	loadedCanti.add("InfernoCanto_1")
 	drawMinimap("#InfernoCanto_1", false)
-	const minim=$(" .minimap__content")
-	
+	const minim = $(" .minimap__content")
 
-$('#opzioniVista :checkbox').change(function() {
-	changedOption = $(this)[0].id;
-	switch (changedOption + "|" + this.checked){
-		case "visPeriodi|true":
-			
-			selectedVista = 'frasi'
-			//$(cantoDisplayed).attr('style', 'display: d-flex;')
-			vistaPeriodi=true
-			loadFrasi();
-			break;
-		case "visPeriodi|false":
-			$("#vistaFrasi").css("display", "none");
-			resetFrasi()
-			vistaPeriodi=false
-			//$(cantoDisplayed).attr('style', 'display: d-flex;')
-			break;
-		case "visRiferimenti|true":
-			$(".showcomments").css("display", "inline-block");
-			minim.contents().find(" .showcomments").each(function(){
-				$(this).css('display', 'inline-block');
-			})
-			break;					
-		case "visRiferimenti|false":
-			$(".showcomments").css("display", "none");
-			minim.contents().find(" .showcomments").each(function(){
-				$(this).css('display', 'none');
-			})
-			const emptyNoteList = '<div class="card card-body well well-sm m-1 mt-2 p-0" id="noteCard0"><span class="p-3 text-muted bg-lida-vis small" style="opacity: 0.6;">Nessun commento visualizzato</span></div>';
-			$('#displaynote').empty()
-			$('#displaynote').append($(emptyNoteList))
-			break;					
-		case "visDialoghi|true":
-			selectedVista = 'dialoghi'
-			//resetFrasi()
-			loadDialoghi();
-			vistaDialoghi=true
-			break;			
-		case "visDialoghi|false":
-			$("#vistaDialoghi").css("display", "none");
-			vistaDialoghi=false
-			resetDialoghi()
-			break;						
-		case "visMetafore|true":
-			//loadMetafore();
-			break;			
-		case "visMetafore|false":
-			$("#vistaMetafore").css("display", "none");
-	}
-});
+
+	$('#opzioniVista :checkbox').change(function() {
+		changedOption = $(this)[0].id;
+		switch (changedOption + "|" + this.checked) {
+			case "visPeriodi|true":
+
+				selectedVista = 'frasi'
+				vistaPeriodi = true
+				loadFrasi();
+				break;
+			case "visPeriodi|false":
+				$("#vistaFrasi").css("display", "none");
+				resetFrasi()
+				vistaPeriodi = false
+				break;
+			case "visRiferimenti|true":
+				$(".showcomments").css("display", "inline-block");
+				minim.contents().find(" .showcomments").each(function() {
+					$(this).css('display', 'inline-block');
+				})
+				break;
+			case "visRiferimenti|false":
+				$(".showcomments").css("display", "none");
+				minim.contents().find(" .showcomments").each(function() {
+					$(this).css('display', 'none');
+				})
+				const emptyNoteList = '<div class="card card-body well well-sm m-1 mt-2 p-0" id="noteCard0"><span class="p-3 text-muted bg-lida-vis small" style="opacity: 0.6;">Nessun commento visualizzato</span></div>';
+				$('#displaynote').empty()
+				$('#displaynote').append($(emptyNoteList))
+				break;
+			case "visDialoghi|true":
+				selectedVista = 'dialoghi'
+				//resetFrasi()
+				loadDialoghi();
+				vistaDialoghi = true
+				break;
+			case "visDialoghi|false":
+				$("#vistaDialoghi").css("display", "none");
+				vistaDialoghi = false
+				resetDialoghi()
+				break;
+			case "visMetafore|true":
+				//loadMetafore();
+				break;
+			case "visMetafore|false":
+				$("#vistaMetafore").css("display", "none");
+		}
+	});
 
 
 
-$(" ."+formaClass).each(function(idx, element) {
-        // We cycle through the elements using each() so that we can choose the element specifically that we wish to clean up afterward
+	$(" ." + formaClass).each(function(idx, element) {
+		// We cycle through the elements using each() so that we can choose the element specifically that we wish to clean up afterward
 		var ele = $(element);
-			ele.tooltip({
-				content: (function() {return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1], ele.attr('class').split(' ')[0]);}),
-  				classes:{"ui-tooltip":'Nik_dropdown-content'},
-  				close: function (event, ui) {$(".ui-helper-hidden-accessible").remove();},
-       			create: function(ev, ui) {$(this).data("ui-tooltip").liveRegion.remove();},
-  				hide: false,
-  				show: {delay: 800,duration: 0}
-			
+		ele.tooltip({
+			content: (function() { return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1], ele.attr('class').split(' ')[0]); }),
+			classes: { "ui-tooltip": 'Nik_dropdown-content' },
+			close: function(event, ui) { $(".ui-helper-hidden-accessible").remove(); },
+			create: function(ev, ui) { $(this).data("ui-tooltip").liveRegion.remove(); },
+			hide: false,
+			show: { delay: 800, duration: 0 }
+
 		});
 	});
 
 
 
-$( " ."+formaClass ).dblclick(function() {
-	
-		var sentenceId=$(this).attr('class').split(' ')[0].replace('$','')
-		console.log('dblclick '+lisid)
-		if (shownSentenceList.has(sentenceId)){
+	$(" ." + formaClass).dblclick(function() {
+
+		var sentenceId = $(this).attr('class').split(' ')[0].replace('$', '')
+		console.log('dblclick ' + lisid)
+		if (shownSentenceList.has(sentenceId)) {
 			resetSentenceStructure(sentenceId)
 			shownSentenceList.delete(sentenceId)
-			
+
 		}
-		else{
+		else {
 			//showSentenceStructure (sentenceId)
 			shownSentenceList.add(sentenceId)
-			
-			
+
+
 		}
-});
-
-
-$(" ."+formaClass).hover(function(idx, element) {
-        
-        var sentenceId=$(this).attr('class').split(' ')[0].split('_')
-		var tmplisid=sentenceId[0]+'_'+sentenceId[1]+'_'+sentenceId[3]
-		lsentid=$(this).attr('class').split(' ')[0]
-		lisid=tmplisid
 	});
-	
 
-/*
-* Espansione del contesto
-*/
+
+	$(" ." + formaClass).hover(function(idx, element) {
+
+		var sentenceId = $(this).attr('class').split(' ')[0].split('_')
+		var tmplisid = sentenceId[0] + '_' + sentenceId[1] + '_' + sentenceId[3]
+		lsentid = $(this).attr('class').split(' ')[0]
+		lisid = tmplisid
+	});
+
+
+	/*
+	* Espansione del contesto
+	*/
 
 	jQuery(document).delegate(' .espandiFrase, .riduciFrase', 'click', function() {
 		if ($(this).hasClass("disabled")) {
 			return;
 		};
-		var posizioniEspansione=[]
+		var posizioniEspansione = []
 		var cid = $(this).attr('id');
 		var parcid = cid.split('_');
 		var posVerso
 		reit = '#versiFrase' + parcid[4]
-		var expcontextLength=$(reit+" > li").length
-		if(cid.includes('_er_')){
-			expcontextLength=contextLength
-		}else{
+		var expcontextLength = $(reit + " > li").length
+		if (cid.includes('_er_')) {
+			expcontextLength = contextLength
+		} else {
 			posVerso = $(reit).attr('posVerso')
-			if (posVerso == 1){ // caso inizio o fine canto
-				expcontextLength+=contextLength;
-			}			
+			if (posVerso == 1) { // caso inizio o fine canto
+				expcontextLength += contextLength;
+			}
 		}
-			
+
 		//svuoto la lista di versi
 		$(reit).empty()
 		//genero la nuova lista di versi 
 		var versiContestoExp = getFormaContext(parseInt(parcid[3]), expcontextLength);
-		var divVersoExp=''
+		var divVersoExp = ''
 		var setVersicontestoExp = new Set()
 		for (forma of versiContestoExp) {
 			if (!setVersicontestoExp.has(forma.verso)) {
@@ -203,334 +201,333 @@ $(" ."+formaClass).hover(function(idx, element) {
 			createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, divVersoExp)
 			posizioniEspansione.push('e' + forma.posizione)
 		}
-				
-		if(cid.includes('_er_')){
+
+		if (cid.includes('_er_')) {
 			///$("#"+cid).css("display", "none");
-			$("#"+cid).removeClass( "btn-outline-primary" );
-			$("#"+cid).addClass( "btn-outline-secondary" );
-			$("#"+cid).addClass( "disabled" );
+			$("#" + cid).removeClass("btn-outline-primary");
+			$("#" + cid).addClass("btn-outline-secondary");
+			$("#" + cid).addClass("disabled");
 		}
-		else{
-			cid = cid.replace("ex","er");
+		else {
+			cid = cid.replace("ex", "er");
 			///$("#"+cid).attr('style', 'display: d-flex;');
-			$("#"+cid).removeClass( "btn-outline-secondary" );
-			$("#"+cid).removeClass( "disabled" );
-			$("#"+cid).addClass( "btn-outline-primary" );			
+			$("#" + cid).removeClass("btn-outline-secondary");
+			$("#" + cid).removeClass("disabled");
+			$("#" + cid).addClass("btn-outline-primary");
 		}
-		
-		
+
+
 		//evidenzio risultato
-		
+
 		for (ris of listarisultati) {
-				idris = '#e' + ris
-				$(idris).addClass("font-weight-bold mark ")
+			idris = '#e' + ris
+			$(idris).addClass("font-weight-bold mark ")
 		}
-		
+
 		//gestisco risultati se unità di ricerca è periodo
-		if (listaPeriodiRisultato.length){
-			for (msid of listaPeriodiRisultato){
+		if (listaPeriodiRisultato.length) {
+			for (msid of listaPeriodiRisultato) {
 				loadPeriodo(msid)
-				
+
 			}
 		}
 		//gestisce risultati se unità di ricerca è frase
-		if (listaClausoleRisultato.length){
-			for (clsid of listaClausoleRisultato){
-				let tmpid=clsid.split('-')
+		if (listaClausoleRisultato.length) {
+			for (clsid of listaClausoleRisultato) {
+				let tmpid = clsid.split('-')
 				//loadFrase(tmpid[0], tmpid[1])
 				loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
-				
+
 			}
 		}
-			
+
 		//aggiungo listeners
-		
+
 		//addFormaListenersInRisultato(posizioniEspansione)
 		addFormaListenersInCanto()
-		
+
 		//disegno minimap, onlyContent = true
 		drawMinimap('#vistaFrasi', true)
 		//manageMM('#vistaFrasi')
-		
+
 
 	})
 
 
-/*
- * Costruzione e visualizzazione del risultato in frasi.
-*/
+	/*
+	 * Costruzione e visualizzazione del risultato in frasi.
+	*/
 
 	/*
- 	* Costruzione e visualizzazione del risultato in frasi.
+	  * Costruzione e visualizzazione del risultato in frasi.
 	*/
-	
+
 	//$.manageResultList(start, offset)
-	var prevstart=-1
-	var prevoffset=-1
-	jQuery.manageResultList = function manageResultList(start, offset = showOffset){
-				
-			if(offset==prevoffset && start==prevstart && cantoDisplayed=='#vistaFrasi')
-				return
-			console.log('Paginazione...')
-			prevstart=start
-			prevoffset=offset
-			if(cantoDisplayed!='#vistaFrasi'){
-				prevCantoDisplayed=cantoDisplayed;		
-				$(cantoDisplayed).css("display", "none");
-				//visualizzo
-				$("#vistaFrasi").attr('style', 'display: d-flex;');
-				cantoDisplayed="#vistaFrasi";
-			}
-			
-			//listarisultati.sort(function(a, b){return a - b});
-			showFrasi (start, offset)
-			console.log(vistaPeriodi)
-			if (vistaPeriodi){
-				loadFrasi();
-			}
-			if (vistaDialoghi){
-				loadDialoghi();
-			}		
-			addFormaListenersInCanto()
-			drawMinimap('#vistaFrasi', false)
-			
+	var prevstart = -1
+	var prevoffset = -1
+	jQuery.manageResultList = function manageResultList(start, offset = showOffset) {
+
+		if (offset == prevoffset && start == prevstart && cantoDisplayed == '#vistaFrasi')
+			return
+		console.log('Paginazione...')
+		prevstart = start
+		prevoffset = offset
+		if (cantoDisplayed != '#vistaFrasi') {
+			prevCantoDisplayed = cantoDisplayed;
+			$(cantoDisplayed).css("display", "none");
+			//visualizzo
+			$("#vistaFrasi").attr('style', 'display: d-flex;');
+			cantoDisplayed = "#vistaFrasi";
+		}
+
+		//listarisultati.sort(function(a, b){return a - b});
+		showFrasi(start, offset)
+		console.log(vistaPeriodi)
+		if (vistaPeriodi) {
+			loadFrasi();
+		}
+		if (vistaDialoghi) {
+			loadDialoghi();
+		}
+		addFormaListenersInCanto()
+		drawMinimap('#vistaFrasi', false)
+
 	}
-	
-	function countResultContexts(){
+
+	function countResultContexts() {
 		var numeroRisultati = 0;
 		var ultimaPosizione = -1;
-		for (risultato of listarisultati){
-			if (risultato <= parseInt(ultimaPosizione)){
-					continue;
+		for (risultato of listarisultati) {
+			if (risultato <= parseInt(ultimaPosizione)) {
+				continue;
 			}
-			numeroRisultati=numeroRisultati+1;
-			var versiContesto= getFormaContext(risultato, contextLength);
-			var ultimaForma=versiContesto.slice(-1)
-			ultimaPosizione=ultimaForma[0].posizione
+			numeroRisultati = numeroRisultati + 1;
+			var versiContesto = getFormaContext(risultato, contextLength);
+			var ultimaForma = versiContesto.slice(-1)
+			ultimaPosizione = ultimaForma[0].posizione
 		}
-		console.log('N. contesti: '+numeroRisultati)
-		numeroContesti=numeroRisultati
+		console.log('N. contesti: ' + numeroRisultati)
+		numeroContesti = numeroRisultati
 		return (numeroRisultati)
 	}
-	
-	function getResInPage(startcont, endcont){
+
+	function getResInPage(startcont, endcont) {
 		var res = [];
 		var ultimaPosizione = -1;
-		var contaContesti=0
-		for (risultato of listarisultati){
-			if (risultato <= parseInt(ultimaPosizione)){
-					continue;
+		var contaContesti = 0
+		for (risultato of listarisultati) {
+			if (risultato <= parseInt(ultimaPosizione)) {
+				continue;
 			}
-			contaContesti=contaContesti+1;
-			if (contaContesti >= startcont && contaContesti < endcont){
+			contaContesti = contaContesti + 1;
+			if (contaContesti >= startcont && contaContesti < endcont) {
 				res.push(risultato)
 			}
 			if (contaContesti > endcont)
 				break;
-			var versiContesto= getFormaContext(risultato, contextLength);
-			var ultimaForma=versiContesto.slice(-1)
-			ultimaPosizione=ultimaForma[0].posizione
+			var versiContesto = getFormaContext(risultato, contextLength);
+			var ultimaForma = versiContesto.slice(-1)
+			ultimaPosizione = ultimaForma[0].posizione
 		}
 		//ordino la lista dei risultati
-		res.sort(function(a, b){return a - b});
+		res.sort(function(a, b) { return a - b });
 		return (res)
 	}
-	
-	function showFrasi (start, offset = showOffset) {
-		   	var canto, numeroCantica;
-			var divVerso;
-			var elencoRisutati = $("#vistaFrasi");
-			elencoRisutati.empty();
-					
-			var numeroRisultato = 0;
-			var ultimaPosizione = 0;
-			var numeroVersi;
-			const intsup =Math.min(start+offset, listarisultati.length)
-			var resincontext=getResInPage(start, start+offset)
-			//for (let i=start; i<intsup; i++){
-			for (let i=0; i<resincontext.length; i++){	
-				//risultato = listarisultati[i];
-				risultato = resincontext[i];
-				numeroRisultato++;
-				risultato = parseInt(risultato)
-				if (risultato <= parseInt(ultimaPosizione)){
-					continue;
-				}
-				var versiContesto= getFormaContext(risultato, contextLength);
-				var setVersicontesto = new Set()
-				divVerso =''
-				numeroCantica=0
-				canto=0
-				//var titoloCanto = $('<h5 class="titolo-canto"/>')
-				var versiIniziali = $('<div class="versiFrase mt-3" />')
-				var listaVersi = $('<ol class="pt-3" />')
-	
-				listaVersi.attr('id', "Frase"+numeroRisultato);
-				versiIniziali.attr('id', "versiFrase"+numeroRisultato);
-				numeroVersi = 0;
-				for (forma of versiContesto){
-					if (setVersicontesto.size == 0){
-						numeroCantica=forma.cantica
-						canto=forma.canto
-					}
-					if (!setVersicontesto.has(forma.verso)){
-						divVerso = createDivVersoLI(forma.cantica, forma.verso, forma.canto)
-						versiIniziali.append(divVerso)
-						listaVersi.append(versiIniziali)
-						elencoRisutati.append(listaVersi)
-						setVersicontesto.add(forma.verso)
-						numeroVersi++;
-					}
-					createSpanFormeNew(forma.testo, forma.catg, 'e'+forma.posizione, forma.periodo, forma.funzperiodo, divVerso)
-				}
-				ultimaPosizione = forma.posizione;
 
-				if (numeroVersi < contextLength +1) {
-					versiIniziali.attr('posVerso', 1); // inizio o fine canto
-				}else {
-						versiIniziali.attr('posVerso', 9999);
-				}
-					
-				var comandi = $('<div />')
-				comandi.attr('id',"comandiFrase"+numeroRisultato)				
-				comandi.attr('class', 'comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom');
+	function showFrasi(start, offset = showOffset) {
+		var canto, numeroCantica;
+		var divVerso;
+		var elencoRisutati = $("#vistaFrasi");
+		elencoRisutati.empty();
 
-				var comandiGrp = $('<div />')
-				comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom');
-				comandiGrp.attr('role',"group")				
-				
-				var spanBadgeExpand = $('<button />');
-				var expandIcon = '<ion-icon name="expand-outline"></ion-icon>';
-				spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
-				var spanBadgeReduce = $('<button />');				
-				var reduceIcon = '<ion-icon name="contract-outline"></ion-icon>';
-
-				spanBadgeReduce.attr('class', 'btn btn-sm btn-outline-secondary riduciFrase px-1 pt-1 pb-0 ml-1 disabled');
-				
-				spanBadgeExpand.attr('id', getCantica(numeroCantica)+"Canto_ex_"+canto+"_"+risultato+"_"+numeroRisultato);
-				spanBadgeExpand.append(expandIcon);
-				
-				spanBadgeReduce.attr('id', getCantica(numeroCantica)+"Canto_er_"+canto+"_"+risultato+"_"+numeroRisultato);
-				spanBadgeReduce.append(reduceIcon)
-
-				spanBadgeExpand.appendTo(comandiGrp);
-				spanBadgeReduce.appendTo(comandiGrp);
-
-				comandiGrp.appendTo(comandi);
-
-
-				var citazioneDiv = $('<div />')	
-				citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0');
-				var citazione = $('<span />')	
-				citazione.append("["+getCantica(numeroCantica)+", Canto "+getRoman(canto)+"]")
-				citazione.attr('class', ' pl-3 citazioneFrase align-text-top');
-				citazione.attr('name', getCantica(numeroCantica)+"Canto "+canto);
-				citazione.attr('id', idCitazione+'_'+numeroRisultato+'_'+risultato);
-				citazione.appendTo(citazioneDiv);
-
-				citazioneDiv.appendTo(comandi);
-
-				comandi.appendTo(elencoRisutati);
-				
+		var numeroRisultato = 0;
+		var ultimaPosizione = 0;
+		var numeroVersi;
+		const intsup = Math.min(start + offset, listarisultati.length)
+		var resincontext = getResInPage(start, start + offset)
+		//for (let i=start; i<intsup; i++){
+		for (let i = 0; i < resincontext.length; i++) {
+			//risultato = listarisultati[i];
+			risultato = resincontext[i];
+			numeroRisultato++;
+			risultato = parseInt(risultato)
+			if (risultato <= parseInt(ultimaPosizione)) {
+				continue;
 			}
-			
-			//evidenzio resultati
-			
-			for (ris of listarisultati) {
-				idris = '#e' + ris
-				$(idris).addClass("font-weight-bold mark ")
-			}
-				
-			//evidenzio i periodi se unità di ricerca è impostato come periodo
-			if (listaPeriodiRisultato.length){
-				for (msid of listaPeriodiRisultato){
-					loadPeriodo(msid)
-				
+			var versiContesto = getFormaContext(risultato, contextLength);
+			var setVersicontesto = new Set()
+			divVerso = ''
+			numeroCantica = 0
+			canto = 0
+			//var titoloCanto = $('<h5 class="titolo-canto"/>')
+			var versiIniziali = $('<div class="versiFrase mt-3" />')
+			var listaVersi = $('<ol class="pt-3" />')
+
+			listaVersi.attr('id', "Frase" + numeroRisultato);
+			versiIniziali.attr('id', "versiFrase" + numeroRisultato);
+			numeroVersi = 0;
+			for (forma of versiContesto) {
+				if (setVersicontesto.size == 0) {
+					numeroCantica = forma.cantica
+					canto = forma.canto
 				}
-			
-			}
-			//evidenzio le frasi se unità di ricerca è frase
-			if (listaClausoleRisultato.length){
-				for (clsid of listaClausoleRisultato){
-					let tmpid=clsid.split('-')
-					//loadFrase(tmpid[0], tmpid[1])
-					loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
-					
+				if (!setVersicontesto.has(forma.verso)) {
+					divVerso = createDivVersoLI(forma.cantica, forma.verso, forma.canto)
+					versiIniziali.append(divVerso)
+					listaVersi.append(versiIniziali)
+					elencoRisutati.append(listaVersi)
+					setVersicontesto.add(forma.verso)
+					numeroVersi++;
 				}
-			}			
-			
-			
+				createSpanFormeNew(forma.testo, forma.catg, 'e' + forma.posizione, forma.periodo, forma.funzperiodo, divVerso)
+			}
+			ultimaPosizione = forma.posizione;
+
+			if (numeroVersi < contextLength + 1) {
+				versiIniziali.attr('posVerso', 1); // inizio o fine canto
+			} else {
+				versiIniziali.attr('posVerso', 9999);
+			}
+
+			var comandi = $('<div />')
+			comandi.attr('id', "comandiFrase" + numeroRisultato)
+			comandi.attr('class', 'comandi col flex-nowrap d-inline justify-content-between pl-1 pb-2 ml-2 mb-2 border-bottom');
+
+			var comandiGrp = $('<div />')
+			comandiGrp.attr('class', 'btn-group flex-nowrap d-inline pr-3 mt-1 mr-3 align-text-bottom');
+			comandiGrp.attr('role', "group")
+
+			var spanBadgeExpand = $('<button />');
+			var expandIcon = '<ion-icon name="expand-outline"></ion-icon>';
+			spanBadgeExpand.attr('class', 'btn btn-sm btn-outline-primary espandiFrase px-1 pt-1 pb-0');
+			var spanBadgeReduce = $('<button />');
+			var reduceIcon = '<ion-icon name="contract-outline"></ion-icon>';
+
+			spanBadgeReduce.attr('class', 'btn btn-sm btn-outline-secondary riduciFrase px-1 pt-1 pb-0 ml-1 disabled');
+
+			spanBadgeExpand.attr('id', getCantica(numeroCantica) + "Canto_ex_" + canto + "_" + risultato + "_" + numeroRisultato);
+			spanBadgeExpand.append(expandIcon);
+
+			spanBadgeReduce.attr('id', getCantica(numeroCantica) + "Canto_er_" + canto + "_" + risultato + "_" + numeroRisultato);
+			spanBadgeReduce.append(reduceIcon)
+
+			spanBadgeExpand.appendTo(comandiGrp);
+			spanBadgeReduce.appendTo(comandiGrp);
+
+			comandiGrp.appendTo(comandi);
+
+
+			var citazioneDiv = $('<div />')
+			citazioneDiv.attr('class', ' text-right flex-nowrap d-inline ml-3 px-3 py-0');
+			var citazione = $('<span />')
+			citazione.append("[" + getCantica(numeroCantica) + ", Canto " + getRoman(canto) + "]")
+			citazione.attr('class', ' pl-3 citazioneFrase align-text-top');
+			citazione.attr('name', getCantica(numeroCantica) + "Canto " + canto);
+			citazione.attr('id', idCitazione + '_' + numeroRisultato + '_' + risultato);
+			citazione.appendTo(citazioneDiv);
+
+			citazioneDiv.appendTo(comandi);
+
+			comandi.appendTo(elencoRisutati);
+
+		}
+
+		//evidenzio resultati
+
+		for (ris of listarisultati) {
+			idris = '#e' + ris
+			$(idris).addClass("font-weight-bold mark ")
+		}
+
+		//evidenzio i periodi se unità di ricerca è impostato come periodo
+		if (listaPeriodiRisultato.length) {
+			for (msid of listaPeriodiRisultato) {
+				loadPeriodo(msid)
+
+			}
+
+		}
+		//evidenzio le frasi se unità di ricerca è frase
+		if (listaClausoleRisultato.length) {
+			for (clsid of listaClausoleRisultato) {
+				let tmpid = clsid.split('-')
+				//loadFrase(tmpid[0], tmpid[1])
+				loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
+
+			}
+		}
+
+
 	}
 
 	jQuery(document).delegate('.navig-canto, .citazioneFrase', 'click', function(e) {
 		resetFrasi()
-		
+
 		//nasconde vista risultati
 		$("#vistaFrasi").css("display", "none");
-		
+
 		//rimuove il grafo sintattico se c'è'
 		resetGraphStruct()
 		emptyStructCard()
-		
-	
+
+
 		$(cantoDisplayed).css("display", "none");
-		
-		const cid=$(this).attr('name').replace(" ", "_");
-		
-		cantoDisplayed = "#"+cid;
+
+		const cid = $(this).attr('name').replace(" ", "_");
+
+		cantoDisplayed = "#" + cid;
 		initCitazioni()
-		var parcid=cid.split('_')
-		
-		if ( !(loadedCanti.has(cid)))
-		{
-			if(parcid[0].includes('Inferno'))
-				showCanto(formeprima, '1',parcid[1])
-			if(parcid[0].includes('Purgatorio'))
-				showCanto(formeseconda, '2',parcid[1])
-			if(parcid[0].includes('Paradiso'))
-				showCanto(formeterza, '3',parcid[1])
+		var parcid = cid.split('_')
+
+		if (!(loadedCanti.has(cid))) {
+			if (parcid[0].includes('Inferno'))
+				showCanto(formeprima, '1', parcid[1])
+			if (parcid[0].includes('Purgatorio'))
+				showCanto(formeseconda, '2', parcid[1])
+			if (parcid[0].includes('Paradiso'))
+				showCanto(formeterza, '3', parcid[1])
 			loadedCanti.add(cid)
 		}
 		//$("#" + $(this).attr('name').replace(" ", "_")).css("display", "block");
 		$("#" + $(this).attr('name').replace(" ", "_")).attr('style', 'display: d-flex;')
-		
-		
-		
+
+
+
 		drawMinimap("#" + $(this).attr('name').replace(" ", "_"), false)
-		
+
 		console.log(vistaPeriodi)
-		if (vistaPeriodi){
+		if (vistaPeriodi) {
 			loadFrasi();
 		}
-		if (vistaDialoghi){
+		if (vistaDialoghi) {
 			loadDialoghi();
 		}
-		
+
 		addFormaListenersInCanto();
-		
+
 		//se si sta arrivando al canto da un link della lista risultati 
-		const callerid=$(this).attr('id');
-		if (callerid!=null && callerid.startsWith(idCitazione)){
-			const mypos=callerid.split('_')[2]
-			latestPhraseId = callerid.split('_')[0].replace("citazione", "")+callerid.split('_')[1];
-			$("#collapse"+parcid[0].replace("Canto", "")).collapse('show');
-            document.getElementById(mypos).scrollIntoView({
-					behavior: "smooth",
-				});
-			
+		const callerid = $(this).attr('id');
+		if (callerid != null && callerid.startsWith(idCitazione)) {
+			const mypos = callerid.split('_')[2]
+			latestPhraseId = callerid.split('_')[0].replace("citazione", "") + callerid.split('_')[1];
+			$("#collapse" + parcid[0].replace("Canto", "")).collapse('show');
+			document.getElementById(mypos).scrollIntoView({
+				behavior: "smooth",
+			});
+
 		}
-	
-		
+
+
 	});
 
-	
+
 	//Query
 
 	jQuery(document).delegate('#searchcomm, #searchcomm2', 'click', function(e) {
 		e.preventDefault();
 		manageQuery()
 	});
-	
+
 
 	//Reset
 
@@ -541,24 +538,24 @@ $(" ."+formaClass).hover(function(idx, element) {
 		$('#queryText').val("")
 
 	});
-	
+
 	//Utility functions
-	
-	
-	
-	function addFormaListenersInCanto(){
-		let idn=0
+
+
+
+	function addFormaListenersInCanto() {
+		let idn = 0
 		$(cantoDisplayed).find(" ." + formaClass).each(function(idx, element) {
-			idn=idn+1
+			idn = idn + 1
 			var ele = $(element);
-			
+
 			$(element).tooltip({
 				content: (function() { return formatTTContent(ele.attr('title'), ele.attr('class').split(' ')[1], ele.attr('class').split(' ')[0]); }),
 				classes: { "ui-tooltip": 'Nik_dropdown-content' },
 				//close: function(event, ui) { $(".ui-helper-hidden-accessible").remove(); },
 				//create: function(ev, ui) { $(this).data("ui-tooltip").liveRegion.remove(); },
 				hide: false,
-				show: {delay: 800,duration: 0}
+				show: { delay: 800, duration: 0 }
 
 			});
 			$(element).hover(function(idx, element) {
@@ -574,264 +571,265 @@ $(" ."+formaClass).hover(function(idx, element) {
 		//console.log('nr forme '+idn)
 
 	}
-	
-	
+
+
 	function getRoman(numero) {
-	
-	var romani = ["I","II","III","IV","V","VI","VII","VIII","IX","X",
-				  "XI","XII","XIII","XIV","XV","XVI","XVII","XVIII","XIX","XX",
-				  "XXI","XXII","XXIII","XXIV","XXV","XXVI","XXVII","XXVIII","XXIX","XXX",
-				  "XXXI","XXXII","XXXIII","XXXIV"];
-	return (romani[numero-1]);
-	
-}
 
-function getNumCurrentCantica(){
-	
-	var mcanto=cantoDisplayed.replace("#",'')
-	var cantica=''
-	if (mcanto.startsWith('Inf'))
-		cantica='1'
-	if (mcanto.startsWith('Pur'))
-		cantica='2'
-	if (mcanto.startsWith('Par'))
-		cantica='3'
-	
-	return(cantica+'_'+mcanto.split('_')[1])
-}
+		var romani = ["I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X",
+			"XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX",
+			"XXI", "XXII", "XXIII", "XXIV", "XXV", "XXVI", "XXVII", "XXVIII", "XXIX", "XXX",
+			"XXXI", "XXXII", "XXXIII", "XXXIV"];
+		return (romani[numero - 1]);
 
-function loadPeriodo(idperiodo) {
-	
-	
-	//if(idperiodo.split('_')[0]+'_'+idperiodo.split('_')[1]!=getNumCurrentCantica())
-	if (!isPeriodoInCanto(idperiodo, cantoDisplayed)){
-		//console.log(idperiodo.split('_')[0]+'_'+idperiodo.split('_')[1]+', '+getNumCurrentCantica())
-		return
 	}
-	
-	$(cantoDisplayed).find(' .'+idperiodo).each(function() {
-		var pstp=$(this).attr('class').split(" ")[1]
 
-		$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
-	})
-	
-	minim.contents().find(' .'+idperiodo).each(function() {
-		var mpstp=$(this).attr('class').split(" ")[1]
+	function getNumCurrentCantica() {
 
-		$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
-	})
-}
+		var mcanto = cantoDisplayed.replace("#", '')
+		var cantica = ''
+		if (mcanto.startsWith('Inf'))
+			cantica = '1'
+		if (mcanto.startsWith('Pur'))
+			cantica = '2'
+		if (mcanto.startsWith('Par'))
+			cantica = '3'
 
-function isPeriodoInCanto(idperiodo, canto){
-	datiperiodo=idperiodo.split('_')
-	daticanto=canto.split('_')
-	canticaprd=datiperiodo[0]
-	cantoprd=datiperiodo[1]
-	if(canticaprd=='1' && daticanto[0].includes('Inferno'))
-		return(cantoprd==daticanto[1])
-	if(canticaprd=='2' && daticanto[0].includes('Purgatorio'))
-		return(cantoprd==daticanto[1])
-	if(canticaprd=='3' && daticanto[0].includes('Paradiso'))
-		return(cantoprd==daticanto[1])
-	return false
-}
+		return (cantica + '_' + mcanto.split('_')[1])
+	}
 
-function loadFrase(idperiodo, funzionefrase) {
-	
-	if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
-		return
-	
-	$(cantoDisplayed).find(' .'+idperiodo).each(function() {
-		var pstp=$(this).attr('class').split(" ")[1]
+	function loadPeriodo(idperiodo) {
 
-		if(pstp.trim()==funzionefrase)
-			$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
-	})
-	
-	minim.contents().find(' .'+idperiodo).each(function() {
-		var mpstp=$(this).attr('class').split(" ")[1]
-		if(mpstp.trim()==funzionefrase)
-			$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
-	})
-}
 
-function loadClausola(idperiodo, funzionefrase, fromn, ton) {
-	
-	if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
-		return
-	
-	$(cantoDisplayed).find(' .'+idperiodo).each(function() {
-		if (parseInt($(this).attr('id'))>=parseInt(fromn) 
-			&& parseInt($(this).attr('id'))<=parseInt(ton)){
-				var pstp=$(this).attr('class').split(" ")[1]
+		//if(idperiodo.split('_')[0]+'_'+idperiodo.split('_')[1]!=getNumCurrentCantica())
+		if (!isPeriodoInCanto(idperiodo, cantoDisplayed)) {
+			return
+		}
 
-			if(pstp.trim()==funzionefrase)
+		$(cantoDisplayed).find(' .' + idperiodo).each(function() {
+			var pstp = $(this).attr('class').split(" ")[1]
+			if (pstp=='sentencetag')
+				$(this).attr('style', 'display: d-flex;');
+			//$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
+		})
+
+		minim.contents().find(' .' + idperiodo).each(function() {
+			var mpstp = $(this).attr('class').split(" ")[1]
+			if (mpstp=='sentencetag')
+				$(this).attr('style', 'display: d-flex;');
+			//$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
+		})
+	}
+
+	function isPeriodoInCanto(idperiodo, canto) {
+		datiperiodo = idperiodo.split('_')
+		daticanto = canto.split('_')
+		canticaprd = datiperiodo[0]
+		cantoprd = datiperiodo[1]
+		if (canticaprd == '1' && daticanto[0].includes('Inferno'))
+			return (cantoprd == daticanto[1])
+		if (canticaprd == '2' && daticanto[0].includes('Purgatorio'))
+			return (cantoprd == daticanto[1])
+		if (canticaprd == '3' && daticanto[0].includes('Paradiso'))
+			return (cantoprd == daticanto[1])
+		return false
+	}
+
+	function loadFrase(idperiodo, funzionefrase) {
+
+		if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
+			return
+
+		$(cantoDisplayed).find(' .' + idperiodo).each(function() {
+			var pstp = $(this).attr('class').split(" ")[1]
+
+			if (pstp.trim() == funzionefrase)
 				$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
-		}
-		
-	})
-	
-	minim.contents().find(' .'+idperiodo).each(function() {
-		if (parseInt($(this).attr('id'))>=parseInt(fromn) 
-			&& parseInt($(this).attr('id'))<=parseInt(ton)){
-			var mpstp=$(this).attr('class').split(" ")[1]
-			if(mpstp.trim()==funzionefrase)
-				$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));	
-		}
-		
-	})
-}
-
-
-function loadDialoghi() {
-	var aca='3'
-	if (cantoDisplayed.includes('Inferno'))
-		aca='1'
-	if (cantoDisplayed.includes('Purgatorio'))
-		aca='2'
-	for (const india in dialoghi){
-		//console.log(dialoghi[india]['Cnt'].replace('_so',''))
-		var diaclass=dialoghi[india]['Cnt'].replace('_so','')
-		var authclass=dialoghi[india]['Cnt'];
-		if(diaclass.split('_')[1]!=cantoDisplayed.split('_')[1])
-			continue;
-		if(diaclass.split('_')[0]!=aca)
-			continue;
-		var csscl=dialogaltri
-		if (dialoghi[india]['Spna'] in dialogspeakers){
-			csscl=dialogspeakers[dialoghi[india]['Spna']]
-		}
-		
-		
-		$(cantoDisplayed).find(' .'+diaclass).each(function() {
-			$(this).addClass(csscl)
-			
 		})
-		$(cantoDisplayed).find(' .'+authclass).each(function() {
-			//$(this).addClass(csscl)
+
+		minim.contents().find(' .' + idperiodo).each(function() {
+			var mpstp = $(this).attr('class').split(" ")[1]
+			if (mpstp.trim() == funzionefrase)
+				$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
+		})
+	}
+
+	function loadClausola(idperiodo, funzionefrase, fromn, ton) {
+
+		if (!isPeriodoInCanto(idperiodo, cantoDisplayed))
+			return
+
+		$(cantoDisplayed).find(' .' + idperiodo).each(function() {
+			if (parseInt($(this).attr('id')) >= parseInt(fromn)
+				&& parseInt($(this).attr('id')) <= parseInt(ton)) {
+				var pstp = $(this).attr('class').split(" ")[1]
+
+				if (pstp.trim() == funzionefrase)
+					$(this).css('color', colorssp(mapsynttypestopalette[pstp]));
+			}
+
+		})
+
+		minim.contents().find(' .' + idperiodo).each(function() {
+			if (parseInt($(this).attr('id')) >= parseInt(fromn)
+				&& parseInt($(this).attr('id')) <= parseInt(ton)) {
+				var mpstp = $(this).attr('class').split(" ")[1]
+				if (mpstp.trim() == funzionefrase)
+					$(this).css('color', colorssp(mapsynttypestopalette[mpstp]));
+			}
+
+		})
+	}
+
+
+	function loadDialoghi() {
+		var aca = '3'
+		if (cantoDisplayed.includes('Inferno'))
+			aca = '1'
+		if (cantoDisplayed.includes('Purgatorio'))
+			aca = '2'
+		for (const india in dialoghi) {
+			//console.log(dialoghi[india]['Cnt'].replace('_so',''))
+			var diaclass = dialoghi[india]['Cnt'].replace('_so', '')
+			var authclass = dialoghi[india]['Cnt'];
+			if (diaclass.split('_')[1] != cantoDisplayed.split('_')[1])
+				continue;
+			if (diaclass.split('_')[0] != aca)
+				continue;
+			var csscl = dialogaltri
+			if (dialoghi[india]['Spna'] in dialogspeakers) {
+				csscl = dialogspeakers[dialoghi[india]['Spna']]
+			}
+
+
+			$(cantoDisplayed).find(' .' + diaclass).each(function() {
+				$(this).addClass(csscl)
+
+			})
+			$(cantoDisplayed).find(' .' + authclass).each(function() {
+				//$(this).addClass(csscl)
+				$(this).attr('style', 'display: d-flex;');
+
+			})
+			minim.contents().find(' .' + diaclass).each(function() {
+				$(this).addClass(csscl)
+
+			})
+
+		}
+		emphResults()
+	}
+	function loadFrasi() {
+
+		$(cantoDisplayed).find(' .sentencetag').each(function() {
 			$(this).attr('style', 'display: d-flex;');
-			
 		})
-		minim.contents().find(' .'+diaclass).each(function() {
-			$(this).addClass(csscl)
-			
+		$(cantoDisplayed).find(' .' + formaClass).each(function() {
+			stp = $(this).attr('class').split(" ")[1]
+
+			$(this).css('color', colorssp(mapsynttypestopalette[stp]));
 		})
-
-	}
-	emphResults()
-}
-function loadFrasi() {
-	
-	$(cantoDisplayed).find(' .sentencetag').each(function() {
-		$(this).attr('style', 'display: d-flex;');
-	})
-	$(cantoDisplayed).find(' .'+formaClass).each(function() {
-		stp=$(this).attr('class').split(" ")[1]
-
-		$(this).css('color', colorssp(mapsynttypestopalette[stp]));
-	})
-	//let minim=$(" .minimap__content")
-	minim.contents().find(" .sentencetag").each(function(){
-		$(this).attr('style', 'display: d-flex;');
-	})
-	minim.contents().find(' .'+formaClass).each(function() {
-		stp=$(this).attr('class').split(" ")[1]
-
-		$(this).css('color', colorssp(mapsynttypestopalette[stp]));
-	})
-}
-function resetDialoghi(){
-	
-	for (mk in dialogspeakers){
-		//console.log (mk+' '+dialogspeakers[mk])
-		$(cantoDisplayed).find(' .'+dialogspeakers[mk]).each(function() {
-			$(this).removeClass(dialogspeakers[mk]);
+		//let minim=$(" .minimap__content")
+		minim.contents().find(" .sentencetag").each(function() {
+			$(this).attr('style', 'display: d-flex;');
 		})
-		minim.contents().find(' .'+dialogspeakers[mk]).each(function(){
-			$(this).removeClass(dialogspeakers[mk]);
+		minim.contents().find(' .' + formaClass).each(function() {
+			stp = $(this).attr('class').split(" ")[1]
+
+			$(this).css('color', colorssp(mapsynttypestopalette[stp]));
 		})
 	}
-	$(cantoDisplayed).find(' .'+dialogaltri).each(function() {
-			$(this).removeClass(dialogaltri);
-		})
-		minim.contents().find(' .'+dialogaltri).each(function(){
-			$(this).removeClass(dialogaltri);
-		})
-	emphResults()
-}
+	function resetDialoghi() {
 
-function resetFrasi(){
-	
-	$(cantoDisplayed).find(' .sentencetag').each(function() {
-		$(this).css('display', 'none');
-	})
-	
-	
-	$(cantoDisplayed).find(' .'+formaClass).each(function() {
-		//console.log(colorssp(mapsynttypestopalette[stp]))
-		$(this).css('color', '');
-		$(this).removeClass('font-weight-bold')
-	})
-	
-	minim.contents().find(" .sentencetag").each(function(){
-		$(this).css('display', 'none');
-	})
-	minim.contents().find(' .'+formaClass).each(function() {
-		$(this).css('color', '');
-		$(this).removeClass('font-weight-bold')
-	})
-	
-	
-	//cancello il grafo sintattico
-	resetGraphStruct()
-	emptyStructCard()
-	emphResults()
-}
-//visualizzazione risultati
-function emphResults(){
-	
-	//evidenzio i periodi se unità di ricerca è impostato come periodo
-	if (listaPeriodiRisultato.length) {
-		for (msid of listaPeriodiRisultato) {
-			//if (isPeriodoInCanto(msid, cantoDisplayed))
+		for (mk in dialogspeakers) {
+			//console.log (mk+' '+dialogspeakers[mk])
+			$(cantoDisplayed).find(' .' + dialogspeakers[mk]).each(function() {
+				$(this).removeClass(dialogspeakers[mk]);
+			})
+			minim.contents().find(' .' + dialogspeakers[mk]).each(function() {
+				$(this).removeClass(dialogspeakers[mk]);
+			})
+		}
+		$(cantoDisplayed).find(' .' + dialogaltri).each(function() {
+			$(this).removeClass(dialogaltri);
+		})
+		minim.contents().find(' .' + dialogaltri).each(function() {
+			$(this).removeClass(dialogaltri);
+		})
+		emphResults()
+	}
+
+	function resetFrasi() {
+
+		$(cantoDisplayed).find(' .sentencetag').each(function() {
+			$(this).css('display', 'none');
+		})
+
+
+		$(cantoDisplayed).find(' .' + formaClass).each(function() {
+			//console.log(colorssp(mapsynttypestopalette[stp]))
+			$(this).css('color', '');
+			$(this).removeClass('font-weight-bold')
+		})
+
+		minim.contents().find(" .sentencetag").each(function() {
+			$(this).css('display', 'none');
+		})
+		minim.contents().find(' .' + formaClass).each(function() {
+			$(this).css('color', '');
+			$(this).removeClass('font-weight-bold')
+		})
+
+
+		//cancello il grafo sintattico
+		resetGraphStruct()
+		emptyStructCard()
+		emphResults()
+	}
+	//visualizzazione risultati
+	function emphResults() {
+
+		//evidenzio i periodi se unità di ricerca è impostato come periodo
+		if (listaPeriodiRisultato.length) {
+			for (msid of listaPeriodiRisultato) {
+				//if (isPeriodoInCanto(msid, cantoDisplayed))
 				loadPeriodo(msid)
 
-		}
+			}
 
-	}
-	//evidenzio le frasi se unità di ricerca è frase
-	if (listaClausoleRisultato.length) {
-		for (clsid of listaClausoleRisultato) {
-			if (isPeriodoInCanto(clsid, cantoDisplayed)){
-				let tmpid = clsid.split('-')
-				//loadFrase(tmpid[0], tmpid[1])
-				loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
+		}
+		//evidenzio le frasi se unità di ricerca è frase
+		if (listaClausoleRisultato.length) {
+			for (clsid of listaClausoleRisultato) {
+				if (isPeriodoInCanto(clsid, cantoDisplayed)) {
+					let tmpid = clsid.split('-')
+					//loadFrase(tmpid[0], tmpid[1])
+					loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
+				}
 			}
 		}
+
 	}
+	/*INIZIO GESTIONE CITAZIONI*/
 
-}
-/*INIZIO GESTIONE CITAZIONI*/
-
-	function initCitazioni(){
+	function initCitazioni() {
 		//"#InfernoCanto_1"
 		//console.log('VISTA CITAZIONI!')
-		var mcanto=cantoDisplayed.replace("#",'')
-		cantica=''
+		var mcanto = cantoDisplayed.replace("#", '')
+		cantica = ''
 		if (mcanto.startsWith('Inf'))
-			cantica='Inferno'
+			cantica = 'Inferno'
 		if (mcanto.startsWith('Pur'))
-			cantica='Purgatorio'
+			cantica = 'Purgatorio'
 		if (mcanto.startsWith('Par'))
-			cantica='Paradiso'
-		canto=mcanto.split('_')[1]
-		if (canto.length==1)
-			canto='0'+canto
-		
-		commentsArray=getVersiConCitazioni(cantica, canto)
-		commentsJson=getVersiConCitazioniJson (cantica, canto)	
+			cantica = 'Paradiso'
+		canto = mcanto.split('_')[1]
+		if (canto.length == 1)
+			canto = '0' + canto
+
+		commentsArray = getVersiConCitazioni(cantica, canto)
+		commentsJson = getVersiConCitazioniJson(cantica, canto)
 		commentsArray.forEach(removeHtmlTags2)
-	
+
 		var numVerso1;
 		var numVerso2;
 		var versoCitazione;
@@ -839,77 +837,77 @@ function emphResults(){
 		commentsArray.sort((p1, p2) => {
 			numVerso1 = p1.verso;
 			numVerso2 = p2.verso;
-			versoCitazione = (p1.VersoCitazione).replaceAll("-","");
+			versoCitazione = (p1.VersoCitazione).replaceAll("-", "");
 			numVerso1 = numVerso1 + versoCitazione;
-			versoCitazione = (p2.VersoCitazione).replaceAll("-","");
+			versoCitazione = (p2.VersoCitazione).replaceAll("-", "");
 			numVerso2 = numVerso2 + versoCitazione;
-			numVerso2 = parseInt(numVerso2.replaceAll("_",""));
-			numVerso1 = parseInt(numVerso1.replaceAll("_",""));
+			numVerso2 = parseInt(numVerso2.replaceAll("_", ""));
+			numVerso1 = parseInt(numVerso1.replaceAll("_", ""));
 			if (numVerso1 < numVerso2) return -1;
 			if (numVerso1 > numVerso2) return 1;
 			return 0;
 		});
 	}
 
-	/* Luca: removeHtmlTags2 e' la versione compatta di removeHtmlTags*/	
-	function removeHtmlTags2(value){
+	/* Luca: removeHtmlTags2 e' la versione compatta di removeHtmlTags*/
+	function removeHtmlTags2(value) {
 		var text = ""
 		for (const key in value) {
 			text = `${value[key]}`
-			if (text != null){
+			if (text != null) {
 				text = text.replace(/<(.|\n)*?>/g, '');
-				text = text.replace("&laquo;","");
-				text = text.replace("&raquo;","");
+				text = text.replace("&laquo;", "");
+				text = text.replace("&raquo;", "");
 				text = text.replace(/[\r\n]+/gm, ' ');
 				value[`${key}`] = text;
 			}
 		}
 	}
-	
-	
-	function removeHtmlTags(value){
+
+
+	function removeHtmlTags(value) {
 		var text = value;
-			if (text != null){
-				text = text.replace(/<(.|\n)*?>/g, '');
-				text = text.replace("&laquo;","");
-				text = text.replace("&raquo;","");
-				text = text.replace(/\&nbsp;/g, ' ');
-				text = text.replace(/[\r\n]+/gm, ' ');
-				return text;
-			}
+		if (text != null) {
+			text = text.replace(/<(.|\n)*?>/g, '');
+			text = text.replace("&laquo;", "");
+			text = text.replace("&raquo;", "");
+			text = text.replace(/\&nbsp;/g, ' ');
+			text = text.replace(/[\r\n]+/gm, ' ');
+			return text;
+		}
 	}
-	
+
 	jQuery(document).delegate(' .showcomments', 'click', function() {
 		var cid = $(this).attr('id');
-		if(!hasCommentsJson(cid)){
+		if (!hasCommentsJson(cid)) {
 			return
 		}
-		var parcid=cid.split('_')
+		var parcid = cid.split('_')
 		var cantica;
-		switch (parcid[1]){
-				case "1":	cantica = "Inferno";
-							break;
-				case "2":	cantica = "Purgatorio";
-							break;
-				case "3":	cantica = "Paradiso";
+		switch (parcid[1]) {
+			case "1": cantica = "Inferno";
+				break;
+			case "2": cantica = "Purgatorio";
+				break;
+			case "3": cantica = "Paradiso";
 		}
 		var commentArea = $('#displaynote');
 		commentArea.empty()
-		if ($('#noteCard0').length ) {
+		if ($('#noteCard0').length) {
 			$("#noteCard0")[0].remove();
 		}
-		var id = cid.substr(9);		
+		var id = cid.substr(9);
 		var collapseNote;
 		var gruppoVersi;
 		var versText = "";
 		//var saveVersoCitazione = "";
 		var allGrouplKeys = Object.keys(commentsJson);
 		var currentGroup;
-		
-		allGrouplKeys.sort().some(function(k){ 
-			if (k==id || ~k.indexOf(id+'-')){
+
+		allGrouplKeys.sort().some(function(k) {
+			if (k == id || ~k.indexOf(id + '-')) {
 				//console.log('gruppo commenti '+k)
-				console.log (commentsJson[k].length)
+				console.log(commentsJson[k].length)
 				gruppoVersi = k.split("_").slice(-1)[0]
 				if (gruppoVersi.includes("-")) {
 					versText = ", Versi " + gruppoVersi;
@@ -917,13 +915,13 @@ function emphResults(){
 					versText = ", Verso " + gruppoVersi;
 				}
 				currentGroup = createNoteGroup(cantica, getRoman(parcid[2]), versText, k, commentsJson[k].length)
-				commentsJson[k].forEach(function (value, i) {
-					currentGroup.append(createNoteEntry(value,k,i))
+				commentsJson[k].forEach(function(value, i) {
+					currentGroup.append(createNoteEntry(value, k, i))
 				});
 				commentArea.append(currentGroup);
 			}
 			$('#tab-list #vis0-tab').tab('show')
-   		})
+		})
 
 	})
 
@@ -932,9 +930,9 @@ function emphResults(){
 		var commentHeader = $('<div class="d-flex align-content-start flex-nowrap text-muted" id="commentoGruppoVersi' + id + '">')
 		var rigaNota = $('<div class="p-0 m-0">');
 		var buttons = $('<div class="d-flex flex-wrap-reverse ml-auto align-items-center justify-content-end px-1 pt-1 pb-0">')
-		var closeButton = $('<button id="closeNote'+id+'"'+
-				'class="btn btn-sm btn-outline-warning btn-outline-warning-mod closeNote rounded text-warning align-self-end px-1 pb-0 ml-1 mb-1">'+
-				'<ion-icon name="close-circle"></ion-icon>');
+		var closeButton = $('<button id="closeNote' + id + '"' +
+			'class="btn btn-sm btn-outline-warning btn-outline-warning-mod closeNote rounded text-warning align-self-end px-1 pb-0 ml-1 mb-1">' +
+			'<ion-icon name="close-circle"></ion-icon>');
 		closeButton.appendTo(buttons);
 		if (len > 1) {
 			var commentiSP = " commenti su "
@@ -949,90 +947,90 @@ function emphResults(){
 
 		return noteGroupCard;
 	}
-	
-	function createNoteEntry(comments,id,pos) {
-		var noteCard = $('<div class="card card-body well well-sm mx-1 mb-1 mt-0 p-0 border-lida08" id="noteCard' + id + '_' + pos + '">');			
+
+	function createNoteEntry(comments, id, pos) {
+		var noteCard = $('<div class="card card-body well well-sm mx-1 mb-1 mt-0 p-0 border-lida08" id="noteCard' + id + '_' + pos + '">');
 		//var noteCard = $('<div class="card card-body well well-sm m-1 mt-2 p-0" id="noteCard' + id + '">');			
 		//var collapseCardBody = $('<div class="card-body px-0 py-2 mx-1 mb-1 mt-0 border-top rounded" >');
 		var collapseCardBody = $('<div class="card-body px-0 py-1 mx-3 my-0 border-top rounded" >');
 		var divCampiSingoli = $('<div class="d-flex align-content-start flex-wrap text-muted">');
 		//createNoteHeader(noteCard, comments, id, pos, cantica, parcid, saveVersoCitazione);			
-		createNoteHeader(noteCard, comments, id, pos);			
-			
-		collapseNote = $('<div class="collapse show">');
-		collapseNote.attr('id',"collapseNote"+id+ '_' + pos)
+		createNoteHeader(noteCard, comments, id, pos);
 
-			if (comments.TestoFonteCitazione != null && comments.TestoFonteCitazione != "nan"){
-				createModule(collapseCardBody,"Testo della fonte: ", removeHtmlTags(comments.TestoFonteCitazione), "1", id, pos)
-			}
-			if (comments.NaturaRiferimento != null){				
-				createDivSingola(divCampiSingoli, "Tipo di riferimento: ", comments.NaturaRiferimento, false)
-				divCampiSingoli.appendTo(collapseCardBody);
-				if (comments.NaturaRiferimento == "CITAZIONE" || comments.NaturaRiferimento == "LOCI PARALLELI" ){
-					if (comments.TipoCitazione != null && comments.TipoCitazione != ""){
-						createDivSingola(divCampiSingoli, "Tipo citazione: ", comments.TipoCitazione, false)
-						divCampiSingoli.appendTo(collapseCardBody);
-					}
-					appendSpecifica(comments,divCampiSingoli,collapseCardBody)
+		collapseNote = $('<div class="collapse show">');
+		collapseNote.attr('id', "collapseNote" + id + '_' + pos)
+
+		if (comments.TestoFonteCitazione != null && comments.TestoFonteCitazione != "nan") {
+			createModule(collapseCardBody, "Testo della fonte: ", removeHtmlTags(comments.TestoFonteCitazione), "1", id, pos)
+		}
+		if (comments.NaturaRiferimento != null) {
+			createDivSingola(divCampiSingoli, "Tipo di riferimento: ", comments.NaturaRiferimento, false)
+			divCampiSingoli.appendTo(collapseCardBody);
+			if (comments.NaturaRiferimento == "CITAZIONE" || comments.NaturaRiferimento == "LOCI PARALLELI") {
+				if (comments.TipoCitazione != null && comments.TipoCitazione != "") {
+					createDivSingola(divCampiSingoli, "Tipo citazione: ", comments.TipoCitazione, false)
+					divCampiSingoli.appendTo(collapseCardBody);
 				}
-			}		
-			if (comments.RapportoSoggettoOggetto != null){
-				createDivSingola(divCampiSingoli, "Rapporto testo/fonte: ", comments.RapportoSoggettoOggetto, false)
-				divCampiSingoli.appendTo(collapseCardBody);
+				appendSpecifica(comments, divCampiSingoli, collapseCardBody)
 			}
-			if (comments.RapportoCommentoCommentatoreText != null && comments.RapportoCommentoCommentatoreText != "nan"){
-				createModuleCommentatore (collapseCardBody, comments.RapportoCommentoCommentatoreText, "5", id, pos)
+		}
+		if (comments.RapportoSoggettoOggetto != null) {
+			createDivSingola(divCampiSingoli, "Rapporto testo/fonte: ", comments.RapportoSoggettoOggetto, false)
+			divCampiSingoli.appendTo(collapseCardBody);
+		}
+		if (comments.RapportoCommentoCommentatoreText != null && comments.RapportoCommentoCommentatoreText != "nan") {
+			createModuleCommentatore(collapseCardBody, comments.RapportoCommentoCommentatoreText, "5", id, pos)
+		}
+		if (comments.frammentoNota != null && comments.frammentoNota != "nan" && comments.annotazione != null && comments.annotazione != "nan") {
+			createModuleFrammAnnot(collapseCardBody, removeHtmlTags(comments.frammentoNota), removeHtmlTags(comments.annotazione), "6", id, pos)
+		} else {
+			if (comments.frammentoNota != null && comments.frammentoNota != "nan") {
+				createModule(collapseCardBody, "Nota: ", removeHtmlTags(comments.frammentoNota), "6", id, pos)
 			}
-			if (comments.frammentoNota != null && comments.frammentoNota != "nan" && comments.annotazione != null && comments.annotazione != "nan") {
-				createModuleFrammAnnot(collapseCardBody, removeHtmlTags(comments.frammentoNota), removeHtmlTags(comments.annotazione), "6", id, pos)
-			} else {
-				if (comments.frammentoNota != null && comments.frammentoNota != "nan"){
-					createModule(collapseCardBody,"Nota: ", removeHtmlTags(comments.frammentoNota), "6", id, pos)
-				}				
-				if (comments.annotazione != null && comments.annotazione != "nan"){
-					createModule(collapseCardBody,"Nota completa: ", removeHtmlTags(comments.annotazione), "7", id, pos)
-				}				
+			if (comments.annotazione != null && comments.annotazione != "nan") {
+				createModule(collapseCardBody, "Nota completa: ", removeHtmlTags(comments.annotazione), "7", id, pos)
 			}
-			if (comments.NotaFonteCitazione != null && comments.NotaFonteCitazione != "nan" && comments.NotaFonteCitazione != ""){
-				createModule(collapseCardBody,"Nota dell'annotatore: ", comments.NotaFonteCitazione, "8", id, pos)
-			}
-			collapseCardBody.appendTo(collapseNote);
-			collapseNote.appendTo(noteCard);
-			return noteCard;
+		}
+		if (comments.NotaFonteCitazione != null && comments.NotaFonteCitazione != "nan" && comments.NotaFonteCitazione != "") {
+			createModule(collapseCardBody, "Nota dell'annotatore: ", comments.NotaFonteCitazione, "8", id, pos)
+		}
+		collapseCardBody.appendTo(collapseNote);
+		collapseNote.appendTo(noteCard);
+		return noteCard;
 	}
-	
-	
-	function appendSpecifica(commenti,cardBody, collapseCard){
+
+
+	function appendSpecifica(commenti, cardBody, collapseCard) {
 		var specifica = "";
 
-		if(commenti.CitEpisodi != null && commenti.CitEpisodi != ""){
+		if (commenti.CitEpisodi != null && commenti.CitEpisodi != "") {
 			specifica = commenti.CitEpisodi;
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Episodio ("+specifica, true)
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Episodio (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
-		if(commenti.CitImmagini != null && commenti.CitImmagini != ""){
-			specifica = commenti.CitImmagini;			
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Immagine ("+specifica, true)
+		if (commenti.CitImmagini != null && commenti.CitImmagini != "") {
+			specifica = commenti.CitImmagini;
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Immagine (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
-		if(commenti.CitTeorie != null && commenti.CitTeorie != ""){
+		if (commenti.CitTeorie != null && commenti.CitTeorie != "") {
 			specifica = commenti.CitTeorie;
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Teoria ("+specifica, true)
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Teoria (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
-		if(commenti.CitMotivi != null && commenti.CitMotivi != ""){			
+		if (commenti.CitMotivi != null && commenti.CitMotivi != "") {
 			specifica = commenti.CitMotivi;
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Motivo ("+specifica, true)
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Motivo (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
-		if(commenti.CitStilemi != null && commenti.CitStilemi != ""){
+		if (commenti.CitStilemi != null && commenti.CitStilemi != "") {
 			specifica = commenti.CitStilemi;
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Stilema ("+specifica, true)
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Stilema (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
-		if(commenti.CitTopografie != null && commenti.CitTopografie != ""){
+		if (commenti.CitTopografie != null && commenti.CitTopografie != "") {
 			specifica = commenti.CitTopografie;
-			createDivSingola(cardBody, "Contenuto del riferimento: ", "Topografia ("+specifica, true)
+			createDivSingola(cardBody, "Contenuto del riferimento: ", "Topografia (" + specifica, true)
 			cardBody.appendTo(collapseCard);
 		}
 	}
@@ -1044,29 +1042,29 @@ function emphResults(){
 		var commentHeader = $('<div class="d-flex align-content-start flex-nowrap text-muted" id="commentoVerso' + id + '_' + pos + '">')
 		var rigaNota = $('<div class="px-3 py-1 m-0">');
 		var buttons = $('<div class="d-flex flex-wrap-reverse ml-auto align-items-center justify-content-end p-1">')
-		var collapseButton = $('<button id="collapseBtnNote'+id+ '_' + pos +'"'+
-				'class="btn btn-sm btn-outline-primary bg-light collapseNote border rounded text-primary align-self-end px-1 pb-0"'+
-				'data-toggle="collapse" data-target="#collapseNote'+id+ '_' + pos +'"'+
-				'aria-expanded="true" aria-controls="collapseNote'+id+ '_' + pos +'">'+
-				'<ion-icon name="archive"></ion-icon>');
+		var collapseButton = $('<button id="collapseBtnNote' + id + '_' + pos + '"' +
+			'class="btn btn-sm btn-outline-primary bg-light collapseNote border rounded text-primary align-self-end px-1 pb-0"' +
+			'data-toggle="collapse" data-target="#collapseNote' + id + '_' + pos + '"' +
+			'aria-expanded="true" aria-controls="collapseNote' + id + '_' + pos + '">' +
+			'<ion-icon name="archive"></ion-icon>');
 		//var closeButton = $('<button id="closeNote'+id+ '_' + pos +'"'+
 		//		'class="btn btn-sm btn-outline-primary bg-light closeNote border rounded text-primary align-self-end px-1 pb-0 ml-1 mb-1">'+
 		//		'<ion-icon name="close-circle"></ion-icon>');
 		collapseButton.appendTo(buttons);
 		//closeButton.appendTo(buttons);
 
-		if (comments.commentario != null){
+		if (comments.commentario != null) {
 			rigaNota.append('<b>Commentatore:</b> <i>' + comments.commentario + '</i><br>');
-		}		
-		
-		
+		}
+
+
 		if (comments.NomeAutoreCitazione == null) {
 			nomeAutore = 'riferimento';
 		}
 		else {
 			nomeAutore = comments.NomeAutoreCitazione;
 		}
-		if (comments.AutoreCitazione != null) { 
+		if (comments.AutoreCitazione != null) {
 			rigaNota.append('<b>Autore della fonte:</b><a href="' + comments.AutoreCitazione + '" target="_blank"> <i>' + nomeAutore + '</i> </a>');
 		} else {
 			rigaNota.append('<b>Autore della fonte:</b> <i>' + nomeAutore + '</i>');
@@ -1095,57 +1093,57 @@ function emphResults(){
 		buttons.appendTo(commentHeader);
 		commentHeader.appendTo(noteCardX);
 	}
-	
-	function createDivSingola(divCampi, campo, valore, specifica){
+
+	function createDivSingola(divCampi, campo, valore, specifica) {
 		//var divSingola = $('<div class="px-3 py-1">');
 		var divSingola = $('<div class="pl-0 pr-3 py-1">');
-		if (specifica){
+		if (specifica) {
 			valore = valore.trim();
-			divSingola.append ('<b>'+campo+'</b><i>'+valore+')</i>');
-		}else {
-			divSingola.append ('<b>'+campo+'</b><i>  '+valore+'</i>');
+			divSingola.append('<b>' + campo + '</b><i>' + valore + ')</i>');
+		} else {
+			divSingola.append('<b>' + campo + '</b><i>  ' + valore + '</i>');
 		}
 		divSingola.appendTo(divCampi);
 	}
 
-	function createModule(collapse,label, testo, num, id, pos){
+	function createModule(collapse, label, testo, num, id, pos) {
 		var minLength = (($('#displaynote').width() / ($('#Test').width() / 32)) * 2 * 1.63);
 		var divContent = $('<div class="text-muted p-0">');
 		//var divContent = $('<div class="d-flex align-content-start flex-wrap text-muted">');
 		//var divTesto = $('<div class="px-3 py-1">')
-		var nota = '<b>'+label+'</b><span class="blog-main-16">'+testo+'</span>';
-      	//divTesto.append(nota);
-      	//divContent.append(divTesto);
+		var nota = '<b>' + label + '</b><span class="blog-main-16">' + testo + '</span>';
+		//divTesto.append(nota);
+		//divContent.append(divTesto);
 		divContent.append(nota);
 		if (($('<textarea />').html(testo).text().length + label.length + 2) > minLength) {
 			//console.log((testo.length + label.length +2) +" "+($('#displaynote').width() / $('#Test').width() * 2 * 32))
 			var divModule = $('<div class="module pb-0">');
-			var divNote = $('<div class="collapse" id="collapse'+num+'Note'+id+ '_' + pos +'" aria-expanded="false">')
-			divModule.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse'+num+'Note'+id+ '_' + pos +'" role="button"></a>')
-	      	divNote.append(divContent)
-	      	divModule.append(divNote);
-	      	
+			var divNote = $('<div class="collapse" id="collapse' + num + 'Note' + id + '_' + pos + '" aria-expanded="false">')
+			divModule.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse' + num + 'Note' + id + '_' + pos + '" role="button"></a>')
+			divNote.append(divContent)
+			divModule.append(divNote);
+
 		} else {
 			var divModule = $('<div class="py-1">');
 			divModule.append(divContent);
 		}
 		divModule.appendTo(collapse);
 	}
-	
-	function createModuleCommentatore(collapse, commento, num, id, pos){
 
-		let tmpcomm='['+commento+']'
-		let jsonCommento=JSON.parse(tmpcomm.replaceAll("'", '"').replaceAll("+", '"'));
+	function createModuleCommentatore(collapse, commento, num, id, pos) {
+
+		let tmpcomm = '[' + commento + ']'
+		let jsonCommento = JSON.parse(tmpcomm.replaceAll("'", '"').replaceAll("+", '"'));
 		var minLength = (($('#displaynote').width() / ($('#Test').width() / 32)) * 2 * 1.63);
 		var divContent = $('<div class="d-flex align-content-start flex-wrap text-muted">');
 		var divTesto = $('<div class="pl-0 pr-3 py-1">')
-		var nota='';
-		var lenmod=0
-		for (el in jsonCommento){
+		var nota = '';
+		var lenmod = 0
+		for (el in jsonCommento) {
 			var urlCommento = jsonCommento[el].Commento;
-		
+
 			var esitoCommento = jsonCommento[el].Rapporto;
-		
+
 			var autoreCommento = jsonCommento[el].Autore
 			if (autoreCommento == "") {
 				autoreCommento = "Commento"
@@ -1153,210 +1151,210 @@ function emphResults(){
 			if (esitoCommento == "") {
 				esitoCommento = "Rapporto nullo"
 			}
-			if (nota.length>0){
-				nota=nota+' - '
+			if (nota.length > 0) {
+				nota = nota + ' - '
 			}
 			if (urlCommento == "") {
 				//nota = '<b>Rapporto commento/commentatore: </b>'+esitoCommento+' Commento nullo, '+'</b><br>';
-				nota = nota+'<i>'+esitoCommento+' Commento nullo'+'</i>'//+'<br>';
+				nota = nota + '<i>' + esitoCommento + ' Commento nullo' + '</i>'//+'<br>';
 			} else {
 				//nota = '<b>Rapporto commento/commentatore: </b><i>'+esitoCommento +' <a href="'+urlCommento+'"target="_blank">' + autoreCommento+ '</i></a> ' +  '</b><br>';
-				nota = nota+'<i>'+esitoCommento +' <a href="'+urlCommento+'"target="_blank">' + autoreCommento+ '</i></a>' //+ '</b><br>';
+				nota = nota + '<i>' + esitoCommento + ' <a href="' + urlCommento + '"target="_blank">' + autoreCommento + '</i></a>' //+ '</b><br>';
 			}
-			lenmod=lenmod+esitoCommento.length + autoreCommento.length
+			lenmod = lenmod + esitoCommento.length + autoreCommento.length
 			//divTesto.append(nota);
-			
+
 		}
-		nota='<b>Rapporto commento/commentatore:</b> '+nota
+		nota = '<b>Rapporto commento/commentatore:</b> ' + nota
 		divTesto.append(nota);
-      	divContent.append(divTesto);
+		divContent.append(divTesto);
 		var divModule = $('<div class="module py-1">');
 		divModule.append(divContent);
 		divModule.appendTo(collapse);
 	}
 
-	function createModuleFrammAnnot(collapse, testo1, testo2, num, id, pos){
+	function createModuleFrammAnnot(collapse, testo1, testo2, num, id, pos) {
 		var minLength = (($('#displaynote').width() / ($('#Test').width() / 32)) * 2 * 1.63);
 		var divFrammAnnot = $('<div class="py-1">');
 		var divContent1 = $('<div class="text-muted p-0">');
 		var divContent2 = $('<div class="text-muted p-0">');
-		var uniqueIdMulti1 = 'coll'+num+'SN'+id+'_'+pos;
-		var uniqueIdMulti2 = 'coll'+num+'CN'+id+'_'+pos;
-		var divMultiCollapse1 = $('<div class="collapse multi-collapse'+id+'_'+pos+' show text-muted p-0" id="' + uniqueIdMulti1 + '">');
-		var divMultiCollapse2 = $('<div class="collapse multi-collapse'+id+'_'+pos+' text-muted p-0" id="' + uniqueIdMulti2 + '">');
-		var label1 = '<b>Nota / <a href="" data-toggle="collapse" data-target=".multi-collapse'+id+'_'+pos+'" aria-controls="' + uniqueIdMulti1 + ' ' + uniqueIdMulti2 +'">Nota completa</a>: </b>'
-		var label2 = '<b><a href="" data-toggle="collapse" data-target=".multi-collapse'+id+'_'+pos+'" aria-controls="' + uniqueIdMulti1 + ' ' + uniqueIdMulti2 +'">Nota</a> / Nota completa: </b>'
-		var nota1 = '<span class="blog-main-16">'+testo1+'</span>';
-		var nota2 = '<span class="blog-main-16">'+testo2+'</span>';
+		var uniqueIdMulti1 = 'coll' + num + 'SN' + id + '_' + pos;
+		var uniqueIdMulti2 = 'coll' + num + 'CN' + id + '_' + pos;
+		var divMultiCollapse1 = $('<div class="collapse multi-collapse' + id + '_' + pos + ' show text-muted p-0" id="' + uniqueIdMulti1 + '">');
+		var divMultiCollapse2 = $('<div class="collapse multi-collapse' + id + '_' + pos + ' text-muted p-0" id="' + uniqueIdMulti2 + '">');
+		var label1 = '<b>Nota / <a href="" data-toggle="collapse" data-target=".multi-collapse' + id + '_' + pos + '" aria-controls="' + uniqueIdMulti1 + ' ' + uniqueIdMulti2 + '">Nota completa</a>: </b>'
+		var label2 = '<b><a href="" data-toggle="collapse" data-target=".multi-collapse' + id + '_' + pos + '" aria-controls="' + uniqueIdMulti1 + ' ' + uniqueIdMulti2 + '">Nota</a> / Nota completa: </b>'
+		var nota1 = '<span class="blog-main-16">' + testo1 + '</span>';
+		var nota2 = '<span class="blog-main-16">' + testo2 + '</span>';
 
 		divFrammAnnot.append(divMultiCollapse1);
 		divFrammAnnot.append(divMultiCollapse2);
 		divContent1.append(label1 + nota1);
 		divContent2.append(label2 + nota2);
-		
+
 		if (($('<textarea />').html(testo1).text().length + 23) > minLength) {
 			var divModule1 = $('<div class="module pb-0">');
-			var divNote1 = $('<div class="collapse" id="collapse'+num+'Note'+id+ '_' + pos +'" aria-expanded="false">')
-			divModule1.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse'+num+'Note'+id+ '_' + pos +'" role="button"></a>')
-	      	divNote1.append(divContent1)
+			var divNote1 = $('<div class="collapse" id="collapse' + num + 'Note' + id + '_' + pos + '" aria-expanded="false">')
+			divModule1.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse' + num + 'Note' + id + '_' + pos + '" role="button"></a>')
+			divNote1.append(divContent1)
 			divModule1.append(divNote1);
-	      	divMultiCollapse1.append(divModule1);
+			divMultiCollapse1.append(divModule1);
 		} else {
 			divMultiCollapse1.append(divContent1);
 		}
 
 		if (($('<textarea />').html(testo2).text().length + 23) > minLength) {
 			var divModule2 = $('<div class="module pb-0">');
-			var divNote2 = $('<div class="collapse" id="collapse'+num+'Note'+(id + 1)+ '_' + pos +'" aria-expanded="false">')
-			divModule2.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse'+num+'Note'+(id + 1)+ '_' + pos +'" role="button"></a>')			
+			var divNote2 = $('<div class="collapse" id="collapse' + num + 'Note' + (id + 1) + '_' + pos + '" aria-expanded="false">')
+			divModule2.append('<a class="read-more collapsed" data-toggle="collapse" href="#collapse' + num + 'Note' + (id + 1) + '_' + pos + '" role="button"></a>')
 			divNote2.append(divContent2);
 			divModule2.append(divNote2);
-	      	divMultiCollapse2.append(divModule2);
+			divMultiCollapse2.append(divModule2);
 		} else {
 			divMultiCollapse2.append(divContent2);
 		}
 
 		divFrammAnnot.appendTo(collapse);
 	}
-	
-	function hasComments(cid){
+
+	function hasComments(cid) {
 		var id = cid.substr(9);
-		for (var pos in commentsArray){
+		for (var pos in commentsArray) {
 			var comments = commentsArray[pos]
-			if (comments.verso == id){
+			if (comments.verso == id) {
 				//console.log(comments)
 				return (true)
 			}
 		}
 		return false;
 	}
-	
-	function hasCommentsJson(cid){
-		
+
+	function hasCommentsJson(cid) {
+
 		//return commentsJson.hasOwnProperty(cid.substr(9));
-		var id=cid.substr(9);
+		var id = cid.substr(9);
 		for (const [key, value] of Object.entries(commentsJson)) {
-  				if(key==id || key.startsWith(id+'-'))
-  					return true
+			if (key == id || key.startsWith(id + '-'))
+				return true
 		}
 		return false
-		
+
 	}
 
-	function numberOfComments(cid){
+	function numberOfComments(cid) {
 		var id = cid.substr(9);
-		return commentsArray.filter(x => x.verso==id).length
+		return commentsArray.filter(x => x.verso == id).length
 	}
-	
-	function numberOfCommentsJson(cid){
-		var cntc=0
+
+	function numberOfCommentsJson(cid) {
+		var cntc = 0
 		var id = cid.substr(9);
 		for (const [key, value] of Object.entries(commentsJson)) {
-  				if(key==id || key.startsWith(id+'-'))
-  					cntc+=commentsJson[key].length
+			if (key == id || key.startsWith(id + '-'))
+				cntc += commentsJson[key].length
 		}
 		return cntc
 	}
 
 	/*FINE GESTIONE CITAZIONI*/
 
-	function getCantica(numeroCantica){
-	
-		return (cantiche[numeroCantica])	
+	function getCantica(numeroCantica) {
+
+		return (cantiche[numeroCantica])
 	}
-	
+
 	//Calcola lemma e categoria grammaticale oppure categoria sintattica per tooltip
-	
-	function formatTTContent(categ, syntType, sentId){
+
+	function formatTTContent(categ, syntType, sentId) {
 		/*if (selectedVista=='frasi'){
 			return '<div class="ttContent"><b>'+maptypes[syntType]+'</b></div>';
 		}*/
-		var details=[];
-		var lemma=categ.split('#')[1].replace("^", " ") //il lemma
-		var categoria=categ.split('#')[0] // la categoria
+		var details = [];
+		var lemma = categ.split('#')[1].replace("^", " ") //il lemma
+		var categoria = categ.split('#')[0] // la categoria
 		var details = getHoverContent(categoria);
-		
+
 		var myitems;
 		var catgramm;
 		var subcatgramm = '';
 		var popoverText = '';
-		var discorsost='';
-		var funcFrase='';
-		var TipiDiscorso={
+		var discorsost = '';
+		var funcFrase = '';
+		var TipiDiscorso = {
 			"ThoughtDiscourse": "Pensato",
 			"DirectDiscourse": "Diretto",
 			"SpeakableDiscourse": "Parlato"
-			
+
 		}
-		
-		
-		for (detail of details){
-			
-			myitems= detail.split(',');	
-			
-			catgramm='<div  class="ttContent">';
-			subcatgramm='<p> <b> '+lemma+' - </b><i>'+myitems[0]+','+myitems.slice(1)+'</i></p></div>';			
+
+
+		for (detail of details) {
+
+			myitems = detail.split(',');
+
+			catgramm = '<div  class="ttContent">';
+			subcatgramm = '<p> <b> ' + lemma + ' - </b><i>' + myitems[0] + ',' + myitems.slice(1) + '</i></p></div>';
 			popoverText = popoverText + catgramm + subcatgramm;
 		}
-		
-		if(vistaDialoghi){
-			for (const india in dialoghi){
-				if (dialoghi[india]['Cnt'].replace('_so','')==sentId){
-					discorsost="<div class='ttContentPers'><b>Personaggio:</b> <i>"+dialoghi[india]['Spna'].replace('http://dantenetwork.it/data/commedia/', '')+'</i>'
-								+'<br><b>Discorso:</b> <i>'+TipiDiscorso[dialoghi[india]['Dty']]+'</i></div>'
+
+		if (vistaDialoghi) {
+			for (const india in dialoghi) {
+				if (dialoghi[india]['Cnt'].replace('_so', '') == sentId) {
+					discorsost = "<div class='ttContentPers'><b>Personaggio:</b> <i>" + dialoghi[india]['Spna'].replace('http://dantenetwork.it/data/commedia/', '') + '</i>'
+						+ '<br><b>Discorso:</b> <i>' + TipiDiscorso[dialoghi[india]['Dty']] + '</i></div>'
 					break;
-				}	
+				}
 			}
 		}
-		if(vistaPeriodi){
-			funcFrase='<div class="ttContent"><b>'+maptypes[syntType]+'</b></div>'
+		if (vistaPeriodi) {
+			funcFrase = '<div class="ttContent"><b>' + maptypes[syntType] + '</b></div>'
 		}
-		popoverText=popoverText+discorsost+funcFrase
+		popoverText = popoverText + discorsost + funcFrase
 		return (popoverText);
 	}
 
-	function getHoverContent(categ){
-		
+	function getHoverContent(categ) {
+
 		//console.log('Categoria '+categ)
-		var mycat=[];
-		
-		
-		categ=categ.replace('%2A', '*')
-		categ=categ.replace('%2B', '+')
-		categ=categ.replace('%2C', ',')
-		categ=categ.replace('%2D', '-')
-		if(categ.includes('^')){
-			categs=categ.split('^')			
-			for (cat of categs){
+		var mycat = [];
+
+
+		categ = categ.replace('%2A', '*')
+		categ = categ.replace('%2B', '+')
+		categ = categ.replace('%2C', ',')
+		categ = categ.replace('%2D', '-')
+		if (categ.includes('^')) {
+			categs = categ.split('^')
+			for (cat of categs) {
 				mycat.push(proprietaForma(cat))
 			}
 			//console.log(mycat.join('-'))
-		}else{
+		} else {
 			mycat.push(proprietaForma(categ));
 		}
-		return(mycat);
+		return (mycat);
 	}
-	
-	function proprietaForma(categ){
-		if (categ[0]=='v'){
+
+	function proprietaForma(categ) {
+		if (categ[0] == 'v') {
 			return parserVerbi.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='s'){
+		if (categ[0] == 's') {
 			return parserSostantivi.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='e'){
+		if (categ[0] == 'e') {
 			return parserPreposizioni.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='b'){
+		if (categ[0] == 'b') {
 			return parserAvverbi.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='p'){
+		if (categ[0] == 'p') {
 			return parserPronomi.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='a'){
+		if (categ[0] == 'a') {
 			return parserAggettivi.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
-		if(categ[0]=='r'){
+		if (categ[0] == 'r') {
 			return parserArticolo.parse(categ).split(',').filter(prop => prop.length > 0).join()
 		}
 		if (categ[0] == 'f') {
@@ -1370,71 +1368,77 @@ function emphResults(){
 		}
 		return categoriegrammaticali[categ[0]]
 	}
-	
+
 	function cleanSearchResult() {
-		
+
 		$("#headingZero").closest('.card').css("display", "none");
 		$("#collapseZero").collapse('hide');
 		$("#vistaFrasi").empty()
 		$("#vistaFrasi").css("display", "none");
-		for (msid of listaPeriodiRisultato){
-			$('.'+msid).each(function(){
+		for (msid of listaPeriodiRisultato) {
+			$('.' + msid).each(function() {
+				$(this).css('color', '');
+				if (!vistaPeriodi){
+					var pstp = $(this).attr('class').split(" ")[1]
+					if (pstp=='sentencetag')
+						$(this).attr('style', 'display: none;');
+				}
+				
+			});
+		}
+		for (clsid of listaClausoleRisultato) {
+			var tmpcl = clsid.split('-');
+			$('.' + tmpcl[0]).each(function() {
 				$(this).css('color', '');
 			});
 		}
-		for (clsid of listaClausoleRisultato){
-			var tmpcl=clsid.split('-');
-			$('.'+tmpcl[0]).each(function(){
-				$(this).css('color', '');
-			});
-		}
-		
+
 		//let minim=$(" .minimap__content")
 		for (forma of listarisultati) {
 			idforma = '#' + forma
 			$(idforma).removeClass("font-weight-bold mark ")
 			minim.contents().find(idforma).removeClass("font-weight-bold mark ")
 		}
-		
-		
+
+
 		$("#accordionNav .badge").remove();
 		//$("#headingZero").css("display", "none");
-	
+
 		listarisultati = []
-		listaPeriodiRisultato=[]
-		listaClausoleRisultato=[]
-		resultSentences=new Set()
-		if(cantoDisplayed=='#vistaFrasi')
-			cantoDisplayed=prevCantoDisplayed
+		listaPeriodiRisultato = []
+		listaClausoleRisultato = []
+		resultSentences = new Set()
+		if (cantoDisplayed == '#vistaFrasi')
+			cantoDisplayed = prevCantoDisplayed
 		$(cantoDisplayed).attr('style', 'display: d-flex;');
 		//manageMM (cantoDisplayed)
 		currPage = 0;
 		latestPhraseId = "";
 		drawMinimap(cantoDisplayed, true)
 	}
-	
-	function manageMM(name){
+
+	function manageMM(name) {
 		currentMinimap = name;
 		let testhtml = $(currentMinimap)[0].outerHTML;
 		//let minim=$(" .minimap__content")
-		let bm=minim.contents().find(' .blog-main')
+		let bm = minim.contents().find(' .blog-main')
 		bm.empty()
 		bm.append(testhtml)
 		getDimensionsDiv(true, true);
-	
+
 	}
-	
-	var unitaRicerca='forma'
-	
-	function manageQuery(){
+
+	var unitaRicerca = 'forma'
+
+	function manageQuery() {
 		cleanSearchResult()
 		esprlogica = []
-		jsonQuery=getJsonQuery()
-		
-		if(jsonQuery['QueryAvanzata']==0)
-			unitaRicerca='forma'
+		jsonQuery = getJsonQuery()
+
+		if (jsonQuery['QueryAvanzata'] == 0)
+			unitaRicerca = 'forma'
 		else
-			unitaRicerca=jsonQuery['unitaRicerca']
+			unitaRicerca = jsonQuery['unitaRicerca']
 		console.log("got json query, unita ricerca: " + unitaRicerca)
 		if (jsonQuery['QueryAvanzata'] == 0 && jsonQuery['Clausola0']['queryText'] == '') {
 			alert('Digitare una stringa da cercare')
@@ -1450,331 +1454,331 @@ function emphResults(){
 			var inf = []
 			var pur = []
 			var par = []
-			var noContext=true
+			var noContext = true
 			if (!(contesto[0].every(item => item === 0) && contesto[1].every(item => item === 0) && contesto[2].every(item => item === 0))) {
 				//inf=contesto[0].some(item => item !== 0)
-				noContext=false
+				noContext = false
 				inf = contesto[0].reduce((a, e, i) => {
 					if (e === 1)
-						a.push(i+1);
+						a.push(i + 1);
 					return a;
 				}, []);
 				pur = contesto[1].reduce((a, e, i) => {
 					if (e === 1)
-						a.push(i+1);
+						a.push(i + 1);
 					return a;
 				}, []);
 				par = contesto[2].reduce((a, e, i) => {
 					if (e === 1)
-						a.push(i+1);
+						a.push(i + 1);
 					return a;
 				}, []);
 			}
-			
-			var resultsInCantica=[]
-			var resultsInCanto=[]
-			console.log('frase, l. '+searchwords.length)
-			if(noContext || inf.length)
-				executeLocalSearch(searchwords, formeprima, (formeprima.length-searchwords.length), cantiche[0], inf, resultsInCantica, resultsInCanto)
-			if(noContext || pur.length)
-				executeLocalSearch(searchwords, formeseconda, (formeseconda.length-searchwords.length), cantiche[1], pur, resultsInCantica, resultsInCanto)
-			if(noContext || par.length)
-				executeLocalSearch(searchwords, formeterza, (formeterza.length-searchwords.length), cantiche[2], par, resultsInCantica, resultsInCanto)
-			if (listarisultati.length){
+
+			var resultsInCantica = []
+			var resultsInCanto = []
+			console.log('frase, l. ' + searchwords.length)
+			if (noContext || inf.length)
+				executeLocalSearch(searchwords, formeprima, (formeprima.length - searchwords.length), cantiche[0], inf, resultsInCantica, resultsInCanto)
+			if (noContext || pur.length)
+				executeLocalSearch(searchwords, formeseconda, (formeseconda.length - searchwords.length), cantiche[1], pur, resultsInCantica, resultsInCanto)
+			if (noContext || par.length)
+				executeLocalSearch(searchwords, formeterza, (formeterza.length - searchwords.length), cantiche[2], par, resultsInCantica, resultsInCanto)
+			if (listarisultati.length) {
 				//evidenzia risultati
 				for (ris of listarisultati) {
 					idris = '#' + ris
 					$(idris).addClass("font-weight-bold mark ")
-	
+
 				}
 			}
-			var totResultN=showBadgeInCantica(resultsInCantica)
+			var totResultN = showBadgeInCantica(resultsInCantica)
 			showBadgeInCanto(resultsInCanto)
-			
+
 			return
 		}
 		jsonQuery = buildSQ(jsonQuery)
-		
+
 		myquery = new sparqlGenerator().stringify(jsonQuery)
 		console.log(myquery)
-		
+
 		executeQuerySearch(myquery)
-		
+
 	}
-	
-	function executeLocalSearch(testo, forme, limit, cantica, cont, resultsInCantica, resultsInCanto){
-		
-		for (var ip=0; ip<=limit; ip++){
-				
-				if(cont.length && !cont.includes(parseInt(forme[ip].split('_')[1]))){
-					continue
-				}
-				var fnd=true
-				var strlen=0;
-				var tmpa=[]
-				for (var frind=0; frind<testo.length; frind++){
-					var itm=forme[ip+frind].split('_')[0].toLowerCase().replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g,"")
-					
-					tmpa.push(itm)
-				}
-				fnd=(testo.join(' ').toLowerCase()===tmpa.join(' ') || tmpa.join(' ').startsWith(testo.join(' ').toLowerCase()))
-				
-				if (fnd){
-					//console.log('ipfound: '+forme[ip].split('_')[2]+' - '+forme[(ip+testo.length-1)].split('_')[2])
-					
-					resultsInCantica.push(cantica)
-					resultsInCanto.push(cantica+'Canto '+forme[ip].split('_')[1])
-					var tstar= parseInt(forme[ip].split('_')[2])
-					var tstop=parseInt(forme[(ip+testo.length-1)].split('_')[2])
-					
-					for (var mpo=tstar;mpo<tstop+1; mpo++){
-						
-						listarisultati.push(mpo)
-					}
-						
-				}
-					
+
+	function executeLocalSearch(testo, forme, limit, cantica, cont, resultsInCantica, resultsInCanto) {
+
+		for (var ip = 0; ip <= limit; ip++) {
+
+			if (cont.length && !cont.includes(parseInt(forme[ip].split('_')[1]))) {
+				continue
 			}
+			var fnd = true
+			var strlen = 0;
+			var tmpa = []
+			for (var frind = 0; frind < testo.length; frind++) {
+				var itm = forme[ip + frind].split('_')[0].toLowerCase().replace(/[.,\/#!$%\^&\*;:{}=\-_`~()]/g, "")
+
+				tmpa.push(itm)
+			}
+			fnd = (testo.join(' ').toLowerCase() === tmpa.join(' ') || tmpa.join(' ').startsWith(testo.join(' ').toLowerCase()))
+
+			if (fnd) {
+				//console.log('ipfound: '+forme[ip].split('_')[2]+' - '+forme[(ip+testo.length-1)].split('_')[2])
+
+				resultsInCantica.push(cantica)
+				resultsInCanto.push(cantica + 'Canto ' + forme[ip].split('_')[1])
+				var tstar = parseInt(forme[ip].split('_')[2])
+				var tstop = parseInt(forme[(ip + testo.length - 1)].split('_')[2])
+
+				for (var mpo = tstar; mpo < tstop + 1; mpo++) {
+
+					listarisultati.push(mpo)
+				}
+
+			}
+
+		}
 	}
-	
-	
-	
+
+
+
 	//manage sentence and clauses
-	
-/*	function showSentenceStructure(sentence) {
 
-		sid = '.' + sentence.toString()
-		//console.log(sid)
-		$(sid).addClass('text-info font-italic')
+	/*	function showSentenceStructure(sentence) {
+	
+			sid = '.' + sentence.toString()
+			//console.log(sid)
+			$(sid).addClass('text-info font-italic')
+	
+		}
+		*/
+
 
-	}
-	*/
-	
-	
 	function resetSentenceStructure(sentence) {
 		$(" ." + sentence).removeClass('text-info font-italic')
 	}
 
 
 	//Cantica management functions
-	
+
 	function showCanto(formecantica, idcantica, canto) {
 		var setVersiCanto = new Set()
 		var periodinum = {};
-		var cantica=cantiche[parseInt(idcantica)-1];
+		var cantica = cantiche[parseInt(idcantica) - 1];
 		var elverso, formaItem, currSentenceId;
 		var ultimaFormaCanto;
-		let numeroPeriodo=1;
+		let numeroPeriodo = 1;
 		formecantica.map(function(item) {
 			formaItem = item.split("_");
-			var sentenceid=idcantica+"_"+formaItem[1]+"_s_"+formaItem[5]
-			if (formaItem[1]==canto){
-				if (! setVersiCanto.has(cantica + "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1])){
-					
+			var sentenceid = idcantica + "_" + formaItem[1] + "_s_" + formaItem[5]
+			if (formaItem[1] == canto) {
+				if (!setVersiCanto.has(cantica + "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1])) {
+
 					var verso = parseInt(formaItem[3]) - 1;
-					var idCommento = "Commento_"+idcantica+"_"+canto+"_"+verso;
+					var idCommento = "Commento_" + idcantica + "_" + canto + "_" + verso;
 					//var commNumber = numberOfComments(idCommento);
-					var commNumber=numberOfCommentsJson(idCommento)
-					
-					
-					
-					
-					if(currSentenceId!=null && currSentenceId != sentenceid){
-						
-						createSpanPeriodiTag(closeSTag, 'c', formaItem[2]-1, currSentenceId, elverso, periodinum[currSentenceId])
-						currSentenceId=null
+					var commNumber = numberOfCommentsJson(idCommento)
+
+
+
+
+					if (currSentenceId != null && currSentenceId != sentenceid) {
+
+						createSpanPeriodiTag(closeSTag, 'c', formaItem[2] - 1, currSentenceId, elverso, periodinum[currSentenceId])
+						currSentenceId = null
 					}
-					if (commNumber>0){
+					if (commNumber > 0) {
 						createCommentSpan(idCommento, elverso, commNumber)
 						//console.log("Numero commenti: "+commNumber)
 					}
 					//elverso=createDivVersoNew(cantica, formaItem[3], 'Canto_' + formaItem[1])
-					elverso=createDivVersoLI(cantica, formaItem[3], 'Canto_' + formaItem[1])
-					setVersiCanto.add(cantica+ "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1])
+					elverso = createDivVersoLI(cantica, formaItem[3], 'Canto_' + formaItem[1])
+					setVersiCanto.add(cantica + "_" + formaItem[3] + "_" + 'Canto_' + formaItem[1])
 				}
-				if(currSentenceId==null || currSentenceId != sentenceid){
-					
-					if (currSentenceId!=null){
-						createSpanPeriodiTag(closeSTag, 'c', formaItem[2]-1, currSentenceId, elverso, periodinum[currSentenceId])
+				if (currSentenceId == null || currSentenceId != sentenceid) {
+
+					if (currSentenceId != null) {
+						createSpanPeriodiTag(closeSTag, 'c', formaItem[2] - 1, currSentenceId, elverso, periodinum[currSentenceId])
 					}
-					currSentenceId=sentenceid;
-					if (periodinum[currSentenceId]==null){
-							periodinum[currSentenceId]=numeroPeriodo
-							numeroPeriodo=numeroPeriodo+1;
+					currSentenceId = sentenceid;
+					if (periodinum[currSentenceId] == null) {
+						periodinum[currSentenceId] = numeroPeriodo
+						numeroPeriodo = numeroPeriodo + 1;
 					}
 					//periodinum[currSentenceId]=numeroPeriodo
 					//numeroPeriodo=numeroPeriodo+1;
 					createSpanPeriodiTag(openSTag, 'o', formaItem[2], sentenceid, elverso, periodinum[currSentenceId])
 				}
-				createSpanFormeNew(formaItem[0], formaItem[4], formaItem[2], sentenceid,formaItem[6],elverso)
-				ultimaFormaCanto=formaItem;
-			
+				createSpanFormeNew(formaItem[0], formaItem[4], formaItem[2], sentenceid, formaItem[6], elverso)
+				ultimaFormaCanto = formaItem;
+
 			}
-			
+
 		})
 		//crea tag di chiusura per l'ultimo periodo del canto
-		
-		createSpanPeriodiTag(closeSTag, 'c', ultimaFormaCanto[2]-1, currSentenceId, elverso, periodinum[currSentenceId])
-		
+
+		createSpanPeriodiTag(closeSTag, 'c', ultimaFormaCanto[2] - 1, currSentenceId, elverso, periodinum[currSentenceId])
+
 		//gestione risultati
-		
-		if (listaPeriodiRisultato.length){
-			for (msid of listaPeriodiRisultato){
+
+		if (listaPeriodiRisultato.length) {
+			for (msid of listaPeriodiRisultato) {
 				loadPeriodo(msid)
-				
+
 			}
 		}
-		
-		if (listaClausoleRisultato.length){
-			for (clsid of listaClausoleRisultato){
-				let tmpid=clsid.split('-')
+
+		if (listaClausoleRisultato.length) {
+			for (clsid of listaClausoleRisultato) {
+				let tmpid = clsid.split('-')
 				//loadFrase(tmpid[0], tmpid[1])
 				loadClausola(tmpid[0], tmpid[1], tmpid[2], tmpid[3])
-				
+
 			}
-		}				
-		
-		if (listarisultati.length){
+		}
+
+		if (listarisultati.length) {
 			//evidenzia risultati
 			for (ris of listarisultati) {
 				idris = '#' + ris
 				$(idris).addClass("font-weight-bold mark ")
-	
+
 			}
 		}
-		
+
 	}
-	
+
 	function createCommentSpan(idVerso, elementoverso, numberOfComments) {
 		var spanoccorrenza = $('<button />')
 		spanoccorrenza.attr('id', idVerso)
 		//btn-sm btn-outline-secondary
 		spanoccorrenza.attr('class', 'btn btn-sm btn-outline-primary showcomments bg-light border-0 rounded text-primary px-1 pt-1 pb-0 ml-1');
-		if (numberOfComments > 1){
+		if (numberOfComments > 1) {
 			var commentIcon = '<ion-icon name="document-attach"></ion-icon><ion-icon name="add-circle-outline"></ion-icon>';
 		} else {
 			var commentIcon = '<ion-icon name="document-attach"></ion-icon>';
 		}
-		
+
 		spanoccorrenza.append(commentIcon)
 		//spanoccorrenza.append(number)
 
 		spanoccorrenza.appendTo(elementoverso)
 	}
-	
+
 	function createSpanPeriodiTag(separator, catgramm, pos, sentenceid, elementoverso, pnum) {
 		var spanoccorrenza = $('<span />')
-		spanoccorrenza.attr('id', 'sep_'+pos)
+		spanoccorrenza.attr('id', 'sep_' + pos)
 		spanoccorrenza.attr('title', catgramm)
-		spanoccorrenza.attr('class', sentenceid+' sentencetag')
-		spanoccorrenza.append(separator+" ")
-		
-		if (separator==closeSTag){
-			
+		spanoccorrenza.attr('class', sentenceid + ' sentencetag font-weight-bold')
+		spanoccorrenza.append(separator + " ")
+
+		if (separator == closeSTag) {
+
 			//aggiunge simbolo di chiusura dialogo
-			for (const india in dialoghi){
-				if (dialoghi[india]['Cnt'].replace('_so','')==sentenceid){
+			for (const india in dialoghi) {
+				if (dialoghi[india]['Cnt'].replace('_so', '') == sentenceid) {
 					//PER GESTIONE PUNTEGGIATURA IN DIALOGHI, DA FARE
 					//console.log(elementoverso.children().slice(-2).text())
-					if (elementoverso.children().slice(-2).text().includes(',')){
+					if (elementoverso.children().slice(-2).text().includes(',')) {
 						//console.log(' virgola ' +elementoverso.children().slice(-1).html())
 						//let paro=elementoverso.children().slice(-2).text().replace(',', '')
 						//elementoverso.children().slice(-2).text(paro)
 						//console.log(' virgola dopo' +elementoverso.children().slice(-1).html())
-						
+
 					}
 					elementoverso.children().slice(-1).html('&raquo;&nbsp;')
-					
-					
+
+
 					break;
-				}	
+				}
 			}
-			
-			varsupel=$('<sup />')
+
+			varsupel = $('<sup />')
 			//varsupel.append(sentenceid.split('_')[3]+' ')
-			varsupel.append(pnum+' ')
+			varsupel.append(pnum + ' ')
 			varsupel.appendTo(spanoccorrenza)
 		}
 		spanoccorrenza.css("display", "none")
 		spanoccorrenza.appendTo(elementoverso)
 
-		if (separator==openSTag){
-			
+		if (separator == openSTag) {
+
 			//aggiunge simbolo di apertura dialogo
-			for (const india in dialoghi){
-				if (dialoghi[india]['Cnt'].replace('_so','')==sentenceid){
-					var enddiscorso=$('<span />')
+			for (const india in dialoghi) {
+				if (dialoghi[india]['Cnt'].replace('_so', '') == sentenceid) {
+					var enddiscorso = $('<span />')
 					enddiscorso.append('&laquo;')
 					enddiscorso.appendTo(elementoverso)
 					break;
-				}	
+				}
 			}
 		}
-		
+
 	}
-	
+
 	function createSpanFormeNew(forma, catgramm, pos, sentenceid, clausefunct, elementoverso) {
 		var spanoccorrenza = $('<span />')
-		var nbsp=$('<span>&nbsp;</span>')
+		var nbsp = $('<span>&nbsp;</span>')
 		spanoccorrenza.attr('id', pos)
 		//spanoccorrenza.attr('data-cg', catgramm)
 		spanoccorrenza.attr('title', catgramm)
-		spanoccorrenza.attr('class', sentenceid+" "+clausefunct+' '+formaClass)
+		spanoccorrenza.attr('class', sentenceid + " " + clausefunct + ' ' + formaClass)
 		spanoccorrenza.append(forma)
 		spanoccorrenza.appendTo(elementoverso)
 		nbsp.appendTo(elementoverso)
 	}
-/*	function createDivVersoNew(cantica, num, canto) {
-		
-			var elementoverso = createDivVersoGeneric(cantica, num, canto)
+	/*	function createDivVersoNew(cantica, num, canto) {
 			
-			elementoverso.appendTo('#' + cantica + canto)
-			return elementoverso
-
-	}*/
+				var elementoverso = createDivVersoGeneric(cantica, num, canto)
+				
+				elementoverso.appendTo('#' + cantica + canto)
+				return elementoverso
 	
+		}*/
+
 	function createDivVersoLI(cantica, num, canto) {
-		
-			var elementoverso = createDivVersoGenericLi(cantica, num, canto)
-			let cantoContainer=$('#' + cantica + canto);
-			elementoverso.appendTo(cantoContainer.find('ol'))
-			return elementoverso
+
+		var elementoverso = createDivVersoGenericLi(cantica, num, canto)
+		let cantoContainer = $('#' + cantica + canto);
+		elementoverso.appendTo(cantoContainer.find('ol'))
+		return elementoverso
 
 	}
-	
+
 	function createDivVersoGenericLi(cantica, num, canto) {
-			let digits=num.length
-			
-			var spannum=$('<span />')
-			
-			if (digits==1)
-				spannum.append('\xa0\xa0')
-			if (digits==2)
-				spannum.append('\xa0')
-			spannum.append(num+'. ')
-			var elementoverso = $('<li />')
-			//var elementoverso=$('<p />')
-			//elementoverso.append(spannum)
-			elementoverso.attr("value", num)
-			
-			//elementoverso.attr("style", "line-height: 1.0em")
+		let digits = num.length
 
-			elementoverso.attr('class', 'f6 mb-0 text-muted text-nowrap font-weight-lighter ')//+cantica+' '+canto)
-			//elementoverso.attr('class', 'text-nowrap ')//+cantica+' '+canto)
+		var spannum = $('<span />')
 
-			elementoverso.attr('id', cantica + "_" + canto + "_" + num)
-			elementoverso.append('\xa0')
-			return elementoverso
+		if (digits == 1)
+			spannum.append('\xa0\xa0')
+		if (digits == 2)
+			spannum.append('\xa0')
+		spannum.append(num + '. ')
+		var elementoverso = $('<li />')
+		//var elementoverso=$('<p />')
+		//elementoverso.append(spannum)
+		elementoverso.attr("value", num)
+
+		//elementoverso.attr("style", "line-height: 1.0em")
+
+		elementoverso.attr('class', 'f6 mb-0 text-muted text-nowrap font-weight-lighter ')//+cantica+' '+canto)
+		//elementoverso.attr('class', 'text-nowrap ')//+cantica+' '+canto)
+
+		elementoverso.attr('id', cantica + "_" + canto + "_" + num)
+		elementoverso.append('\xa0')
+		return elementoverso
 	}
-	
 
-	
+
+
 	function createAllDivCanti() {
 
 		var divFrasi = $('<div />')
 		var divDialoghi = $('<div />')
 		var divMetafore = $('<div />')
-		
+
 		//var titoloFrasi = $('<h4 class="titolo-canto pb-2" />')
 		var titoloDialoghi = $('<h4 class="titolo-canto pb-2" />')
 		var titoloMetafore = $('<h4 class="titolo-canto pb-2" />')
@@ -1789,11 +1793,11 @@ function emphResults(){
 		divDialoghi.attr('class', 'pb-4')
 		divMetafore.attr('id', "vistaMetafore")
 		divMetafore.attr('class', 'pb-4')
-		
+
 		divFrasi.appendTo('#displaycanto')
 		divDialoghi.appendTo('#displaycanto')
 		divMetafore.appendTo('#displaycanto')
-		
+
 		divFrasi.css("display", "none")
 		divDialoghi.css("display", "none")
 		divMetafore.css("display", "none")
@@ -1802,119 +1806,119 @@ function emphResults(){
 		titoloDialoghi.appendTo(divDialoghi)
 		titoloMetafore.appendTo(divMetafore)
 
-		
-		for (cantica of cantiche){
-			for (var i=1; i<35; i++){
-				if(i==34 && cantica!=="Inferno"){
+
+		for (cantica of cantiche) {
+			for (var i = 1; i < 35; i++) {
+				if (i == 34 && cantica !== "Inferno") {
 					continue
 				}
-			canto= "Canto "+ i
-			cantoRomano= "Canto "+ getRoman(i)
+				canto = "Canto " + i
+				cantoRomano = "Canto " + getRoman(i)
 
-			var divcanto = $('<div />')
-			var titolocanto = $('<h4 class="titolo-canto pb-2" />')
-			titolocanto.append(cantica + ", " + cantoRomano)
-			divcanto.attr('class', 'canto pt-3')
-			divcanto.css("display", "none")
+				var divcanto = $('<div />')
+				var titolocanto = $('<h4 class="titolo-canto pb-2" />')
+				titolocanto.append(cantica + ", " + cantoRomano)
+				divcanto.attr('class', 'canto pt-3')
+				divcanto.css("display", "none")
 
-			divcanto.attr('id', (cantica + canto).replace(" ", "_"))
-			titolocanto.appendTo(divcanto)
-			//nuovo
-			var olversi=$('<ol />')
-			olversi.attr('class', 'pb-4')
-			olversi.appendTo(divcanto)
-			//fine nuovo
-			divcanto.appendTo('#displaycanto')
+				divcanto.attr('id', (cantica + canto).replace(" ", "_"))
+				titolocanto.appendTo(divcanto)
+				//nuovo
+				var olversi = $('<ol />')
+				olversi.attr('class', 'pb-4')
+				olversi.appendTo(divcanto)
+				//fine nuovo
+				divcanto.appendTo('#displaycanto')
 			}
 		}
 	}
 
 	//execute query
 	async function executeQuerySearch(query) {
-		
-		
+
+
 		alert(query)
 		$("#loader").fadeIn(300);
 		//$("#searchcomm2").prop("disabled", true);
 		//$("#searchcomm2").html('<span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span> Searching...');
 		try {
 			seachbBindingsStream = await myEngine.queryBindings(query, { sources: [{ type: 'sparql', value: sparqlEndpoint },], });
-			}
+		}
 		catch (err) {
 			$("#loader").fadeOut(300);
 			//$("#searchcomm2").prop("disabled", false);
 			//$("#searchcomm2").html('<span class="" role="status" aria-hidden="true"></span> Search');
-			console.log(err.message);	
+			console.log(err.message);
 		};
-		
+
 		try {
 			var result = new Set()
 			var resultClauses = new Set()
-			
+
 			var resultsInCantica = []
 			var resultsInCanto = []
 			seachbBindingsStream.on('data', (binding) => {
-				
+
 				//cantica
 				if (binding.has('Cantica'))
 					cantica = binding.get('Cantica').value;
 				else
-					cantica='Nessuna'
-				
-				
+					cantica = 'Nessuna'
+
+
 				//canto
 				if (binding.has('Canto'))
 					canto = binding.get('Canto').value;
 				else
-					canto='Canto 0'
-				
+					canto = 'Canto 0'
+
 				//numero del verso
 				if (binding.has('NumeroVerso'))
 					numverso = binding.get('NumeroVerso').value;
 				else
-					numverso=0
+					numverso = 0
 				//posizione del frammento
 				if (binding.has('pos'))
 					pos = binding.get('pos').value;
-				else{
+				else {
 					pos = 0;
 				}
-				
+
 				//regione della clausola
-				var clfrom=binding.get('clfr').value;
-				var clto=binding.get('clto').value;
+				var clfrom = binding.get('clfr').value;
+				var clto = binding.get('clto').value;
 				//var cltype=binding.get('clatype').value.replace('https://dantenetwork.it/ontology/syntit/current/','')
-				var clfunction=binding.get('clafunction').value.replace('https://dantenetwork.it/ontology/syntit/current/','')
-				var clocc=binding.get('clocc').value.replace('http://dantenetwork.it/data/commedia/','')
+				var clfunction = binding.get('clafunction').value.replace('https://dantenetwork.it/ontology/syntit/current/', '')
+				var clocc = binding.get('clocc').value.replace('http://dantenetwork.it/data/commedia/', '')
 				//var clfunction=binding.get('clf').value.replace('https://dantenetwork.it/ontology/syntit/current/','')
 				//id del periodo
-				var sentenceid=binding.get('sentence').value.replace('http://dantenetwork.it/data/commedia/','')
-				
-				if (pos>0 && !result.has(pos)){
-					
+				var sentenceid = binding.get('sentence').value.replace('http://dantenetwork.it/data/commedia/', '')
+
+				if (pos > 0 && !result.has(pos)) {
+
 					result.add(pos)
 					resultsInCantica.push(cantica);
 					resultsInCanto.push(cantica + canto)
 				}
-				if(unitaRicerca!='frase' && pos==-1){
-					unitaRicerca='frase'
+				if (unitaRicerca != 'frase' && pos == -1) {
+					unitaRicerca = 'frase'
 				}
-				resultClauses.add(sentenceid + "-" +clfrom+'-'+clto+"-"+clfunction.trim().replace('ordinateClause','').replace('MainClause', 'Ma')+'-'+cantica+'-'+canto+'-'+clocc)
+				resultClauses.add(sentenceid + "-" + clfrom + '-' + clto + "-" + clfunction.trim().replace('ordinateClause', '').replace('MainClause', 'Ma') + '-' + cantica + '-' + canto + '-' + clocc)
 				resultSentences.add(sentenceid)
-	
+
 			});
 			seachbBindingsStream.on('end', () => {
-				var resSent=new Set()
-				var resSentence=new Set()
-				var resClauses=[]
+				var resSent = new Set()
+				var resSentence = new Set()
+				var resClauses = []
 				//let minim=$(" .minimap__content")
 				console.log('start rendering...')
 				listarisultati = Array.from(result)
-				var listaclausole=Array.from(resultClauses)
+				var listaclausole = Array.from(resultClauses)
 
-			
-				listaPeriodiRisultato=[]
-				listaClausoleRisultato=[]
+
+				listaPeriodiRisultato = []
+				listaClausoleRisultato = []
 				//Unità di ricerca è 'frase'
 
 				if (!listarisultati.length || unitaRicerca == 'frase') {
@@ -1925,35 +1929,35 @@ function emphResults(){
 					if (listaclausole.length) {
 						for (var frase of listaclausole) {
 							var fraseItems = frase.split('-');
-							
+
 							//loadFrase(fraseItems[0].toString(), fraseItems[3].toString())
 							loadClausola(fraseItems[0].toString(), fraseItems[3].toString(), fraseItems[1], fraseItems[2])
-							resSent.add(fraseItems[0] + '-' + fraseItems[3]+'-'+fraseItems[1] + '-' + fraseItems[2]);
+							resSent.add(fraseItems[0] + '-' + fraseItems[3] + '-' + fraseItems[1] + '-' + fraseItems[2]);
 							//if (!resSent.has(fraseItems[0] + '-' + fraseItems[3])) {
-							let tmpocc=fraseItems.slice(-1)
-							
-							if (resClauses.filter(clocc => clocc==tmpocc[0]).length==0) {	
-														
+							let tmpocc = fraseItems.slice(-1)
+
+							if (resClauses.filter(clocc => clocc == tmpocc[0]).length == 0) {
+
 								resClauses.push(tmpocc[0]);
 								//resSent.add(fraseItems[0] + '-' + fraseItems[3]+'-'+fraseItems[1] + '-' + fraseItems[2]);
 								resSentence.add(fraseItems[1] + '-' + fraseItems[2]);
 								//resSent.add(fraseItems.slice(-1))
 								resultsInCantica.push(fraseItems[4]);
 								resultsInCanto.push(fraseItems[4] + fraseItems[5]);
-															
-							}	
+
+							}
 						}
-						listaClausoleRisultato=Array.from(resSent);
+						listaClausoleRisultato = Array.from(resSent);
 					}
 				}
 				//Unità di ricerca è 'periodo'
-				
-				if (unitaRicerca=='periodo' && listaclausole.length){
-					resultsInCantica=[]
-					resultsInCanto=[]
+
+				if (unitaRicerca == 'periodo' && listaclausole.length) {
+					resultsInCantica = []
+					resultsInCanto = []
 					//listaPeriodiRisultato=[]
-					for (var frase of listaclausole){
-						var fraseItems=frase.split('-');
+					for (var frase of listaclausole) {
+						var fraseItems = frase.split('-');
 						var mysid = '.' + fraseItems[0].toString()
 						//console.log(mysid)
 						listaPeriodiRisultato.push(fraseItems[0].toString())
@@ -1965,44 +1969,44 @@ function emphResults(){
 							
 						});
 						*/
-						if (!resSent.has(fraseItems[0])){
+						if (!resSent.has(fraseItems[0])) {
 							resSent.add(fraseItems[0]);
 							resultsInCantica.push(fraseItems[4]);
 							resultsInCanto.push(fraseItems[4] + fraseItems[5]);
-						}						
-					}				
+						}
+					}
 				}
-				
-				if (listarisultati.length){
+
+				if (listarisultati.length) {
 					//evidenzia risultati
 					for (ris of listarisultati) {
 						idris = '#' + ris
 						$(idris).addClass("font-weight-bold mark ")
 						minim.contents().find(idris).addClass("font-weight-bold mark ")
-	
+
 					}
 				}
-				
+
 				//ordino la lista dei risultati
-				listarisultati.sort(function(a, b){return a - b});
-				
+				listarisultati.sort(function(a, b) { return a - b });
+
 				//aggiunge badge con totale risultati accanto alle cantiche
-				
-				var totResultN=showBadgeInCantica(resultsInCantica)
-				
+
+				var totResultN = showBadgeInCantica(resultsInCantica)
+
 				//aggiunge badge con totale risultati nel bottone lista risultati
 				var listIcon = ' <ion-icon name="list-outline"></ion-icon>';
-				if (totResultN>0){
+				if (totResultN > 0) {
 					$("#headingZero").closest('.card').attr('style', 'display: d-flex;')
 					var spanbadgelista = $('<span />');
 					spanbadgelista.attr('class', 'badge badge-warning badge-pill mx-2 ');
-					spanbadgelista.append(totResultN+listIcon)
+					spanbadgelista.append(totResultN + listIcon)
 					spanbadgelista.appendTo($('#cantica0-badge'))
 				}
-				
+
 				//aggiunge badge con totale risultati accanto ai canti
 				showBadgeInCanto(resultsInCanto)
-				
+
 				console.log('badge end...')
 				//calcolo numero dei contesti
 				countResultContexts()
@@ -2014,21 +2018,21 @@ function emphResults(){
 			queryExecuted = true;
 			$(cantoDisplayed).attr('style', 'display: d-flex;');
 			$("#vistaFrasi").css("display", "none");
-			
+
 		}
 		catch (err) {
 			//$("#loader").fadeOut(300);
 			$("#searchcomm2").prop("disabled", false);
 			$("#searchcomm2").html('<span class="" role="status" aria-hidden="true"></span> Search');
 			console.log(err.message);
-			
+
 		};
-		
-		
+
+
 
 	};
 
-//VISUALIZZAZIONE BADGE RISULTATI IN CANTICA
+	//VISUALIZZAZIONE BADGE RISULTATI IN CANTICA
 
 	function showBadgeInCantica(resultsInCantica) {
 		var i = 0, totResultN = 0
@@ -2048,7 +2052,7 @@ function emphResults(){
 		return (totResultN)
 	}
 
-//VISUALIZZAZIONE BADGE RISULTATI IN CANTO
+	//VISUALIZZAZIONE BADGE RISULTATI IN CANTO
 
 	function showBadgeInCanto(resultsInCanto) {
 
@@ -2072,21 +2076,23 @@ function emphResults(){
 			}
 		}
 	}
-/*
-*	REGOLE DI PARSING PER VISUALIZZAZIONE CATEGORIE GRAMMATICALI 
-*/
+	/*
+	*	REGOLE DI PARSING PER VISUALIZZAZIONE CATEGORIE GRAMMATICALI 
+	*/
 
-const categoriegrammaticali={"v":"Verbo", "s":"Sostantivo", "a":"Aggettivo", "p":"Pronome", "r":"Articolo", "b":"Avverbio","e":"Preposizione", 
-								"c":"Congiunzione", "i":"Interiezione", "n":"Onomastica", "f":"Citazione", "l":"Locuzione", 
-								"r-e":"Articolo, Preposizione", "b-v":"Avverbio, Verbo", "p-v":"Pronome, Verbo", 
-								"b-p-v":"Avverbio, Pronome, Verbo", "b-p":"Avverbio, Pronome", 
-								"e-p":"Preposizione, Pronome", "a-s":"Aggettivo, Sostantivo",
-								"e-r":"Preposizione, Articolo", "v-b":"Verbo, Avverbio", "v-p":"Verbo, Pronome", 
-								"v-p-b":"Verbo, Pronome, Avverbio", "p-b":"Pronome, Avverbio", 
-								"p-e":"Pronome, Preposizione", "s-a":"Sostantivo, Aggettivo",}
+	const categoriegrammaticali = {
+		"v": "Verbo", "s": "Sostantivo", "a": "Aggettivo", "p": "Pronome", "r": "Articolo", "b": "Avverbio", "e": "Preposizione",
+		"c": "Congiunzione", "i": "Interiezione", "n": "Onomastica", "f": "Citazione", "l": "Locuzione",
+		"r-e": "Articolo, Preposizione", "b-v": "Avverbio, Verbo", "p-v": "Pronome, Verbo",
+		"b-p-v": "Avverbio, Pronome, Verbo", "b-p": "Avverbio, Pronome",
+		"e-p": "Preposizione, Pronome", "a-s": "Aggettivo, Sostantivo",
+		"e-r": "Preposizione, Articolo", "v-b": "Verbo, Avverbio", "v-p": "Verbo, Pronome",
+		"v-p-b": "Verbo, Pronome, Avverbio", "p-b": "Pronome, Avverbio",
+		"p-e": "Pronome, Preposizione", "s-a": "Sostantivo, Aggettivo",
+	}
 
 
-var categoriegrammaticaliGrammar=`Expression = head:(Filtro){return 'Verbo,'+head.join()}
+	var categoriegrammaticaliGrammar = `Expression = head:(Filtro){return 'Verbo,'+head.join()}
 Filtro= fhead:("v")? tail:( transitivita? diatesi? impersonalita?
     						coniugazione? modotempo?
                             persona? funzione? declinazione?
@@ -2164,7 +2170,7 @@ _ "whitespace"= " "*
 
 `
 
-var categoriaGrammaticaleSostantivo = `
+	var categoriaGrammaticaleSostantivo = `
 Expression = head:(Filtro){return 'Sostantivo,'+head.join()}
 Filtro= fhead:("s")? tail:( genereforma? declinazionesostantivo? generelemma?
     						numersingolareplurale? locuzione?){return tail}
@@ -2190,7 +2196,7 @@ _ "whitespace"= " "*
 
 `
 
-var categoriaGrammaticalePreposizione = `
+	var categoriaGrammaticalePreposizione = `
 Expression = head:(Filtro){return 'Preposizione,'+head.join()}
 Filtro= fhead:("e")? tail:( tipo1? tipo2? sintassi? complemento1? complemento2?){return tail}
     
@@ -2272,7 +2278,7 @@ complemento2=
     "k14" {return(" Di Rapporto")}
 
 `
-var avverbio = ` Expression = head:(Filtro){return 'Avverbio,'+head.join()}
+	var avverbio = ` Expression = head:(Filtro){return 'Avverbio,'+head.join()}
 Filtro= fhead:("b")? tail:( fake?  tipo?){return tail}
      
 fake= ""
@@ -2295,7 +2301,7 @@ _ "whitespace"= " "*
 
 `
 
-var pronome = `
+	var pronome = `
 
 Expression = head:(Filtro){return 'Pronome,'+head.join()}
 Filtro= fhead:("p")? tail:(  tipo_pronome? classe_pronome? genere_pronome? 
@@ -2347,7 +2353,7 @@ Integer "integer"
 _ "whitespace"= " "*
 
 `
-var categoriaGrammaticaleAggettivo = `
+	var categoriaGrammaticaleAggettivo = `
 Expression = head:(Filtro){return 'Aggettivo,'+head.join()}
 Filtro= fhead:("a")? tail:(  tipo_aggettivo classe_aggettivo? genere_aggettivo? 
 		numero_aggettivo? grado_aggettivo? tipo_complemento? tipo_frase? 
@@ -2430,7 +2436,7 @@ Integer "integer"
 _ "whitespace"= " "*
 		
 `
-var categoriaGrammaticaleArticolo = `
+	var categoriaGrammaticaleArticolo = `
 
 Expression = head:(Filtro){return 'Articolo,'+head.join()}
 Filtro= fhead:("r")? tail:(  tipo? genere? numero?){return tail}
@@ -2455,7 +2461,7 @@ _ "whitespace"= " "*
 		
 
 `
-var citazione = `
+	var citazione = `
 Expression = head:(Filtro){return 'Citazione,'+head.join()}
 Filtro= fhead:("f") tail:(  fake? tipo?){return tail}
 
@@ -2529,17 +2535,17 @@ Integer "integer"
 
 _ "whitespace"= " "*
 `
-//parser per categorie grammaticali
-var parserVerbi = peg.generate(categoriegrammaticaliGrammar);
-var parserSostantivi = peg.generate(categoriaGrammaticaleSostantivo);
-var parserPreposizioni = peg.generate(categoriaGrammaticalePreposizione);
-var parserAvverbi = peg.generate(avverbio);
-var parserPronomi = peg.generate(pronome);
-var parserAggettivi = peg.generate(categoriaGrammaticaleAggettivo);
-var parserArticolo = peg.generate(categoriaGrammaticaleArticolo);
-var parserCitazione = peg.generate(citazione);
-var parserOnomastica = peg.generate(onomastica);
-var parserCongiunzione = peg.generate(congiunzione);
+	//parser per categorie grammaticali
+	var parserVerbi = peg.generate(categoriegrammaticaliGrammar);
+	var parserSostantivi = peg.generate(categoriaGrammaticaleSostantivo);
+	var parserPreposizioni = peg.generate(categoriaGrammaticalePreposizione);
+	var parserAvverbi = peg.generate(avverbio);
+	var parserPronomi = peg.generate(pronome);
+	var parserAggettivi = peg.generate(categoriaGrammaticaleAggettivo);
+	var parserArticolo = peg.generate(categoriaGrammaticaleArticolo);
+	var parserCitazione = peg.generate(citazione);
+	var parserOnomastica = peg.generate(onomastica);
+	var parserCongiunzione = peg.generate(congiunzione);
 
 
 });