function Trim(s) {
	// Remove leading spaces and carriage returns
	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r')) {
		s = s.substring(1,s.length);
	}

	// Remove trailing spaces and carriage returns
	while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r')) {
		s = s.substring(0,s.length-1);
	}

	return s;
}

function isEnglish(str) {
	if (str.search(/^([A-Za-z0-9]|\s|-|\,|\.|\&|\%|\!|\?|\(|\)|\[|\]|\+|\=|\$|\{|\}|\#|\;|\:|\@|\||\*|\/|\\|\<|\>|\~|\^|\'|\|")*$/)==-1 ) return false;
	return true;
}

function isGreek(str) {
	if (str.search(/^([��-���0-9]|\s|-|\,|\.|\&|\%|\!|\?|\(|\)|\[|\]|\+|\=|\$|\{|\}|\#|\;|\:|\@|\||\*|\/|\\|\<|\>|\~|\'|\")*$/)==-1 ) return false;
	return true;
}

function isFloat(str) {
	if (str.search(/^(-)?([0-9])*((\.)([0-9])+)?$/)==-1) return false;
	return true;
}

function isDigit(str) {
	if (str.search(/^(-)?([0-9])*$/)==-1) return false;
	return true;
}

function isTelephone(str) {
	if (str.search(/^([0-9]|\s|-|\+|\(|\)|\/)*$/)==-1) return false;
	return true;
}

function isEmail(str) {
	if (str.search(/^[A-Za-z0-9_]+((-[A-Za-z0-9_]+)|(\.[A-Za-z0-9_]+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/)==-1) return false;
	return true;
}

function validRequired(formField, fieldLabel, lang) {
	if (Trim(formField.value) == "") {
		if (lang=='gr') alert('Please Enter' + fieldLabel +'.');
		else alert('Please Enter ' + fieldLabel +'.');
		formField.focus();
		return false;
	}
	return true;
}

function validEmail(formField, fieldLabel, required, lang) {
	if (required && !validRequired(formField, fieldLabel, lang)) return false;
	if ( !isEmail(Trim(formField.value)) ) {
		if (lang=='gr') alert("Please Enter a Correct E-mail Address");
		else alert("Please Enter a Correct E-mail Address");

		formField.focus();
		return false;
	}
	return true;
}

function validateGenericForm(theForm, lang) {

f=document.theForm;

	field = f.elements['msg[name][text]'];
	if (lang=='gr') txt="Name";
	else txt="Name";
	if (!validRequired(field, txt, lang)) return false;
	
	field = f.elements['msg[surname][text]'];
	if (lang=='gr') txt="Surname";
	else txt="Surname";
	if (!validRequired(field, txt, lang)) return false;

// 	field = f.elements['msg[state][text]'];
// 	if (lang=='gr') txt="Country";
// 	else txt="Country";
// 	if (!validRequired(field, txt, lang)) return false;
	
	field = f.elements['msg[from][text]'];
	if (lang=='gr') txt="your E-mail Address";
	else txt="your E-mail Address";
	if (!validEmail(field, txt, true, lang)) return false;

// 	field = f.elements['msg[tel][text]'];
// 	if (lang=='gr') txt="Telephone Number";
// 	else txt="Telephone Number";
// 	if (!validRequired(field, txt, lang)) return false;
	
	if (f.elements['msg[tel][text]']) {
		vfield = f.elements['msg[tel][text]'].value;
		if (!isTelephone(vfield, txt, lang)) {
			if (lang=='gr') alert("Please enter a proper phone number");
			else alert("Please enter a proper phone number");
			return false;
		}
	}

	
// 	field = f.elements['msg[body][text]'];
// 	if (lang=='gr') txt="Your Message";
// 	else txt="Your Message";
// 	if (!validRequired(field, txt, lang)) return false;

	return true;
}

