function is_string(form_element) {
//validates string - put allowed chars in extraChars var

	var newValue = form_element.value;
	var newLength = newValue.length;
	var extraChars = ". -,";
	var search;

	for(var i=0; i!=newLength; i++) {
		aChar = newValue.substring(i,i+1);
		aChar = aChar.toUpperCase();
		search = extraChars.indexOf(aChar);
		if(search == -1 && (aChar < "A" || aChar > "Z")) {
			return (false);
		}
	}
	return (true);
}


function is_integer(form_element) {
//validates number - put allowed chars in extraChars, default is space

	var newValue = form_element.value;
	var newLength = newValue.length;
	var extraChars = " ";
	var search;

	for (var i=0; i != newLength; i++) {
		aChar = newValue.substring(i,i+1);
		search = extraChars.indexOf(aChar);
		if (search == -1 && (aChar < "0" || aChar > "9")) {
			return (false);
		}
	}
	return (true);
}


function is_email(str) {
//validates email syntax

	var supported = 0;
	if (window.RegExp) { //regular expressions support?
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}