// -*- C++ -*- commento per la commutazione automatica di emacs in C++-mode

CSInit = new Array;
function CSScriptInit() {
  if(typeof(skipPage) != "undefined") { if(skipPage) return; }
  idxArray = new Array;
  for(var i=0;i<CSInit.length;i++)
    idxArray[i] = i;
  CSAction2(CSInit, idxArray);}
CSAg = window.navigator.userAgent; CSBVers = parseInt(CSAg.charAt(CSAg.indexOf("/")+1),10);
function IsIE() { return CSAg.indexOf("MSIE") > 0;}
function CSIEStyl(s) { return document.all.tags("div")[s].style; }
function CSNSStyl(s) { return CSFindElement(s,0); }
function CSFindElement(n,ly) { if (CSBVers < 4) return document[n];
 var curDoc = ly ? ly.document : document; var elem = curDoc[n];
 if (!elem) { for (var i=0;i<curDoc.layers.length;i++) {
   elem = CSFindElement(n,curDoc.layers[i]); if (elem) return elem; }}
 return elem;
}
		
function CSClickReturn () {
  var bAgent = window.navigator.userAgent; 
  var bAppName = window.navigator.appName;
  if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
    return true; // dont follow link
  else return false; // dont follow link
}
		
function CSButtonReturn () {
  var bAgent = window.navigator.userAgent; 
  var bAppName = window.navigator.appName;
  if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
    return false; // follow link
  else return true; // follow link
}
		
CSIm = new Object();
function CSIShow(n,i) {
  if (document.images) {
    if (CSIm[n]) {
      var img = (!IsIE()) ? CSFindElement(n,0) : document[n];
      if (img && typeof(CSIm[n][i].src) != "undefined") {img.src = CSIm[n][i].src;}
      if(i != 0)
	self.status = CSIm[n][3];
      else
	self.status = " ";
      return true;
    }
  }
  return false;
}
function CSILoad(action) {
  im = action[1];
  if (document.images) {
    CSIm[im] = new Object();
    for (var i=2;i<5;i++) {
      if (action[i] != '') { CSIm[im][i-2] = new Image(); CSIm[im][i-2].src = action[i]; }
      else CSIm[im][i-2] = 0;
    }
    CSIm[im][3] = action[5];
  }
}
CSStopExecution = false;
function CSAction(array) { 
  return CSAction2(CSAct, array);
}
function CSAction2(fct, array) { 
  var result;
  for (var i=0;i<array.length;i++) {
    if(CSStopExecution) return false; 
    var actArray = fct[array[i]];
    if (actArray == null) return false;
    var tempArray = new Array;
    for(var j=1;j<actArray.length;j++) {
      if((actArray[j] != null) && (typeof(actArray[j]) == "object") && (actArray[j].length == 2)) {
	if(actArray[j][0] == "VAR") {
	  tempArray[j] = CSStateArray[actArray[j][1]];
	}
	else {
	  if(actArray[j][0] == "ACT") {
	    tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
	  }
	  else
	    tempArray[j] = actArray[j];
	}
      }
      else
	tempArray[j] = actArray[j];
    }			
    result = actArray[0](tempArray);
  }
  return result;
}

function CSCloseWindow() { 
if (self.parent.frames.length != 0) {
	self.parent.close()	
	} else {
	window.close()
	}
}

CSAct = new Object;
	
function printPage()
 { 
   // Stampa della pagina corrente.
   window.print();
   return false;
 } 


// Open window per immagini, versione senza nome finestra.
function bivioOImgS(theUrl) {
  // parametri inline:
  //  'theUrl,'',700,600,false,false,false,false,false,false,true
	var wf = "";
	wf = wf + "width=" + "700";
	wf = wf + ",height=" + "600";
  	wf = wf + ",resizable=yes";
//  	wf = wf + ",scrollbars=yes";
//  	wf = wf + ",menubar=yes";
//  	wf = wf + ",toolbar=yes";
//  	wf = wf + ",directories=yes";
//  	wf = wf + ",location=yes";
	wf = wf + ",status=yes";

	var newWindow = window.open(theUrl,'',wf);
	newWindow.focus();

  return CSClickReturn();
}

// Open window per immagini, versione con nome finestra.
function bivioOImgN(theUrl) {
  // come bivioOImgS ma con target.....
  // parametri inline:
  //  'theUrl,'bivioImgWinTarget',700,600,false,false,false,false,false,false,true
	var wf = "";
	wf = wf + "width=" + "700";
	wf = wf + ",height=" + "600";
  	wf = wf + ",resizable=yes";
//  	wf = wf + ",scrollbars=yes";
//  	wf = wf + ",menubar=yes";
//  	wf = wf + ",toolbar=yes";
//  	wf = wf + ",directories=yes";
//  	wf = wf + ",location=yes";
	wf = wf + ",status=yes";

	var newWindow = window.open(theUrl,'',wf);
	newWindow.focus();

  return CSClickReturn();
}

// -------------------------------------------------------------------------------------


// Funzione che in input richiede il nome dell'elemento e restituisce, indipendentemente 
// dal browser, il puntatore a quell'elemento nel documento corrente.
function getElement(elementName)
{
  if (document.getElementById)
    return document.getElementById(elementName)
      else if (document.all)
	return document.all[elementName]
	  else if (document.layers)	  
	    return document.layers[elementName]
}

// Funzione per la gestione dei parametri di raffinamento nelle form di ricerca
// ... chiamata durante l'evento onsubmit.
function checkSearchForm(singleWork)
{      
  // Variabili locali.
  var searchForm = getElement("searchForm"); // Form della ricerca.
  var inputRefineData = getElement("inputRefineData"); // Form dei raffinamenti.
  var removeSpecialChars = new RegExp ('[*]+', 'gi'); // Esp. regolare per eliminare i caratteri speciali '*'. 
  var patternWords = searchForm.fldPattern.value.split(/\s+/); // Array contenente le parole digitate nel pattern principale.
  var wordSeparatorCharsArray; // Array contenente i caratteri di tipo spazio.
  var II;

  // Caricamento dell'array dei caratteri di tipo spazio.
  wordSeparatorCharsArray = wordSeparatorChars.split(','); // wordSeparatorChars è una var. glob. dichiarata nella pagina della ricerca.
  for (II = 0; II < wordSeparatorCharsArray.length; II++) {

    // Test se il carattere corrente è un Unicode composto da più codici numerici.
    if (wordSeparatorCharsArray[II].indexOf(' ') != -1) {
      var converSpaceSep = new RegExp ('[ ]+', 'gi');
      wordSeparatorCharsArray[II] = wordSeparatorCharsArray[II].replace(converSpaceSep, ',');
    }

    // Trasformazione dei valori numerici Unicode in caratteri.	  
    eval("wordSeparatorCharsArray[II] = String.fromCharCode(" + wordSeparatorCharsArray[II] + ");");
  }

  // Test se nel campo stringa principale è stata inserita più di una parola.
  if (patternWords.length > 1) {
    // Messaggio di avvertimento.
    alert(LangMessagges[0]);
      
    // Spostamento delle stringhe di raffinamento nell'apposito campo.
    for (II = 1; II < patternWords.length; II++) {
      if (searchForm.fldDistPattern.value.length)
	searchForm.fldDistPattern.value += ' ' +  patternWords[II];
      else
	searchForm.fldDistPattern.value += patternWords[II];
    }
      
    // Aggiornamento campo principale.
    searchForm.fldPattern.value = patternWords[0];
    
    return false;

  } else {

    // Controllo che il pattern da ricercare non sia vuoto (dal conteggio vengono esclusi i caratteri speciali).
    if (searchForm.fldPattern.value.replace(removeSpecialChars, '').length < 2) {
      alert(LangMessagges[1]);
      return false;
    }
      
    // Gestione dei caratteri di tipo spazio.
    var wordSepCharInMainPattern = new Array(); // Caratteri di tipo spazio nella stringa principale.
    var wordSepCharInCorrPattern = new Array(); // Caratteri di tipo spazio nella stringa correlata.
      
    // Scansione dell'array contenente i caratteri di tipo spazio.
    for (II = 0; II < wordSeparatorCharsArray.length; II++) {

      // Caratteri da eslcudere dal test.
      if (wordSeparatorCharsArray[II] != ' '
	  && wordSeparatorCharsArray[II] != '*') {
	
	// Test sulla presenza di caratteri spazio nella stringa principale.	    
	if (searchForm.fldPattern.value.indexOf(wordSeparatorCharsArray[II]) != -1)
	  wordSepCharInMainPattern.push(wordSeparatorCharsArray[II]);
	      
	// Test sulla presenza di caratteri spazio nella stringa correlata.
	if (searchForm.fldDistPattern.value.indexOf(wordSeparatorCharsArray[II]) != -1)
	  wordSepCharInCorrPattern.push(wordSeparatorCharsArray[II]);
      }	    
    }

      
    // Test se è stato trovato qualche carattere spazio nelle stringhe digitate dall'utente.
    if (wordSepCharInMainPattern.length > 0 || wordSepCharInCorrPattern.length > 0) {
      // Variabili locali.
      var errMsg = LangMessagges[2];
	  
      if (wordSepCharInMainPattern.length > 0) {
	// Variabili locali.
	var wordSepCharInMainPatternFormatted = new String();
	      
	for (var ii = 0; ii < wordSepCharInMainPattern.length; ii++)
	  if (ii == 0)
	    wordSepCharInMainPatternFormatted += "'" + wordSepCharInMainPattern[ii] + "'";
	  else
	    wordSepCharInMainPatternFormatted += " '" + wordSepCharInMainPattern[ii] + "'";
	      
	errMsg += "\n\n" + wordSepCharInMainPattern.length + ((wordSepCharInMainPattern.length == 1) ? LangMessagges[3] : LangMessagges[4]) + LangMessagges[5] + ((wordSepCharInMainPattern.length == 1) ? LangMessagges[6] : LangMessagges[7]) + LangMessagges[8] + wordSepCharInMainPatternFormatted;
      }
      
      if (wordSepCharInCorrPattern.length > 0) {
	// Variabili locali.
	var wordSepCharInCorrPatternFormatted = new String();
	
	for (var ii = 0; ii < wordSepCharInCorrPattern.length; ii++)
	  if (ii == 0)
	    wordSepCharInCorrPatternFormatted += "'" + wordSepCharInCorrPattern[ii] + "'";
	  else
	    wordSepCharInCorrPatternFormatted += " '" + wordSepCharInCorrPattern[ii] + "'";
	
	errMsg += "\n\n" + wordSepCharInCorrPattern.length + ((wordSepCharInCorrPattern.length == 1) ? LangMessagges[3] : LangMessagges[4]) + LangMessagges[5] + ((wordSepCharInCorrPattern.length == 1) ? LangMessagges[6] : LangMessagges[7]) + LangMessagges[9] + wordSepCharInCorrPatternFormatted;
      }

      // Stampa del messaggio di errore.
      alert(errMsg);
      return false;
    }

    // Esp. regolare per testare l'uso corretto dei caratteri '*' e ' ' all'interno della stringa principale.
    var findSpecialCharsInPattern = new RegExp ('^[*]?[^* ]+[*]?[ ]*$', 'gi');

    // Test sulla correttezza della stringa principale.      
    if (searchForm.fldPattern.value.search(findSpecialCharsInPattern) == -1) {
      // Stampa del messaggio di errore.
      alert(LangMessagges[10]);
      return false;
    }

    // Acquisizione delle parole presenti nel campo di correlazione.
    var wordsInCorrPattern = searchForm.fldDistPattern.value.split(/\s+/);

    // Test sulla correttezza della stringhe correlate.
    if (searchForm.fldDistPattern.value.length > 0 && wordsInCorrPattern.length > 0) {    

      for (var II = 0; II < wordsInCorrPattern.length; II++) {

	// Test sulla correttezza della singola stringa correlata.
	if (wordsInCorrPattern[II].search(findSpecialCharsInPattern) == -1) {
	  // Stampa del messaggio di errore.
	  alert(LangMessagges[11] + (II + 1) + LangMessagges[12]);
	  return false;
	}	      
      }
    }

  }


  // Reset variabili unione valori autori e sezioni.
  searchForm.fldSections.value = "";
  searchForm.fldAuthors.value = "";
  searchForm.fldLangs.value = "";

  if (singleWork == 0) {
    for(II = 1; II <= getElement("sectLen").value; ++II) {
      // Se selezionato aggiungilo alla stringa totale delle sezioni.
      if (getElement("fldSection" + II).checked) {
	if (searchForm.fldSections.value.length) 
	  searchForm.fldSections.value += "," + getElement("fldSection" + II).value;
	else
	  searchForm.fldSections.value = getElement("fldSection" + II).value;
      }
    }
    
    // Aggiunta del raffinamento lista di autori.
    for(II = 0; II < refineAuthorList.length; ++II) {
      if (refineAuthorList[II]["selected"] == 1) {
	if (searchForm.fldAuthors.value.length)
	  searchForm.fldAuthors.value += "," + inputRefineData.fldAuthors.options[II + 1].value;
	else
	  searchForm.fldAuthors.value = inputRefineData.fldAuthors.options[II + 1].value;
      }
    } 
  }

  for(II = 1; II <= getElement("langLen").value; ++II) {
    // Se selezionato aggiungilo alla stringa totale delle lingue.
    if (getElement("fldLang" + II).checked) {    
      if (searchForm.fldLangs.value.length)
	searchForm.fldLangs.value += "," + getElement("fldLang" + II).value;
      else
	searchForm.fldLangs.value = getElement("fldLang" + II).value;
    }
  }

  searchForm.fldCit.value = (getElement("fldCitation").checked) ? 1 : 0;
  searchForm.fldNot.value = (getElement("fldNotabilia").checked) ? 1 : 0;

  return true;
} // fine checkSearchForm()


// Funzione per la gestione della form di ricerca semplice
// ... chiamata durante l'evento onsubmit.
function checkSimpleSearchForm()
{      
  // Variabili locali.
  var searchForm = getElement("simpleSearchForm"); // Form della ricerca.
  var removeSpecialChars = new RegExp ('[*]+', 'gi'); // Esp. regolare per eliminare i caratteri speciali '*'. 
  var patternWords = searchForm.fldPattern.value.split(/\s+/); // Array contenente le parole digitate nel pattern principale.
  var wordSeparatorCharsArray; // Array contenente i caratteri di tipo spazio.
  var II;

  // Caricamento dell'array dei caratteri di tipo spazio.
  wordSeparatorCharsArray = wordSeparatorChars.split(','); // wordSeparatorChars è una var. glob. dichiarata nella pagina della ricerca.
  for (II = 0; II < wordSeparatorCharsArray.length; II++) {

    // Test se il carattere corrente è un Unicode composto da più codici numerici.
    if (wordSeparatorCharsArray[II].indexOf(' ') != -1) {
      var converSpaceSep = new RegExp ('[ ]+', 'gi');
      wordSeparatorCharsArray[II] = wordSeparatorCharsArray[II].replace(converSpaceSep, ',');
    }

    // Trasformazione dei valori numerici Unicode in caratteri.	  
    eval("wordSeparatorCharsArray[II] = String.fromCharCode(" + wordSeparatorCharsArray[II] + ");");
  }

  // Test se nel campo stringa principale è stata inserita più di una parola.
  if (patternWords.length > 1) {
    alert(LangMessagges[13]);
      
    // Aggiornamento campo principale.
    searchForm.fldPattern.value = patternWords[0];
    
    return false;

  } else {

    // Controllo che il pattern da ricercare non sia vuoto (dal conteggio vengono esclusi i caratteri speciali).
    if (searchForm.fldPattern.value.replace(removeSpecialChars, '').length < 2) {
      alert(LangMessagges[14]);
      return false;
    }
      
    // Gestione dei caratteri di tipo spazio.
    var wordSepCharInMainPattern = new Array(); // Caratteri di tipo spazio nella stringa principale.
      
    // Scansione dell'array contenente i caratteri di tipo spazio.
    for (II = 0; II < wordSeparatorCharsArray.length; II++) {

      // Caratteri da eslcudere dal test.
      if (wordSeparatorCharsArray[II] != ' '
	  && wordSeparatorCharsArray[II] != '*') {
	
	// Test sulla presenza di caratteri spazio nella stringa principale.	    
	if (searchForm.fldPattern.value.indexOf(wordSeparatorCharsArray[II]) != -1)
	  wordSepCharInMainPattern.push(wordSeparatorCharsArray[II]);
      }	    
    }
      
    // Test se è stato trovato qualche carattere spazio nelle stringhe digitate dall'utente.
    if (wordSepCharInMainPattern.length > 0) {
      // Variabili locali.
      var errMsg = LangMessagges[2];
	  
      if (wordSepCharInMainPattern.length > 0) {
	// Variabili locali.
	var wordSepCharInMainPatternFormatted = new String();
	      
	for (var ii = 0; ii < wordSepCharInMainPattern.length; ii++)
	  if (ii == 0)
	    wordSepCharInMainPatternFormatted += "'" + wordSepCharInMainPattern[ii] + "'";
	  else
	    wordSepCharInMainPatternFormatted += " '" + wordSepCharInMainPattern[ii] + "'";
	      
	errMsg += "\n\n" + wordSepCharInMainPattern.length + ((wordSepCharInMainPattern.length == 1) ? LangMessagges[3] : LangMessagges[4]) + LangMessagges[5] + ((wordSepCharInMainPattern.length == 1) ? LangMessagges[6] : LangMessagges[7]) + LangMessagges[15] + wordSepCharInMainPatternFormatted;
      }

      // Stampa del messaggio di errore.
      alert(errMsg);
      return false;
    }

    // Esp. regolare per testare l'uso corretto dei caratteri '*' e ' ' all'interno della stringa principale.
    var findSpecialCharsInPattern = new RegExp ('^[*]?[^* ]+[*]?[ ]*$', 'gi');

    // Test sulla correttezza della stringa principale.      
    if (searchForm.fldPattern.value.search(findSpecialCharsInPattern) == -1) {
      // Stampa del messaggio di errore.
      alert(LangMessagges[16]);
      return false;
    }
  } 
} // fine  checkSimpleSearchForm()


// Open window per note versione con nome finestra.
function noteViewWindow(theUrl) {
  // parametri inline:
	var wf = "";
	wf = wf + "width=" + "500";
	wf = wf + ",height=" + "400";
  	wf = wf + ",resizable=no";
//  	wf = wf + ",scrollbars=yes";
//  	wf = wf + ",menubar=yes";
//  	wf = wf + ",toolbar=yes";
//  	wf = wf + ",directories=yes";
//  	wf = wf + ",location=yes";
	wf = wf + ",status=yes";

	var newWindow = window.open(theUrl,'bv_noteViewWindow',wf);
	newWindow.focus();

  return CSClickReturn();
}


/*
// Open window per immagini.
function imgView(imgSuffix) {
  // come bivioOImgS ma con target.....
  // parametri inline:
  //  'theUrl,'bivioImgWinTarget',700,600,false,false,false,false,false,false,true
  var wf = "";
  wf = wf + "width=" + "700";
  wf = wf + ",height=" + "600";
  wf = wf + ",resizable=yes";
//  	wf = wf + ",scrollbars=yes";
//  	wf = wf + ",menubar=yes";
//  	wf = wf + ",toolbar=yes";
//  	wf = wf + ",directories=yes";
//  	wf = wf + ",location=yes";
  wf = wf + ",status=yes";
  
  var cgiUrl = document.hiddenInput.cgiStringUrl.value + 
    "?model=" + 
    document.hiddenInput.imgModel.value +
    "&imgSuffix=" + 
    imgSuffix +
    "&en=cgi";
  
  window.open(cgiUrl,'',wf);
  
  return CSClickReturn();
}
*/

// Funzione per aprire una nuova finestra del browser (ad es. per visualizzare immagini, note, ecc.).
function openNewWindow(windowURL, windowName, width, height)
{
  // Variabili locali.
  var wf = "";
  wf = wf + "width=" + width;
  wf = wf + ",height=" + height;
  wf = wf + ",resizable=yes";
  wf = wf + ",scrollbars=yes";
  //  	wf = wf + ",menubar=yes";
  //  	wf = wf + ",toolbar=yes";
  //  	wf = wf + ",directories=yes";
  //  	wf = wf + ",location=yes";
  wf = wf + ",status=no";
  
  var newWindow = window.open(windowURL, windowName, wf);
  newWindow.focus();
  
  return false;
}

// ---------------------------------------------------------------------------------
// Variabile globale necessaria per la gestione dell'evidenziazione delle citazioni.
var defaultBackgroundColor = new String();
// ---------------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Funzione per evidenziare tutte le porzioni di una determinata citazione.
// -------------------------------------------------------------------------
function highlightCit(idValueSubStr, highlight)
{
  // Variabili locali.
  var allCit = document.body.getElementsByTagName("q");
  
  // Scorrimento lista dei tag che identificano le citazioni.
  for (var ii = 0; ii < allCit.length; ii++) {
    // Acquisizione e scorrimento lista degli attributi.
    citAttList = allCit.item(ii).attributes;
    
    for (var jj = 0; jj < citAttList.length; jj++) {
      if (citAttList.item(jj).nodeName == "id"
	  && citAttList.item(jj).nodeValue.indexOf(idValueSubStr) != -1)
	if (highlight == 1) {
	  defaultBackgroundColor = allCit.item(ii).style.backgroundColor;
	  allCit.item(ii).style.backgroundColor = '#FFECC8';
	} else if (highlight == 0)
	  allCit.item(ii).style.backgroundColor = defaultBackgroundColor;
    } // fine scansione attributi.
    
  } // fine scansione tags.	                			  
  
} // fine highlightCit(...)


// -------------------------------------------------------------------------
// Funzione per il controllo di correttezza della form di iscrizione.
// -------------------------------------------------------------------------
function checkAccountData(accountForm) {

  // Controllo che il nome non sia vuoto.
  if (accountForm.userName.value.length == 0) {
    alert("Il campo nome non può essere vuoto!");
    return false;
  }

  // Controllo che il cognome non sia vuoto.
  if (accountForm.userSurname.value.length == 0) {
    alert("Il campo cognome non può essere vuoto!");
    return false;
  }

  // Controllo che l'indirizzo mail sia corretto.
  if (accountForm.userEmail.value.length < 5) {
    alert("L'indirizzo Email non è valido!");
    return false;
  }

  return true;
} // fine checkAccountData(...)


// -------------------------------------------------------------------------
// Funzione per la selezione di un nuovo autore nella lista di raffinamento.
// -------------------------------------------------------------------------
function selectRefineAuthor(authorIndex, authorListDivId) {

  if (refineAuthorList[authorIndex]["selected"] == 0) {

    // Aggiornamento lista autori per il raffinamento.
    refineAuthorList[authorIndex]["selected"] = 1;
    
    // Aggiornamento della visualizzazione degli autori selezionati.
    printRefineAuthorList(authorListDivId);
  }

  return false;
} // fine selectRefineAuthor(...)

// -------------------------------------------------------------------------
// Funzione per la deselezione di un autore dalla lista di raffinamento.
// -------------------------------------------------------------------------
function deselectRefineAuthor(authorIndex, authorListDivId) {
  // Aggiornamento lista autori per il raffinamento.
  refineAuthorList[authorIndex]["selected"] = 0;
  
  // Aggiornamento della visualizzazione degli autori selezionati.
  printRefineAuthorList(authorListDivId);

  return false;
} // fine deselectRefineAuthor(...)


// -------------------------------------------------------------------------
// Funzione per la stampa della lista degli autori per il raffinamento.
// -------------------------------------------------------------------------
function printRefineAuthorList(authorListDivId) {
  // Variabili locali.
  var authorListDiv = getElement(authorListDivId);
  var authorSelCount = 0;
  
  // Stampa degli autori per il raffinamento.
  for (var ii = 0; ii < refineAuthorList.length; ii++) {
    
    if (refineAuthorList[ii]["selected"] == 1) {
      // Salvataggio nome autore corrente.
      var authorName = refineAuthorList[ii]["value"];
      
      // Incremento contatore autori selezionati.
      authorSelCount++;
      
      if (authorSelCount == 1)
	authorListDiv.innerHTML = authorName + " [ <a href=\"#\" onclick=\"return deselectRefineAuthor(" + ii + ", '" + authorListDivId + "');\">" + LangMessagges[17] + "</a> ]";
      else
	authorListDiv.innerHTML += " , " + authorName + " [ <a href=\"#\" onclick=\"return deselectRefineAuthor(" + ii + ", '" + authorListDivId + "');\">" + LangMessagges[17] + "</a> ]";      
    }
  }
  
  // Se nessun autore è selezionato svuota il div che stampa la lista. 
  if (authorSelCount == 0) authorListDiv.innerHTML = "&#160;";

  return false;
} // fine printRefineAuthorList(...)
