function Trimming(str)
		{

			while(str.charAt(0)==' ')
				str=str.substring(1,str.length);
			while(str.charAt(str.length-1)==' ')
				str=str.substring(0,str.length-1);

			return str;
		}



//**************************************************************************
// this function is for email validation

	function validateEmail(obj)
	{
		emailStr=Trimming(obj.value);
		if(emailStr=="")
		{
			return false;
		}

			var checkTLD=1;

			var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

			var emailPat=/^(.+)@(.+)$/;

			var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

			var validChars="\[^\\s" + specialChars + "\]";

			var quotedUser="(\"[^\"]*\")";

			var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

			var atom=validChars + '+';

			var word="(" + atom + "|" + quotedUser + ")";

			var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

			var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

			var matchArray=emailStr.match(emailPat);

			if (matchArray==null) {

			alert("Die eingegebene Email Adresse ist falsch.");
			obj.focus();
			return false;
			}
			var user=matchArray[1];
			var domain=matchArray[2];

			for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
			alert("Der Benutzername enthält ungültige Zeichen");
			obj.focus();
			return false;
			   }
			}
			for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
			alert("Die Domain enthält ungültige Zeichen.");
			obj.focus();
			return false;
			   }
			}

			if (user.match(userPat)==null) {

			alert("Invalid Email address");
			obj.focus();
			return false;
			}

			var IPArray=domain.match(ipDomainPat);
			if (IPArray!=null) {

			for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
			alert("Destination IP address is invalid!");
			obj.focus();
			return false;
			   }
			}
			return true;
			}

			var atomPat=new RegExp("^" + atom + "$");
			var domArr=domain.split(".");
			var len=domArr.length;
			for (i=0;i<len;i++) {
			if (domArr[i].search(atomPat)==-1) {
			alert("Der Domainname ist ungültig.");
			obj.focus();
		return false;
			   }
			}


			if (checkTLD && domArr[domArr.length-1].length!=2 &&
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
			alert("Die Domain muss eine bekannte Endung oder einen 2-Stelligen Ländercode (.de) haben");
			obj.focus();
			return false;
			}

			// Make sure there's a host name preceding the domain.

			if (len<2) {
			alert("Bei der Adresse fehlt der Hostname!");
			obj.focus();
			return false;
			}

			// If we've gotten this far, everything's valid!
			return true;

	}

//************************************************************************

