//
// seq_align_tool_js.js
//


// DECLARE GLOBAL VARIABLES
	var	exact_match_form,
		similar_blast_match_form,
		exact_paste_div,
		exact_upload_div,
		similar_blast_paste_div,
		similar_blast_upload_div,
		exact_paste_paste_box,
		similar_blast_paste_paste_box,
		exact_upload_upload_box,
		similar_blast_upload_upload_box,
		exact_paste_exact_radio,
		exact_paste_similar_radio,
		exact_paste_paste_radio,
		exact_paste_upload_radio,
		exact_upload_exact_radio,
		exact_upload_similar_radio,
		exact_upload_paste_radio,
		exact_upload_upload_radio,
		similar_blast_paste_exact_radio,
		similar_blast_paste_similar_radio,
		similar_blast_paste_blast_radio,
		similar_blast_paste_paste_radio,
		similar_blast_paste_upload_radio,
		similar_blast_upload_exact_radio,
		similar_blast_upload_similar_radio,
		similar_blast_upload_blast_radio,
		similar_blast_upload_paste_radio,
		similar_blast_upload_upload_radio;
		

// FUNCTION TO DEFINE ALL THE JAVASCRIPT VARIABLES ON THE PAGE
	function allVars() {
// Form
		exact_match_form	 				= document.getElementById("exact_match_form");
		similar_blast_match_form	 		= document.getElementById("similar_blast_match_form");
// Divs
		exact_paste_div						= document.getElementById("exact_paste_div");
		exact_upload_div					= document.getElementById("exact_upload_div");
		similar_blast_paste_div				= document.getElementById("similar_blast_paste_div");
		similar_blast_upload_div			= document.getElementById("similar_blast_upload_div");
		
// Radio buttons
		exact_paste_exact_radio				= document.getElementById("exact_paste_exact_radio");
		exact_paste_similar_radio			= document.getElementById("exact_paste_similar_radio");
		exact_paste_paste_radio				= document.getElementById("exact_paste_paste_radio");
		exact_paste_upload_radio			= document.getElementById("exact_paste_upload_radio");
		exact_upload_exact_radio			= document.getElementById("exact_upload_exact_radio");
		exact_upload_similar_radio			= document.getElementById("exact_upload_similar_radio");
		exact_upload_paste_radio			= document.getElementById("exact_upload_paste_radio");
		exact_upload_upload_radio			= document.getElementById("exact_upload_upload_radio");
		similar_blast_paste_exact_radio		= document.getElementById("similar_blast_paste_exact_radio");
		similar_blast_paste_similar_radio	= document.getElementById("similar_blast_paste_similar_radio");
		similar_blast_paste_blast_radio		= document.getElementById("similar_blast_paste_blast_radio");
		similar_blast_paste_paste_radio		= document.getElementById("similar_blast_paste_paste_radio");
		similar_blast_paste_upload_radio	= document.getElementById("similar_blast_paste_upload_radio");
		similar_blast_upload_exact_radio	= document.getElementById("similar_blast_upload_exact_radio");
		similar_blast_upload_similar_radio	= document.getElementById("similar_blast_upload_similar_radio");
		similar_blast_upload_blast_radio	= document.getElementById("similar_blast_upload_blast_radio");
		similar_blast_upload_paste_radio	= document.getElementById("similar_blast_upload_paste_radio");
		similar_blast_upload_upload_radio	= document.getElementById("similar_blast_upload_upload_radio")
		similar_water_paste_exact_radio		= document.getElementById("similar_water_paste_exact_radio");
		similar_water_paste_similar_radio	= document.getElementById("similar_water_paste_similar_radio");
		similar_water_paste_blast_radio		= document.getElementById("similar_water_paste_blast_radio");
		similar_water_paste_water_radio		= document.getElementById("similar_water_paste_water_radio");
		similar_water_paste_needle_radio	= document.getElementById("similar_water_paste_needle_radio");
		similar_water_paste_paste_radio		= document.getElementById("similar_water_paste_paste_radio");
		similar_water_paste_upload_radio	= document.getElementById("similar_water_paste_upload_radio");
		similar_water_upload_exact_radio	= document.getElementById("similar_water_upload_exact_radio");
		similar_water_upload_similar_radio	= document.getElementById("similar_water_upload_similar_radio");
		similar_water_upload_blast_radio	= document.getElementById("similar_water_upload_blast_radio");
		similar_water_upload_water_radio	= document.getElementById("similar_water_upload_water_radio");
		similar_water_upload_needle_radio	= document.getElementById("similar_water_upload_needle_radio");
		similar_water_upload_paste_radio	= document.getElementById("similar_water_upload_paste_radio");
		similar_water_upload_upload_radio	= document.getElementById("similar_water_upload_upload_radio")
		similar_needle_paste_exact_radio	= document.getElementById("similar_needle_paste_exact_radio");
		similar_needle_paste_similar_radio	= document.getElementById("similar_needle_paste_similar_radio");
		similar_needle_paste_blast_radio	= document.getElementById("similar_needle_paste_blast_radio");
		similar_needle_paste_water_radio	= document.getElementById("similar_needle_paste_water_radio");
		similar_needle_paste_needle_radio	= document.getElementById("similar_needle_paste_needle_radio");
		similar_needle_paste_paste_radio	= document.getElementById("similar_needle_paste_paste_radio");
		similar_needle_paste_upload_radio	= document.getElementById("similar_needle_paste_upload_radio");
		similar_needle_upload_exact_radio	= document.getElementById("similar_needle_upload_exact_radio");
		similar_needle_upload_similar_radio	= document.getElementById("similar_needle_upload_similar_radio");
		similar_needle_upload_blast_radio	= document.getElementById("similar_needle_upload_blast_radio");
		similar_needle_upload_water_radio	= document.getElementById("similar_needle_upload_water_radio");
		similar_needle_upload_needle_radio	= document.getElementById("similar_needle_upload_needle_radio");
		similar_needle_upload_paste_radio	= document.getElementById("similar_needle_upload_paste_radio");
		similar_needle_upload_upload_radio	= document.getElementById("similar_needle_upload_upload_radio");
// Sequence paste box
		exact_paste_paste_box 				= document.getElementById("exact_paste_paste_box");
		similar_blast_paste_paste_box 		= document.getElementById("similar_blast_paste_paste_box");
		
// Sequence file upload box
		exact_upload_upload_box 			= document.getElementById("exact_upload_upload_box");
		similar_blast_upload_upload_box 	= document.getElementById("similar_blast_upload_upload_box");
		
	}

// FUNCTION TO PASTE THE SEQUENCE DATA TO THE PASTED SEQUENCE BOX
	function pasteFromLink(seq) {
		allVars();
		if ((exact_paste_exact_radio.checked == true) && (exact_paste_paste_radio.checked == true)) {
			exact_paste_paste_box.value					= seq;
			exact_paste_paste_box.style.backgroundColor = "#FFFFFF";
			exact_paste_paste_box.style.color 			= "#000000";
		}
		else if ((similar_blast_paste_similar_radio.checked == true)
				&& (similar_blast_paste_blast_radio.checked == true)
				&& (similar_blast_paste_paste_radio.checked == true)) {
			similar_blast_paste_paste_box.value 				= seq;
			similar_blast_paste_paste_box.style.backgroundColor = "#FFFFFF";
			similar_blast_paste_paste_box.style.color 			= "#000000";
		}
		
		else {
			exact_paste_paste_box.value								= "";
			exact_paste_paste_box.style.backgroundColor 			= "#C0C0C0";
			exact_paste_paste_box.style.color 						= "#C0C0C0";
			similar_blast_paste_paste_box.value 					= "";
			similar_blast_paste_paste_box.style.backgroundColor 	= "#C0C0C0";
			similar_blast_paste_paste_box.style.color 				= "#C0C0C0";
			
		}
	}

// FUNCTION TO ERASE THE DATA FROM THE PASTED SEQUENCE BOX
	function erasePasteBox() {
		allVars();
		exact_paste_paste_box.value				= "";
		similar_blast_paste_paste_box.value		= "";
		
}

// FUNCTION TO ERASE THE DATA FROM THE UPLOAD FILE BOX
	function eraseUploadBox() {
		allVars();
		exact_upload_upload_box.value			= "";
		similar_blast_upload_upload_box.value	= "";

	}

// FUNCTION TO UNCHECK ALL THE RADIO BUTTONS AND DISABLE PASTED SEQUENCE BOX AND THE UPLOAD FILE BOX
	function uncheckRadioDisableBox() {
		allVars();
		exact_paste_exact_radio.checked 			= false;
		exact_paste_similar_radio.checked 			= false;
		exact_paste_paste_radio.checked 			= false;
		exact_paste_upload_radio.checked 			= false;
		exact_upload_exact_radio.checked 			= false;
		exact_upload_similar_radio.checked 			= false;
		exact_upload_paste_radio.checked 			= false;
		exact_upload_upload_radio.checked 			= false;
		similar_blast_paste_exact_radio.checked 	= false;
		similar_blast_paste_similar_radio.checked 	= false;
		similar_blast_paste_blast_radio.checked 	= false;
		similar_blast_paste_paste_radio.checked 	= false;
		similar_blast_paste_upload_radio.checked 	= false;
		similar_blast_upload_exact_radio.checked 	= false;
		similar_blast_upload_similar_radio.checked 	= false;
		similar_blast_upload_blast_radio.checked 	= false;
		similar_blast_upload_paste_radio.checked 	= false;
		similar_blast_upload_upload_radio.checked 	= false;
		exact_paste_paste_box.disabled				= true;
		similar_blast_paste_paste_box.disabled		= true;
		exact_upload_upload_box.disabled			= true;
		similar_blast_upload_upload_box.disabled	= true;
		
	}

// FUNCTION TO HIDE ALL THE DIVS
	function hideAllDiv() {
		allVars();
		exact_paste_div.style.visibility  			= "hidden";
		exact_upload_div.style.visibility  			= "hidden";
		similar_blast_paste_div.style.visibility  	= "hidden";
		similar_blast_upload_div.style.visibility  	= "hidden";
		
	}

// FUNCTION TO DISPLAY / HIDE REQUIRED DIV
	function displayDiv() {
		allVars();
		erasePasteBox();
		eraseUploadBox();
		hideAllDiv();
// exact_paste
		if (exact_paste_exact_radio.checked == true) {
			if (exact_paste_paste_radio.checked == true) {
				exact_paste_div.style.visibility	= "visible";
				uncheckRadioDisableBox();
				exact_paste_exact_radio.checked 	= true;
				exact_paste_paste_radio.checked 	= true;
				exact_paste_paste_box.disabled		= false;
			}
			else if (exact_paste_upload_radio.checked == true) {
				exact_upload_div.style.visibility  	= "visible";
				uncheckRadioDisableBox();
				exact_upload_exact_radio.checked 	= true;
				exact_upload_upload_radio.checked 	= true;
				exact_upload_upload_box.disabled	= false;
			}
		}
		else if (exact_paste_similar_radio.checked == true) {
			similar_blast_paste_div.style.visibility 	= "visible";
			uncheckRadioDisableBox();
			similar_blast_paste_similar_radio.checked 	= true;
			similar_blast_paste_blast_radio.checked 	= true;
			similar_blast_paste_paste_radio.checked 	= true;
			similar_blast_paste_paste_box.disabled		= false;
		}
// exact_upload
		else if (exact_upload_exact_radio.checked == true) {
			if (exact_upload_paste_radio.checked == true) {
				exact_paste_div.style.visibility	= "visible";
				uncheckRadioDisableBox();
				exact_paste_exact_radio.checked 	= true;
				exact_paste_paste_radio.checked 	= true;
				exact_paste_paste_box.disabled		= false;
			}
			else if (exact_upload_upload_radio.checked == true) {
				exact_upload_div.style.visibility	= "visible";
				uncheckRadioDisableBox();
				exact_upload_exact_radio.checked 	= true;
				exact_upload_upload_radio.checked 	= true;
				exact_upload_upload_box.disabled	= false;
				exact_paste_div.style.visibility	= "hidden";
			}
		}
		else if (exact_upload_similar_radio.checked == true) {
			similar_blast_upload_div.style.visibility 	= "visible";
			uncheckRadioDisableBox();
			similar_blast_upload_similar_radio.checked 	= true;
			similar_blast_upload_blast_radio.checked 	= true;
			similar_blast_upload_upload_radio.checked 	= true;
			similar_blast_upload_upload_box.disabled	= false;
		}
// similar_blast_paste
		else if (similar_blast_paste_exact_radio.checked == true) {
			exact_paste_div.style.visibility	= "visible";
			uncheckRadioDisableBox();
			exact_paste_exact_radio.checked 	= true;
			exact_paste_paste_radio.checked 	= true;
			exact_paste_paste_box.disabled		= false;
		}
		else if (similar_blast_paste_similar_radio.checked == true) {
			if (similar_blast_paste_blast_radio.checked == true) {
				if (similar_blast_paste_paste_radio.checked == true) {
					similar_blast_paste_div.style.visibility 	= "visible";
					uncheckRadioDisableBox();
					similar_blast_paste_similar_radio.checked 	= true;
					similar_blast_paste_blast_radio.checked 	= true;
					similar_blast_paste_paste_radio.checked 	= true;
					similar_blast_paste_paste_box.disabled		= false;
				}
				else if (similar_blast_paste_upload_radio.checked == true) {
					similar_blast_upload_div.style.visibility 	= "visible";
					uncheckRadioDisableBox();
					similar_blast_upload_similar_radio.checked 	= true;
					similar_blast_upload_blast_radio.checked 	= true;
					similar_blast_upload_upload_radio.checked 	= true;
					similar_blast_upload_upload_box.disabled	= false;
				}
			}
			
		}
// similar_blast_upload
		else if (similar_blast_upload_exact_radio.checked == true) {
			exact_upload_div.style.visibility	= "visible";
			uncheckRadioDisableBox();
			exact_upload_exact_radio.checked 	= true;
			exact_upload_upload_radio.checked 	= true;
			exact_upload_upload_box.disabled	= false;
		}
		else if (similar_blast_upload_similar_radio.checked == true) {
			if (similar_blast_upload_blast_radio.checked == true) {
				if (similar_blast_upload_paste_radio.checked == true) {
					similar_blast_paste_div.style.visibility 	= "visible";
					uncheckRadioDisableBox();
					similar_blast_paste_similar_radio.checked 	= true;
					similar_blast_paste_blast_radio.checked 	= true;
					similar_blast_paste_paste_radio.checked 	= true;
					similar_blast_paste_paste_box.disabled		= false;
				}
				else if (similar_blast_upload_upload_radio.checked == true) {
					similar_blast_upload_div.style.visibility 	= "visible";
					uncheckRadioDisableBox();
					similar_blast_upload_similar_radio.checked 	= true;
					similar_blast_upload_blast_radio.checked 	= true;
					similar_blast_upload_upload_radio.checked 	= true;
					similar_blast_upload_upload_box.disabled	= false;
				}
			}
			
		}
// similar_water_paste
		
	}

// FUNCTION TO VALIDATE THE ESSENTIAL FIELDS AND DEFINING ACTION
	function validateSubmit(form_name) {
		allVars();
		var txt = "Please paste a sequence or upload a sequence file";
		if (form_name == "exact_match_form") {
			if (((exact_paste_exact_radio.checked == true) && (exact_paste_paste_box.value != ""))
				|| ((exact_upload_exact_radio.checked == true) && (exact_upload_upload_box.value != ""))) {
				return true;
			}
			else {
				alert(txt);
				return false;
			}
		}
		else if (form_name == "similar_blast_match_form") {
			if (((similar_blast_paste_similar_radio.checked == true) && (similar_blast_paste_paste_box.value != ""))
				|| ((similar_blast_upload_similar_radio.checked == true) && (similar_blast_upload_upload_box.value != ""))) {
					return true;
			}
			else {
				alert(txt);
				return false;
			}
		}
		
		else {
			alert(txt);
			return false;
		}
	}


