// Global Variables

var continent  		       = 1;                   //changes the name of the duplicated "continent" select tag (name is turned into 'continent_'+continent
var counter_continent 	       = 1;                   //counts the duplicates of the continent-row
var author     		       = 1;                   //changes the name of the duplicated "author" select tag
var counter_author 	       = 1;
var journal    		       = 1;                   //changes the name of the duplicated "journal" select tag
var counter_journal 	       = 1;
var pubMed     		       = 1;                   //changes the name of the duplicated "pubMed" select tag
var counter_pubMed 	       = 1;
var species    		       = 1;                   //changes the name of the duplicated "species" select tag
var counter_species 	       = 1;
var country    		       = 1;                   //changes the name of the duplicated "country" select tag
var counter_country 	       = 1;
var population 		       = 1;                   //changes the name of the duplicated "population" select tag
var counter_population 	       = 1;
var language   		       = 1;                   //changes the name of the duplicated "language" select tag
var language_paper   	       = 1;
var counter_language_paper     = 1;
var language_iso     	       = 1;
var counter_language_iso       = 1;
var language_sil     	       = 1;
var counter_language_sil       = 1;
var gen                        = 1;
var counter_gen                = 1;

	function addRow(node,rowNumber){

		var newLine = node.parentNode.parentNode.cloneNode(true);
		switch(rowNumber){
			case 1:	if(counter_continent < document.getElementById("continent").childNodes.length-1) {
				continent++;
				counter_continent++;
				newLine.childNodes[1].firstChild.name='continent_'+continent;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 2:	if(counter_author < document.getElementById("author").childNodes.length-1) {
				author++;
				counter_author++;
				newLine.childNodes[1].firstChild.name='author_'+author;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 3: if(counter_journal < document.getElementById("journal").childNodes.length-1) {
				journal++;
				counter_journal++;
				newLine.childNodes[1].firstChild.name='journal_'+journal;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 4: if(counter_pubMed < document.getElementById("pubMed").childNodes.length-1) {
				pubMed++;
				counter_pubMed++;
				newLine.childNodes[1].firstChild.name='pubMed_'+pubMed;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 5:	if(counter_species < document.getElementById("species").childNodes.length-1) {
				species++;
				counter_species++;
				newLine.childNodes[1].firstChild.name='species_'+species;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 6: if(counter_country < document.getElementById("country").childNodes.length-1) {
				country++;
				counter_country++;
				newLine.childNodes[1].firstChild.name='country_'+country;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 7: if(counter_population < document.getElementById("population").childNodes.length-1) {
				population++;
				counter_population++;
				newLine.childNodes[1].firstChild.name='population_'+population;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
                        case 8:	if(counter_language_paper < document.getElementById("language_paper").childNodes.length-1) {
				language_paper++;
				counter_language_paper++;
				newLine.childNodes[1].firstChild.name='language_paper_'+language_paper;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 9:	if(counter_language_iso < document.getElementById("language_iso").childNodes.length-1) {
				language_iso++;
				counter_language_iso++;
				newLine.childNodes[1].firstChild.name='language_iso_'+language_iso;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
			case 10: if(counter_language_sil < document.getElementById("language_sil").childNodes.length-1) {
				language_sil++;
				counter_language_sil++;
				newLine.childNodes[1].firstChild.name='language_sil_'+language_sil;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
		         case 11: if(gen < document.getElementById("gen").childNodes.length-1) {
				gen++;
				counter_gen++;
				newLine.childNodes[1].firstChild.name='gen_'+gen;
				document.getElementById('body').insertBefore(newLine, node.parentNode.parentNode.nextSibling);
				}
				break;
		}

	}


	function removeRow(node,rowNumber){
		switch(rowNumber){
			case 1:	if(counter_continent>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_continent--;
				}
				break;
			case 2: if(counter_author>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_author--;
				}
				break;
			case 3: if(counter_journal>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_journal--;
				}
				break;
			case 4: if(counter_pubMed>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_pubMed--;
				}
				break;
                        case 5:	if(counter_species>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_species--;
				}
				break;
			case 6: if(counter_country>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_country--;
				}
				break;
			case 7: if(counter_population>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_population--;
				}
				break;
			case 8:	if(counter_language_paper>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_language_paper--;
				}
				break;
			case 9: if(counter_language_iso>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_language_iso--;
				}
				break;
			case 10: if(counter_language_sil>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_language_sil--;
				}
				break;
                       case 11: if(counter_gen>1){
					document.getElementById('body').removeChild(node.parentNode.parentNode);
					counter_gen--;
				}
				break;
		}
	}

	function showData(node){

		alert(node.parentNode.parentNode.childNodes[1].firstChild.name);
	}

 	function parseSelect(){
		if (document.getElementById('secondYear').selectedIndex <= document.getElementById('firstYear').selectedIndex){
			document.getElementById('secondYear').selectedIndex = document.getElementById('firstYear').selectedIndex;
		}
	}

	function parseSelect2(){
		if (document.getElementById('firstYear').selectedIndex >= document.getElementById('secondYear').selectedIndex){
			document.getElementById('firstYear').selectedIndex = document.getElementById('secondYear').selectedIndex;
		}
	}
	
	function reset(node){

		alert(node.outerHTML);



	}

	function check(){

		var reg1 = /[^ACGTNRYSWKMBDHV?-]+/i;
		var fehler = "Fehleingaben:\n ------------------\n  ";
		var gefunden = false;

		// teste die HVR I Startposition
		var start1 = document.getElementById("hvr1start").value;
		if(!isFinite(start1) || parseInt(start1)<16001 || parseInt(start1)>16408){
			fehler = fehler + "HVR I Start\n";
			gefunden = true;
		}

		// teste die HVR I Endposition
		var end1 = document.getElementById("hvr1end").value;
		if(!isFinite(end1) || parseInt(end1)>16408){
			fehler = fehler + "HVR I End\n";
			gefunden = true;
		}

		// teste ob Startposition-HVRI kleiner als Endpostition-HVRI ist
		if(isFinite(end1) && isFinite(start1)){
			if(parseInt(start1)>16000 && parseInt(start1)<16409 && parseInt(end1)<16409 && parseInt(end1)>16000 && parseInt(start1)>parseInt(end1)){
			fehler = fehler + "HVR I  Endposition muss groesser als HVR I  Startposition sein!\n";
			gefunden = true;
			}
		}

		// teste das HVRI Motif
		var inhalt = document.getElementById("hvr1motif").value;
		if(reg1.test(inhalt)==true){
			fehler = fehler + "HVR I Motif\n";
			gefunden = true;
		}

		// teste die HVR II Startposition
		start2 = document.getElementById("hvr2start").value;
		if(!isFinite(start2) || parseInt(start2)<1 || parseInt(start2)>408){
			fehler = fehler + "HVR II Start\n";
			gefunden = true;
		}

		// teste die HVRII Endposition
		var end2 = document.getElementById("hvr2end").value;
		if(!isFinite(end2) || parseInt(end2)>408){
			fehler = fehler + "HVR II End\n";
			gefunden = true;
		}

		// teste ob Startposition-HVRII kleiner als Endpostition-HVRII ist
		if(isFinite(end2) && isFinite(start2)){
			if(parseInt(start2)>0 && parseInt(start2)<409 && parseInt(end2)>0 && parseInt(end2)<409 && parseInt(start2)>parseInt(end2)){
			fehler = fehler + "HVR II Endposition muss groesser als HVR II Startposition sein!\n";
			gefunden = true;
			}
		}

		// teste das HVRII Motif
		inhalt = document.getElementById("hvr2motif").value;
		if(reg1.test(inhalt)==true){
			fehler = fehler + "HVR II Motif\n";
			gefunden = true;
		}

		// teste die Mitochondrial Startposition
		var mitostart = document.getElementById("mitostart").value;
		if(!isFinite(mitostart) || parseInt(mitostart)<1 || parseInt(mitostart)>408){
			fehler = fehler + "MitoStart\n";
			gefunden = true;
		}

		// teste die Mitochondrial Endposition
		var mitoend = document.getElementById("mitoend").value;
		if(!isFinite(mitoend) || parseInt(mitoend)>408){
			fehler = fehler + "MitoEnd\n";
			gefunden = true;
		}

		// teste ob MitochondrialStartposition kleiner als MitochondrialEndpostition ist
		if(isFinite(mitoend) && isFinite(mitostart)){
			if(parseInt(mitostart)>0 && parseInt(mitostart)<409 && parseInt(mitoend)<409 && parseInt(mitoend)>0 && parseInt(mitostart)>parseInt(mitoend)){
			fehler = fehler + "Mitochondial-Endposition muss groesser als Mitochondrial-Startposition sein!\n";
			gefunden = true;
			}
		}

		// teste das Mitochondrial-Motif
		var inhalt = document.getElementById("mitosequence").value;
		if(reg1.test(inhalt)==true){
			fehler = fehler + "Mitochondrial-Motif\n";
			gefunden = true;
		}

		if(gefunden==true) {
					alert(fehler);
					return false;
				   }

		else if(parseInt(end1)-parseInt(start1)<document.getElementById("hvr1motif").value.length-1){
			fehler = fehler + "HVRI Motif zu lang\n";
			alert (fehler);
			return false;
		}

		else if(parseInt(end2)-parseInt(start2)<document.getElementById("hvr2motif").value.length-1){
			fehler = fehler + "HVRII Motif zu lang\n";
			alert (fehler);
			return false;
		}

		else if(parseInt(mitoend)-parseInt(mitostart)<document.getElementById("mitosequence").value.length-1){
			fehler = fehler + "MitoMotif zu lang\n";
			alert (fehler);
			return false;
		}

		return true;

	}

	function reset_hvr1(){
		if(document.getElementById('hvr1_a').value != "" && document.getElementById('hvr1_b').value != ""){
			document.getElementById('hvr1_a').value="";
			document.getElementById('hvr1_b').value="";
		}
		else{
			document.getElementById('hvr1_a').value="16001";
			document.getElementById('hvr1_b').value="16408";
		}
	}

	function reset_hvr2(){
		if(document.getElementById('hvr2_a').value != "" && document.getElementById('hvr2_b').value != ""){
			document.getElementById('hvr2_a').value="";
			document.getElementById('hvr2_b').value="";
		}
		else{
			document.getElementById('hvr2_a').value="1";
			document.getElementById('hvr2_b').value="408";
		}
	}
	
	function reset_mito(){
		if(document.getElementById('mito_a').value != "" && document.getElementById('mito_b').value != ""){
			document.getElementById('mito_a').value="";
			document.getElementById('mito_b').value="";
		}
		else{
			document.getElementById('mito_a').value="16001";
			document.getElementById('mito_b').value="16408";
		}
	}
