// Defines trim() on Strings, if it doesn't already exists.
if(!String.prototype.trim) {
    var reTrim = /^\s+|\s+$/g;
    String.prototype.trim = function() {
        return this.replace(reTrim,'');
    }
}


var reSimpleEmail = /^\S+@\S+\.[a-z]{2,6}$/;

function validForm(formobj) {
    // Trimming whitespaces from strings.
    formobj.namn.value = formobj.namn.value.trim();
    formobj.epost.value = formobj.epost.value.trim().toLowerCase();
    formobj.telefon.value = formobj.telefon.value.trim();
    formobj.meddelande.value = formobj.meddelande.value.trim();

    // Making arrays.
    var fields = [];
    var messages = [];

    // Validating name
	if (formobj.namn.value == '') {
        fields.push(formobj.namn);
        messages.push('Enter your name');
	}
    // Validating email.
	if (formobj.epost.length == 0 || reSimpleEmail.test(formobj.epost.value)!==true ) {
        fields.push(formobj.epost);
        messages.push('Enter a valid email address');
	}
    // Validating message.
	if (formobj.meddelande.value == '') {
        fields.push(formobj.meddelande);
        messages.push('Enter a message');
	}
    // Setting focus on the first field that wasn't correct and alert the user of all errors.
    if( messages.length > 0 ) {
        fields[0].focus();
        messages = messages.join("\n\n");
        alert(messages);
        return false;
    }

	return true;
}

