var firstError = null;
var errorstring = '';
var validForm = true;
var reqFields = {
	'name' : 'your firstname',
	'surname' : 'your surname',
	'email' : 'your email address',
};

window.onload = function () {
	document.forms['frm_subscribe'].onsubmit = function () {
		return validate();
	}
}

function validate() {
	validForm = true;
	firstError = null;
	errorstring = '';
	var x = document.forms['frm_subscribe'].elements;
	for (var key in reqFields) {
		if (!x[key].value)
			writeError(x[key],'Please provide ' + reqFields[key]);
	}
	if (x['email'].value.indexOf('@') == -1)
		writeError(x['email'], 'Email address is not valid!');
	if (!validForm)
		alert('Please correct the following:\n\n' + errorstring);
	if (firstError)
		firstError.focus();
	return validForm;
}

function writeError(obj, message) {
	validForm = false;
	if (obj.hasError) return;
	errorstring += '* ' + message + '\n';
	obj.hasError = true;
	if (!firstError) firstError = obj;
}