//Ering javascript functions
//
function showhide(id) {
	var element = document.getElementById(id);
	if (element.className == 'hidden'){
		element.className = 'showrec';
	}else{
		element.className = 'hidden';
	}
}
function statusmsg(msg) {
	//display status message
	var status = document.getElementById('status_div');
	status.innerHTML = '<blink>'+msg+'</blink> . . . . . please wait!';
	status.className = 'showrec';
}
function ck_file_data(form) {
	//do we have a filename
	if (form.filedata.value.length > 0) {
		statusmsg('Loading');
		form.submit();
	}else{
		alert('You must Browse and select a data file before uploading!')
		return false;		//no data file entered!
	}
}
function k12use() {
	var k12_form = document.forms['loaddata'];
	if (!  k12_form.elements[2].checked) {
		k12_form.elements[3].checked = false;
	}
}
function sm(k12,exp,gene) {
	//show mouseover info
	if (k12){
		title = '<b>ExpName :</b> '+iep[exp]+'<br><b>Gene :</b> '+gene+'<br><b>Locus_Tag :</b> '+igi[gene][0]+'<br><b>LogRatio :</b> '+igd[exp+gene][0]+'<br><b>Operon :</b> '+igi[gene][1]+'<br><b>Reg_By :</b> '+igi[gene][2]+'<br><b>Sigma :</b> '+igi[gene][3]+'<br><b>Pos# :</b> '+igi[gene][4];
	}else{
		title = '<b>ExpName :</b> '+iep[exp]+'<br><b>Gene :</b> '+gene+'<br><b>LogRatio :</b> '+igd[exp+gene][0]+'<br><b>Pos# :</b> '+igi[gene][3];
	}
	window.status = "Gene["+gene+"]  LogRatio["+igd[exp+gene][0]+"]  Pos#["+igi[gene][4]+"]";
	showmsg(title);
}
function hm() {
	//hide mouseover info
	window.status = "";
	hidemsg();
}
function query() {
	//search for gene name on the ring
	// we are using the igi array
	var element = document.getElementById('qryresults');
	var element2 = document.getElementById('qryresults2');
	var qrystat2 = '';
	element.innerHTML = '';
	element2.innerHTML = '';
	qstr = document.qryfrm.qrystr.value;
	qstr = qstr.replace(/^\s*|\s*$/g,"");
	var qrystat = '<font color=red>[ '+qstr+' ] Not Found!</font>';
	if (qstr.length > 0) {
		for (var igene in igi) {
			if (igene == qstr.toLowerCase()) {
				qrystat = '<b><font color=green>[ '+qstr+' ] Pos# : '+igi[igene][4]+'</font></b>';
				qrystat2 = '<b><font color=green>Query : [ '+qstr+' ] Pos# : '+igi[igene][4]+'</font></b>';
			}
		}
	}else{
		document.qryfrm.qrystr.value = '';
		return false;
	}
	document.qryfrm.qrystr.value = '';
	element.innerHTML = qrystat;
	element2.innerHTML = qrystat2;
}
function expand(id) {
	var element = document.getElementById(id);
	var sign = document.getElementById('sign'+id);
	if (element.className == 'hidden'){
		sign.src = "/oumcf/minus.gif";
		sign.title = "Collapse";
		element.className = 'showrec';
	}else{
		sign.src = "/oumcf/plus.gif";
		sign.title = "Expand";
		element.className = 'hidden';
	}
}
function checkall(form) {
	//check / deselect all checkboxex
	for (var i=0;i<form.elements.length;i++) {
		var elem = form.elements[i];
		if (elem.type == 'checkbox') {
			elem.checked=form.allbox.checked;	//set all checkbox to value of allbox(selectall/deselectall)
		}
	}
}
function ck_boxes(form,id,what) {
	//check to see if any checkboxes selected
	//id=type what=redraw or reset-redraw
	var err_sel = false
	for (var i=0;i<form.elements.length;i++) {
		var elem = form.elements[i];
		//cycle thru all checkboxes
		//all names have a '_' in them except for the allbox
		if ((elem.type == 'checkbox') && (elem.name.indexOf('_') != -1)) {
			if (elem.checked) {err_sel = true;}
		}
	}
	if (! err_sel) {
		alert('You must select at least 1 '+id+'!!');
	}else{
		if (what == 'Experiment') {
			statusmsg('Loading');
		}else if (what == 'r_rd_mfunction') {
			//change hidden redraw to reset-redraw
			form.mfunction.name = what;
			statusmsg('Reset-Filtering');
		}else if (what == 'r_rd_regulon') {
			form.regulon.name = what;
			statusmsg('Reset-Filtering');
		}else{
			statusmsg('Filtering');
		}
		form.submit();
	}
}
//==Open Window==================================
function gi(k12,gene) {
	//gene(click) info
	var win = window.open('eringinfo.php?gene='+gene+'&k12='+k12, 'Info', 'height=700,resizable=yes,scrollbars=yes,dependent=yes');
	if (win.focus) {win.focus();}
}
function ehelp(what) {
	//display help
	var win = window.open('eringhelp.php?idx='+what,'Help','width=650,height=600,resizable=yes,scrollbars=yes,dependent=yes');
	if (win.focus) {win.focus();}
}function stats() {
	//display stats
	var win = window.open('eringinfo.php?stat=1','Stats','width=650,height=600,resizable=yes,scrollbars=yes,dependent=yes');
	if (win.focus) {win.focus();}
}
//==XMLHttpRequest===============================
function get_Request(id,url) {
	var element = document.getElementById(id);
	if (element.className == 'hidden'){
		var http_request = false;
		if (window.XMLHttpRequest) { // Mozilla, Safari, ...
			http_request = new XMLHttpRequest();
			if (http_request.overrideMimeType) {
				http_request.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { // IE
			try {
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		if (!http_request) {
			alert('Giving up :( Cannot create an XMLHTTP instance )');
			return false;
		}
		http_request.onreadystatechange = function() { alertContents(http_request); };
		http_request.open('POST', url, true);
		http_request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		http_request.send(null);
	}else{
		element.className = 'hidden';
	}
}
function alertContents(http_request) {
	//display request when ready
	element = document.getElementById('select_form');
	element.className = 'showrec';
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			element.innerHTML = "";
			element.innerHTML = http_request.responseText;
		} else {
			alert('There was a problem with the request.');
		}
	}
}
//=================================
//end of javascript functions