about summary refs log tree commit diff
path: root/web/javascript/webqtl.js
diff options
context:
space:
mode:
authorroot2012-05-08 18:39:56 -0500
committerroot2012-05-08 18:39:56 -0500
commitea46f42ee640928b92947bfb204c41a482d80937 (patch)
tree9b27a4eb852d12539b543c3efee9d2a47ef470f3 /web/javascript/webqtl.js
parent056b5253fc3857b0444382aa39944f6344dc1ceb (diff)
downloadgenenetwork2-ea46f42ee640928b92947bfb204c41a482d80937.tar.gz
Add all the source codes into the github.
Diffstat (limited to 'web/javascript/webqtl.js')
-rw-r--r--web/javascript/webqtl.js1346
1 files changed, 1346 insertions, 0 deletions
diff --git a/web/javascript/webqtl.js b/web/javascript/webqtl.js
new file mode 100644
index 00000000..f8dd1a4e
--- /dev/null
+++ b/web/javascript/webqtl.js
@@ -0,0 +1,1346 @@
+// var NS4 = (document.layers) ? 1 : 0;
+// var IE4 = (document.all) ? 1 : 0;
+
+function openNewWin(myURL){
+	windowName = 'formTarget' + (new Date().getTime());
+	if (openNewWin.arguments.length == 2){
+  		newWindow = open(myURL,windowName,openNewWin.arguments[1]);
+	}
+	else{
+		newWindow = open(myURL,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	}
+}
+
+/*XZ, 9/2/2009*/
+/*submit form to new window*/
+function submitToNewWindow(thisForm){
+        var windowName = genNewWin();
+        newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+        newWindow.focus();
+        thisForm.target = windowName;
+        thisForm.submit();
+}
+
+/*Obsolete and To be mofdified*/
+/*
+function makeTree(thisForm, nnn){
+  	var trait_list2 = new Array();
+	var correlation2 = new Array();
+	var symbol_list2 = new Array();
+	var length = document.showDatabase.searchResult.length;
+	var j = 0
+	for(var i = 0; i < length; i++)
+	{
+		if (document.showDatabase.searchResult[i].checked == true){
+			trait_list2 = trait_list2.concat(trait_list[i]);
+			correlation2 = correlation2.concat(correlation[i]);
+			symbol_list2 = symbol_list2.concat(symbol_list[i]);
+			j += 1;
+		}
+	}
+	
+	var windowName = 'formTarget' + (new Date().getTime());
+	var newWindow = open("", windowName,"width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+	var html = "";
+	if (j > 0)
+	{	
+		var waithtml1 ="<Blockquote class='title' id='red'>Your list of "+j+" transcripts is being exported to the Gene Ontology Tree Machine for analysis. This window will soon be replaced with the main GOTM results.</Blockquote>";
+	}
+	else
+	{	
+		var waithtml1 ="<Blockquote class='title' id='red'>Your should select at least one transcript to export to the Gene Ontology Tree Machine for analysis.</Blockquote>";
+	}
+  	html +=  waithtml1;
+  	//newWindow.document.write(html);
+  	//newWindow.document.close();
+  	newWindow.focus();
+  	if (j > 0)
+  	{
+		thisForm.trait_list.value = trait_list2.join(',');
+		thisForm.correlation.value = correlation2.join(',');
+		thisForm.symbol_list.value = symbol_list2.join(',');
+		thisForm.target = windowName;
+		thisForm.submit();
+	}
+}
+*/
+
+function showCorrelationPlot(ProbeSetID,CellID){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showDatabase.target = windowName;
+	document.showDatabase.FormID.value = "showCorrelationPlot";
+	document.showDatabase.ProbeSetID.value = ProbeSetID;
+	document.showDatabase.CellID.value = CellID;
+	document.showDatabase.submit();
+}
+
+
+function showPairPlot(ChrA,ChrB){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showPairPlot.target = windowName;
+	document.showPairPlot.Chr_A.value = ChrA;
+	document.showPairPlot.Chr_B.value = ChrB;
+	document.showPairPlot.submit();
+}
+
+function showCorrelationPlot2(db, ProbeSetID, CellID, db2, ProbeSetID2, CellID2, rank){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showDatabase.target = windowName;
+	document.showDatabase.FormID.value = "showCorrelationPlot";
+	document.showDatabase.database.value = db;
+	document.showDatabase.ProbeSetID.value = ProbeSetID;
+	document.showDatabase.CellID.value = CellID;
+	document.showDatabase.database2.value = db2;
+	document.showDatabase.ProbeSetID2.value = ProbeSetID2;
+	document.showDatabase.CellID2.value = CellID2;
+	document.showDatabase.rankOrder.value = rank;
+
+	//This is to make sure the type of correlation is Sample Correlation
+	if(typeof(document.showDatabase.X_geneSymbol) !== 'undefined'){
+		document.showDatabase.X_geneSymbol.value = null;
+		document.showDatabase.Y_geneSymbol.value = null;
+	}
+
+	document.showDatabase.submit();
+}
+
+
+function showProbeInfo(Database,ProbeSetID,CellID){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showDatabase.target = windowName;
+	document.showDatabase.FormID.value = "showProbeInfo";
+	document.showDatabase.database.value = Database;
+	document.showDatabase.ProbeSetID.value = ProbeSetID;
+	document.showDatabase.CellID.value = CellID;
+	document.showDatabase.submit();
+}
+
+
+function showDatabase(ProbeSetID,CellID){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showDatabase.target = windowName;
+	document.showDatabase.FormID.value = "showDatabase";
+	document.showDatabase.ProbeSetID.value = ProbeSetID;
+	document.showDatabase.CellID.value = CellID;
+	document.showDatabase.submit();
+}
+
+
+
+function showDatabase2(Database,ProbeSetID,CellID){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.showDatabase.target = windowName;
+	document.showDatabase.FormID.value = "showDatabase";
+	document.showDatabase.database.value = Database;
+	document.showDatabase.ProbeSetID.value = ProbeSetID;
+	document.showDatabase.CellID.value = CellID;
+	document.showDatabase.submit();
+}
+
+
+function showDatabase3(formName, Database,ProbeSetID,CellID){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document[formName].target = windowName;
+	document[formName].FormID.value = "showDatabase";
+	document[formName].database.value = Database;
+	document[formName].ProbeSetID.value = ProbeSetID;
+	document[formName].CellID.value = CellID;
+	document[formName].submit();
+}
+
+
+function showTextResult(){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	document.SEARCHFORM.target = windowName;
+	document.SEARCHFORM.submit();
+	newWindow.focus()
+}
+
+/*New form name independent function*/
+function getForm(fmName){
+	var match = 0;
+	for (i=0; i< document.forms.length;i++){
+		if (document.forms[i].name == fmName){
+			thisForm = document.forms[i];
+			match = 1;
+			return thisForm;
+		}
+	}
+	if (match == 0)
+		return null;
+}
+
+function genNewWin(){
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName, "menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	return windowName;
+}
+
+function showTrait(fmName){
+	var thisForm = getForm(fmName);
+	if (thisForm == null || showTrait.arguments.length < 2)
+		return;
+	
+	windowName = genNewWin();
+	thisForm.target = windowName;
+	
+	thisForm.FormID.value = "showDatabase";
+	thisForm.ProbeSetID.value = showTrait.arguments[1];
+	if (showTrait.arguments.length > 2)
+		thisForm.CellID.value = showTrait.arguments[2];
+	else
+		thisForm.CellID.value = "";
+	thisForm.submit();
+}
+
+function showCateGraph(fmName){
+	var thisForm = getForm(fmName);
+	if (thisForm == null || showCateGraph.arguments.length < 2)
+		return;
+	
+	windowName = genNewWin();
+	thisForm.target = windowName;
+	
+	thisForm.FormID.value = "showCategoryGraph";
+	thisForm.interval1.value = showCateGraph.arguments[1];
+	thisForm.interval2.value = showCateGraph.arguments[2];
+	thisForm.submit();
+}
+
+function showCorrPlot(fmName){
+	var thisForm = getForm(fmName);
+	if (thisForm == null || showCorrPlot.arguments.length < 2)
+		return;
+	
+	windowName = genNewWin();
+	thisForm.target = windowName;
+	
+	thisForm.FormID.value = "showCorrelationPlot";
+	thisForm.ProbeSetID.value = showCorrPlot.arguments[1];
+	if (showCorrPlot.arguments.length > 2)
+		thisForm.CellID.value = showCorrPlot.arguments[2];
+	else
+		thisForm.CellID.value = "";
+	
+	thisForm.X_geneSymbol.value = null;
+	thisForm.Y_geneSymbol.value = null;
+
+	thisForm.submit();
+	
+}
+
+
+function showCorrPlotThird(fmName){
+	var thisForm = getForm(fmName);
+	if (thisForm == null || showCorrPlotThird.arguments.length < 3)
+		return;
+	
+	windowName = genNewWin();
+	thisForm.target = windowName;
+	
+	var olddb = thisForm.database.value;
+	
+	thisForm.FormID.value = "showCorrelationPlot";
+	thisForm.database.value = showCorrPlotThird.arguments[1];
+	thisForm.ProbeSetID.value = showCorrPlotThird.arguments[2];
+	if (showCorrPlotThird.arguments.length > 3)
+		thisForm.CellID.value = showCorrPlotThird.arguments[3];
+	else
+		thisForm.CellID.value = "";
+	thisForm.submit();
+	thisForm.database.value = olddb;
+}
+
+/*
+function ODE(thisForm, script){
+	var trait_list_all = new Array();
+	var correlation_all = new Array();
+	var llid_list_all = new Array();
+  	var trait_list2 = new Array();
+	var correlation2 = new Array();
+	var llid_list2 = new Array();
+	var length = thisForm.searchResult.length;
+	var j = 0;
+	for(var i = 0; i < length; i++){
+		var p = corrArray[thisForm.searchResult[i].value];
+		if (thisForm.searchResult[i].checked == true){
+			trait_list2 = trait_list2.concat(p.name);
+			correlation2 = correlation2.concat(p.corr);
+			llid_list2 = llid_list2.concat(p.geneid);
+			j += 1;
+		}
+		trait_list_all = trait_list_all.concat(p.name);
+		correlation_all = correlation_all.concat(p.corr);
+		llid_list_all = llid_list_all.concat(p.geneid);
+	}
+	var windowName = 'formTarget' + (new Date().getTime());
+	var newWindow = open("", windowName, "width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+	var html = "";
+	if (j == 0){	
+		j = length;
+		trait_list2 = trait_list_all;
+		correlation2 = correlation_all;
+		llid_list2 = llid_list_all;
+	}
+	
+	var waithtml1 ="<Blockquote class='title' id='red'>Your list of "+j+" transcripts is being exported to the ODE for analysis. This window will soon be replaced with the results.</Blockquote>";
+	
+  	html +=  waithtml1;
+  	newWindow.document.write(html);
+  	newWindow.document.close();
+  	newWindow.focus();
+  	if (j > 0){
+		thisForm.id_list.value = trait_list2.join(',');
+		thisForm.correlation.value = correlation2.join(',');
+		thisForm.id_value.value = thisForm.correlation.value;
+		thisForm.llid_list.value = llid_list2.join(',');
+		
+		// ODE
+		
+		thisForm.idtype.value = thisForm.id_type.value;
+		thisForm.species.value = thisForm.org.value;
+		thisForm.list.value = thisForm.id_list.value;
+		thisForm.client.value = "genenetwork";
+		
+		thisForm.target = windowName;
+		var oldaction = thisForm.action;
+		thisForm.action = script;
+		thisForm.submit();
+		thisForm.action = oldaction;
+	}
+}
+*/
+// 02/12/2009 
+// Lei Yan
+
+/*scripts in the Dataediting form*/
+
+function dataEditingFunc(thisForm,submitIdValue){
+	
+	windowName = 'formTarget' + (new Date().getTime());
+
+	if (thisForm.FormID.value!='secondRegression'){
+		thisForm.FormID.value = 'dataEditing';
+	}
+
+	if ((submitIdValue == "markerRegression")||(submitIdValue == "compositeRegression")){
+		thisForm.topten.value = "";
+	}
+
+	else if (submitIdValue == "addRecord"){
+		windowName = thisForm.RISet.value;	
+		var name = thisForm.identification.value;
+		if (name != ""){
+		}
+		else{
+			name = "Unnamed Trait";
+    		}
+		Namebox = prompt("Name of your trait",name);
+		thisForm.identification.value = Namebox;
+	}
+
+	else{
+	}
+
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	thisForm.target = windowName;
+	newWindow.focus();		
+	thisForm.submitID.value = submitIdValue;
+	thisForm.submit();
+}
+
+/*searchForm etc.*/
+function databaseFunc(thisForm,formIdValue){
+	if(formIdValue=="GOTree" && typeof(corrArray)!='undefined' && corrArray!=null){
+                makeListCorrelation(thisForm);
+        }
+
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	if (databaseFunc.arguments.length > 2){
+  		newWindow.document.write("<center><H3><font color='black' face='verdana'>" + databaseFunc.arguments[2]+ "</font></h3></center>");
+  		newWindow.document.close();
+	}
+	newWindow.focus();
+	thisForm.target = windowName;
+	thisForm.FormID.value = formIdValue;
+	thisForm.submit();
+}
+
+/* make a list of correlation values for GOTree */
+function makeListCorrelation(thisForm){
+	var correlation = new Array();
+	for(var i = 0; i < thisForm.searchResult.length; i++){
+		if (thisForm.searchResult[i].checked == true){
+			var p = corrArray[thisForm.searchResult[i].value];
+			correlation = correlation.concat(p.corr);
+		}
+	}
+	thisForm.correlation.value = correlation.join(',');
+}
+
+/*add/remove selection*/
+
+function addRmvSelection(windowName, thisForm, addORrmv){
+	var newWindow = window.open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	thisForm.target = windowName;
+	thisForm.FormID.value = addORrmv;
+	thisForm.submit();
+	newWindow.focus();	
+}
+
+function batchSelection(thisForm){
+  	var select = thisForm.RISet;
+  	var windowName = select.options[select.selectedIndex].value;
+	var newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	newWindow.focus();
+	thisForm.target = windowName;
+	thisForm.submit();
+}
+
+/*opener involved*/
+
+function showTop10(formName, submitIdValue){
+	var match = 0;
+	for (i=0; i< window.opener.document.forms.length;i++){
+		if (window.opener.document.forms[i].name == formName){
+			thisForm = window.opener.document.forms[i];
+			match = 1;
+			break;
+		}
+	}
+	if (match == 0)
+		return;
+
+	thisForm.target = self.name;
+	if ((submitIdValue == "markerRegression")||(submitIdValue == "compositeRegression")){
+		thisForm.topten.value = "topten";
+	}
+		
+	thisForm.submitID.value = submitIdValue;
+	thisForm.submit();
+}
+
+
+function showIndividualChromosome(formName, submitIdValue, ii){
+	var match = 0;
+	for (i=0; i< window.opener.document.forms.length;i++){
+		if (window.opener.document.forms[i].name == formName){
+			thisForm = window.opener.document.forms[i];
+			match = 1;
+			break;
+		}
+	}
+	if (match == 0)
+		return;
+		
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+	newWindow.focus();
+	thisForm.target = windowName;
+	
+	if (submitIdValue == "showIntMap"){
+		thisForm.chromosomes.value = ii;
+	}
+	else{
+		thisForm.chromosomes.selectedIndex = ii;
+	}
+
+	thisForm.FormID.value = submitIdValue;
+	thisForm.submit();
+
+}
+
+/*end of opener*/
+
+function showSample(thisForm){
+	thisForm.submitID.value = "sample";
+	thisForm.submit();
+}
+
+function showNext(thisForm){
+	thisForm.submitID.value = "next";
+	thisForm.submit();
+}
+
+
+function changeStatusSubmit(thisForm, status) {
+	thisForm.status.value = status;
+        thisForm.submit();
+}
+
+function editHTML(thisForm, execCommand){
+	if (execCommand == "preview"){
+		windowName = 'formTarget' + (new Date().getTime());
+		newWindow = open("",windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+		newWindow.focus();
+		thisForm.target = windowName;
+		thisForm.preview.value = "newWindow";
+		thisForm.submit();
+	}
+	else if (execCommand == "submit"){
+		//thisForm.target = window;
+		thisForm.preview.value = "";
+		thisForm.submit();
+	}
+	else{
+	}
+}
+
+function dataWindow(form){
+  var SaveAs = (document.execCommand) ? 1 : 0;
+  newWindow = open("", "thankYouWin","width=600,menubar=1,toolbar=1,height=300,resizable=0,status=1,scrollbars=1");
+  var html = "";
+  for (var i=0; i < form.length; i++)
+   {
+        if (form.elements[i].type == "text")
+        {
+                if (form.elements[i].value=="")
+                   html +="x ";
+                else
+                   html += form.elements[i].value+" ";
+        }
+   }
+  newWindow.document.open();
+  newWindow.document.write(html);
+  newWindow.document.close();
+  newWindow.focus();
+
+  if (!SaveAs)
+	{alert("Feature is not avaiable in current type of browser,You \nneed to manually save the content into a text format \nfile, The window will be automatically closed in 20 \nseconds!");
+	setTimeout("newWindow.close()", 20000);}
+  else
+    {
+	  if (newWindow.document.execCommand('SaveAs',false,'.txt'))
+		{newWindow.close();}
+	  else{
+	    alert("Either you cancelled the SaveAs Dialog, or this feature \nis not avaiable in current type of browser, You \ncan manually save the content into a text format file.");
+	    setTimeout("newWindow.close()", 20000);
+	  }
+	}
+}
+
+
+function xchange() {  
+  var select = document.crossChoice.RISet;
+  var value = select.options[select.selectedIndex].value;
+  
+  if (value !="BDAI") return;
+  document.crossChoice.variance.checked = false;
+}
+
+/*display Info Page and Data Set buttom Added by A. Centeno*/
+
+function datasetinfo(){
+    var windowName = 'dataset_info' + (new Date().getTime());
+    var select = document.SEARCHFORM.database;
+    var database = select.options[select.selectedIndex].value;
+	var page = '/webqtl/main.py?FormID=sharinginfo&InfoPageName=' + database;
+    newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+    newWindow.focus();
+}
+
+function databaseinfo(){
+    var windowName = 'database_info' + (new Date().getTime());
+    var select = document.SEARCHFORM.database;
+    var database = select.options[select.selectedIndex].value;
+    var page = '/webqtl/main.py?FormID=sharinginfo&InfoPageName=' + database;
+    newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+    newWindow.focus();
+}
+
+function crossinfo(){
+    var windowName = 'cross_info';
+    var select0 = document.SEARCHFORM.species;
+    var select1 = document.SEARCHFORM.cross;
+    var specie = select0.options[select0.selectedIndex].value;
+    var database = select1.options[select1.selectedIndex].value;
+    var page = '/' + specie + 'Cross.html#' + database;
+    newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+    newWindow.focus();
+}
+
+function crossinfo2(){
+    var windowName = 'cross_info';
+    var select = document.crossChoice.RISet;
+    var database = select.options[select.selectedIndex].value;
+    var page = '/cross.html#' + database;
+    newWindow = open(page,windowName,"menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900");
+    newWindow.focus()
+}
+
+
+function checkWidth(){
+	var width = document.getElementsByName('plotSize')[0].value
+	
+	if (width < 600) {
+		alert("Plot size is too small - setting size to 600")
+		document.getElementsByName('plotSize')[0].value = 600
+	}	
+}
+
+function changeLineColor(){
+	var lineColor = document.getElementsByName('lineColorSel')[0].value
+	
+	document.getElementsByName('lineColor')[0].value = lineColor
+}
+
+function changeLineSize(){
+	var lineSize = document.getElementsByName('lineSizeSel')[0].value
+	
+	document.getElementsByName('lineSize')[0].value = lineSize
+}
+
+function changeIdColor(){
+	var idColor = document.getElementsByName('idColorSel')[0].value
+	
+	document.getElementsByName('idColor')[0].value = idColor
+}
+
+function changeIdFont(){
+	var idFont = document.getElementsByName('idFontSel')[0].value
+	
+	document.getElementsByName('idFont')[0].value = idFont
+}
+
+function changeIdSize(){
+	var idSize = document.getElementsByName('idSizeSel')[0].value
+	
+	document.getElementsByName('idSize')[0].value = idSize
+}
+
+function changeSymbolColor(){
+	var symbolColor = document.getElementsByName('colorSel')[0].value
+	
+	document.getElementsByName('symbolColor')[0].value = symbolColor
+}
+
+function changeSymbol(){
+	var symbol = document.getElementsByName('symbolSel')[0].value
+	
+	document.getElementsByName('symbol')[0].value = symbol
+}
+
+function changeFilled(){
+	var filled = document.getElementsByName('fillSel')[0].value
+	
+	document.getElementsByName('filled')[0].value = filled
+}
+
+function changeSize(){
+	var symbolSize = document.getElementsByName('sizeSel')[0].value
+	
+	document.getElementsByName('symbolSize')[0].value = symbolSize
+}
+
+
+function checkAll(thisForm){ 
+	var length = thisForm.searchResult.length;
+	for(var i = 0; i < length; i++)
+	{
+		thisForm.searchResult[i].checked = true;
+		highlight(thisForm.searchResult[i]);
+	}
+} 
+
+function checkNone(thisForm){ 
+	var length = thisForm.searchResult.length;
+	for(var i = 0; i < length; i++)
+	{
+		thisForm.searchResult[i].checked = false;
+		highlight(thisForm.searchResult[i]);
+	}
+} 
+
+function checkInvert(thisForm){ 
+	var length = thisForm.searchResult.length;
+	for(var i = 0; i < length; i++)
+	{
+		thisForm.searchResult[i].checked = !(thisForm.searchResult[i].checked);
+		highlight(thisForm.searchResult[i]);
+	}
+} 
+
+/*Not used anymore*/
+function checkTraits2(thisForm){ 
+	var length = thisForm.searchResult.length;
+	var category = thisForm.selectmenu.value;
+	for(var i = 0; i < length; i++)
+	{
+		if (category == 'gt0.8')
+		{
+			if (correlation[i] > 0.8)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (category == 'gt0.4')
+		{
+			if (correlation[i] > 0.4)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (category == 'gt0.0')
+		{
+			if (correlation[i] > 0.0)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (category == 'lt0.0')
+		{
+			if (correlation[i] < 0.0)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (category == 'lt-0.4')
+		{
+			if (correlation[i] < -0.4)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (category == 'lt-0.8')
+		{
+			if (correlation[i] < -0.8)
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else
+			{}
+	}
+} 
+
+
+function checkNumeric(field,limit,resetvalue,compares,fdname)
+	{
+		pattern = /^-?[0-9]*\.?[0-9]*$/; 
+		if(pattern.test(field.value)==false)
+		{
+			alert("Not numeric in " + fdname);
+			field.value = resetvalue;
+		}
+		else 
+		{
+			if (compares == 'gthan') {
+			if(field.value > limit)
+			{
+				alert("Out of range in " + fdname);
+				field.value = resetvalue;
+			}}
+			else {
+			if(field.value < limit)
+			{
+				alert("Out of range in " + fdname);
+				field.value = resetvalue;
+			}}
+		}
+	}
+
+function checkTraits(thisForm){ 
+	var length = thisForm.searchResult.length;
+	var andor = thisForm.selectandor.value;
+	var gthan = parseFloat(thisForm.selectgt.value);
+	var lthan = parseFloat(thisForm.selectlt.value);
+	//alert(length + ' / ' + andor  + ' / ' + gthan + ' / ' + lthan);
+	for(var i = 0; i < length; i++)
+	{
+		var p = corrArray[thisForm.searchResult[i].value];
+		if (andor == 'and')
+		{
+			if ((p.corr > gthan) && ( p.corr < lthan))
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else if (andor == 'or')
+		{
+			if ((p.corr > gthan) || ( p.corr < lthan))
+				{thisForm.searchResult[i].checked = true;}
+			else
+				{thisForm.searchResult[i].checked = false;}
+		}
+		else
+			{}
+		highlight(thisForm.searchResult[i]);
+	}
+
+
+}
+
+
+function checkPM(thisForm){ 
+	var length = thisForm.searchResult.length;
+	for(var i = 0; i < length; i++)
+	{
+		curStr = thisForm.searchResult[i].value;
+		//alert(curStr.charAt(curStr.length - 1));
+		if ((curStr.charAt(curStr.length - 1) % 2) == 1)
+			{thisForm.searchResult[i].checked = true;}
+		else
+			{thisForm.searchResult[i].checked = false;}
+		highlight(thisForm.searchResult[i]);
+	}
+} 
+function checkMM(thisForm){ 
+	var length = thisForm.searchResult.length;
+	for(var i = 0; i < length; i++)
+	{
+		curStr = thisForm.searchResult[i].value;
+		if ((curStr.charAt(curStr.length - 1) % 2) == 0)
+			{thisForm.searchResult[i].checked = true;}
+		else
+			{thisForm.searchResult[i].checked = false;}
+		highlight(thisForm.searchResult[i]);
+	}
+} 
+
+
+function directPermuAlert(thisForm){ 
+	if (thisForm.directPermuCheckbox.checked){ 
+		alert("Interaction permutation will take long time to compute.\n Check this box only when necessary."); 
+	}
+} 
+
+function cliqueDatabase(pid){
+	var windowName = 'clique';
+	var newWindow = open("", windowName,"width=900,menubar=0,toolbar=1,resizable=1,status=1,scrollbars=1");
+	var html = '<form name=info action=http://compbio1.uthsc.edu/clique_go/results.php method=post><center><table cellspacing=0 cellpadding=0 border=0 width=50%><tr><td><font size=+1> ProbsetId </font><input type=text name=pid value=';
+	html += pid;
+  	html += ' size=20 maxlength=30 ></td><tr><td><font size=+1> p-value range: between </font><input type=text name=pval_1 value=0 size=8 maxlength=20 > and <input type=text name=pval_2 value=0.01 size=8 maxlength=20></td><td><input type=submit value=Search Clique onclick=return check();></td></tr></table></center></form>';
+	newWindow.document.write(html);
+  	newWindow.document.close();
+  	newWindow.focus();
+}
+
+function getCookie(NameOfCookie){
+	if (document.cookie.length > 0){
+		begin = document.cookie.indexOf(NameOfCookie+"=");
+		if (begin != -1){
+			begin += NameOfCookie.length+1;
+			end = document.cookie.indexOf(";", begin);
+			if (end == -1) end = document.cookie.length;
+			return unescape(document.cookie.substring(begin, end));
+			}
+	}
+	return null;
+}
+
+function setCookie(NameOfCookie, value, expiredays){
+	var ExpireDate = new Date ();
+	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
+	document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString()) + "; path=/";
+}
+
+
+function delCookie (NameOfCookie){
+	if (getCookie(NameOfCookie)){
+		document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";
+	}
+}
+
+
+function highlight(chkbox){
+	var tr = document.getElementById(chkbox.value);
+	if (tr){
+		if (chkbox.checked == true)
+			tr.bgColor='#FFEE99';
+		else
+			tr.bgColor='#eeeeee';
+	}
+}
+
+/* refresh function option when domain options change */
+function snpbrowser_function_refresh() {
+   var idx = document.newSNPPadding.domain.selectedIndex;
+   if (idx != 1) {
+      document.newSNPPadding.exonfunction.options[0].selected=true;
+      for (var i=1; i<document.newSNPPadding.exonfunction.length; i++) {
+          document.newSNPPadding.exonfunction.options[i].selected=false;
+      }
+   } 
+}
+
+function snpbrowser_domain_refresh() {
+   /* to refresh domain option when function option change */
+   var form = document.newSNPPadding;
+   var idx = form.exonfunction.selectedIndex;
+   if (idx != 0) {
+        form.domain.options[0].selected = false;
+        form.domain.options[1].selected = true;
+        for (var i=2; i<form.domain.length; i++) {
+             form.domain.options[i].selected = false;
+        }
+   }
+}
+
+function showHideOptions() {
+	var options = document.getElementById("options");
+	var showOptions = document.getElementsByName("showOptions")[0];
+	var optionsButton = document.getElementsByName("optionsButton")[0];
+	
+	if (showOptions.value == '0') {
+		showOptions.value = '1';
+		optionsButton.value = "Hide Options";
+	}
+	else {
+		showOptions.value = '0';
+		optionsButton.value = "Show Options";
+	}
+	
+	options.style.display = (options.style.display != 'none' ? 'none' : '' );	
+}
+
+function editPCAName(thisForm) {
+	var pcaTraits = document.getElementsByName("searchResult");
+	
+	var nameArray = new Array();
+	
+	for (j=1; j<=pcaTraits.length; j++){
+		var traitName = "pcaTrait" + String(j);
+		var pcaTrait = document.getElementById(traitName).childNodes[0].innerHTML;
+		var editID = "editName" + String(j);
+		var editName = document.getElementsByName(editID)[0].value;
+		var originalName = pcaTrait.split(":")[3];
+		
+		if (editName.length < 1) {
+			nameArray.push(originalName);
+		}
+		else {
+			nameArray.push(editName);
+		}
+	}
+	
+	var newNames = nameArray.join(",");
+	
+	thisForm.newNames.value = newNames;
+	thisForm.searchResult = thisForm.oldSearchResult;
+	thisForm.FormID.value = "corMatrix";
+	
+	thisForm.submit();
+}
+
+
+/*
+Used by GoTreePage.py,ODEPage.py ,add the parameter 'methodName'
+*/
+function mixedChipError(methodName){
+	str ='Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from more than one array platform (ie., Affymetrix U74A and M430 2.0). Most ' + methodName + ' analyses assume that you are using a single array type and compute statistical values on the basis of that particular array. Please reselect traits from a single platform and submit again.';
+	alert(str);
+	window.close();
+}
+
+/*
+Used by GoTreePage.py, add the parameter 'chipName'
+*/
+function unknownChipError(chipName){
+	alert("Sorry, the analysis was interrupted because your selections from GeneNetwork apparently include data from platform"+ chipName +"which is unknown by WebGestalt. Please reselect traits and submit again.");
+	window.close();
+}
+
+/*
+Used by PartialCorrInputPage.py, 
+*/
+function validateTrait(thisForm, inputRadioNames, type, method)
+{
+    var radioArray = new Array();
+    radioArray = inputRadioNames.split(',');
+
+    var value = null;
+    var primaryCount = 0;
+    var controlCount = 0;
+    var targetCount = 0;
+    var primaryString = '';
+    var controlString = '';
+    var targetString = '';
+
+    for (var i = 0; i < radioArray.length; i++)
+    {
+        radioElement = thisForm[radioArray[i]]
+
+        for (var j = 0; j < radioElement.length; j++)
+        {
+            if (radioElement[j].checked) {
+                value = radioElement[j].value;
+            }
+        }
+
+        if (value == "primary") {
+            primaryCount += 1;
+            primaryString += radioElement[0].name + ',';
+        }
+        else if (value == "control") {
+            controlCount += 1;
+            controlString += radioElement[0].name + ',';
+        }
+        else if (value == "target") {
+            targetCount += 1;
+            targetString += radioElement[0].name + ',';
+        }
+    }
+
+    primaryString = primaryString.slice(0,primaryString.length-1);
+    controlString = controlString.slice(0,controlString.length-1);
+    targetString = targetString.slice(0,targetString.length-1);
+
+    if (primaryCount < 1) {
+        alert("You must select one primary trait!");
+    }
+    else if (primaryCount > 1) {
+        alert("You selected multiple primary traits. Please just select one primary trait!");
+    }
+    else if (controlCount < 1) {
+        alert("You must select at least one control trait!");
+    }
+    else if (controlCount > 3) {
+        alert("You selected more than three control traits. Please select no more than three control trait!");
+    }
+    else if (targetCount < 1 && type == 0) {
+        alert("You must select at least one target trait!");
+    }
+    else {
+        thisForm.primaryTrait.value = primaryString;
+        thisForm.controlTraits.value = controlString;
+        thisForm.targetTraits.value = targetString;
+
+        if (type == 0){
+            if (method == 1) {
+                thisForm.pcMethod.value = "pearson";
+            }
+            else {
+                thisForm.pcMethod.value = "spearman";
+            }
+
+            databaseFunc(thisForm,'calPartialCorrTrait');
+        }
+        if (type == 1){
+            databaseFunc(thisForm,'calPartialCorrDB');
+        }
+
+    }
+    
+}
+
+/*
+used by IntervalMappingPage.py
+*/
+function changeView(i, Chr_Mb_list){
+	var oldwidth= document.changeViewForm.graphWidth.value;
+	var oldselect= document.changeViewForm.chromosomes.selectedIndex;
+	var oldstart= document.changeViewForm.startMb.value;
+	var oldend= document.changeViewForm.startMb.value;
+	windowName = 'formTarget' + (new Date().getTime());
+	newWindow = open('',windowName,'menubar=1,toolbar=1,location=1,resizable=1,status=1,scrollbars=1,directories=1,width=900');
+	document.changeViewForm.target = windowName;
+	document.changeViewForm.chromosomes.selectedIndex = i+1;
+	document.changeViewForm.startMb.value = '0.000000'; 
+	document.changeViewForm.endMb.value = Chr_Mb_list[i];
+	document.changeViewForm.graphWidth.value = 1280;
+	document.changeViewForm.submit();
+	document.changeViewForm.graphWidth.value = oldwidth;
+	document.changeViewForm.chromosomes.selectedIndex = oldselect;
+	document.changeViewForm.startMb.value = oldstart;
+	document.changeViewForm.endMb.value = oldend;
+	newWindow.focus();
+}
+
+/*
+used by IntervalMappingPage.py
+*/
+function chrLength(a, b, c, Chr_Mb_list) {
+ if (b=='physic' && a>-1) {
+  c.startMb.value = '0.000000';
+  c.endMb.value = Chr_Mb_list[a];
+ } else {
+  c.startMb.value = '';
+  c.endMb.value = '';
+ }
+ if (a>-1) c.graphWidth.value = 1280;
+ else c.graphWidth.value = 1600;
+}
+
+/*
+used by networkGraphPageBody.py
+*/
+function changeFormat(graphName){
+	var graphFormat = document.getElementById('exportFormat').value;
+	var traitType = document.getElementById('traitType').value;
+	
+	if (graphFormat=="xgmml"){
+		if (traitType=="symbol"){
+			var graphname = graphName+ "_xgmml_symbol.txt";
+			document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+		}
+		else if (traitType=="name"){
+			var graphname = graphName+ "_xgmml_name.txt";
+			document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+		}
+	}
+	
+	else if (graphFormat=="plain")
+	{
+		if (traitType=="symbol")
+		{
+			var graphname = graphName+ "_plain_symbol.txt";
+			document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+		}
+		else if (traitType=="name")
+		{
+			var graphname = graphName+ "_plain_name.txt";
+			document.getElementById('exportGraphFile').onclick = function() { window.open(graphname) };
+		}
+	}
+
+} 
+
+
+/*
+used by snpBrowserPage.py
+*/
+function set_customStrains_cookie() {
+    var options = document.newSNPPadding.chosenStrains.options;
+    var size = options.length;
+    strains = "";
+    if (size > 0) {
+       strains = strains + options[0].text+":"+options[0].value;
+    }
+    for (var i=1; i<size; i++) {
+       strains = strains + "," + options[i].text + ":" +
+                      options[i].value;
+    }
+    var exdate = new Date();
+    exdate.setDate(exdate.getDate()+100);
+    document.cookie = "customStrains1="+strains+
+           ";expires="+exdate.toGMTString()
+}
+
+/*
+* moved from beta2.js 
+*/	
+function centerIntervalMapOnRange2(chr, start, stop, form) {
+	var oldindex = form.chromosomes.selectedIndex;
+	var oldstart = form.startMb.value;
+	var oldend = form.endMb.value;
+	
+	for (var i = 1; i < form.chromosomes.length; i++){
+		if(form.chromosomes.options[i].text == chr){
+			form.chromosomes.selectedIndex = i;
+			break;
+		}
+	}
+	form.startMb.value = start;
+	form.endMb.value = stop;
+	databaseFunc(form,'showIntMap');
+	form.chromosomes.selectedIndex = oldindex;
+	form.startMb.value = oldstart;
+	form.endMb.value = oldend;
+	
+}
+
+/*
+* moved from index3.html 
+*/	
+
+String.prototype.trim = function(){
+	return this.replace(/(^\s*)|(\s*$)/g, "");
+}
+
+function asearch(thisform){
+	//
+	var orkeyword = thisform.ORkeyword.value.trim();
+	//
+	var any_position_chr = thisform.any_position_chr.value.trim();
+	var any_position_from = thisform.any_position_from.value.trim();
+	var any_position_to = thisform.any_position_to.value.trim();
+	if(0<any_position_chr.length && 0<any_position_from.length && 0<any_position_to.length){
+		orkeyword += ' position=('+any_position_chr+' '+any_position_from+' '+any_position_to+')';
+	}
+	//
+	var any_mean_from = thisform.any_mean_from.value.trim();
+	var any_mean_to = thisform.any_mean_to.value.trim();
+	if(0<any_mean_from.length && 0<any_mean_to.length){
+		orkeyword += ' mean=('+any_mean_from+' '+any_mean_to+')';
+	}
+	//
+	var any_range_from = thisform.any_range_from.value.trim();
+	var any_range_to = thisform.any_range_to.value.trim();
+	if(0<any_range_from.length && 0<any_range_to.length){
+		orkeyword += ' range=('+any_range_from+' '+any_range_to+')';
+	}
+	//
+	var any_wiki = thisform.any_wiki.value.trim();
+	if(0<any_wiki.length){
+		orkeyword += ' wiki='+any_wiki;
+	}
+	//
+	var any_rif = thisform.any_rif.value.trim();
+	if(0<any_rif.length){
+		orkeyword += ' rif='+any_rif;
+	}
+	//
+	var any_lrs_from = thisform.any_lrs_from.value.trim();
+	var any_lrs_to = thisform.any_lrs_to.value.trim();
+	if(0<any_lrs_from.length && 0<any_lrs_to.length){
+		orkeyword += ' lrs=('+any_lrs_from+' '+any_lrs_to+')';
+	}
+	//
+	var any_pvalue_from = thisform.any_pvalue_from.value.trim();
+	var any_pvalue_to = thisform.any_pvalue_to.value.trim();
+	if(0<any_pvalue_from.length && 0<any_pvalue_to.length){
+		orkeyword += ' pvalue=('+any_pvalue_from+' '+any_pvalue_to+')';
+	}
+	//
+	var any_h2_from = thisform.any_h2_from.value.trim();
+	var any_h2_to = thisform.any_h2_to.value.trim();
+	if(0<any_h2_from.length && 0<any_h2_to.length){
+		orkeyword += ' h2=('+any_h2_from+' '+any_h2_to+')';
+	}
+	//
+	var andkeyword = thisform.ANDkeyword.value;
+	//
+	var all_position_chr = thisform.all_position_chr.value.trim();
+	var all_position_from = thisform.all_position_from.value.trim();
+	var all_position_to = thisform.all_position_to.value.trim();
+	if(0<all_position_chr.length && 0<all_position_from.length && 0<all_position_to.length){
+		andkeyword += ' position=('+all_position_chr+' '+all_position_from+' '+all_position_to+')';
+	}
+	//
+	var all_mean_from = thisform.all_mean_from.value.trim();
+	var all_mean_to = thisform.all_mean_to.value.trim();
+	if(0<all_mean_from.length && 0<all_mean_to.length){
+		andkeyword += ' mean=('+all_mean_from+' '+all_mean_to+')';
+	}
+	//
+	var all_range_from = thisform.all_range_from.value.trim();
+	var all_range_to = thisform.all_range_to.value.trim();
+	if(0<all_range_from.length && 0<all_range_to.length){
+		andkeyword += ' range=('+all_range_from+' '+all_range_to+')';
+	}
+	//
+	var all_wiki = thisform.all_wiki.value.trim();
+	if(0<all_wiki.length){
+		andkeyword += ' wiki='+all_wiki;
+	}
+	//
+	var all_rif = thisform.all_rif.value.trim();
+	if(0<all_rif.length){
+		andkeyword += ' rif='+all_rif;
+	}
+	//
+	var all_lrs_from = thisform.all_lrs_from.value.trim();
+	var all_lrs_to = thisform.all_lrs_to.value.trim();
+	if(0<all_lrs_from.length && 0<all_lrs_to.length){
+		andkeyword += ' lrs=('+all_lrs_from+' '+all_lrs_to+')';
+	}
+	//
+	var all_pvalue_from = thisform.all_pvalue_from.value.trim();
+	var all_pvalue_to = thisform.all_pvalue_to.value.trim();
+	if(0<all_pvalue_from.length && 0<all_pvalue_to.length){
+		andkeyword += ' pvalue=('+all_pvalue_from+' '+all_pvalue_to+')';
+	}
+	//
+	var all_h2_from = thisform.all_h2_from.value.trim();
+	var all_h2_to = thisform.all_h2_to.value.trim();
+	if(0<all_h2_from.length && 0<all_h2_to.length){
+		andkeyword += ' h2=('+all_h2_from+' '+all_h2_to+')';
+	}
+
+	thisform.ORkeyword.value = orkeyword.trim();
+	thisform.ANDkeyword.value = andkeyword.trim();
+
+	thisform.submit();
+        thisform.ORkeyword.value = "";
+        thisform.ANDkeyword.value = "";
+        document.getElementById('tfor').focus();
+}
+
+function searchInitial(){
+        document.getElementById('tfor').value = "";
+    	document.getElementById('tfor').focus();
+}
+
+
+/* set focus function for designated Id in html page */
+function setFocus(Id)
+{
+        document.getElementById(Id).focus();
+}
+/*Tissue correlation plot*/
+function showTissueCorrPlot(fmName,geneSymbol1, geneSymbol2,rank){
+
+    var thisForm = getForm(fmName);
+    if (thisForm == null || showTissueCorrPlot.arguments.length < 3)
+    	return;
+	
+	if (rank){
+		thisForm.rankOrder.value = rank;
+	}else{
+		thisForm.rankOrder.value = 0;
+	}
+    
+    windowName = genNewWin();
+    thisForm.target = windowName;
+
+    thisForm.FormID.value = "showCorrelationPlot";
+
+    thisForm.X_geneSymbol.value = geneSymbol1;
+    thisForm.Y_geneSymbol.value = geneSymbol2;
+
+    // This is to make sure the type of correlation is Tissue Correlation. Note that the string value 'none' is used to make judgement in PlotCorrelationPage.py.
+    thisForm.ProbeSetID.value = 'none';
+    if(typeof(thisForm.ProbeSetID2) !== 'undefined'){
+    	thisForm.ProbeSetID2.value = 'none';
+    }
+    thisForm.submit();	
+}
+
+/* Used by MarkerRegressionPage.py */
+function validatePvalue(thisForm){
+	var pValue=thisForm.pValue.value;
+
+    if (pValue ==""){
+		alert("Please enter the P-Value.");
+		thisForm.pValue.focus();
+	}
+	else if(isNaN(pValue))
+	{
+		alert("Please enter numeric value.");
+		thisForm.pValue.focus();
+	}	
+	else if (pValue <0){
+		alert("Please enter the valid P-Value.");
+		thisForm.pValue.focus();
+	}else {
+
+		dataEditingFunc(thisForm,'markerRegression');
+
+	}
+
+	
+
+}
+
+function showTissueAbbr(fmName,shortname, fullname){
+    var thisForm = getForm(fmName);
+    windowName = genNewWin();
+    thisForm.target = windowName;
+    thisForm.FormID.value = 'tissueAbbreviation';
+    thisForm.shortTissueName.value=shortname;
+    thisForm.fullTissueName.value=fullname;
+	
+    thisForm.submit();
+    thisForm.FormID.value = 'showCorrelationPlot';
+    thisForm.target =''
+	
+}