var sublists_in=new Array( );
var sublists_out=new Array( );
var sublists_get=new Array( );
var sublists_selected;
var sublists_init_=false;


function sublists_change() {
  var menu=document.getElementById('sublists_menu');
  sublists_selected=menu.value;
  sublist_inittab(currentrespanel);
}

function sublist_inittab(n) {
  var attr;
  var i;
  var termid;
  var status;
  var resultab=document.getElementById('result_panel_'+n);
  var listcells=resultab.getElementsByTagName('td');
  var menu=document.getElementById('sublists_menu');
  sublists_selected=menu.value;
  for (i=0;i<listcells.length;i++){
    attr=listcells[i].getAttribute('id');
    if (attr && attr.substring(0,1)=='T') {
      if(attr.indexOf('_')==-1)
	termid=attr.substring(2);
      else
	termid=attr.substring(2,attr.indexOf('_'));
      status=sublists_isTermInList(termid);
      if(status=='yes') {
        listcells[i].style.fontWeight='bold';
	listcells[i].style.color='';
      }
      if(status=='no')  {
	listcells[i].style.color='#505050';
	listcells[i].style.fontWeight='';
      }
    }
  }
}

function sublists_isTermInList(termid) { 
  var termlist=sublists_selected+"_"+termid;
  if (fenrisInTab(sublists_in,termlist))
    return 'yes';
  if (fenrisInTab(sublists_out,termlist))
    return 'no';
  if (!fenrisInTab(sublists_get,termlist)) {
    sublist_getTermInList(termid);
  }
}

function sublist_getTermInList(termid) {
  var termlist=sublists_selected+"_"+termid;
  fenrisAddTab(sublists_get,termlist);
  var xmlhttp = getHTTPObject();
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
      if (xmlhttp.status == 200) {
        var res=xmlhttp.responseText;
        var status = res.substring(0,1);
        var termlist = res.substring(1);
        sublists_setTermStatus(termlist,status);
	fenrisRemTab(sublists_get,termlist);
      }
    }
  }
  xmlhttp.open("GET", "/fenris/sublist_inlist/"+termlist+"/text", true);
  xmlhttp.send(null);
}

function sublists_setTermStatus(termlist,status) {
  var termid = termlist.substring(termlist.indexOf('_')+1);
  var i;
  var ctermid;
  var attr;

  if (status=='1') {
    fenrisAddTab(sublists_in,termlist);
    fenrisRemTab(sublists_out,termlist);
  } else {
    fenrisAddTab(sublists_out,termlist);
    fenrisRemTab(sublists_in,termlist);
  }
  var resultab=document.getElementById('result_panel_'+currentrespanel);
  var listcells=resultab.getElementsByTagName('td');
  for (i=0;i<listcells.length;i++){
    attr=listcells[i].getAttribute('id');
    if (attr && attr.substring(0,1)=='T') { 
      if(attr.indexOf('_')==-1)
        ctermid=attr.substring(2);
      else
        ctermid=attr.substring(2,attr.indexOf('_'));
      if (ctermid==termid) {
        if(status=='1') {
           listcells[i].style.fontWeight='bold';
           listcells[i].style.color='';
        }
        if(status=='0') {
	   listcells[i].style.color='#505050';
           listcells[i].style.fontWeight='';
        }
      }
    }
  }
}

function sublist_restoretab(n) {
  resultab=document.getElementById('result_panel_'+n);
  var listcells=resultab.getElementsByTagName('td');
  for (i=0;i<listcells.length;i++){
    attr=listcells[i].getAttribute('id');
    if (attr && attr.substring(0,1)=='T') {
      listcells[i].style.fontWeight='';
      listcells[i].style.color='';
    }
  }
}


function sublists_addterm(termid){
  var termlist=sublists_selected+"_"+termid;
  var xmlhttp = getHTTPObject();
  xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4) {
      if (xmlhttp.status == 200) {
        var res=xmlhttp.responseText;
        var status = res.substring(0,1);
        var termlist = res.substring(1);
        sublists_setTermStatus(termlist,status);
      }
    }
  }
  xmlhttp.open("GET", "/fenris/sublist_toggle/"+termlist+"/text", true);
  xmlhttp.send(null);
}






function sublists_exit(){
    return true;
}

