// sur une base de longwell pour le fonctionnement des arbres// avec du XMLHttpRequest pour son chargement.// suppose definie la fct liveTreeLoadSubTree() qui retourne quelque chose genre :// "http://127.0.0.1:8080/semanlink/loadsubtree.do" @see template.jsp// author fps// sert a avoir la bonne image (ouvert/ferme)function makeConsistent(id,element) {	var trigger = document.getElementById("trigger:" + id);	if (trigger) {	    if ((element.style.display != "none") && (trigger.src.indexOf('closed') > -1)) {	        trigger.src = trigger.src.replace(/closed/gi,"open");	    } else if ((element.style.display == "none") && (trigger.src.indexOf('open') > -1)) {	        trigger.src = trigger.src.replace(/open/gi,"closed");	    }	}}function toggle(id) {    var block = document.getElementById("block:" + id);	if (block.innerHTML == "") {		// alert("load the subtree");		// block.innerHTML = "<li>aaaa</li><li>bbb</b>";		// block.innerHTML = retrieveURL(urlToRetrieve.value)	} else {		with (block.style) {			if (display=="none") {				display="block";			} else {				display="none";			}		}	}    // sert a avoir la bonne image (ouvert/ferme)	makeConsistent(id,block);}// pour un livetree// param id par ex 1_1_2// param encodedId l'uri du kw, encodee// postTagOnClick true si le href doit avoir un onClick avec un post pour cas du pulldown du livesearch en edit=truefunction toggle2(id, encodedId, withDocs, postTagOnClick) {	// alert(id + ":" + encodedId);    var block = document.getElementById("block:" + id);	var bool = block.firstChild; // <li></li> when the subtree has not been downloaded yet	if (bool) {		bool = block.firstChild.innerHTML == "";	}	// alert(bool);	if (bool) {		// alert("load the subtree" + encodedId);		// block.innerHTML = "<li>aaaa</li><li>bbb</b>";		// ci-dessous : le & devrait êtr encode, non ?		// retrieveURL(liveTreeLoadSubTree() + "?kwuri=" + encodedId +'&divid=' + id +'&withdocs=' + 'true', id); // debug ok		var arg = liveTreeLoadSubTree() + "?kwuri=" + encodedId +'&divid=' + id;		if (withDocs == 'true') arg = arg + "&withdocs=true";		if (postTagOnClick == 'true') arg = arg + "&postTagOnClick=true";		retrieveURL(arg , id); // debug ok		// retrieveURL(liveTreeLoadSubTree() + "?kwuri=" + encodedId +'&divid=' + id +'&withdocs=' + withDocs, id); // bad	} else {		with (block.style) {			if (display=="none") {				display="block";			} else {				display="none";			}		}	}    // sert a avoir la bonne image (ouvert/ferme)	makeConsistent(id,block);    	/*// je suppose que ca sert pour garder les ouverts/fermes quand on repasse pa le serveur, u qu'on revient sur la meme page    blockStati[id] = block.style.display;    setCookie("block_stati", serializeStati(), expire);*/}var searchStr = "";////   AJAX POUR LE LIVETREE DEBUT//var req;var elementId;var isIE=false;// why asynchronous calls? Would have been much easier using synchronous calls.// see toggle2function retrieveURL(url, id) {	// alert(url);	elementId = 'block:' + id;	if (window.XMLHttpRequest) { // Non-IE browsers		req = new XMLHttpRequest();		req.onreadystatechange = processStateChange;		try {		req.open("GET", url, true);		} catch (e) {			alert(e);		}	  req.send(null);	} else if (window.ActiveXObject) { // IE		isIE = true;		req = new ActiveXObject("Microsoft.XMLHTTP");		if (req) {			req.onreadystatechange = processStateChange;			req.open("GET", url, true);			req.send();		}	}}function processStateChange() {	if (req.readyState == 4) { // Complete	  if (req.status == 200) { // OK response		ul = document.getElementById(elementId);		ul.innerHTML = req.responseText;		highlight = document.getElementById("LSHighlight");		if (highlight) {			// le changer			highlight.removeAttribute("id"); // set the hilite to false			son = highlight.firstChild.nextSibling.nextSibling.firstChild;			if (!isIE) {				highlight = son.nextSibling;			} else {				highlight = son;			}			highlight.setAttribute("id","LSHighlight");		}	  } else {		alert("Problem: " + req.statusText);	  }	}}  ////   AJAX POUR LE LIVETREE FIN//  ////////////////////////////////////////////// ceci n'a rien a voir avec les scripts precedents, juste mis la par paresse// LOAD IMAGEfunction loadImage(imageUri, imageLinkToPage) {	img = document.getElementById("displayedimage");	img.src = imageUri;	panel = document.getElementById("imagetobedisplayedpanel");	panel.style.display="block";	// ce qui suit est ok avec safari : on tombe sur le href. Mais avec firefox, prend le commentaire entre deux	// panel.firstChild.setAttribute("href",imageLinkToPage);	theHref = document.getElementById("displayedimagehref");	theHref.setAttribute("href",imageLinkToPage);}function printVersion() {	document.getElementById("right").style.display = "none";	document.getElementById("navcontainer").style.display = "none";	document.getElementById("middle").id = "middleprint";}