function mloc(form,doSubmit,floc,fid,finfo) {
	if (doSubmit) {
		lm('Loading');
		if (floc == 'saveopt') {
			floc = 'doquery';
			finfo = form.qrystring.value;
		}
		form.floc.value = floc;
		form.fid.value = fid;
		form.finfo.value = finfo;
		if (floc != 'pcorr') {
			form.qrystring.value = finfo;
		}
		form.submit();
		return;
	}else{
		//do not submit
		return false;
	}
}
function ckquery(form) {
	//submit main query box if not empty
	var mfun_check = false;
	//see if mfun has been checked
	for (var i=0; i<form.elements.length; i++) {
		if ((form.elements[i].type == 'checkbox')) {
			if (form.elements[i].checked ) {
				mfun_check = true;
			}
		}
	}
	form.qrystring.value = form.qrystring.value.replace(/^\s+|\s+$|\"+|\'+/g, "");
	if ((form.qrystring.value == '') && (! mfun_check)) {
		//query blank and no mfun checked
		form.floc.value = 'main';
		form.finfo.value = '';
		form.qrystring.value = 'lacZ';
		return false;
	}else{
		lm('Loading');
		form.floc.value = 'doquery';
		form.finfo.value = form.qrystring.value;
		form.submit();
		return false;
	}
}
function lm(msg) {
	//display loading message
	var lid = document.getElementById('load_msg');
	lid.innerHTML = '<span class="pmsg"><font color=\"red\">'+msg+'</font> . . . . . please wait!</span>';
	lid.className = 'showrec';
}
function hm() {
	//hide loading message
	var lid = document.getElementById('load_msg');
	lid.className = 'hidden';
}
function sh(id) {
	//show/hide the div
	var element = document.getElementById(id);
	if (element.className == 'hidden') {
		element.className = 'showrec';
	}else{
		element.className = 'hidden';
	}
}
function expand(id) {
	//mfun (+/-) function
	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 sm(gene,lt,log,std,expset,exp) {
	//show mouseover info
	title = '<b>Gene:</b> '+gene+' ('+lt+')<br><b>Logratio:</b> '+log+'<br><b>StdDev:</b> '+std+'<br><b>ExpSet:</b> '+expset+'<br><b>Exp:</b> '+exp;
	overlib(title, FGCOLOR, '#FFFFE0');
}
function pg(gene,ltag,eid,expname) {
	//presentation type
	if (eval("document.mainfrm.ptype[0].checked") == true) {
		//graph
		lm("Creating Graph");
		document.mainfrm.floc.value = 'graph';
		document.mainfrm.finfo.value = gene+','+ltag+','+eid;
		document.mainfrm.submit();
		return;
	}else if (eval("document.mainfrm.ptype[1].checked") == true) {
		//omics
		var win = window.open('/ouma/omics_data/html/'+expname+'_'+eid+'.html', 'Omics');
		if (win.focus) {win.focus();}
	}else if (eval("document.mainfrm.ptype[2].checked") == true) {
		//ering
		var answer = confirm ("ERing will take a few minutes to load the data.  Continue?")
		if (answer) {
			var win = window.open('/oubcf/ering/index.php?eid='+eid, 'Ering');
			if (win.focus) {win.focus();}
		}
	}
}
function cg(eid,ltag,gene) {
	//click on graph
	lm("Creating Graph");
	document.mainfrm.qrystring.value = gene;
	document.mainfrm.floc.value = 'graph';
	document.mainfrm.finfo.value = gene+','+ltag+','+eid;
	document.mainfrm.submit();
	return;
}
function conf(url,id,name) {
	//confirm download
	var answer = confirm ("Download experiment [ "+name+" ] data in tab-delimited format.  Continue?")
	if (answer) {
		location.href= url+'?eid='+id;
	}
}
function ajdo(url,na,id) {
	//ajax url=calling program; na=name (for post and div) id=number
	if (na == 'mfun') {
		lm("Loading MultiFun");
		document.mainfrm.qrystring.value = '';
	}
	rec = document.getElementById(na + id);
	if (rec.className == 'hidden'){
		sendRequest(url, na + '=' + id);
		rec.className = 'showrec';
	}else{
		rec.className = 'hidden';
	}
}
//ajax functions
function createRequestObject() {
	var ro;
	if (navigator.appName == "Microsoft Internet Explorer") {
		ro = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		ro = new XMLHttpRequest();
	}
	return ro;
}
var http;
function sendRequest(url,parms) {
	http = createRequestObject();
	http.onreadystatechange = handleResponse;
	http.open('POST', url, true);
	http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	http.send(parms);
}
function handleResponse() {
	if (http.readyState == 4) {
		if (http.status == 200){
			hm();
			rec.innerHTML = http.responseText;
		}else{
			alert("There was a problem retrieving the data: " + http.statusText);
		}
	}
}