/**
 * 
 */
/*import {Runtime, Library, Inspector} from "https://hdnlab1.isti.cnr.it/d3search/node_modules/commarcdiag/runtime.js";
import commarc from "https://hdnlab1.isti.cnr.it/d3search/node_modules/commarcdiag/index.js";*/
import {Runtime, Library, Inspector} from "https://lida.dantenetwork.it/node_modules/commarcdiag/runtime.js";
import commarc from "https://lida.dantenetwork.it/node_modules/commarcdiag/index.js";
import {formaClass, lisid, lsentid, vistaPeriodi, listaPeriodiRisultato, listaClausoleRisultato, cantoDisplayed} from "./browseMgr_5.0.js"
import { fillStructCard, emptyStructCard } from "./script_5.0.js";

const iframe = document.getElementsByClassName("minimap__content");
const runtime1 = new Runtime(new Library(name => {
	console.log('name' +name)
	  switch (name) {
	    case "d3@^5.8": return d3;
	    case "d3@^6.0": return d3;
	  }
}));


document.addEventListener("dblclick", function(e){
  const target = e.target.closest("."+formaClass);
  
  if(target){
	
	
	if(resetGraphStr())
		return
    
	var hcontainer="#structCard0"

	var main=runtime1.module(commarc, name => {
	  
	  //if (name === "sentenceStructArcs_new") {
	  if (name === "sentenceArcsStructs_new") {
			const structel = document.getElementsByClassName(lsentid);
	  		console.log(structel[0].parentNode.getAttribute('value'))
	  		var stid=lsentid.split('_')
	  		var structid=stid[0]+'_'+stid[1]+'_'+structel[0].parentNode.getAttribute('value')
	  		console.log(structid)
			fillStructCard(structid);
	  	 	return new Inspector(document.querySelector(hcontainer));
	  	}
	
	});
	
	if (lisid!=''){
		//var mywidth=document.getElementById('displaycanto').offsetWidth
		
		console.log('here graph '+lisid+' '+lsentid)
		
			
		main.redefine('width', 625);
		main.redefine("lisid", lisid);
		const structel = document.getElementsByClassName(lsentid);
	  		
	  	var stid=lsentid.split('_')
	  	var structid=stid[0]+'_'+stid[1]+'_'+structel[0].parentNode.getAttribute('value')
	  		
		fillStructCard(structid)
		
		var collection = document.getElementsByClassName(lsentid);
		for (let i = 0; i < collection.length; i++) {
  			//collection[i].classList.add('font-weight-normal');
  			collection[i].classList.add('font-italic');
  			if (!vistaPeriodi){
				var synttp=collection[i].className.split(" ")[1]
				collection[i].style.color = colorssp(mapsynttypestopalette[synttp]);
			}
  			
 			//collection[i].style.removeProperty('color');
		}
		$('#tab-list #vis1-tab').tab('show')
		updateMinimap(lsentid)
		
		
	}
	else
		return
	
	
 
}

});


/*function resetMinimap(sentid){
	//var iframe = document.getElementsByClassName("minimap__content");
	
 	var iframeDocument = iframe[0].contentDocument || iframe[0].contentWindow.document;
 	if (!iframeDocument) {
   		throw "iframe couldn't be found in DOM.";
	}
	var iframeSentence = iframeDocument.getElementsByClassName(sentid);
		for (let i = 0; i < iframeSentence.length; i++) {
  			iframeSentence[i].classList.remove('font-italic');
  			if (!vistaPeriodi)
  				iframeSentence[i].style.removeProperty('color');
  			
  			iframeSentence[i].classList.remove('font-weight-normal');
	}

}*/


function updateMinimap(sentid){
	//var iframe = document.getElementsByClassName("minimap__content");
	
 	var iframeDocument = iframe[0].contentDocument || iframe[0].contentWindow.document;
 	if (!iframeDocument) {
   		throw "iframe couldn't be found in DOM.";
	}
	var iframeSentence = iframeDocument.getElementsByClassName(sentid);
	for (let i = 0; i < iframeSentence.length; i++) {
  		iframeSentence[i].classList.add('font-italic');
  			
  		if (!vistaPeriodi){
			var synttp=iframeSentence[i].className.split(" ")[1]
			iframeSentence[i].style.color = colorssp(mapsynttypestopalette[synttp]);
		}
	}

}

export function resetGraphStr(){
	
	var periodograph = document.getElementById("periodograph");
	if (periodograph != null) {
		let showngr = document.getElementById("periodograph").getAttribute('name').split("_")
		var tmpsent = showngr[0] + "_" + showngr[1] + "_s_" + showngr[2]
		periodograph.parentNode.removeChild(periodograph);

		//var sentence = document.getElementsByClassName(lsentid);
		var sentence = document.getElementsByClassName(tmpsent);

		for (let i = 0; i < sentence.length; i++) {
			//var matches = listaClausoleRisultato.filter(s => s.includes(sentence[i].classList[0]));
			sentence[i].classList.remove('font-italic');
			if (!vistaPeriodi && !listaPeriodiRisultato.includes(tmpsent)
				&& listaClausoleRisultato.filter(cl => cl.split('-')[0]==tmpsent).length==0)
				sentence[i].style.removeProperty('color');

			sentence[i].classList.remove('font-weight-normal');

		}

		//reset Minimap
		var iframeDocument = myiframe[0].contentDocument || myiframe[0].contentWindow.document;
		if (!iframeDocument) {
			throw "iframe couldn't be found in DOM.";
		}
		var iframeSentence = iframeDocument.getElementsByClassName(tmpsent);
		for (let i = 0; i < iframeSentence.length; i++) {
			iframeSentence[i].classList.remove('font-italic');
			if (!vistaPeriodi)
				iframeSentence[i].style.removeProperty('color');

			iframeSentence[i].classList.remove('font-weight-normal');
		}
		//EMPTY CARD
		emptyStructCard()

		if (tmpsent == lsentid) {

			return true
		}

		return false

	}
}