
function submitForm(f) {
	if (isReady(f)) {
		f.submit();
	}
}


function isReady(f) {
    var filterAge = /^[0-9]+$/i;
    var filterPostal = /^[a-z]\d[a-z](\s|-)?\d[a-z]\d$/i;
    var filterEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/i;
    var filterPhone = /^[0-9\(\)\- ]+$/i;

    msg = "";
    error = "";

    if (f.lang.value == "fr") {
    	msg             = "Veuillez corriger les champs suivants :\n\n";
        msgFirstName    = "Prénom\n";
        msgLastName     = "Nom\n";
        msgPhone        = "Téléphone\n";
        msgEmail        = "Adresse de courriel\n";
        msgMessage      = "Message\n";
    } else {
    	msg             = "Please correct the following fields:\n\n";
        msgFirstName    = "First Name\n";
        msgLastName     = "Last Name\n";
        msgPhone        = "Phone\n";
        msgEmail        = "Email\n";
        msgMessage      = "Message\n";
    }

    f.firstName.value = trim(f.firstName.value);
    f.lastName.value = trim(f.lastName.value);
    f.phone.value = trim(f.phone.value);
    f.email.value = trim(f.email.value);
    f.message.value = trim(f.message.value);

    if (f.firstName.value == "") {error += msgFirstName;}
    if (f.lastName.value == "") {error += msgLastName;}
    if (f.phone.value == "" && f.email.value == "") {
        error += msgPhone + msgEmail;
    } else {
        if (f.phone.value != "" && !filterPhone.test(f.phone.value)) {error += msgPhone;}
        if (f.email.value != "" && !filterEmail.test(f.email.value)) {error += msgEmail;}
    }
    if (f.message.value == "") {error += msgMessage;}

	if (error != "") {
		alert(msg + error);
		return false;
	} else {
		return true;
	}
}

function removeSpaces(str) {
	var tstr = "";
	str = '' + str;
	sstr = str.split(" ");
	for(i = 0; i < sstr.length; i++) {
	    tstr += sstr[i];
    }

	return tstr;
}

function trim(str) {
    if (str.length < 1) {
        return "";
    }
    return ltrim(rtrim(str));
}

function rtrim(str) {
    if (str.length < 0) {
        return "";
    }
    var strTemp = "";
    for (i = str.length-1; i > -1; i--) {
        if (str.charAt(i) != ' ') {
            strTemp = str.substring(0, i+1);
            break;
        }
    }
    return strTemp;
}

function ltrim(str) {
    if (str.length < 1){
        return "";
    }
    var strTemp = "";
    for (i = 0; i < str.length; i++) {
        if (str.charAt(i) != ' ') {
            strTemp = str.substring(i, str.length);
            break;
        }
    }
    return strTemp;
}

function age(yr, mon, day) {
    var ONE_YEAR = 1000 * 60 * 60 * 24 * 30 * 12;

    var today = new Date();
    var pastdate = new Date(yr, mon-1, day);

    yearspast = today.getFullYear() - yr - 1;
    
    tail = (today.getMonth() > mon-1 || today.getMonth() == mon-1 && today.getDate() >= day)? 1 : 0
    
    if (tail == 1) {
        pastdate.setFullYear(today.getFullYear());
    } else {
        pastdate = new Date(today.getFullYear()-1, mon-1, day);
    }
    
    tail = Math.floor( (today.getTime() - pastdate.getTime()) / (ONE_YEAR) ) + tail; 

    return (yearspast + tail);
}
