var browserAcceptLanguage = 'en-us';

function str_trim(str) {
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function is_valid(value) {
	return !!str_trim(value);
}

var messageDefault = 'Please fill out all required fields!'
var messageTranslated = {
	'de': 'Bitte alle obligatorischen Felder ausfüllen!',
	'fr': 'Veuillez remplir tous les champs obligatoires!',
}

function get_language() {
	var result = null;
	var language = null; 
	if(browserAcceptLanguage != "") {
		language = browserAcceptLanguage;
	} else if(typeof navigator.userLanguage != 'undefined') {
		language = navigator.userLanguage;
	} else if(typeof navigator.browserLanguage != 'undefined') {
		language = navigator.browserLanguage;
	} else if(typeof navigator.language != 'undefined') {
		language = navigator.language;
	}

	if(language) {
		for(var lc in messageTranslated) {
			if(language.toLowerCase().indexOf(lc) >= 0) {
				result = lc;
			}

		}
	}

	return result;
}

$(document).ready(function () {
	$('form').submit(function(evt) {
		var result = true;
		$(evt.target).find('.required').each(function(i, e) {
			if(!is_valid(e.value)) {
				result = false;
			}
		});

		if(!result) {
			var message = null;
			var language = get_language();

			if(language) {
				message = messageTranslated[language];
			} else {
				message = messageDefault;
			}

			alert(message);
		}

		return result;
	});
});

