function usethismol(f) {
  var jmename = "JME_"+f;
  //alert(jmename);
  var mol = document.getElementById(jmename).molFile();
  document.search_form.selectedMolStruc.value = mol;
  
  }

function loadMol() {
	if(	document.JME === null &&
		typeof(document.JME.readMolFile) != "function") {
		setTimeout('loadMol()', 750);
		return;
	}
	
	var selectedMolStruc = document.search_form.selectedMolStruc.value;
	selectedMolStruc = selectedMolStruc.split("\n").join('|');
	
	if(selectedMolStruc != ''){
		document.JME.readMolFile(selectedMolStruc);
	}
}

function getXhr()
{
	// Firefox et autres
	if (window.XMLHttpRequest)
		xhr = new XMLHttpRequest(); 
	else if (window.ActiveXObject)
	{
		// Internet Explorer 
		try {
			xhr = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
	} else {
		// XMLHttpRequest non supporte par le navigateur 
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
		xhr = false;
	}
	return (xhr);
}

function checkResponse(response){
	if(response.indexOf('ERROR') == 0) {
		return false;
	}
	return true;
}

function fgSearch()
{
	var data;
	var my_xhr; 

	my_xhr = getXhr();
	my_xhr.onreadystatechange = function()
	{
		if (my_xhr.readyState == 4 && my_xhr.status == 200)
		{
			var response = my_xhr.responseText;
			if(checkResponse(response) == true){
				document.search_form.resultFGSearch.value = '' + response;
				Modalbox.hide();
			} else {
				alert(response.substring(6));
			}
		}
	}
	data = "";
	for (var i = 0; i < document.searchForm.checkbox.options.length; i++)
		if (document.searchForm.checkbox.options[ i ].selected)
			data = data + (data != '' ? ';' : '') + document.searchForm.checkbox.options[ i ].value;

	document.search_form.selectedCheckboxes.value = data;
	
	my_xhr.open('GET', 'checkmol/fgSearch.php?checkbox=' + data, true);
	my_xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	my_xhr.send(null);
}

function strucSearch()
{
	var data;
	var my_xhr; 

	my_xhr = getXhr();
	my_xhr.onreadystatechange = function()
	{
		if (my_xhr.readyState == 4 && my_xhr.status == 200)
		{
			var response = my_xhr.responseText;
			if(checkResponse(response) == true){
				document.search_form.resultStrucSearch.value = '' + response;
				Modalbox.hide();			
			} else {
				alert(response.substring(6));
			}
		}
	}

	var mode = -1;

	for (i = 0; i < document.searchFormStruc.mode.length; i++) {
		if (document.searchFormStruc.mode[i].checked) {
			mode = document.searchFormStruc.mode[i].value;
			break;
		}
	}
	
	var strict = document.searchFormStruc.strict.checked ? document.searchFormStruc.strict.value : 'n';
	var stereo = document.searchFormStruc.stereo.checked ? document.searchFormStruc.stereo.value : 'n';
	var smiles = document.searchFormStruc.smiles.value; 
	var jme = document.searchFormStruc.jme.value;
	var mol = document.searchFormStruc.mol.value;
	var rinfo = document.searchFormStruc.rinfo.value;
	
	document.search_form.selectedMolStruc.value = mol;
	document.search_form.selectedStrucSearchMode.value = mode;
	document.search_form.selectedStrucStrict.value = strict;
	document.search_form.selectedStrucStereo.value = stereo;
		
	var url = 'checkmol/strucSearch.php';
	var post = 'strict=' + strict + '&stereo=' + stereo + '&mode=' + mode + '&smiles=' + smiles + '&jme=' + jme + '&mol=' + mol + '&rinfo=' + rinfo;
	my_xhr.open('POST', url, true);
	my_xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	my_xhr.send(post);
}

function check_ss() {
	var smiles = document.JME.smiles();
	var jme = document.JME.jmeFile(); 
	var mol = document.JME.molFile();
	
	if (smiles.length < 1) {
		alert("No molecule!");
		return false;
	}

	document.searchFormStruc.smiles.value = smiles;
	document.searchFormStruc.jme.value = jme;
	document.searchFormStruc.mol.value = mol;
	var info = document.referrer;
	info += " - " + navigator.appName + " - " + navigator.appVersion;
	info += " " + screen.width + "x" + screen.height;
	document.searchFormStruc.rinfo.value = info;

	return true;
}
