function GetElementId(ElementName)
{
	var elemid=null;
	for (var iform=0; iform<document.forms.length; iform++) 
	{
		for (var ielem=0; ielem<document.forms[iform].length;ielem++)
		{
			if(document.forms[iform].elements[ielem].name == ElementName)
				elemid=document.getElementById(ElementName);
		}
	}
	return elemid;
}

/*
[R]equired
[A]nything
[N]umber
[E]mail
*/
function ValidateForm()
{
	var MsgErrorStr='';
	var args=ValidateForm.arguments;

	for(i=0; i<(args.length);i+=2)
	{
		AcceptOptions=args[i+1];
		ElementN=GetElementId(args[i]);
		if(ElementN != null)
		{
			// Element exist
			if(ElementN.value != "")
			{
				if(AcceptOptions.indexOf('E') != -1)
				{
					// ElementN Is Email
					var addystring = ElementN.value;
					var ampIndex = addystring.indexOf("@");
					if(ampIndex != -1)
					{
	          			//return true;
					}
					else
					{
						MsgErrorStr+='Please fill in the E-MAIL field in the form of username@domain.com.\n';
					}
				}
			}
			else if(AcceptOptions.indexOf('R') != -1)
			{
				// ElementN -> Required
				if(ElementN.value=="")
				{
					// ElementN is null ?
					if(ElementN.name == 'name') {
						MsgErrorStr += 'The NAME- SURNAME field was not entered.\n';
					}
					else if(ElementN.name == 'address') {
						MsgErrorStr += 'The ADDRESS field was not entered.\n';
					}
					else if(ElementN.name == 'city') {
						MsgErrorStr += 'The COUNTRY-CITY-POSTAL CODE was not entered.\n';
					}
					else if(ElementN.name == 'phone') {
						MsgErrorStr += 'The TELEPHONE field was not entered.\n';
					}
					else if(ElementN.name == 'email') {
						MsgErrorStr += 'The E-MAIL field was not entered.\n';
					}
					else if(ElementN.name == 'subject') {
						MsgErrorStr += 'The THEME field was not entered.\n';
					}
					else if(ElementN.name == 'message') {
						MsgErrorStr += 'The MESSAGE field was not entered.\n';
					}
				}
			}
		}
	}
	if (MsgErrorStr)
		alert('The following error was appeared:\n'+MsgErrorStr);

	document.ValidateFormRetValue = (MsgErrorStr == '');
}
