var comeFromOnload = 1;

//var SelectIfKnown = '- Select if known - - - - - - -';
var SelectIfKnown = '';
var Sorry = '- Sorry none available - - - - - - - - ';

// Declare Kingdoms
var Fungi = 'Fungi';
var Plantae = 'Plantae';
var Monera = 'Monera';
var Protista = 'Protista';
var Animalia = 'Animalia';
var Habitat = 'Habitat';

// Declare Phylums and Divisions
// Fungi
var Zygomycota = 'Zygomycota';
var Ascomycota = 'Ascomycota';
var Basidiomycota = 'Basidiomycota';

// Plantae
var Hepatophyta = 'Hepatophyta';
var Anthocerophyta = 'Anthocerophyta';
var Bryophyta = 'Bryophyta';
var Psilophyta = 'Psilophyta';
var Lycophyta = 'Lycophyta';
var Sphenophyta = 'Sphenophyta';
var Pterophyta = 'Pterophyta';
var Anthophyta = 'Anthophyta';
var Cycadophyta = 'Cycadophyta';
var Ginkgophyta = 'Ginkgophyta';
var Gnetophyta = 'Gnetophyta';
var Coniferophyta = 'Coniferophyta';

// Monera
var Archaebacteria = 'Archaebacteria';
var Omnibacteria = 'Omnibacteria';
var Cyanobacteria = 'Cyanobacteria';
var Chloroxybacteria = 'Chloroxybacteria';
var Mycoplasmas = 'Mycoplasmas, spiroplasma';
var Spirochaetes = 'Spirochaetes';
var Actinomycetes = 'Actinomycetes';
var Myxobacteria = 'Myxobacteria';
var Nitrogen = 'Nitrogen fixing aerobes';
var Chemoautotrophs = 'Chemoautotrophs';

// Protista
var Acrasiomycota = 'Acrasiomycota';
var Bacillariophyta = 'Bacillariophyta';
var Chlorophyta = 'Chlorophyta';
var Ciliophora = 'Ciliophora';
var Dinoflagellata = 'Dinoflagellata';
var Euglenophyta = 'Euglenophyta';
var Foraminifera = 'Foraminifera';
var Myxomycota = 'Myxomycota';
var Oomycota = 'Oomycota';
var Phaecophyta = 'Phaecophyta';
var Rhizopoda = 'Rhizopoda';
var Rhodophyta = 'Rhodophyta';
var Sporozoa = 'Sporozoa';
var Zoomastigina = 'Zoomastigina';

// Animalia
var Porifera = 'Porifera';
var Symplasma = 'Symplasma';
var Placozoa = 'Placozoa';
var Cnidaria = 'Cnidaria';
var Ctenophora = 'Ctenophora';
var Rhombozoa = 'Rhombozoa';
var Platyhelminthes = 'Platyhelminthes';
var Orthonecta = 'Orthonecta';
var Gnathostomula = 'Gnathostomula';
var Gastrotricha = 'Gastrotricha';
var Nematoda = 'Nematoda';
var Nematomorpha = 'Nematomorpha';
var Kinorhyncha = 'Kinorhyncha';
var Loricifera = 'Loricifera';
var Priapula = 'Priapula';
var Rotifera = 'Rotifera';
var Acanthocephala = 'Acanthocephala';
var Onychophora = 'Onychophora';
var Uniramia = 'Uniramia';
var Chelicerata = 'Chelicerata';
var Crustacea = 'Crustacea';
var Pentastoma = 'Pentastoma';
var Tardigrada = 'Tardigrada';
var Mollusca = 'Mollusca';
var Sipuncula = 'Sipuncula';
var Echiura = 'Echiura';
var Annelida = 'Annelida';
var Pogonophora = 'Pogonophora';
var Nemertea = 'Nemertea';
var Entoprocta = 'Entoprocta';
var Cycliophora = 'Cycliophora';
var Phorona = 'Phorona';
var Brachiopoda = 'Brachiopoda';
var Bryozoa = 'Bryozoa';
var Chaetognatha = 'Chaetognatha';
var Echinodermata = 'Echinodermata';
var Hemichordata = 'Hemichordata';
var Chordata = 'Chordata';

//Declare Habitats
var Tundra = 'Tundra'
var Boreal_Forest = 'Boreal Forest'
var Temperate_Forest = 'Temperate Forest'
var Temperate_Grassland = 'Temperate Grassland'
var Chaparral = 'Chaparral'
var Hot_Desert = 'Hot Desert'
var Cold_Desert = 'Cold Desert'
var Savanna = 'Savanna'
var Tropical_Forest = 'Tropical Forest'
var Alpine = 'Alpine'
var Freshwater = 'Freshwater'
var Marine = 'Marine'

// Declare Classes
// Porifera
var Calcarea = 'Calcarea';
var Demospongiae = 'Demospongiae';
var Sclerospongiae = 'Sclerospongiae';

// Symplasma
var Hexactinellida = 'Hexactinellida';

// Cnidaria
var Hydrozoa = 'Hydrozoa';
var Scyphozoa = 'Scyphozoa';
var Cubozoa = 'Cubozoa';
var Anthozoa = 'Anthozoa';

// Platyhelminthes
var Turbellaria = 'Turbellaria';
var Trematoda = 'Trematoda';
var Cestoda = 'Cestoda';

// Uniramia
var Chilopoda = 'Chilopoda';
var Symphyla = 'Symphyla';
var Diplopoda = 'Diplopoda';
var Pauropoda = 'Pauropoda';
var Apterygota = 'Apterygota';
var Pterygota = 'Pterygota';

// Chelicerata
var Merostomata = 'Merostomata';
var Arachnida = 'Arachnida';
var Pycnogoa = 'Pycnogoa';

// Crustacea
var Remipedia = 'Remipedia';
var Malacostraca = 'Malacostraca';
var Cephalocarida = 'Cephalocarida';
var Branchiopoda = 'Branchiopoda';
var Mystacocarida = 'Mystacocarida';
var Branchiura = 'Branchiura ';
var Copepoda = 'Copepoda';
var Tantulocarida = 'Tantulocarida';
var Cirripedia = 'Cirripedia';
var Ostracoda = 'Ostracoda';

// Mollusca
var Chaetodermomorpha = 'Chaetodermomorpha';
var Neomeniomorpha = 'Neomeniomorpha';
var Polyplacophora = 'Polyplacophora';
var Monoplacophora = 'Monoplacophora';
var Gastropoda = 'Gastropoda';
var Bivalvia = 'Bivalvia';
var Scaphopoda = 'Scaphopoda';
var Cephalopoda = 'Cephalopoda';

// Annelida
var Polychaeta = 'Polychaeta';
var Oligochaeta = 'Oligochaeta';
var Hirudinea = 'Hirudinea';

// Brachiopoda
var Articula = 'Articula';
var Inarticula = 'Inarticula';

// Echinodermata
var Asteroidea = 'Asteroidea';
var Ophiuroidea = 'Ophiuroidea';
var Echinoidea = 'Echinoidea';
var Holothuroidea = 'Holothuroidea';
var Crinoidea = 'Crinoidea';

// Hemichordata
var Enteropneusta = 'Enteropneusta';
var Pterobranchia = 'Pterobranchia';

// Chordata
var Ascidiacea = 'Ascidiacea';
var Thaliacea = 'Thaliacea';
var Larvacea = 'Larvacea';
var Agnatha = 'Agnatha';
var Chondrichthyes = 'Chondrichthyes';
var Osteichthyes = 'Osteichthyes';
var Amphibia = 'Amphibia';
var Reptilia = 'Reptilia';
var Aves = 'Aves';
var Mammalia = 'Mammalia';



// Declare Arrays
var kingdoms = new Array('','Fungi','Plantae','Monera','Protista','Animalia','Biome');

var phylumForFungi = new Array('SelectIfKnown','Zygomycota','Ascomycota','Basidiomycota');
var phylumForPlantae = new Array('SelectIfKnown','Hepatophyta','Anthocerophyta','Bryophyta','Psilophyta','Lycophyta','Sphenophyta','Pterophyta','Anthophyta','Cycadophyta','Ginkgophyta','Gnetophyta','Coniferophyta');
var phylumForMonera = new Array('SelectIfKnown','Archaebacteria','Omnibacteria','Cyanobacteria','Chloroxybacteria','Mycoplasmas','Spirochaetes','Actinomycetes','Myxobacteria','Nitrogen','Chemoautotrophs');
var phylumForProtista = new Array('SelectIfKnown','Acrasiomycota','Bacillariophyta','Chlorophyta','Ciliophora','Dinoflagellata','Euglenophyta','Foraminifera','Myxomycota','Oomycota','Phaecophyta','Rhizopoda','Rhodophyta','Sporozoa','Zoomastigina');
var phylumForAnimalia = new Array('SelectIfKnown','Porifera','Symplasma','Placozoa','Cnidaria','Ctenophora','Rhombozoa','Platyhelminthes','Orthonecta','Gnathostomula','Gastrotricha','Nematoda','Nematomorpha','Kinorhyncha','Loricifera','Priapula','Rotifera','Acanthocephala','Onychophora','Uniramia','Chelicerata','Crustacea','Pentastoma','Tardigrada','Mollusca','Sipuncula','Echiura','Annelida','Pogonophora','Nemertea','Entoprocta','Cycliophora','Phorona','Brachiopoda','Bryozoa','Chaetognatha','Echinodermata','Hemichordata','Chordata');
var phylumForHabitat = new Array('SelectIfKnown','Tundra','Boreal_Forest','Temperate_Forest','Temperate_Grassland','Chaparral','Hot_Desert','Cold_Desert','Savanna','Tropical_Forest','Alpine','Freshwater','Marine');

//Fungi Classes
var classForZygomycota = new Array('SelectIfKnown','Sorry');
var classForAscomycota = new Array('SelectIfKnown','Sorry');
var classForBasidiomycota = new Array('SelectIfKnown','Sorry');

//Plantae Classes
var classForHepatophyta = new Array('SelectIfKnown','Sorry');
var classForAnthocerophyta = new Array('SelectIfKnown','Sorry');
var classForPsilophyta = new Array('SelectIfKnown','Sorry');
var classForLycophyta = new Array('SelectIfKnown','Sorry');
var classForSphenophyta = new Array('SelectIfKnown','Sorry');
var classForPterophyta = new Array('SelectIfKnown','Sorry');
var classForAnthophyta = new Array('SelectIfKnown','Sorry');
var classForCycadophyta = new Array('SelectIfKnown','Sorry');
var classForGinkgophyta = new Array('SelectIfKnown','Sorry');
var classForGnetophyta = new Array('SelectIfKnown','Sorry');
var classForConiferophyta = new Array('SelectIfKnown','Sorry');

//Monera Classes
var classForArchaebacteria = new Array('SelectIfKnown','Sorry');
var classForOmnibacteria = new Array('SelectIfKnown','Sorry');
var classForCyanobacteria = new Array('SelectIfKnown','Sorry');
var classForChloroxybacteria = new Array('SelectIfKnown','Sorry');
var classForMycoplasmas = new Array('SelectIfKnown','Sorry');
var classForSpirochaetes = new Array('SelectIfKnown','Sorry');
var classForActinomycetes = new Array('SelectIfKnown','Sorry');
var classForMyxobacteria = new Array('SelectIfKnown','Sorry');
var classForNitrogen = new Array('SelectIfKnown','Sorry');
var classForChemoautotrophs = new Array('SelectIfKnown','Sorry');

//Protista Classes
var classForAcrasiomycota = new Array('SelectIfKnown','Sorry');
var classForBacillariophyta = new Array('SelectIfKnown','Sorry');
var classForChlorophyta = new Array('SelectIfKnown','Sorry');
var classForCiliophora = new Array('SelectIfKnown','Sorry');
var classForDinoflagellata = new Array('SelectIfKnown','Sorry');
var classForEuglenophyta = new Array('SelectIfKnown','Sorry');
var classForForaminifera = new Array('SelectIfKnown','Sorry');
var classForMyxomycota = new Array('SelectIfKnown','Sorry');
var classForOomycota = new Array('SelectIfKnown','Sorry');
var classForPhaecophyta = new Array('SelectIfKnown','Sorry');
var classForRhizopoda = new Array('SelectIfKnown','Sorry');
var classForRhodophyta = new Array('SelectIfKnown','Sorry');
var classForSporozoa = new Array('SelectIfKnown','Sorry');
var classForZoomastigina = new Array('SelectIfKnown','Sorry');

//Animalia Classes
var classForPorifera = new Array('SelectIfKnown','Calcarea','Demospongiae','Sclerospongiae');
var classForSymplasma = new Array('SelectIfKnown','Hexactinellida');
var classForPlacozoa = new Array('SelectIfKnown','Sorry');
var classForCnidaria = new Array('SelectIfKnown','Hydrozoa','Scyphozoa','Cubozoa','Anthozoa');
var classForCtenophora = new Array('SelectIfKnown','Sorry');
var classForRhombozoa = new Array('SelectIfKnown','Sorry');
var classForPlatyhelminthes = new Array('SelectIfKnown','Turbellaria','Trematoda','Cestoda');
var classForOrthonecta = new Array('SelectIfKnown','Sorry');
var classForGnathostomula = new Array('SelectIfKnown','Sorry');
var classForGastrotricha = new Array('SelectIfKnown','Sorry');
var classForNematoda = new Array('SelectIfKnown','Sorry');
var classForNematomorpha = new Array('SelectIfKnown','Sorry');
var classForKinorhyncha = new Array('SelectIfKnown','Sorry');
var classForLoricifera = new Array('SelectIfKnown','Sorry');
var classForPriapula = new Array('SelectIfKnown','Sorry');
var classForRotifera = new Array('SelectIfKnown','Sorry');
var classForAcanthocephala = new Array('SelectIfKnown','Sorry');
var classForOnychophora = new Array('SelectIfKnown','Sorry');
var classForUniramia = new Array('SelectIfKnown','Chilopoda','Symphyla','Diplopoda','Pauropoda','Apterygota','Pterygota');
var classForChelicerata = new Array('SelectIfKnown','Merostomata','Arachnida','Pycnogoa');
var classForCrustacea = new Array('SelectIfKnown','Remipedia','Malacostraca','Cephalocarida','Branchiopoda','Mystacocarida','Branchiura ','Copepoda','Tantulocarida','Cirripedia','Ostracoda');
var classForPentastoma = new Array('SelectIfKnown','Sorry');
var classForTardigrada = new Array('SelectIfKnown','Sorry');
var classForMollusca = new Array('SelectIfKnown','Chaetodermomorpha','Neomeniomorpha','Polyplacophora','Monoplacophora','Gastropoda','Bivalvia','Scaphopoda','Cephalopoda');
var classForSipuncula = new Array('SelectIfKnown','Sorry');
var classForEchiura = new Array('SelectIfKnown','Sorry');
var classForAnnelida = new Array('SelectIfKnown','Polychaeta','Oligochaeta','Hirudinea');
var classForPogonophora = new Array('SelectIfKnown','Sorry');
var classForNemertea = new Array('SelectIfKnown','Sorry');
var classForEntoprocta = new Array('SelectIfKnown','Sorry');
var classForCycliophora = new Array('SelectIfKnown','Sorry');
var classForPhorona = new Array('SelectIfKnown','Sorry');
var classForBrachiopoda = new Array('SelectIfKnown','Articula','Inarticula');
var classForBryozoa = new Array('SelectIfKnown','Sorry');
var classForChaetognatha = new Array('SelectIfKnown','Sorry');
var classForEchinodermata = new Array('SelectIfKnown','Asteroidea','Ophiuroidea','Echinoidea','Holothuroidea','Crinoidea');
var classForHemichordata = new Array('SelectIfKnown','Enteropneusta','Pterobranchia');
var classForChordata = new Array('SelectIfKnown','Ascidiacea','Thaliacea','Larvacea','Agnatha','Chondrichthyes','Osteichthyes','Amphibia','Reptilia','Aves','Mammalia');

//Habitat Classes
var classForTundra = new Array('SelectIfKnown','Sorry');
var classForBoreal_Forest = new Array('SelectIfKnown','Sorry');
var classForTemperate_Forest = new Array('SelectIfKnown','Sorry');
var classForTemperate_Grassland = new Array('SelectIfKnown','Sorry');
var classForChaparral = new Array('SelectIfKnown','Sorry');
var classForHot_Desert = new Array('SelectIfKnown','Sorry');
var classForCold_Desert = new Array('SelectIfKnown','Sorry');
var classForSavanna = new Array('SelectIfKnown','Sorry');
var classForTropical_Forest = new Array('SelectIfKnown','Sorry');
var classForAlpine = new Array('SelectIfKnown','Sorry');
var classForFreshwater = new Array('SelectIfKnown','Sorry');
var classForMarine = new Array('SelectIfKnown','Sorry');


function buildPhylum(){
	if (version != 'e3') {
		if ( document.searchForm.kingdom.selectedIndex == -1 ) { 
			var kingdomOption = ''; 
		}
		else { 
			var kingdomOption = document.searchForm.kingdom.options[document.searchForm.kingdom.selectedIndex].value; 
		}
		if (kingdomOption != '') {
			var previousPhylum = document.searchForm.phylum.selectedIndex;
			var phylumArray = eval('phylumFor' + kingdomOption);
			var phylumList = document.searchForm.phylum.options;
			phylumList.length = 1;
			for (loop=0; loop < phylumArray.length; loop++) {
				phylumList[loop] = new Option(eval(phylumArray[loop]));
				phylumList[loop].value = phylumArray[loop];
			}
			if (phylumList.length == 1) {
				phylumList.selectedIndex = 0;
			}
			else {
				phylumList.selectedIndex = -1;
			}
			if ( (previousPhylum != -1) && (comeFromOnload == 1) ) {
				phylumList.selectedIndex = previousPhylum;
			}
		}
	}
}

function buildClass(){
	if (version != 'e3') {
		if ( document.searchForm.phylum.selectedIndex == -1 ) { 
			var phylumOption = ''; 
		}
		else { 
			var phylumOption = document.searchForm.phylum.options[document.searchForm.phylum.selectedIndex].value; 
		}
		if (phylumOption != '') {
			var previousClass = document.searchForm.classK.selectedIndex;
			var classArray = eval('classFor' + phylumOption);
			var classList = document.searchForm.classK.options;
			classList.length = 1;
			for (loop=0; loop < classArray.length; loop++) {
				classList[loop] = new Option(eval(classArray[loop]));
				classList[loop].value = classArray[loop];
			}
			if (classList.length == 1) {
				classList.selectedIndex = 0;
			}
			else {
				classList.selectedIndex = -1;
			}
			if ( (previousClass != -1) && (comeFromOnload == 1) ) {
				classList.selectedIndex = previousClass;
			}
		}
	}
}

