 var sTerms = "";
 var aTerms = new Array();

 function addword(checked,word)
 {
   var aNewList = new Array();
   var found = false;

   if (checked) {
     // Check for the term already existing in the array
     for (i=0; i < aTerms.length; i++) {
       if (aTerms[i] == word) found = true;
     }
     if (!found) aTerms[aTerms.length] = word;  
   } else {
     for (i=0; i < aTerms.length; i++) {
       if (aTerms[i] == word) aTerms[i] = "";
     }

   }		

   // copy over the nonblank terms to wordline.
   var wordline = "";
   var trailers = new RegExp("/\s*$/g");
   var realcount = 0;

   for (i=0; i < aTerms.length; i++) {
      aTerms[i].replace(trailers,"");
      if ((aTerms[i] != "")&&(aTerms[i] != "\n")) {
        if (realcount > 0) wordline += ",";
	wordline += aTerms[i];
	realcount++
      }
   }

   // redefine the term array.
   sTerms = wordline;
   aTerms = wordline.split(",");

   // update the form elements.
   this.document.thesaurus_keys.wordlist.value = wordline;

 }

 function loadList()
 {
   sTerms = this.opener.getThemes();
   aTerms = sTerms.split(/,\s+/);	
   this.document.thesaurus_keys.wordlist.value = sTerms;

   // Check any terms that appear in sTerms
   with (this.document.forms[0]) {
      for (i=0; i < elements.length; i++) {
          if ((sTerms.indexOf(elements[i].name) > -1) && (elements[i].type == "checkbox")) 
             elements[i].checked = true; 
      }
   }
 }

 function updateList()
 {
   sTerms = this.document.thesaurus_keys.wordlist.value;
   aTerms = sTerms.split(",\n");	

   // Check any terms that appear in sTerms
   with (this.document.forms[0]) {
      for (i=0; i < elements.length; i++) {
          if ((sTerms.indexOf(elements[i].name) > -1) && (elements[i].type == "checkbox")) 
             elements[i].checked = true
	    else elements[i].checked = false;	 
      }
   }
 }

 function update()
 {
	this.opener.setThemes(this.document.thesaurus_keys.wordlist.value); 
 }

