// -----------------------------------------------------------------------------
// php_selectAll
// -----------------------------------------------------------------------------
function php_selectAll(target,select) {
	itot = document.all.length;
	for(i=0;i<itot;i++) {
		obj = document.all[i];
		if (obj.id==target) {
			if (select)
				obj.checked=true;
			else
				obj.checked=false;
		}
	}
}

// =============================================================================
// php_menuChange
// =============================================================================
function php_menuChange(fromID,toID,lastID,div) {
	fromObj=document.getElementById(fromID);
	toObj=document.getElementById(toID);

	if (toObj)
		toObj.style.color="#5682BE";
/*
	if (fromObj && fromID=="header_main_login") {
	  selObj=document.getElementById("header_main_login");
		selObj.style.backgroundImage="url('/pics/header_main_bg_r.gif')";
	  selObj=document.getElementById("header_main_m");
		selObj.style.backgroundImage="url('/pics/header_main_m.gif')";
	  selObj=document.getElementById("header_main_r");
		selObj.style.backgroundImage="url('/pics/header_main_r.gif')";
	  selObj=document.getElementById("header_main_login_nav");
		selObj.style.backgroundImage="url('/pics/navigation_top_t.gif')";
	} else if (toObj && toID=="header_main_login") {
	  selObj=document.getElementById("header_main_login");
		selObj.style.backgroundImage="none";
	  selObj=document.getElementById("header_main_m");
		selObj.style.backgroundImage="url('/pics/header_main_m_sel.gif')";
	  selObj=document.getElementById("header_main_r");
		selObj.style.backgroundImage="url('/pics/header_main_r_sel.gif')";
	  selObj=document.getElementById("header_main_login_nav");
		selObj.style.backgroundImage="url('/pics/navigation_top_t_sel.gif')";
	} else if (fromObj && fromID.substr(0,21)=="header_sections_main_") {
	  selObj=document.getElementById(fromID);
		selObj.style.backgroundColor='transparent';
	  selObj=document.getElementById(fromID+"_l");
		if (fromID.substr(fromID.length-2,2)=="_0")
			selObj.style.backgroundImage="url('/pics/header_sections_main_l.gif')";
	  selObj=document.getElementById(toID);
		selObj.style.backgroundColor='#FDA738';
	  selObj=document.getElementById(toID+"_l");
		if (toID.substr(toID.length-2,2)=="_0")
			selObj.style.backgroundImage="url('/pics/header_sections_main_l_sel.gif')";
	} else if ((fromObj && (fromID.substr(0,15)=="menuSubSection_" ||
			fromID.substr(0,12)=="menuSection_")) ||
			(toObj && (toID.substr(0,15)=="menuSubSection_" ||
			toID.substr(0,12)=="menuSection_"))) {
		if (div=="menuSection")
			divStr="_top";
		else
			divStr="";
		if (fromObj) {
			selObj=document.getElementById(fromID);
			selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_m.gif')";
	  	selObj=document.getElementById(fromID+"_font");
			selObj.color="#FFFFFF";
		  selObj=document.getElementById(fromID+"_l");
			if (fromID.substr(fromID.length-2,2)=="_0")
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_first.gif')";
			else
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_l.gif')";
	  	selObj=document.getElementById(fromID+"_r");
			if (fromID.substr(fromID.length-1*lastID.length,lastID.length)==lastID)
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_last.gif')";
			else
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_r.gif')";
		}

		if (toObj) {
			selObj=document.getElementById(toID);
			selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_ms.gif')";
	  	selObj=document.getElementById(toID+"_font");
			selObj.color="#5C656F";
		  selObj=document.getElementById(toID+"_l");
			if (toID.substr(toID.length-2,2)=="_0")
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_first_s.gif')";
			else
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_ls.gif')";
	  	selObj=document.getElementById(toID+"_r");
			if (toID.substr(toID.length-1*lastID.length,lastID.length)==lastID)
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_last_s.gif')";
			else
				selObj.style.backgroundImage="url('/pics/menu_tab"+divStr+"_rs.gif')";
		}
	}
*/
}

// -----------------------------------------------------------------------------
// php_jmolUpdate
// -----------------------------------------------------------------------------
function php_jmolUpdate(jmolType,jmolTarget,jmolCmdPre,jmolCmdAft) {
	obj=document.getElementById("render_"+jmolTarget);
	jmolVal=obj.value;
	if (jmolVal=="Transparent")
		jmolVal="TRANSLUCENT";
	jmolCmd=jmolCmdPre+jmolVal+jmolCmdAft+";";
	if (jmolType=="bgd") {
		jmolScript(jmolCmd);
// -----------------------------------------------
// prot
// -----------------------------------------------
	} else if (jmolType=="prot") {
		if (jmolTarget=="protRep") {
			if (obj.value=="NewCartoon")
				jmolCmd="cpk off;wireframe off;cartoons on;ribbons off;trace off;";
			else if (obj.value=="NewRibbons")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons on;trace off;";
			else if (obj.value=="Tube")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons off;trace on;";
			else if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;cartoons off;ribbons off;trace off;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;cartoons off;ribbons off;trace off;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;cartoons off;ribbons off;trace off;";
		} else if (jmolTarget=="protColor") {
			objRGB=document.getElementById("render_protRGB");
			objMat=document.getElementById("render_protMat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];"
			} else {
				objRGB.disabled=true;
				jmolCmd=jmolCmdPre+"structure;"
			}
		}
		objCmd=document.getElementById("render_prot");
		if (jmolTarget=="protEnable") {
			obj=document.getElementById("render_protEnable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select protein;cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select protein;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
		objSide=document.getElementById("render_sideEnable");
		objLig=document.getElementById("render_ligEnable");
		objCmdSide=document.getElementById("render_side");
		objCmdLig=document.getElementById("render_lig");
		if (objSide.checked)
			jScript+=objCmdSide.value;
		if (objLig.checked)
			jScript+=objCmdLig.value;
		objEnable=document.getElementById("render_protEnable");
		if (jmolTarget=="protEnable" || objEnable.checked==true)
			jmolScript(jScript);
// -----------------------------------------------
// side
// -----------------------------------------------
	} else if (jmolType=="side") {
		if (jmolTarget=="sideRep") {
			if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;";
		} else if (jmolTarget=="sideColor") {
			objRGB=document.getElementById("render_sideRGB");
			objMat=document.getElementById("render_sideMat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];"
			} else {
				objRGB.disabled=true;
				jmolCmd=jmolCmdPre+"structure;"
			}
		}
		objCmd=document.getElementById("render_side");
		if (jmolTarget=="sideEnable") {
			obj=document.getElementById("render_sideEnable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select (protein and (within(group,within(4.2,not protein)))), UNK;"+
						"cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select (protein and (within(group,within(4.2,not protein)))), UNK;"+
					"cartoons off;ribbons off;trace off;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
		objLig=document.getElementById("render_ligEnable");
		objCmdLig=document.getElementById("render_lig");
		if (objLig.checked)
			jScript+=objCmdLig.value;
		objEnable=document.getElementById("render_sideEnable");
		if (jmolTarget=="sideEnable" || objEnable.checked==true)
			jmolScript(jScript);
// -----------------------------------------------
// lig
// -----------------------------------------------
	} else if (jmolType=="lig") {
		if (jmolTarget=="ligRep") {
			if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;";
		} else if (jmolTarget=="ligColor") {
			objRGB=document.getElementById("render_ligRGB");
			objMat=document.getElementById("render_ligMat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];"
			} else {
				objRGB.disabled=true;
				jmolCmd=jmolCmdPre+"cpk;"
			}
		}
		objCmd=document.getElementById("render_lig");
		if (jmolTarget=="ligEnable") {
			obj=document.getElementById("render_ligEnable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select not(protein,UNK);cpk off;wireframe off;";
		} else {
			jScript="select not(protein,UNK);"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
		objEnable=document.getElementById("render_ligEnable");
		if (jmolTarget=="ligEnable" || objEnable.checked==true)
			jmolScript(jScript);
	}
}

// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
// php_jmolUpdate_pds
// -----------------------------------------------------------------------------
function php_jmolUpdate_pds(jmolType,jmolTarget,jmolCmdPre,jmolCmdAft) {
	obj=document.getElementById("render_"+jmolTarget);
	jmolVal=obj.value;
	if (jmolVal=="Transparent")
		jmolVal="TRANSLUCENT";
	jmolCmd=jmolCmdPre+jmolVal+jmolCmdAft+";";
	if (jmolType=="bgd") {
		jmolScript(jmolCmd);
// -----------------------------------------------
// prot
// -----------------------------------------------
	} else if (jmolType=="prot") {
		if (jmolTarget=="protRep") {
			if (obj.value=="NewCartoon")
				jmolCmd="cpk off;wireframe off;cartoons on;ribbons off;trace off;";
			else if (obj.value=="NewRibbons")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons on;trace off;";
			else if (obj.value=="Tube")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons off;trace on;";
			else if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;cartoons off;ribbons off;trace off;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;cartoons off;ribbons off;trace off;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;cartoons off;ribbons off;trace off;";
		} else if (jmolTarget=="protColor") {
			objRGB=document.getElementById("render_protRGB");
			objMat=document.getElementById("render_protMat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];";
			} else {
				objRGB.disabled=true;
//				jmolCmd=jmolCmdPre+"structure;";
				jmolCmd=jmolCmdPre+obj.value+";";
			}
		}
		objCmd=document.getElementById("render_prot");
		if (jmolTarget=="protEnable") {
			obj=document.getElementById("render_protEnable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select :a;cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select :a;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
		objSide=document.getElementById("render_side1Enable");
		objCmdSide=document.getElementById("render_side1");
		if (objSide.checked)
			jScript+=objCmdSide.value;
/*
		objLig=document.getElementById("render_ligEnable");
		objCmdLig=document.getElementById("render_lig");
		if (objLig.checked)
			jScript+=objCmdLig.value;
*/
		objEnable=document.getElementById("render_protEnable");
		if (jmolTarget=="protEnable" || objEnable.checked==true)
			jmolScript(jScript);
// -----------------------------------------------
// side1
// -----------------------------------------------
	} else if (jmolType=="side1") {
		if (jmolTarget=="side1Rep") {
			if (obj.value=="NewCartoon")
				jmolCmd="cpk off;wireframe off;cartoons on;ribbons off;trace off;";
			else if (obj.value=="NewRibbons")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons on;trace off;";
			else if (obj.value=="Tube")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons off;trace on;";
			else if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;cartoons off;ribbons off;trace off;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;cartoons off;ribbons off;trace off;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;cartoons off;ribbons off;trace off;";
		} else if (jmolTarget=="side1Color") {
			objRGB=document.getElementById("render_side1RGB");
			objMat=document.getElementById("render_side1Mat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];";
			} else {
				objRGB.disabled=true;
//				jmolCmd=jmolCmdPre+"structure;";
				jmolCmd=jmolCmdPre+obj.value+";";
			}
		}
		objCmd=document.getElementById("render_side1");
		if (jmolTarget=="side1Enable") {
			obj=document.getElementById("render_side1Enable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select :a and (within(group,within(4.2,:b)));"+
						"cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select :a and (within(group,within(4.2,:b)));"+
					"cartoons off;ribbons off;trace off;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
/*
		objLig=document.getElementById("render_ligEnable");
		objCmdLig=document.getElementById("render_lig");
		if (objLig.checked)
			jScript+=objCmdLig.value;
*/
		objEnable=document.getElementById("render_side1Enable");
		if (jmolTarget=="side1Enable" || objEnable.checked==true)
			jmolScript(jScript);
// -----------------------------------------------
// side2
// -----------------------------------------------
	} else if (jmolType=="side2") {
		if (jmolTarget=="side2Rep") {
			if (obj.value=="NewCartoon")
				jmolCmd="cpk off;wireframe off;cartoons on;ribbons off;trace off;";
			else if (obj.value=="NewRibbons")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons on;trace off;";
			else if (obj.value=="Tube")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons off;trace on;";
			else if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;cartoons off;ribbons off;trace off;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;cartoons off;ribbons off;trace off;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;cartoons off;ribbons off;trace off;";
		} else if (jmolTarget=="side2Color") {
			objRGB=document.getElementById("render_side2RGB");
			objMat=document.getElementById("render_side2Mat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];";
			} else {
				objRGB.disabled=true;
//				jmolCmd=jmolCmdPre+"structure;";
				jmolCmd=jmolCmdPre+obj.value+";";
			}
		}
		objCmd=document.getElementById("render_side2");
		if (jmolTarget=="side2Enable") {
			obj=document.getElementById("render_side2Enable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select :b and (within(group,within(4.2,:a)));"+
						"cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select :b and (within(group,within(4.2,:a)));"+
					"cartoons off;ribbons off;trace off;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
/*
		objLig=document.getElementById("render_ligEnable");
		objCmdLig=document.getElementById("render_lig");
		if (objLig.checked)
			jScript+=objCmdLig.value;
*/
		objEnable=document.getElementById("render_side2Enable");
		if (jmolTarget=="side2Enable" || objEnable.checked==true)
			jmolScript(jScript);
// -----------------------------------------------
// lig
// -----------------------------------------------
	} else if (jmolType=="lig") {
		if (jmolTarget=="ligRep") {
			if (obj.value=="NewCartoon")
				jmolCmd="cpk off;wireframe off;cartoons on;ribbons off;trace off;";
			else if (obj.value=="NewRibbons")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons on;trace off;";
			else if (obj.value=="Tube")
				jmolCmd="cpk off;wireframe off;cartoons off;ribbons off;trace on;";
			else if (obj.value=="CPK")
				jmolCmd="spacefill 0.4;wireframe 0.2;cartoons off;ribbons off;trace off;";
			else if (obj.value=="Licorice")
				jmolCmd="cpk off;wireframe 0.3;cartoons off;ribbons off;trace off;";
			else if (obj.value=="VDW" || obj.value=="Surf")
				jmolCmd="spacefill;wireframe off;cartoons off;ribbons off;trace off;";
		} else if (jmolTarget=="ligColor") {
			objRGB=document.getElementById("render_ligRGB");
			objMat=document.getElementById("render_ligMat");
			if (objMat.value=="Transparent")
				jmolCmdPre+="TRANSLUCENT ";
			if (obj.value=="Color") {
				objRGB.disabled=false;
				jmolCmd=jmolCmdPre+"["+parseInt(objRGB.value.substr(0,2),16)+" "+
						parseInt(objRGB.value.substr(2,2),16)+" "+
						parseInt(objRGB.value.substr(4,2),16)+"];";
			} else {
				objRGB.disabled=true;
//				jmolCmd=jmolCmdPre+"structure;";
				jmolCmd=jmolCmdPre+obj.value+";";
			}
		}
		objCmd=document.getElementById("render_lig");
		if (jmolTarget=="ligEnable") {
			obj=document.getElementById("render_ligEnable");
			if (obj.checked)
				jScript=objCmd.value;
			else
				jScript="select :b;cpk off;wireframe off;cartoons off;ribbons off;trace off;";
		} else {
			jScript="select :b;"+jmolCmd;
			objCmd.value+=jmolCmd;
		}
		objSide2=document.getElementById("render_side2Enable");
		objCmdSide2=document.getElementById("render_side2");
		if (objSide2.checked)
			jScript+=objCmdSide2.value;
/*
		objLig=document.getElementById("render_ligEnable");
		objCmdLig=document.getElementById("render_lig");
		if (objLig.checked)
			jScript+=objCmdLig.value;
*/
		objEnable=document.getElementById("render_ligEnable");
		if (jmolTarget=="ligEnable" || objEnable.checked==true)
			jmolScript(jScript);
	}
}

// -----------------------------------------------------------------------------
// php_popupImg
// -----------------------------------------------------------------------------
function php_popupImg(imgFile,imgX,imgY,imgTitle) {
	if (!imgTitle)
		imgTitle="Docking Image";
	popupImgURL="/docking_image.php?imgFile="+imgFile+"&imgTitle="+imgTitle;
	popupWindow=window.open(popupImgURL,"Img","toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=yes,width="+imgX+",height="+imgY);
	if (popupWindow.opener==null)
		popupWindow.opener=self;
	popupWindow.focus();
	return;
}

// -----------------------------------------------------------------------------
// php_onKeyPress
// -----------------------------------------------------------------------------
function php_onKeyPress(event,target) {
	var key;
	if (window.event)
		key = window.event.keyCode; // IE
	else
		key = event.which; // Mozilla
	if (target=="PubChem") {
		if (key==13)
			start_ligand_search($("#docking_steps")[0]);
	}
}

// -----------------------------------------------------------------------------
// setStep
// -----------------------------------------------------------------------------
function setStep(fSection) {
  obj=document.getElementById("docking_step");
  obj.value=fSection;
	document.forms["docking_steps"].submit();
}

// -----------------------------------------------------------------------------
// setSection
// -----------------------------------------------------------------------------
function setSection(target,fSection) {
  obj=document.getElementById(target);
  obj.value=fSection;
  obj_header=document.getElementById("docking_result_header");
  obj_form=document.getElementById("docking_result");
  if (obj_header && obj_header.value)
	  obj_form.value=obj_header.value;
  document[target.substr(0,target.indexOf("_"))].submit();
}

// -----------------------------------------------------------------------------
function php_submit() {
  if (!document.new_ligand2.title.value) { alert('Please, fill the Ligand name field.');return false;}
	exportMarvin("smiles");
	return true;
	//document.new_ligand2.submit();
}

function exportMarvin(format) {
	if(document.MSketch!=null) {
		var s=document.MSketch.getMol(format);
		s=unix2local(s); // Convert "\n" to local line separator
		document.new_ligand2.form_mol.value=s;
	} else
		document.new_ligand2.form_mol.value="";
}

function waitFor(sec) {
	var date=new Date();
	var curDate=null;
	do {
		curDate = new Date();
	} while(curDate-date<1000*sec);
}

