function addCommonSynonym() {
	if (document.getElementById("fldCommonSynonymName").value) {
		var intSynonyms = document.getElementById("fldCommonSynonyms").options.length;
		document.getElementById("fldCommonSynonyms").options.length++;				
		document.getElementById("fldCommonSynonyms").options[intSynonyms].text = document.getElementById("fldCommonSynonymName").value;
		document.getElementById("fldCommonSynonyms").options[intSynonyms].value = document.getElementById("fldCommonSynonymName").value;
		document.getElementById("fldCommonSynonymName").value = "";					
	}
}

function addScientificSynonym() {
	if (document.getElementById("fldScientificSynonymName").value && document.getElementById("fldScientificSynonymAuthor").value) {
		var intSynonyms = document.getElementById("fldScientificSynonyms").options.length;
		document.getElementById("fldScientificSynonyms").options.length++;				
		document.getElementById("fldScientificSynonyms").options[intSynonyms].text = document.getElementById("fldScientificSynonymName").value + " " + document.getElementById("fldScientificSynonymAuthor").value;
		document.getElementById("fldScientificSynonyms").options[intSynonyms].value = document.getElementById("fldScientificSynonymName").value + "|" + document.getElementById("fldScientificSynonymAuthor").value;
		document.getElementById("fldScientificSynonymName").value = "";					
		document.getElementById("fldScientificSynonymAuthor").value = "";					
	}
}

var intCommonSynonymEdit
var intScientificSynonymEdit

function editCommonSynonym() {
	if (document.getElementById("fldCommonSynonyms").selectedIndex >= 0) {
		intCommonSynonymEdit = document.getElementById("fldCommonSynonyms").selectedIndex
		
		document.getElementById("fldCommonSynonymName").value = document.getElementById("fldCommonSynonyms").options[document.getElementById("fldCommonSynonyms").selectedIndex].text;
		
		document.getElementById("btnCancelCommonSynonymEdit").style.display = "block";
		document.getElementById("btnUpdateCommonSynonym").style.display = "block";
		document.getElementById("btnCommonSynonymAdd").style.display = "none";
		document.getElementById("btnCommonSynonymDelete").style.display = "none";
		document.getElementById("fldCommonSynonymName").focus()
	}
}

function editScientificSynonym() {
	if (document.getElementById("fldScientificSynonyms").selectedIndex >= 0) {
		intScientificSynonymEdit = document.getElementById("fldScientificSynonyms").selectedIndex
		
		var arrSynData;
		arrSynData = (document.getElementById("fldScientificSynonyms").options[document.getElementById("fldScientificSynonyms").selectedIndex].value).split("|")
		document.getElementById("fldScientificSynonymName").value = arrSynData[0];
		document.getElementById("fldScientificSynonymAuthor").value = arrSynData[1];
		
		document.getElementById("btnCancelScientificSynonymEdit").style.display = "block";
		document.getElementById("btnUpdateScientificSynonym").style.display = "block";
		document.getElementById("btnScientificSynonymAdd").style.display = "none";
		document.getElementById("btnScientificSynonymDelete").style.display = "none";
		document.getElementById("fldScientificSynonymName").focus()
	}
}

function removeSynonym(strType) {
	switch(strType) {
		case "common":
				strName = "fldCommonSynonymName"
				strList = "fldCommonSynonyms"
			break;
			
		case "scientific":
				strName = "fldScientificSynonymName"
				strList = "fldScientificSynonyms"
				
				document.getElementById("fldScientificSynonymAuthor").value = ""
			break;
	}
	
	if (document.getElementById(strList).selectedIndex >= 0) {
		document.getElementById(strName).value = ""
		
		for (var i = document.getElementById(strList).selectedIndex; i < document.getElementById(strList).options.length - 1; i++) {
			document.getElementById(strList).options[i].text = document.getElementById(strList).options[i+1].text
			document.getElementById(strList).options[i].value = document.getElementById(strList).options[i+1].value
		}
		document.getElementById(strList).options.length--
	}
}

function updateScientificSynonym() {
	document.getElementById("fldScientificSynonyms").options[intScientificSynonymEdit].value = document.getElementById("fldScientificSynonymName").value + "|" + document.getElementById("fldScientificSynonymAuthor").value
	document.getElementById("fldScientificSynonyms").options[intScientificSynonymEdit].text = document.getElementById("fldScientificSynonymName").value + " " + document.getElementById("fldScientificSynonymAuthor").value
	document.getElementById("fldScientificSynonymName").value = ""
	document.getElementById("fldScientificSynonymAuthor").value = ""
	cancelSynonymEdit('scientific');
}

function updateCommonSynonym() {
	document.getElementById("fldCommonSynonyms").options[intCommonSynonymEdit].value = document.getElementById("fldCommonSynonymName").value;
	document.getElementById("fldCommonSynonyms").options[intCommonSynonymEdit].text = document.getElementById("fldCommonSynonymName").value;
	document.getElementById("fldCommonSynonymName").value = ""
	cancelSynonymEdit('common');
}

function cancelSynonymEdit(strType) {
	switch(strType) {
		case "common":
				intCommonSynonymEdit = -1;	
				strName = "fldCommonSynonymName"
				strList = "fldCommonSynonyms"
				strCancelButton = "btnCancelCommonSynonymEdit"
				strAddButton = "btnCommonSynonymAdd"
				strUpdateButton = "btnUpdateCommonSynonym"	
				strDeleteButton = "btnCommonSynonymDelete"			
			break;
			
		case "scientific":
				intScientificSynonymEdit = -1;
				strName = "fldScientificSynonymName"
				strList = "fldScientificSynonyms"
				strCancelButton = "btnCancelScientificSynonymEdit"
				strAddButton = "btnScientificSynonymAdd"
				strUpdateButton = "btnUpdateScientificSynonym"	
				strDeleteButton = "btnScientificSynonymDelete"
				
				document.getElementById("fldScientificSynonymAuthor").value = "";
			break;
	}
	

	document.getElementById(strList).selectedIndex = -1;
	document.getElementById(strName).value = "";
	document.getElementById(strCancelButton).style.display = "none";
	document.getElementById(strAddButton).style.display = "block";			
	document.getElementById(strUpdateButton).style.display = "none";	
	document.getElementById(strDeleteButton).style.display = "block";
}
