//fonction de test que les champs du compte client sont bien remplis
function verifierChampsCompteClientCommande()
{
    var erreur = "";
    if (document.getElementById('txt_email_commande').value=='')
        erreur = erreur+"- <?=email?>\n";
    if (document.getElementById('txt_pwd_commande').value=='')
        erreur = erreur+"- <?=mdp?>\n";
    
    if (erreur!="")
    {
        alert("<?=formulaire_incomplet?>"+erreur);
        return false;
    } else { return true; }
}

//fonction qui affiche (ou de cache) l'adresse de livraison
function afficherLivraison() {
    var desactive = 'inline';
    if (document.getElementById('lstAdresseLivraison').options[document.getElementById('lstAdresseLivraison').selectedIndex].value == "identique") {
        desactive = 'none';
    }
    document.getElementById('div-livraison').style.display = desactive;
}

function verifierChampsCompteClient(idFormulaire) {
    var erreur = "";

    if (document.getElementById('lstAdresseLivraison').options[document.getElementById('lstAdresseLivraison').selectedIndex].value != "identique") {
       erreur = verifierChampsAdressesCompteClient(true);
    } else {
       erreur = verifierChampsAdressesCompteClient(false);
    }

    if (document.getElementById('fax').value!='') {
        if(isNaN(document.getElementById('fax').value) == true || (document.getElementById('fax').value.length != 10) || (document.getElementById('fax').value.charAt(0) != "0"))
            erreur = erreur+"- Votre num\351ro de fax est invalide\n";
    }

    if (!(document.getElementById('pwd').value))
        erreur = erreur+"- Veuillez saisir un mot de passe\n";
    else if (document.getElementById('pwd').value.length < 6)
        erreur = erreur+"- Votre mot de passe doit contenir au moins 6 caract\350res\n";

    if (!(document.getElementById('pwdNouveau').value))
        erreur = erreur+"- Veuillez saisir une 2e fois votre mot de passe\n";
    else if(document.getElementById('pwdNouveau').value.length < 6)
        erreur = erreur+"- Votre 2e mot de passe doit contenir au moins 6 caract\350res\n";

    else if(document.getElementById('pwd').value != document.getElementById('pwdNouveau').value)
        erreur = erreur+"- Vos mots de passes ne sont pas identiques\n";

    //verifie qu'il a plus de 18 ans
    var dateDeNaissance = document.getElementById('dateJour').options[document.getElementById('dateJour').selectedIndex].value + "/" + document.getElementById('dateMois').options[document.getElementById('dateMois').selectedIndex].value + "/" + document.getElementById('dateAnnee').options[document.getElementById('dateAnnee').selectedIndex].value;
    if (!isDate(dateDeNaissance))
        erreur += "- Votre date de naissance n'est pas correcte\n";
    else {
        var dateDDNMin = new Date(document.getElementById('dateAnnee').options[document.getElementById('dateAnnee').selectedIndex].value, document.getElementById('dateMois').options[document.getElementById('dateMois').selectedIndex].value, document.getElementById('dateJour').options[document.getElementById('dateJour').selectedIndex].value);
        dateDDNMin.setDate(dateDDNMin.getDate() + (365.25*18));  //on ajoute les 18 ans
        var aujourdhui = new Date();
        if (dateDDNMin > aujourdhui)
          erreur += "- Vous devez \352tre majeur pour cr\351er un compte\n";        
    }

    if (erreur != "") {
        alert("Le formulaire est incomplet :\n"+erreur);
        return false;
    } else {
        return true;
    }
}

function verifierChampsAdressesCompteClient(aAdresseLivraison) {
    var erreur = "";
    if (!(document.getElementById('nomFacturation').value))
        erreur = erreur+"- Veuillez saisir votre nom\n";

    if (!(document.getElementById('prenomFacturation').value))
        erreur = erreur+"- Veuillez saisir votre pr\351nom\n";

    if(!(document.getElementById('adresseFacturation1').value))
        erreur = erreur+"- Veuillez saisir votre adresse\n";

    if (!(document.getElementById('codePostalFacturation').value))
        erreur = erreur+"- Veuillez saisir votre code postal\n";
    else if ((isNaN(document.getElementById('codePostalFacturation').value) == true) || (document.getElementById('codePostalFacturation').value.length != 5))
        erreur = erreur+"- Veuillez saisir un code postal valide\n";
    else {
      var dpt = parseInt(document.getElementById('codePostalFacturation').value.substring(0, 2));
      if (dpt > 95)
        erreur = erreur+"- Veuillez saisir un code postal valide\n";
    }
    
    if(!(document.getElementById('villeFacturation').value))
        erreur = erreur+"- Veuillez saisir votre ville\n";

    if(!(document.getElementById('paysFacturation').value))
        erreur = erreur+"- Veuillez saisir votre pays\n";

    if (!(document.getElementById('telephoneFacturation').value) || (document.getElementById('telephoneFacturation').value.charAt(0) != "0"))
        erreur = erreur+"- Votre num\351ro de t\351l\351phone est invalide\n";

    if (aAdresseLivraison) {
        if (!(document.getElementById('nomLivraison').value))
            erreur = erreur+"- Veuillez saisir le nom de livraison\n";

        if (!(document.getElementById('prenomLivraison').value))
            erreur = erreur+"- Veuillez saisir le pr\351nom de livraison\n";

        if(!(document.getElementById('adresseLivraison1').value))
            erreur = erreur+"- Veuillez saisir votre adresse de livraison\n";

        if (!(document.getElementById('codePostalLivraison').value))
            erreur = erreur+"- Veuillez saisir votre code postal de livraison\n";
        else if ((isNaN(document.getElementById('codePostalLivraison').value) == true) || (document.getElementById('codePostalLivraison').value.length != 5))
            erreur = erreur+"- Veuillez saisir un code postal de livraison valide\n";
        else {
          var dpt = parseInt(document.getElementById('codePostalLivraison').value.substring(0, 2));
          if (dpt > 95)
            erreur = erreur+"- Veuillez saisir un code postal de livraison valide\n";
        }

        if(!(document.getElementById('villeLivraison').value))
            erreur = erreur+"- Veuillez saisir votre ville de livraison\n";

        if(!(document.getElementById('paysLivraison').value))
            erreur = erreur+"- Veuillez saisir votre pays de livraison\n";

        //if (!(document.getElementById('telephoneLivraison').value) || isNaN(document.getElementById('telephoneLivraison').value) == true || (document.getElementById('telephoneLivraison').value.charAt(0) != "0"))
        if (!(document.getElementById('telephoneLivraison').value) || (document.getElementById('telephoneLivraison').value.charAt(0) != "0"))
            erreur = erreur+"- Votre num\351ro de t\351l\351phone de livraison est invalide\n";

    }

    if (!(document.getElementById('email').value))
        erreur = erreur+"- Veuillez saisir un e-mail\n";
    else if(!(document.getElementById('email').value.indexOf("@") >= 0) || !(document.getElementById('email').value.indexOf(".") >= 0))
        erreur = erreur+"- Votre email est invalide\n";

    return erreur;
}

var dtCh = "/";
var minYear = 1900;
var maxYear = 2100;

function isInteger(s) {
    var i;
    for (i = 0; i < s.length; i++){   
    // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag) {
    var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++) {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year) {
    // February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysArray(n) {
    for (var i = 1; i <= n; i++) {
        this[i] = 31;
        if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
        if (i==2) {this[i] = 29;}
    }
    return this;
}

function isDate(dtStr) {
    var daysInMonth = DaysArray(12);
    var pos1 = dtStr.indexOf(dtCh);
    var pos2 = dtStr.indexOf(dtCh,pos1+1);
    var strDay = dtStr.substring(0,pos1);
    var strMonth = dtStr.substring(pos1+1,pos2);
    var strYear = dtStr.substring(pos2+1);

    strYr = strYear;
    if (strDay.charAt(0) == "0" && strDay.length>1) strDay = strDay.substring(1);
    if (strMonth.charAt(0) == "0" && strMonth.length>1) strMonth = strMonth.substring(1);
    for (var i = 1; i <= 3; i++) {
        if (strYr.charAt(0) == "0" && strYr.length>1) strYr = strYr.substring(1);
    }
    month = parseInt(strMonth);
    day = parseInt(strDay);
    year = parseInt(strYr);
    if (pos1 == -1 || pos2 == -1) {
        return false;
    }
    if (strMonth.length<1 || month<1 || month>12) {
        return false;
    }
    if (strDay.length<1 || day<1 || day>31 || (month == 2 && day>daysInFebruary(year)) || day > daysInMonth[month]) {
        return false;
    }
    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear) {
        return false;
    }
    if (dtStr.indexOf(dtCh,pos2+1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false) {
        return false;
    }
        return true;
}

function ValidateForm() {
    var dt=document.frmSample.txtDate;
    if (isDate(dt.value)==false) {
        dt.focus();
        return false;
    }
        return true;
}
//-->

//fonction permettant de n'autoriser que les chiffres (0-9) dans un champ texte, ainsi que la tabulation, backspace et supp
function chiffres(event) {
    // Compatibilité IE / Firefox
    if (!event&&window.event) {
        event=window.event;
    }
    // IE
    if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 8) && (event.keyCode != 0)) {
        event.returnValue = false;
        event.cancelBubble = true;
    }
    // DOM
    if ((event.which < 48 || event.which > 57) && (event.which != 8) && (event.which != 0)) {
        event.preventDefault();
        event.stopPropagation();
    }
}

