function cl_valid_formula()
{	
	var str = document.form_general.cross_link_userdefined_reagent_formula.value;
	for(i = 0; i < str.length; i++)
	{	
		j = str.charCodeAt(i);
		if((j < 48 || (j > 57 && j < 65) || (j > 90 && j < 97) || j > 122 ) && j != 43 && j != 45)
		{
			return false;
		}
	}
	str = document.form_general.cross_link_userdefined_modification1.value;
	for(i = 0; i < str.length; i++)
	{	
		j = str.charCodeAt(i);
		if((j < 48 || (j > 57 && j < 65) || (j > 90 && j < 97) || j > 122 ) && j != 43 && j != 45)
		{
			return false;
		}
	}
	str = document.form_general.cross_link_userdefined_modification2.value;
	for(i = 0; i < str.length; i++)
	{	
		j = str.charCodeAt(i);
		if((j < 48 || (j > 57 && j < 65) || (j > 90 && j < 97) || j > 122 ) && j != 43 && j != 45)
		{
			return false;
		}
	}
	return true;
}
function compare_onclick() 
{//checks that all values are filled in and valid
	var str = document.form_general.protein_sequence.value;
	str = str.toUpperCase();
	var islet = 0;
	for(i = 0; i < str.length; i++)
	{
		j = str.charCodeAt(i);
		if((j >= 65 && j <= 90) && j != 88 && j != 66 && j != 90 && j != 85 && j != 79 && j != 74) 
		{
			islet = 1;
			break;
		}
	}
	if(islet == 0)
	{
		window.alert("Cannot do comparison.  You have not entered a valid amino acid sequence.  If you need help, click on the text next to any of the boxes.");
		return false;
	}
	else
	{
		var aveunits = document.form_general.masses_averagemasses_typeval.value
		var monunits = document.form_general.masses_monoisotopicmasses_typeval.value;
		var avetol = document.form_general.masses_averagemasses_tolerance.value;
		var montol = document.form_general.masses_monoisotopicmasses_tolerance.value;
		var avemasses = document.form_general.masses_averagemasses.value;
		var monmasses = document.form_general.masses_monoisotopicmasses.value;
		
		if((avemasses != "" && avetol == "") || (monmasses != "" && montol == ""))
		{
			window.alert("Cannot do comparison.  You have not entered tolerance levels for the masses.  If you need help, click on the text next to any of the boxes.");
			return false;
		}
		else
		{
			var error = 0;
			if(avemasses != "")
			{
				for(i = 0; i < avetol.length; i++)
				{	
					j = avetol.charCodeAt(i);
					if((j < 48 || j > 57) && j != 46)
					{
						error = 1; 
						break;
					}
				}
			}
			if(monmasses != "")
			{
				for(i = 0; i < montol.length; i++)
				{	
					j = montol.charCodeAt(i);
					if((j < 48 || j > 57) && j != 46)
					{
						error = 1; 
						break;
					}
				}
			}
			if(error == 1)
			{
				window.alert("Cannot do comparison.  The mass tolerance value(s) are invalid.  If you need help, click on the text next to any of the boxes.");  			
				return false;
			}
			else
			{
				if(avemasses != "" && avetol != "" && (avetol < 0 || 
				  (aveunits == "percent" && avetol > 100) || 
				  (aveunits == "ppm" && avetol > 1000000)))
				{ 
					window.alert("Cannot do comparison.  The mass tolerance value(s) are invalid.  If you need help, click on the text next to any of the boxes.");  			
					return false;
				}
				else if(monmasses != "" && montol != "" && 
					   (montol < 0 || (monunits == "percent" && montol > 100) || 
					   (monunits == "ppm" && montol > 1000000)))
				{
					window.alert("Cannot do comparison.  The mass tolerance value(s) are invalid.  If you need help, click on the text next to any of the boxes.");  			
					return false;
				}
				else
				{
//					if(crosslink_check())
//					{
//						document.form_general.h_submittype.value = "compare";
						document.form_general.submit();
//					}
				}
			}
		}
	}
}

function example_onclick()
{
	document.form_general.protein_name.value = "Integrin Alpha5";
	var str = "";
	str += "     1   *   10    *   20    *   30    *   40    *   50";
	str += "\n"
	str += "   1 MGSRTPESPLHAVQLRWGPRRRPPLVPLLLLLVPPPPRVGGFNLDAEAPA";
	str += "\n"
	str += "  51 VLSGPPGSFFGFSVEFYRPGTDGVSVLVGAPKADTSQPGVLQGGAVYLCP";
	str += "\n"
	str += " 101 WGASPTQCTPIEFDSKGSRLLESSLSSSEGEEPVEYKSLQWFGATVRAHG";
	str += "\n"
	str += " 151 SSILACAPLYSWRTEKEPLSDPVGTCYLSTDDFTRILEYAPCRSDFSWAA";
	str += "\n"
	str += " 201 GQGYCQGGFSAEFTKTGRVVLGGPGSYFWQGQILSATQEQIAESYYPEYL";
	str += "\n"
	str += " 251 INLVQGQLQTRQASSIYDDSYLGYSVAVGEFSGDDTEDFVAGVPKGDLTY";
	str += "\n"
	str += " 301 GYVTILDGSDIRSLYDFSGEQMASYFGYAVAATDVDGDGLDDLLVGAPLL";
	str += "\n"
	str += " 351 MDRTPDGRPQEVGRVYVYLQHPAGIEPTPTLTLTGHDEFGRFGSSLTPLG";
	str += "\n"
	str += " 401 DLDQDGYNDVAIGAPFGGETQQGVVFVFPGGPGGLGSKPSQVLQPLWAAS";
	str += "\n"
	str += " 451 HTPDFFGSALRGGRDLDGDGYPDLIVGSFGVDKAVVYRGRPIVSASASLT";
	str += "\n"
	str += " 501 IFPAMFNPEERSCSLEGNPVACIDLSFCLDASGKHVADSIGFTVELQLDW";
	str += "\n"
	str += " 551 QKQKGGVRRALFLASRQATLTQTLLIQDGAREDCREMKIYLRDESEFRDK";
	str += "\n"
	str += " 601 LSPIHIALDFSLDPQAPVDSHGLRPALHYQSKSRIEDKAQILLDCGEDNI";
	str += "\n"
	str += " 651 CVPDLQLEVFGEQNHVYLGDKNALDLTFHAQNVGEGGAYEAELRVTAPPE";
	str += "\n"
	str += " 701 AEYSGLVRHPGDFSSLSCDYFAVDQSRLLVCDLGNPMKAGASLWGGLRFT";
	str += "\n"
	str += " 751 VPHLRDTKKTIQFDFQILSKNLDNSQSDVVSFRLSVEAQAQVTLDGVSKP";
	str += "\n"
	str += " 801 EAVLFPVSDWHPRDQPQKEEDLGPAVHHVYELINQGPSSISQGVLELSCP";
	str += "\n"
	str += " 851 QALEGQQLLYVTRVTGLDCTTNHPINPKGLELDPEGSLHHQQKREAPSRS";
	str += "\n"
	str += " 901 SASSGPQILKCPEAECFRLRCELGPLHQQESQSLQLHFRVWAKTFLQREH";
	str += "\n"
	str += " 951 QPFSLQCEAVYKALKMPYRILPRQLPQKERQVATAVQWTKAEGSYGVPLW";
	str += "\n"
	str += "1001 IIILAILFGLLLLGLLIYILYKLGFFKRSLPYGTAMEKAQLKPPATSDA";
	str += "\n"
	
	document.form_general.protein_sequence.value = str;
	document.form_general.masses_averagemasses.value = "4801.686 6145.434 7014.783 7135.797 7193.966";
	document.form_general.masses_monoisotopicmasses.value = "581.357 621.332 625.385 631.361 664.371 669.414 713.444 738.376 757.473 768.398 777.457 795.457 796.382 797.389 801.5 813.424 840.523 845.523 869.5 889.54 894.481 898.462 912.46 923.56 933.571 952.369 960.448 964.487 972.529 983.523 987.541 1005.528 1071.56 1075.579 1091.563 1096.553 1104.617 1107.568 1121.533 1131.594 1132.541 1163.644 1164.61 1193.606 1198.688 1211.61 1222.564 1244.681 1260.649 1266.583 1274.7 1303.689 1308.677 1309.629 1327.673 1339.705 1354.657 1361.708 1364.666 1386.724 1409.709 1430.701 1467.797 1474.767 1480.701 1488.769 1512.744 1515.755 1529.737 1536.884 1559.728 1566.758 1582.739 1599.768 1604.787 1628.88 1629.809 1646.791 1662.789 1666.772 1673.736 1712.839 1718.805 1722.829 1731.842 1781.86 1790.879 1803.872 1815.934 1833.885 1857.902 1905.955 1933.993 1954.06 1961.004 1974.925 1980.948 1981.934 1982.926 1994.011 2019.137 2041.074 2051.978 2073.882 2086.042 2163.05 2215.074 2220.147 2227.097 2273.136 2327.261 2343.148 2409.226 2438.17 2470.233 2475.188 2486.19 2490.253 2516.165 2525.259 2550.229 2560.233 2701.467 2765.405 2773.342 2816.318 2865.452 2899.404 2900.416 3011.538 3025.448 3096.501 3142.541 3183.636 3196.608 3253.594 3270.668 3275.713 3299.578 3305.498 3330.556 3369.541 3418.655 3440.62 3507.79 3521.642 3571.609 3588.581 3685.764 3765.962 3824.88 3856.85 4126.003 4185.043 4199.125 4203.014 4357.034 4358.055 4586.274 4844.433";
	document.form_general.chemistry_predefined_incompletes1.selectedIndex = "1";
	document.form_general.chemistry_predefined_enzyme1.selectedIndex = "0";
	document.form_general.masses_averagemasses_tolerance.value = "100";
	document.form_general.masses_monoisotopicmasses_tolerance.value = "15";
	document.form_general.masses_chargestate[1].checked =true;
	document.form_general.global_modifications_predefined_complete.selectedIndex = "0";
	document.form_general.masses_tolerance_type[2].checked=true;
	document.form_general.max_free_aa.selectedIndex = "1";
	document.form_general.max_frags_linked.selectedIndex = "1";
	document.form_general.max_link_attachments.selectedIndex = "2";
}

