
function getExtension(filename)
{
    var parts = filename.split(".");
    return (parts[(parts.length-1)]);
}

// vérifie l'extension d'un fichier uploadé
// champ : id du champ type file
// listeExt : liste des extensions autorisées
function checkFile(argument)
{
    var extensionsValides=new Array('jpg','jpeg');

    var inputElement = document.getElementById(argument+"Field").value.toLowerCase();
    var msgElement = document.getElementById(argument+"Target");
    if(inputElement == '')
    {
        msgElement.innerHTML = "Merci de sélectionner une image";
        return false;
    }
    var fileExt = getExtension(inputElement);
    for (i=0; i<extensionsValides.length; i++)
    {
        if ( fileExt == extensionsValides[i] )
        {
            return true;
        }
    }
    msgElement.innerHTML = "Seules les images au format .jpg et .jpeg sont acceptées";
    return false;
    
}

function checkEMail(argument) {
    var inputElement = document.getElementById(argument+"Field").value;
    var msgElement = document.getElementById(argument+"Target");
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    if(reg.test(inputElement) == false) {
        msgElement.innerHTML = " Adresse E-mail invalide";
        return false;
    }else{
        msgElement.innerHTML = "";
        return true;
    }
}

function checkPostCode() {
    if(checkPostCode_1("cp")) {
        waitShops();
        return true;
    }
    return false;
}

function checkPostCode_1(argument) {
    var inputElement = document.getElementById(argument+"Field").value;
    var msgElement = document.getElementById(argument+"Target");
    var reg = /^[0-9]{5}$/;
    if(reg.test(inputElement) == false) {
        msgElement.innerHTML = "Code postal invalide";
        return false;
    }else{
        msgElement.innerHTML = "";
        return true;
    }
}

function checkVide(argument) {
    var inputElement = document.getElementById(argument+"Field").value;
    var msgElement = document.getElementById(argument+"Target");
    var reg = /^\s*$/;
    if(reg.test(inputElement) == true) {
        msgElement.innerHTML = "Information obligatoire";
        return false;
    }else{
        msgElement.innerHTML = "";
        return true;
    }
}

function checkUser(argument) {
    var inputElement = document.getElementById(argument+"Field").value;
    var msgElement = document.getElementById(argument+"Target");
    var reg = /^([A-Za-z0-9_\-\.\@])+$/;
    if(reg.test(inputElement) == false) {
        msgElement.innerHTML = "Identifiant invalide<br/>Caractères autorisés: lettres, chiffres, -, _ et @";
        return false;
    }else{
        msgElement.innerHTML = "";
        return true;
    }
}

function checkPassword(argument, confirmArgument) {
    var inputElement = document.getElementById(argument+"Field").value;
    var inputElementConfirm = document.getElementById(confirmArgument+"Field").value;
    var msgElement = document.getElementById(argument+"Target");

    if(inputElement.length < 6) {
        msgElement.innerHTML = "6 caractères minimum";
        return false;
    }
    if(inputElement != inputElementConfirm) {
        msgElement.innerHTML = "Mots de passe différents";
        return false;
    }
    msgElement.innerHTML = "";
    return true;
}

function checkShop() {
    try{
        var inputElement = document.getElementById("clientInputField").value;
        var msgElement = document.getElementById("shopTarget");
        var idClient = parseInt(inputElement)
        if(!(idClient>0)) {
            msgElement.innerHTML = "Veuillez choisir un magasin";
            return false;
        }else{
            msgElement.innerHTML = "";
            return true;
        }
    }catch(exception)
    {
        alert(exception);
        return false;

    }

}

function testInteger(argument, dimMax1, dimMax2){
    var inputElement = document.getElementById(argument+"Field");
    var msgElement = document.getElementById(argument+"Target");
    var tmp = inputElement.value.replace(",", ".","");
    inputElement.value = tmp;
    var result = parseFloat(tmp);
    if(isNaN(result)){
        msgElement.innerHTML = "Dimension non valide";
        return false;
    }
    else if(result < 15){
        msgElement.innerHTML = "Dimension trop petite";
        return false;
    }
    else if(result > Math.max(dimMax1, dimMax2)){
        msgElement.innerHTML = "Dimension trop grande";
        return false;
    }
    else{
        msgElement.innerHTML = "";
        return true;
    }
}

function testIntegers(width, height, total, dimMax1, dimMax2){
    var retour1 = testInteger(width, dimMax1, dimMax2);
    var retour2 = testInteger(height, dimMax1, dimMax2);
    if(retour1&&retour2)
    {
        var widthField = document.getElementById("widthField");
        var w = parseFloat(widthField.value);
        var heightField = document.getElementById("heightField");
        var h = parseFloat(heightField.value);
        var msgElement = document.getElementById(total);
        if((w+h)>200)
        {
            msgElement.innerHTML = "Le demi périmètre doit être < à 200 cm";
            return false;
        }
        var minDim = Math.min(dimMax1, dimMax2);
        if((w > minDim) && (h > minDim))
        {
            msgElement.innerHTML = "Le plus petit coté ne peut dépasser " + minDim + " cm";
            return false;
        }

    }

    return retour1&&retour2;
}