


function switch_showhide(id) {
 f0 = document.getElementById(id+'none');
 f1 = document.getElementById(id+'inline');
 f0.id = id+'inline';
 f1.id = id+'none';
 f0.name = id+'inline';
 f1.name = id+'none';
 f0 = document.getElementById(id+'none_none');
 f1 = document.getElementById(id+'inline_inline');
 f0.style.display = 'inline';
 f0.id = id+'inline_inline';
 f1.style.display = 'none';
 f1.id = id+'none_none';
}

function update_oldns() {
  r = document.getElementById('setnamespace');
  messagetxt = "'Set Namespaces' used: ";
  cleared = 0;
  hasclear = 0;
  for (i=0; i < r.options.length; i++) {
     if (r.options[i].value == 'CLEAR SET')
        hasclear = 1;
     if (r.options[i].selected == true) {
        if (r.options[i].value == 'CLEAR SET') {
           cleared = 1;
           r.remove(i);
           messagetxt = "'Set Namespaces' cleared! Use 'Default Namespaces' again if defined!";
        }
        if (cleared == 0)
           messagetxt += r.options[i].value + ", ";
     }
  }

  if (hasclear == 0) {
    if (r.selectedIndex >= 0) {
       var elOptNew = document.createElement('option');
       elOptNew.text = 'CLEAR SET';
       elOptNew.value = 'CLEAR SET';
       var elOptOld = r.options[0];

       try {
         r.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
       }
       catch(ex) {
         r.add(elOptNew, elSel.selectedIndex); // IE only
       }
    }
   }

  m = document.getElementById('oldns');
  m.value = messagetxt;

  for (i=0; i < 100000; i++)
      sleep = "waiting ...." + i*i;

  return true;
}

function update_mode() {
  r = document.getElementById('results');
  nos = 0;
  for (i=0; i < r.options.length; i++) {
     if (r.options[i].selected == true) {
        nos += 1;
     }
  }
  m = document.getElementById('mode');
  for (i=0; i < m.options.length; i++) {
     if (m.options[i].value == 'intersect') {
        if (nos == 1) {
           m.options[i].selected = false;
           m.options[i].disabled = true;
        } else {
           m.options[i].disabled = false;
        }
     }
  }
  return true;
}

function update_select_all(projectname) {
 r = document.getElementsByName('results');
 foundunchecked = 0;
 for(var i = 0; i < r.length; i++) {
        pp = r[i].value.indexOf(projectname+'|');
        if (pp >= 0) {
           if (!r[i].checked)
              foundunchecked = 1;
        }
 }

 for(var i = 0; i < r.length; i++) {
    pp = r[i].value.indexOf(projectname+'|');
    if (pp >= 0) {
      if (foundunchecked == 1) {
        if (!r[i].checked)
             r[i].checked = true;
      } else {
        if (r[i].checked)
             r[i].checked = false;
      }
    }
 }
}

function update_result_names() {
 s = document.getElementById('sets');
 s.value = '';
 r = document.getElementsByName('results');
 for(var i = 0; i < r.length; i++) {
        if (r[i].checked) {
              if (s.value == '')
                 s.value = r[i].value;
              else
                 s.value = s.value+'#'+r[i].value;
        }
 }
}

function update_result_rename(newname) {
 var nn = document.getElementById(newname);
 var s = document.getElementById('sets');
 s.value = '';
 var r = document.getElementsByName('results');
 var done = 0;
 for(var i = 0; i < r.length; i++) {
        if (r[i].checked) {
           if (done == 0) {
              s.value = r[i].value;
              r[i].value = nn.value;
              done = 1;
           } else
             r[i].checked = false;
        }
 }
 if (nn.value != '')
    setTimeout('window.location.reload()',1000);
}

function update_result_clear() {
 var s = document.getElementById('sets');
 s.value = '';
 var r = document.getElementsByName('results');
 var cnt = 0;
 for(var i = 0; i < r.length; i++) {
        if (r[i].checked)
           cnt += 1;
 }
 if (cnt > 0) {
    var c = confirm("Sure to delete "+cnt+" result sets?");
    if (c == false) {
       for(var i = 0; i < r.length; i++)
          r[i].checked = false;
       s.value = 'cancel';
       return;
    }
 }

 for(var i = 0; i < r.length; i++) {
        if (r[i].checked) {
              var td = document.getElementById('d_'+r[i].value)
              td.innerHTML = '<span style="color:red">Deleted ('+r[i].value+')</span>';
              if (s.value == '')
                 s.value = r[i].value;
              else
                 s.value = s.value+'#'+r[i].value;
              r[i].checked = false;
              r[i].disabled = true;
        }
 }
}

function update_result_combine(newname) {
 nn = document.getElementById(newname);
 s = document.getElementById('sets'); // save old name for DB update in php
 s.value = '';
 r = document.getElementsByName('results');

 for(var i = 0; i < r.length; i++) {
        if (r[i].checked) {
              if (s.value == '')
                 s.value = r[i].value;
              else
                 s.value = s.value+'||'+r[i].value;
              }
 }
 if (nn.value != '') // result will be saved
    setTimeout('window.location.reload()',1000);
}


function update_cleared_list(id) {
 if (id.indexOf('menue') == 0) {
    mode = 'menue-clear';
 } else {
   m = document.getElementById('mode');
   for (i=0; i < m.options.length; i++) {
     if (m.options[i].selected == true) {
        if (m.options[i].value != 'clear') {
           mode = 'add';
        } else {
           msi = i;
           mode = 'clear';
        }
     }
   }
 }

 r = document.getElementById('results');
 if (mode == 'menue-clear') { // one of the Clear buttons was pressed
    try { // check if result list exists which needs updateing
       i = r.options.length;
       }
    catch(ex) { // if not, no need to update a list
       return true;
    }
 } else { // form was executed which allows to delete specific result
    n = document.getElementById('postfix');
    cn = 'Result'+n.value;
 }
 roptval = '';
 for (i=0; i < r.options.length; i++) {
     if (mode == 'menue-clear') {
        if (id == 'menue-clear-all' || id == 'menue-clear-select') {
           if (r.options[i].value.indexOf('Select') == 0) {
              r.options[i].selected = false;
              r.options[i].disabled = true;
           }
        }
        if (id == 'menue-clear-all' || id == 'menue-clear-result') {
           if (r.options[i].value.indexOf('Result') == 0) {
              r.options[i].selected = false;
              r.options[i].disabled = true;
           }
        }
     } else {
       if (r.options[i].selected == true) {
        if (mode == 'clear') {
           roptval += r.options[i].value+"||";
           r.options[i].selected = false;
           r.options[i].disabled = true;
        }
       }
     }
 }

 if (mode == 'clear') {
    var where = (navigator.appName == "Microsoft Internet Explorer") ? -1 : null;

    roptval = roptval.substring(0,roptval.length-2);
    m.options[msi].text += ":::"+roptval;
 }
 if ((mode == 'add') && (cn != 'Result')) {
  if (r.selectedIndex >= 0) {
    var elOptNew = document.createElement('option');
    elOptNew.text = cn;
    elOptNew.value = cn;
    var elOptOld = r.options[r.selectedIndex];


    try {
      r.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      r.add(elOptNew, elSel.selectedIndex); // IE only
    }
  }
 }

 return true;
}

//////////// Changing ajax generated tables to sortable
function init_table_sort(id) {
 if (document.getElementById(id)) {
    sortables_init();
 }
 else {
    setTimeout("init_table_sort('"+id+"')", 100);
 }
return true;
}

///// GenesByBindingSiteFeature image chooser
function showBindingSiteFeature(id) {
   m = document.getElementById(id);
   for (i=0; i < m.options.length; i++) {
     if (m.options[i].selected == true) {
        imgsrc = 'http://plasmodb.org/a/images/pf_tfbs/'+m.options[i].value+'.png';
     }
   }
   document.getElementById('tfbsimage').src = imgsrc;
}


