function validateForm(lngID, langID) {
	if (lngID == 1) {
		return validateContactForm(langID);
	}
	return false;
}

function validateContactForm(langID) {
	var frm = document.frmContact;
	
	if (blankString(frm.txtFirstName.value)) return showErrorMessage(errorMessage(1, langID), frm.txtFirstName);
	if (blankString(frm.txtLastName.value)) return showErrorMessage(errorMessage(2, langID), frm.txtLastName);
	if (!blankString(frm.txtEMail.value) && !validEMail(frm.txtEMail.value)) return showErrorMessage(errorMessage(3, langID), frm.txtEMail);
	if (blankString(frm.txtComment.value)) return showErrorMessage(errorMessage(4, langID), frm.txtComment);
	
	return true;
}

function errorMessage(lngErrorID, langID) {
	switch (lngErrorID) {
		case 1 : return (langID == 1) ? 'Vorname fehlt' : 'Firstname is missing!';
		case 2 : return (langID == 1) ? 'Nachname fehlt' : 'Last Name is missing!';
		case 3 : return (langID == 1) ? 'EMail ist ungültig' : 'EMail is invalid!';
		case 4 : return (langID == 1) ? 'Kommentar fehlt' : 'Comment is missing!';
	}
	
	return '';
}

function blankString(strString) {
	strString = String(strString);
	
	if (strString == '') { return true; }
	
	for (var i=0; i<strString.length; i++) {
		if (strString.charCodeAt(i) != 10 && strString.charCodeAt(i) != 13 && strString.charCodeAt(i) != 32) { 
			return false;
		}
	}
	
	return true;
}

function validEMail(strEMail) {
	var fFoundAt = false;
	var fFoundDot = false;
	
	strEMail = String(strEMail);
	
	if (strEMail == '') { return true; }
	if (strEMail.length < 8) { return false; }
	
	for (var i=0; i<strEMail.length; i++) {
		//  . = 46 and @ = 64
		if (strEMail.charCodeAt(i) == 64) {
			if (fFoundAt) { return false; }
			fFoundAt = true;
		} else if (strEMail.charCodeAt(i) == 46) {
			if (fFoundAt) {
				fFoundDot = true;
				break;
			}
		}
	}
	
	if (!fFoundAt || !fFoundDot) { return false; }
	
	return true;
}

function showErrorMessage(strMessage, objControl) {
	objControl.focus();
	if (objControl.select) { objControl.select(); }
	alert(strMessage);
	return false;
}

