function validate_person()
{
 var f = document.forms[0];
 if (f.fst.value.length == 0) {
  alert("First name is required.");
  return false;
 }
 if (f.lst.value.length == 0) {
  alert("Last name is required.");
  return false;
 }
 if (f.org.value.length == 0) {
  alert("Organisation is required.");
  return false;
 }
 if (f.eml.value.length == 0) {
  alert("Email is required.");
  return false;
 }
 if (f.eml.value.indexOf("@") == -1) {
  alert("Email must contain '@'.");
  return false;
 }
 return true;
};

function validate_submitter()
{
 return validate_person();
};

function validate_pubmed_id()
{
 var f = document.forms[0];
 if (f.pid.value.length == 0) {
  alert("PubMed ID is required.");
  return false;
 }
 return true;
};

function validate_pubmed()
{
  return validate_pubmed_id()
};

function update_bid()
{
 var f = document.forms[0];
 var t = f.bids.options[f.bids.selectedIndex].text;
 f.bid.value = t.substring(0, 15);
};

function set_resource_text(form)
{
 var value = form.rnm.options[form.rnm.selectedIndex].value;
 if (value.match("ChEBI")) {
  form.rid.value = "CHEBI:";
 } else if (value.match("EC code")) {
  form.rid.value = "";
 } else if (value.match("Ensembl")) {
  form.rid.value = "ENS";
 } else if (value.match("Gene Ontology")) {
  form.rid.value = "GO:";
 } else if (value.match("IntAct")) {
  form.rid.value = "EBI-";
 } else if (value.match("InterPro")) {
  form.rid.value = "IPR";
 } else if (value.match("KEGG Compound")) {
  form.rid.value = "C";
 } else if (value.match("KEGG Reaction")) {
  form.rid.value = "R";
 } else if (value.match("PIRSF")) {
  form.rid.value = "PIRSF";
 } else {
  form.rid.value = "";
 }
 form.rid.focus();
};

function validate_resource_text(form)
{
 var name = form.rnm.options[form.rnm.selectedIndex].value;
 var id = form.rid.value;
 if (id.length == 0) {
  alert("Resource identifier is required.");
  return false;
 } 
 if (name.match("BIND")) {
  var regex = /^\d+$/
  if (!regex.test(id)) {
   alert("Invalid BIND resource identifier respect to pattern:\n^\\d+$");
   return false;
  }
 } else if (name.match("ChEBI")) {
  value = form.rid.value;
  var regex = /^CHEBI:\d{5}$/
  if (!regex.test(id)) {
   alert("Invalid ChEBI resource identifier respect to pattern:\n^CHEBI:\\d{5}$");
   return false;
  }
 } else if (name.match("EC code")) {
  value = form.rid.value;
  var regex = /^\d+|\d+\.(-|\d+)|\d+\.\d+\.(-|\d+)|\d+\.\d+\.\d+\.(-|\d+)$/
  if (!regex.test(id)) {
   alert("Invalid EC code resource identifier respect to pattern:\n^\\d+|\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.\\d+\\.(-|\\d+)$");
   return false;
  }
 } else if (name.match("Enzyme Nomenclature")) {
  value = form.rid.value;
  var regex = /^\d+|\d+\.(-|\d+)|\d+\.\d+\.(-|\d+)|\d+\.\d+\.\d+\.(-|\d+)$/
  if (!regex.test(id)) {
   alert("Invalid EC code resource identifier respect to pattern:\n^\\d+|\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.\\d+\\.(-|\\d+)$");
   return false;
  }
 } else if (name.match("Ensembl")) {
  value = form.rid.value;
  var regex = /^ENS\w{3}[FPTG]\d{11}$/
  if (!regex.test(id)) {
   alert("Invalid Ensembl resource identifier respect to pattern:\n^ENS\\w{3}[FPTG]\\d{11}$");
   return false;
  }
 } else if (name.match("Gene Ontology")) {
  value = form.rid.value;
  var regex = /^GO:\d{7}$/
  if (!regex.test(id)) {
   alert("Invalid Gene Ontology resource identifier respect to pattern:\n^GO:\\d{7}$");
   return false;
  }
 } else if (name.match("ICD10")) {
  value = form.rid.value;
  var regex = /^[A-Z]\d+(\.[-\d+])?$/
  if (!regex.test(id)) {
   alert("Invalid ICD10 resource identifier respect to pattern:\n^[A-Z]\\d+(\\.[-\\d+])?$");
   return false;
  }
 } else if (name.match("IntAct")) {
  value = form.rid.value;
  var regex = /^EBI\-[0-9]+$/
  if (!regex.test(id)) {
   alert("Invalid IntAct resource identifier respect to pattern:\n^EBI\\-[0-9]+$");
   return false;
  }
 } else if (name.match("InterPro")) {
  value = form.rid.value;
  var regex = /^IPR\d{6}$/
  if (!regex.test(id)) {
   alert("Invalid InterPro resource identifier respect to pattern:\n^IPR\\d{6}$");
   return false;
  }
 } else if (name.match("KEGG Pathway")) {
  value = form.rid.value;
  var regex = /^\w{2,3}\d{5}$/
  if (!regex.test(id)) {
   alert("Invalid KEGG Pathway resource identifier respect to pattern:\n^\w{2,3}\d{5}$");
   return false;
  }
 } else if (name.match("KEGG Compound")) {
  value = form.rid.value;
  var regex = /^C\d+$/
  if (!regex.test(id)) {
   alert("Invalid KEGG Compound resource identifier respect to pattern:\n^C\\d+$");
   return false;
  }
 } else if (name.match("KEGG Reaction")) {
  value = form.rid.value;
  var regex = /^R\d+$/
  if (!regex.test(id)) {
   alert("Invalid KEGG Reaction resource identifier respect to pattern:\n^R\\d+$");
   return false;
  }
 } else if (name.match("OMIM")) {
  value = form.rid.value;
  var regex = /^[*#+%^]?\d{6}$/
  if (!regex.test(id)) {
   alert("Invalid OMIM resource identifier respect to pattern:\n^[*#+%^]?\\d{6}$");
   return false;
  }
 } else if (name.match("PIRSF")) {
  value = form.rid.value;
  var regex = /^PIRSF\d{6}$/
  if (!regex.test(id)) {
   alert("Invalid PIRSF resource identifier respect to pattern:\n^PIRSF\\d{6}$");
   return false;
  }
 } else if (name.match("Reactome")) {
  value = form.rid.value;
  var regex = /^\d+$/
  var regex1 = /^REACT_\d+(\.\d+)?$/
  if (!regex.test(id)
	&& !regex1.test(id)) {
   alert("Invalid Reactome resource identifier respect to pattern:\n^REACT_\\d+(\\.\\d+)?$");
   return false;
  }
 } else if (name.match("Taxonomy")) {
  value = form.rid.value;
  var regex = /^\d+$/
  if (!regex.test(id)) {
   alert("Invalid Taxonomy resource identifier respect to pattern:\n^\\d+$");
   return false;
  }
 } else if (name.match("UniProt")) {
  value = form.rid.value;
  var regex = /^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$/
  if (!regex.test(id)) {
   alert("Invalid UniProt resource identifier respect to pattern:\n^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$");
   return false;
  }
 } else if (name.match("CluSTr")) {
  value = form.rid.value;
  var regex = /^[0-9A-Za-z]+:\d+:\d{1,5}(\.\d)?$/
  if (!regex.test(id)) {
   alert("Invalid CluSTr resource identifier respect to pattern:\n^[0-9A-Za-z]+:\\d+:\\d{1,5}(\\.\\d)?$");
   return false;
  }
 }
 return true;
};

function go_to_resource(form)
{
 var name = form.rnm.options[form.rnm.selectedIndex].value;
 if (name.match("BIND")) {
  open_window("http://www.bind.ca/");
 } else if (name.match("ChEBI")) {
  open_window("http://www.ebi.ac.uk/chebi/");
 } else if (name.match("EC code")) {
  open_window("http://www.ebi.ac.uk/IntEnz/");
 } else if (name.match("Enzyme Nomenclature")) {
  open_window("http://www.ebi.ac.uk/IntEnz/");
 } else if (name.match("Ensembl")) {
  open_window("http://www.ensembl.org/");
 } else if (name.match("Gene Ontology")) {
  open_window("http://www.ebi.ac.uk/ego/");
 } else if (name.match("ICD10")) {
  open_window("http://www3.who.int/icd/vol1htm2003/fr-icd.htm");
 } else if (name.match("IntAct")) {
  open_window("http://www.ebi.ac.uk/intact");
 } else if (name.match("InterPro")) {
  open_window("http://www.ebi.ac.uk/interpro/");
 } else if (name.match("KEGG Pathway")) {
  open_window("http://www.genome.jp/kegg/pathway.html");
 } else if (name.match("KEGG Compound")) {
  open_window("http://www.genome.jp/kegg/ligand.html");
 } else if (name.match("KEGG Reaction")) {
  open_window("http://www.genome.jp/kegg/ligand.html");
 } else if (name.match("OMIM")) {
  open_window("http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=OMIM");
 } else if (name.match("PIRSF")) {
  open_window("http://pir.georgetown.edu/pirsf/");
 } else if (name.match("Reactome")) {
  open_window("http://www.reactome.org/");
 } else if (name.match("Taxonomy")) {
  open_window("http://www.ebi.ac.uk/newt/display");
 } else if (name.match("UniProt")) {
  open_window("http://www.uniprot.org/");
 } else if (name.match("CluSTr")) {
  open_window("http://www.ebi.ac.uk/clustr/");
 }
};



function open_window(url)
{
  open(url);
};

function validate_login(f)
{
 if (f.usn.value.length == 0) {
  alert("Username is required.");
  return false;
 }
 if (f.psw.value.length == 0) {
  alert("Password is required.");
  return false;
 }
 return true; 
};

function open_graph_popup(url)
{
 var popup = window.open(url,'graph','dependent=yes,menubar=no,toolbar=no,location=no,directories=no,scrollbars=yes,status=yes,innerWidth=600,innerHeight=600');
 popup.focus();
};





function validate_cmtbug(f)
{
 if (f.des.value.length == 0) {
  alert("Description is required.");
  return false;
 }
 if (f.rep.value.length == 0) {
  alert("Reply to is required.");
  return false;
 }
 if (f.rep.value.indexOf("@") == -1) {
  alert("Reply to must contain '@'.");
  return false;
 }
 return true;
};

function validate_search(f)
{
 if (f.txt.value.length==0) {
  alert("Oops, please give me something by which I can search for you.");
  return false;
 }
 return true;
};

function go_to_resource(select)
{
 var name = select.options[select.selectedIndex].value;
 if (name.match("Publication")) {
  open_window("http://www.ncbi.nlm.nih.gov/PubMed/");
 } else if (name.match("BIND")) {
  open_window("http://www.bind.ca/");
 } else if (name.match("ChEBI")) {
  open_window("http://www.ebi.ac.uk/chebi/");
 } else if (name.match("EC code")) {
  open_window("http://www.ebi.ac.uk/IntEnz/");
 } else if (name.match("Enzyme Nomenclature")) {
  open_window("http://www.ebi.ac.uk/IntEnz/");
 } else if (name.match("Ensembl")) {
  open_window("http://www.ensembl.org/");
 } else if (name.match("Gene Ontology")) {
  open_window("http://www.ebi.ac.uk/ego/");
 } else if (name.match("ICD10")) {
  open_window("http://www3.who.int/icd/vol1htm2003/fr-icd.htm");
 } else if (name.match("IntAct")) {
  open_window("http://www.ebi.ac.uk/intact");
 } else if (name.match("InterPro")) {
  open_window("http://www.ebi.ac.uk/interpro/");
 } else if (name.match("KEGG Pathway")) {
  open_window("http://www.genome.jp/kegg/pathway.html");
 } else if (name.match("KEGG Compound")) {
  open_window("http://www.genome.jp/kegg/ligand.html");
 } else if (name.match("KEGG Reaction")) {
  open_window("http://www.genome.jp/kegg/ligand.html");
 } else if (name.match("OMIM")) {
  open_window("http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=OMIM");
 } else if (name.match("PIRSF")) {
  open_window("http://pir.georgetown.edu/pirsf/");
 } else if (name.match("Reactome")) {
  open_window("http://www.reactome.org/");
 } else if (name.match("Taxonomy")) {
  open_window("http://www.ebi.ac.uk/newt/display");
 } else if (name.match("UniProt")) {
  open_window("http://www.uniprot.org/");
 } else if (name.match("CluSTr")) {
  open_window("http://www.ebi.ac.uk/clustr/");
 }
};

function validate_submit(f)
{
 if (f.eml.value.length == 0) {
  alert("Email is required.");
  return false;
 }
 if (f.eml.value.indexOf("@") == -1) {
  alert("Email must contain '@'.");
  return false;
 }
 if (f.fln.value.length == 0) {
  alert("Model file is required.");
  return false;
 }
 return true;
};

function validate_signin(f)
{
 if (f.usn.value.length == 0) {
  alert("Username is required.");
  return false;
 }
 if (f.psw.value.length == 0) {
  alert("Password is required.");
  return false;
 }
 return true;
};

function validate_comment(f)
{
 if (f.cmt.value.length == 0) {
  alert("Curation comment is required.");
  return false;
 }
 return true;
};

function validate_filename(f)
{
 if (f.fln.value.length == 0) {
  alert("Model file is required.");
  return false;
 }
 return true;
};

function validate_pub_id(f)
{
 for (var i=0; i < f.pty.length; i++)
   if (f.pty[i].checked)
     var rad_val = f.pty[i].value;

 if (f.pid.value.length == 0 
	&& rad_val!="UNPUBL") {
  alert("Publication ID is required.");
  return false;
 }
 return true;
};

function validate_pub_id_when_moving(f)
{
 for (var i=0; i < f.pty.length; i++)
   if (f.pty[i].checked)
     var rad_val = f.pty[i].value;

 if (rad_val=="UNPUBL"){
  alert("Only published model can be moved to annotation.");
  return false;
 }

 if (f.pid.value.length == 0) {
  alert("Publication ID is required.");
  return false;
 }

 return true;
};


function validate_pub_data(f)
{
 if (f.jrn.value.length == 0
     && f.tit.value.length == 0
     && f.aut.value.length == 0
     && f.aff.value.length == 0
     && f.abs.value.length == 0) {
  alert("Please enter at least one publication data.");
  return false;
 }
 return true;
};

function validate_original_model(f)
{
 if (f.ori.value.length == 0) {
  alert("Please enter the link of the original model.");
  return false;
 }
 return true;
}

function validate_creator(f)
{
 if (f.giv.value.length == 0) {
  alert("Given name is required.");
  return false;
 }
 if (f.fam.value.length == 0) {
  alert("Family name is required.");
  return false;
 }
 if (f.org.value.length == 0) {
  alert("Organisation is required.");
  return false;
 }
 if (f.eml.value.length == 0) {
  alert("Email is required.");
  return false;
 }
 if (f.eml.value.indexOf("@") == -1) {
  alert("Email must contain '@'.");
  return false;
 }
 return true;
};

var popup;

//function open_popup(url)
//{
// var popup = window.open(url,'biomodels_popup','dependent=yes,menubar=no,toolbar=no,location=no,directories=no,scrollbars=yes,status=yes,innerWidth=600,innerHeight=600');
// popup.focus();
//};
function open_popup(url)
{
    window.open(url, '', 'scrollbars, resizable, dependent, width=600, height=600, left=0, top=0');
}

function open_format_and_action(thisselect){
 if (thisselect.value=="") {
  return;
 }
 if (thisselect.value.indexOf("ModelMonth")>0){
  window.open(thisselect.value);
 }else {
  open_popup(thisselect.value);
 }
}

function close_popup()
{
 //popup.close();
};

function set_resource_input_helper(form)
{
 var value = form.rnm.options[form.rnm.selectedIndex].value;
 if (value.match("ChEBI")) {
  form.rac.value = "CHEBI:";
 } else if (value.match("EC code")) {
  form.rac.value = "";
 } else if (value.match("Ensembl")) {
  form.rac.value = "ENS";
 } else if (value.match("Gene Ontology")) {
  form.rac.value = "GO:";
 } else if (value.match("IntAct")) {
  form.rac.value = "EBI-";
 } else if (value.match("InterPro")) {
  form.rac.value = "IPR";
 } else if (value.match("KEGG Compound")) {
  form.rac.value = "C";
 } else if (value.match("KEGG Reaction")) {
  form.rac.value = "R";
 } else if (value.match("PIRSF")) {
  form.rac.value = "PIRSF";
 } else {
  form.rac.value = "";
 }
 form.rac.focus();
};

function validate_resource_input(form)
{
 var name = form.rnm.options[form.rnm.selectedIndex].value;
 var input = form.rac.value;
 if (input.length == 0) {
  alert("Resource identifier is required.");
  return false;
 } 
 if (name.match("BIND")) {
  var regex = /^\d+$/
  if (!regex.test(input)) {
   alert("Invalid BIND resource identifier respect to pattern:\n^\\d+$");
   return false;
  }
 } else if (name.match("ChEBI")) {
  var regex = /^CHEBI:\d+$/
  if (!regex.test(input)) {
   alert("Invalid ChEBI resource identifier respect to pattern:\n^CHEBI:\\d+$");
   return false;
  }
 } else if (name.match("EC code")) {
  var regex = /^\d+|\d+\.(-|\d+)|\d+\.\d+\.(-|\d+)|\d+\.\d+\.\d+\.(-|\d+)$/
  if (!regex.test(input)) {
   alert("Invalid EC code resource identifier respect to pattern:\n^\\d+|\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.\\d+\\.(-|\\d+)$");
   return false;
  }
 } else if (name.match("Enzyme Nomenclature")) {
  var regex = /^\d+|\d+\.(-|\d+)|\d+\.\d+\.(-|\d+)|\d+\.\d+\.\d+\.(-|\d+)$/
  if (!regex.test(input)) {
   alert("Invalid EC code resource identifier respect to pattern:\n^\\d+|\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.(-|\\d+)|\\d+\\.\\d+\\.\\d+\\.(-|\\d+)$");
   return false;
  }
 } else if (name.match("Ensembl")) {
  var regex = /^ENS\w{3}[FPTG]\d{11}$/
  if (!regex.test(input)) {
   alert("Invalid Ensembl resource identifier respect to pattern:\n^ENS\\w{3}[FPTG]\\d{11}$");
   return false;
  }
 } else if (name.match("Gene Ontology")) {
  var regex = /^GO:\d{7}$/
  if (!regex.test(input)) {
   alert("Invalid Gene Ontology resource identifier respect to pattern:\n^GO:\\d{7}$");
   return false;
  }
 } else if (name.match("ICD10")) {
  var regex = /^[A-Z]\d+(\.[-\d+])?$/
  if (!regex.test(input)) {
   alert("Invalid ICD10 resource identifier respect to pattern:\n^[A-Z]\\d+(\\.[-\\d+])?$");
   return false;
  }
 } else if (name.match("IntAct")) {
  var regex = /^EBI\-[0-9]+$/
  if (!regex.test(input)) {
   alert("Invalid IntAct resource identifier respect to pattern:\n^EBI\\-[0-9]+$");
   return false;
  }
 } else if (name.match("InterPro")) {
  var regex = /^IPR\d{6}$/
  if (!regex.test(input)) {
   alert("Invalid InterPro resource identifier respect to pattern:\n^IPR\\d{6}$");
   return false;
  }
 } else if (name.match("KEGG Pathway")) {
  var regex = /^\w{2,3}\d{5}$/
  if (!regex.test(input)) {
   alert("Invalid KEGG Pathway resource identifier respect to pattern:\n^\w{2,3}\d{5}$");
   return false;
  }
 } else if (name.match("KEGG Compound")) {
  var regex = /^C\d+$/
  if (!regex.test(input)) {
   alert("Invalid KEGG Compound resource identifier respect to pattern:\n^C\\d+$");
   return false;
  }
 } else if (name.match("KEGG Reaction")) {
  var regex = /^R\d+$/
  if (!regex.test(input)) {
   alert("Invalid KEGG Reaction resource identifier respect to pattern:\n^R\\d+$");
   return false;
  }
 } else if (name.match("OMIM")) {
  var regex = /^[*#+%^]?\d{6}$/
  if (!regex.test(input)) {
   alert("Invalid OMIM resource identifier respect to pattern:\n^[*#+%^]?\\d{6}$");
   return false;
  }
 } else if (name.match("PIRSF")) {
  var regex = /^PIRSF\d{6}$/
  if (!regex.test(input)) {
   alert("Invalid PIRSF resource identifier respect to pattern:\n^PIRSF\d{6}$");
   return false;
  }
 } else if (name.match("Reactome")) {
  var regex = /^\d+$/
  var regex1 = /^REACT_\d+(\.\d+)?$/
  if (!regex.test(input) 
	&& !regex1.test(input)) {
   alert("Invalid Reactome resource identifier respect to pattern:\n^REACT_\\d+(\\.\\d+)?$");
   return false;
  }
 } else if (name.match("Taxonomy")) {
  var regex = /^\d+$/
  if (!regex.test(input)) {
   alert("Invalid Taxonomy resource identifier respect to pattern:\n^\\d+$");
   return false;
  }
 } else if (name.match("UniProt")) {
  var regex = /^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$/
  if (!regex.test(input)) {
   alert("Invalid UniProt resource identifier respect to pattern:\n^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])$");
   return false;
  }
 } else if (name.match("CluSTr")) {
  var regex = /^[0-9A-Za-z]+:\d+:\d{1,5}(\.\d)?$/
  if (!regex.test(input)) {
   alert("Invalid CluSTr resource identifier respect to pattern:\n^[0-9A-Za-z]+:\\d+:\\d{1,5}(\\.\\d)?$");
   return false;
  }
 }
 return true;
};

function update_model_id()
{
 var f = document.forms[0];
 var t = f.mids.options[f.mids.selectedIndex].text;
 f.mid.value = t.substring(0, 15);
};

function validate_user(f)
{
 if (f.giv.value.length == 0) {
  alert("Given name is required.");
  return false;
 }
 if (f.fam.value.length == 0) {
  alert("Family name is required.");
  return false;
 }
 if (f.org.value.length == 0) {
  alert("Organisation is required.");
  return false;
 }
 if (f.eml.value.length == 0) {
  alert("Email is required.");
  return false;
 }
 if (f.eml.value.indexOf("@") == -1) {
  alert("Email must contain '@'.");
  return false;
 }
 if (f.usn.value.length == 0) {
  alert("Username is required.");
  return false;
 }
 if (f.psw.value.length == 0) {
  alert("Password is required.");
  return false;
 }
 return true;
};

function validate_publication(f)
{
 if (f.pid.value.length == 0) {
  alert("PubMed ID is required.");
  return false;
 }
 if (f.jrn.value.length == 0) {
  alert("Journal information is required.");
  return false;
 }
 if (f.tit.value.length == 0) {
  alert("Publication title is required.");
  return false;
 }
 if (f.aut.value.length == 0) {
  alert("Authors information is required.");
  return false;
 }
 return true;
};


function checkUncheckAll(theElement) {
  var theForm = theElement.form, z = 0;
  for(z=0; z<theForm.length;z++){
    if(theForm[z].type == 'checkbox' && theForm[z].name != 'toggleAll'){
      theForm[z].checked = theElement.checked;
    }
  }
};



function checkCheckBoxes(theElement) {
  var theForm = theElement.form, z = 0;
  for(z=0; z<theForm.length;z++){
    if(theForm[z].type == 'checkbox' && theForm[z].name != 'toggleAll' && theForm[z].checked==true){
      return true;
    }
  }
  return false;
};



function toggleDisplayById(theElementId) {
  var obj=document.getElementById(theElementId)
  if (obj.className == "") {
    obj.className = "hidden";
  } else {
    obj.className = "";
  }
};

