function affichePopup(page,largeur,hauteur){ 

    //On augmente la hauteur et la largeur à cause des ascenseurs
    largeur += 30;
    hauteur += 30;

    //Si l'image est plus grande que l'écran, on diminue la taille de la popup
    if (screen.width <= largeur)    {
        largeur = screen.width-50;
    }

    if (screen.height <= hauteur){
        hauteur = screen.height-100;
    }
    anOpenWindow=window.open(page,"popup","width="+largeur+",height="+hauteur+",screenX=20,screenY=20,toolbar=no,directories=no,status=no,scrollbars=yes,menubar=no,resizable=no");
}

// ****************************
// Fonction spin_up, valide le forumlaire
function spin_up(form,objet){
    if (document[form][objet].value >= 1){
        document[form][objet].value ++;
    }else{
        document[form][objet].value = 1;
    }
    document[form].submit();
}
    
function spin_down(form,objet){
    if (document[form][objet].value > 1){
        document[form][objet].value --;
    }else{
        document[form][objet].value = 1;
    }
    document[form].submit();
}

// ****************************
// Fonction spin_up, ne valide pas le formulaire
function spin_upNorm(form,objet){
    if (document[form][objet].value >= 1){
        document[form][objet].value ++;
    }else{
        document[form][objet].value = 1;
    }
}
    
function spin_downNorm(form,objet){
    if (document[form][objet].value > 1){
        document[form][objet].value --;
    }else{
        document[form][objet].value = 1;
    }
}

function verifQte(form, objet){

    var valeur = document[form][objet].value;
    if (checkNumericField(valeur)){
        if (document[form][objet].value < 0){
            document[form][objet].value = 1;
        }
    }else{
        document[form][objet].value = 1;
    }
    document[form].submit();
    
}

// *****************************************************************************
// Fonction : checkNumericField
// teste si le champ est composé de caracteres numeriques
// renvoie true si le champ est numerique
// renvoie false si le champ est vide ou non numerique
// *****************************************************************************
function checkNumericField(theField) {
    re=/^[+-]*\d+$/;
    return (re.test(theField));
}


// Fonction javascript demandant confirmation avant de supprimer un produit du panier
function supprimerProduit(idPanier, nomProduit) {
    if (confirm('Etes-vous sûr de vouloir enlever le produit "'+nomProduit+'" de votre panier?')) {
        window.location.href = "modif_panier.php?idPanier="+idPanier;
    }
}
 


////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////Fonctions de traitement du formulaire de coordonnées client///////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Désactive tous les champs du formulaire d'adresse de livraison, lors de l'ajout à la base de données
//ceux-ci seront remplacés par l'adresse de facturation
function utiliserAddrFacturation(){
    if (document.adresses_cli.lameme.checked == true){
        //On désactive tout
        document.adresses_cli.livraison_civilite.disabled = true;
        document.adresses_cli.livraison_nom.disabled = true;
        document.adresses_cli.livraison_prenom.disabled = true;
        document.adresses_cli.livraison_societe.disabled = true;
        document.adresses_cli.livraison_adresse.disabled = true;
        document.adresses_cli.livraison_code_postal.disabled = true;
        document.adresses_cli.livraison_ville.disabled = true;
        document.adresses_cli.livraison_pays.disabled = true;
        document.adresses_cli.livraison_telephone.disabled = true;
        document.adresses_cli.livraison_email.disabled = true;

    }else{
        //On réactive tout
        document.adresses_cli.livraison_civilite.disabled = false;
        document.adresses_cli.livraison_nom.disabled = false;
        document.adresses_cli.livraison_prenom.disabled = false;
        document.adresses_cli.livraison_societe.disabled = false;
        document.adresses_cli.livraison_adresse.disabled = false;
        document.adresses_cli.livraison_code_postal.disabled = false;
        document.adresses_cli.livraison_ville.disabled = false;
        document.adresses_cli.livraison_pays.disabled = false;
        document.adresses_cli.livraison_telephone.disabled = false;
        document.adresses_cli.livraison_email.disabled = false;
    }

}



// *****************************************************************************
// Fonction : isMail
// si le champ est rempli verifie si le format  comporte l'@ et le .
// renvoie true  si oui ou si vide
// renvoie false  si non
// *****************************************************************************

function isMail(mail) {
    if (mail.search(/^[a-zA-Z0-9\.\-_]+@[a-zA-Z0-9\.\-_]+\.[a-zA-Z0-9\.\-]+$/) == -1){
        return false;
    }else{
        return true;
    }
}

// *****************************************************************************
// Fonction : checkNotEmptyField
// teste si le champ n'est pas vide ("", espace, tab, retour chariot interdit)
// renvoie true si le champ est correct
// renvoie false si le champ est vide ou espaces
// *****************************************************************************
function checkNotEmptyField(theField) {
    if (!theField) return false;
    re=/^\s+$/;
    return !(re.test(theField));
}

////////////////////////////////////////////////////////////
//Fonction : cocheLivraion
//Prend en argument l'id du système de livraison à sélectionner, et le sélectionne
function cocheLivraison(idLivraison){
    for (var i=0; i < document.livraison.transport_id.length;i++) {
        if (document.livraison.transport_id[i].value == idLivraison){
            document.livraison.transport_id[i].checked = true;
            document.livraison.submit();
        }
    }

}


//Fleches calendrier
//Fonction permettant de modifier l'attribut caché des flèches du calendrier, afin de voir les 2 semaines
//précédentes ou suivantes
function fleches_calendrier(semaine){
    document.getElementById("semaine").value += semaine;
    document.livraison.submit();
}

function addCrenau(valeur){
    document.commande.date_livraison.value=valeur;
}


//Cache tous les div, et affiche (s'il est caché) ou cache (s'il est affiché) le div courant
function complete(lediv){

    cacheLesDiv();

    if (divIsOpen == lediv){
        lediv.style.visibility = "hidden";
        divIsOpen = null
    }else{
        lediv.style.visibility = "visible";
        divIsOpen = lediv;
    }
}

//Fonction appelée lorsque l'utilisateur clique sur un lien dans le div, le texte est copié dans le textfield correspondant
function ajValeur(leChamp, laValeur){
    leChamp.value = laValeur;
    divIsOpen = null;
    cacheLesDiv();
}

var tab2Div = new Array();

//Cache tous les div
function cacheLesDiv(){
    for(i = 0; i < tab2Div.length; i++){
        var autreDiv = document.getElementById("div_"+tab2Div[i]);
        autreDiv.style.visibility = "hidden";
    }
}