// valid selector from dropdown list
function checkDropdown(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 checkEmail (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 checkPassword (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 checkPhone (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 checkRadio(checkvalue) {
    var error = "";
    
    if (!(checkvalue)) {
       error = "Merci de s&eacute;l&eacute;ctionner un bouton radio.";
    }
    return error;
}

// username - 2-10 chars, uc, lc, and underscore only.
function checkUsername(strng) {
    var error = "";
    
    if (strng == "") {
        error = "Vous n'avez pas rempli de nom.";
    }

    var illegalChars = /\W/; // allow letters, numbers, and underscores
    
    if ((strng.length < 2) || (strng.length > 30)) {
       error = "Entre 2 et 10 caract&egrave;res.";
    }
    else if (illegalChars.test(strng)) {
        error = "Le nom contient des caract&egrave;res non valides.";
    } 
    return error;
}   

// was textbox altered
function isDifferent(strng)  {
    var error = ""; 
    
    if (strng != "Can\'t touch this!") {
        error = "Vous ne pouvez pas moidifier ce texte.";
    }
    return error;
}

// non-empty textbox
function isEmpty(strng) {
    var error = "";
    
    if (strng.length == 0) {
        error = "Aucun message n'est rempli."
    }
    return error;	  
}



