/*

UTILITIES

little helper functions that can be re-used elsewhere
programming by www.augenreiz.de

*/



// ---------- TRIM SPACES ----------------------------------------

// deletes spaces from the beginning and the end of a given string

function trimSpaces (str)
	{
	if (str == "") return "";
	while (str.indexOf (" ") == 0) str = str.slice (1);
	if (str == "") return "";
	while (str.lastIndexOf (" ") == str.length - 1) str = str.substring(0, str.length - 1);
	return str;
	}



// ---------- VALIDATE E-MAIL ----------------------------------------

// verifies whether a given e-mail is valid or not (still needs to check whether [...] is really only used with an IP-address / numbers)

function validEmail (str)
	{
	if (str.length < 6) return false;
	if (str.indexOf ("@") == -1) return false;
	if (str.indexOf ("@") != str.lastIndexOf ("@")) return false;
	if (str.indexOf (".") == -1) return false;
	if (str.lastIndexOf (".") < str.indexOf ("@")) return false;
	if (str.lastIndexOf (".") > str.length - 3) return false;
	if (str.indexOf ("\"") != -1)
		{
		if (str.indexOf ("\"") != 0) return false;
		if (str.indexOf ("\"") == str.lastIndexOf ("\"")) return false;
		if (str.lastIndexOf ("\"") != str.indexOf ("@") - 1) return false;
		var strTest = str.slice(1);
		if (strTest.indexOf ("\"") != strTest.lastIndexOf ("\"")) return false;
		}
	if (str.indexOf ("\"") == -1 && (str.indexOf ("[") == -1 || str.indexOf ("]") == -1))
		{
		var pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if (!pattern.test (str)) return false;
		}
	return true;
	}
