// valid selector from dropdown list
function validateDropdown(choice) {
    var error = "";

    if (choice == 0) {
        error = "Vous n'avez pas s&eacute;l&eacute;ctionn&eacute; de choix dans la liste.";
    }
    return error;
}

function validateEmail (strng) {
    var error="";

    if (strng == "") {
        error = "Vous n'avez pas fourni d'adresse mail.";
    }

    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(strng))) {
       error = "Merci de fournir une adresse valide.";
    }
    else {
        //test email for illegal characters
        var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
        if (strng.match(illegalChars)) {
            error = "L'adresse mail contient des caractères invalides.";
       }
    }
    return error;
}

// password - between 6-8 chars, uppercase, lowercase, and numeral
function validatePassword (strng) {
    var error = "";

    if (strng == "") {
        error = "You didn't enter a password.\n";
    }

    var illegalChars = /[\W_]/; // allow only letters and numbers

    if ((strng.length < 6) || (strng.length > 8)) {
       error = "The password is the wrong length.\n";
    }
    else if (illegalChars.test(strng)) {
      error = "The password contains illegal characters.\n";
    }
    else if (!((strng.search(/(a-z)+/)) && (strng.search(/(A-Z)+/)) && (strng.search(/(0-9)+/)))) {
        error = "The password must contain at least one uppercase letter, one lowercase letter, and one numeral.\n";
    }
    return error;
}

// phone number - strip out delimiters and check for 10 digits
function validatePhone (strng) {
    var error = "";

    if (strng == "") {
        error = "Vous n'avez pas fourni de num&eacute;ro de t&eacute;l&eacute;phone.";
    }

    // strip out acceptable non-numeric characters
    var stripped = strng.replace(/[\(\)\.\-\ ]/g, '');
    if (isNaN(parseInt(stripped))) {
       error = "Le num&eacute;ro contient des caract&egrave;res invalides.";
    }
    if (!(stripped.length == 10)) {
        error = "V&eacute;rifiez votre num&eacute;ro de t&eacute;l&eacute;phone";
    }
    return error;
}

// exactly one radio button is chosen
function validateRadio(checkvalue) {
    var error = "";

    if (!(checkvalue))
       error = "Merci de s&eacute;l&eacute;ctionner un bouton radio.";

    return error;
}


// non-empty textbox
function isEmpty(strng) {
    var error = "";

    if (strng.length == 0)
        error = "Merci de remplir ce champ."

    return error;
}



