function bg_select (bg_type) {
	if (bg_type == "pasted") {
		var bg_textArea = document.getElementById("bg_textArea");
		if (!bg_textArea) {
			var ins_place = document.getElementById("bg_ins_point");
			var bg_textArea = document.createElement("textarea");
			bg_textArea.setAttribute("id", "bg_textArea");
			bg_textArea.setAttribute("name", "bg_textArea");
			bg_textArea.setAttribute("cols", "80");
			bg_textArea.setAttribute("rows", "15");
			bg_textArea.style.fontSize="10px";
			bg_textArea.style.lineHeight="12px";
			bg_textArea.style.overflow="auto";
			ins_place.parentNode.insertBefore(bg_textArea, ins_place);
		}
	} else {
		var bg_textArea = document.getElementById("bg_textArea");
		if (bg_textArea) {
			bg_textArea.parentNode.removeChild(bg_textArea);
		}
	}

	return false;
}

function check_input () {
	clean_error_table();

	// count the number of signal genes
	var sig_TA = document.getElementById("signal_genes");
	var TA_list = sig_TA.value.split("\n");
	var n_genes = 0;
	for (i=0; i<TA_list.length; i++) {
		if ((TA_list[i]!="")&&(TA_list[i]!="\r")) {
			++n_genes;
		}
	}

	// count the number of background genes
	var n_bg_genes = 10000;
	var bg_TA = document.getElementById("bg_textArea");
	if (bg_TA) {
		n_bg_genes = 0;
		var TA_list = bg_TA.value.split("\n");
		for (i=0; i<TA_list.length; i++) {
			if ((TA_list[i]!="")&&(TA_list[i]!="\r")) {
				++n_bg_genes;
			}
		}
	}

	var min_genes = 2;
	if (n_genes<min_genes) {
		report_problem(n_genes+" gene records found.<br>Please enter at least "+min_genes+" genes.");
		return false;
	} else if (n_bg_genes<min_genes) {
		report_problem(n_bg_genes+" background gene records found.<br>Please enter at least "+min_genes+" background genes.");
		return false;
	} else {
		return true;
	}
}

function report_problem (message) {
	var err_table = document.getElementById("error_table");
	var new_row = err_table.appendChild( document.createElement("tr") );
	var new_td = new_row.appendChild( document.createElement("td") );
	new_td.setAttribute("width", "400");
	new_td.setAttribute("align", "center");
	new_td.style.backgroundColor="#ffeeee";
	new_td.style.align="center";
	new_td.innerHTML = "<br><b>Error:</b><br>"+message+"<br><br>";
}

function clean_error_table () {
	var err_table = document.getElementById("error_table");
	while (err_table.rows.length>0) {
		err_table.removeChild(err_table.rows[0]);
	}
}
