// variable cruciale pour bon fonctionnement des menus et donc navigation du site ...
var idmenuselected;

// surbrillance sur bouton actif des menus et sous-menus de gauche
function selectSubmenu(menutype, submenuid) {
    clearSubmenu();
    if (submenuid) {
        idmenuselected = 'm_'+menutype+submenuid;
        menu = 'm_'+menutype+submenuid;
    } else {
        idmenuselected = 'm_'+menutype;
        menu = 'm_'+menutype;
    }
    var menuItem = document.getElementById(menu);
    if (menuItem) menuItem.style.color = '#ff9c00';
}

// reset des surbrillances de menu
function clearSubmenu() {
    if ((idmenuselected != 'm_') && (idmenuselected != 'm_0') && (idmenuselected != '') && (typeof(idmenuselected) != 'undefined')) {
        var selMenu = document.getElementById(idmenuselected);
		if (selMenu) selMenu.style.color = '#ffffff';
	}
}

function menuSwitch(nMenu, nType) {
    //var menuElts = document.getElementsByName('menu_acc');
    var divElts = document.getElementsByTagName('div');
    menuElts = new Array();
    for(d=0; d<divElts.length; d++) {
        var divName = divElts[d].getAttribute('name');
        if (divName == 'menu_acc') menuElts[d] = divElts[d];
    }
    
    for(m=0; m<menuElts.length; m++) {
        for(t=0; t<3; t++) {
            if ((m==nMenu) && (t==nType)) {
                menuExpand(m, t);
            } else menuCollapse(m, t);
        }
    }
}
function menuExpand(nMenu,nType) {
    divId = 'menu_acc_'+nMenu+'_'+nType;
    divIdNot = divId +'_not';
    if (!$(divId)) return false;
    if ($(divId).style.display == 'none') {
        $(divIdNot).style.display = 'block';
        Effect.BlindDown(divId);
        Effect.Appear(divId);	
    }
}
function menuCollapse(nMenu,nType) {
    divId = 'menu_acc_'+nMenu+'_'+nType;
    //divIdNot = divId +'_not';
    if (!$(divId)) return false;
    if ($(divId).style.display != 'none') {
        divIdNot = 'menu_acc_'+nMenu+'_'+nType+'_not';
        Effect.BlindUp(divId);
        Effect.Fade(divId, {
            afterFinish:function (t) {
                //alert(divIdNot);
                //if ($(divIdNot)) $(divIdNot).style.display = 'none';
                //$(divIdNot).style.display = 'none';
            }
        });
    }
}


// vidage d'élement, utilisé dans pas mal d'input de formulaires du frontal
function focusObject(obj) {
    if (obj.value) obj.value = '';
}
// remplissage d'élement, utilisé dans pas mal d'input de formulaires du frontal
function blurObject(obj, val) {
    if (obj.value == '') obj.value = val;
}

function switchObject(objId) {
    var obj = document.getElementById(objId);
    if (!obj) return false;
    if (obj.style.display != 'none') hideObject(objId);
    else showObject(objId);
}
function showObject(objId) {
    var obj = document.getElementById(objId);
    if (obj) obj.style.display = 'block';
}
function hideObject(objId) {
    var obj = document.getElementById(objId);
    if (obj) obj.style.display = 'none';
}

// fonction primaire appelée pour afficher la fiche produit en central
function showArticle(art_id) {
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/article.php', {
        method:'post',
        postBody:'id='+art_id,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=showArticle(\''+art_id+'\');'
            });
        }
    });
}

function AjaxLoad(name) {
    if ($(name)) $(name).innerHTML = '<img src="/img/ajax-load.gif" />';
}

function AjaxLoad2(name) {
    if ($(name)) $(name).innerHTML = '<img src="/img/ajax-loader2.gif" />';
}

// fonction primaire appelée pour afficher la fiche produit du primeur current en central
function showCurrPrimeur() {
    selectSubmenu(8);
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/article.php', {
        method:'post',
        postBody:'curr_prim=1',
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=showCurrPrimeur();'
            });
        }
    });
}

// fonction globale de recherche pour affichage liste page résultat en central
function ajaxRecherche(type_id, group_id, txt) {
    if (!type_id) type_id = '';
    if (!group_id) group_id = '';
    if (!txt) txt = '';
    //if (group_id=='excluall') selectSubmenu('117');
    //else selectSubmenu('1'+group_id);
    selectSubmenu(type_id, group_id);
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/list_all.php', {
        method:'post',
        postBody:'type='+type_id+'&g='+group_id+'&txt='+txt,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxRecherche(\''+type_id+'\', \''+group_id+'\', \''+txt+'\');'
            });
        }
    });
}

// fonction de pagination de liste page
function ajaxListPage(type_id, group_id , prd_id, txt, order, page, sens) {
    if (!type_id) type_id = '';
    if (!group_id) group_id = '';
    if (!prd_id) prd_id = '';
    if (!txt) txt = '';
    if (!order) order = '';
    if (!page) page = 1;
    if (!sens) sens = '';
    //if (group_id=='excluall') selectSubmenu('117');
    //else selectSubmenu('1'+group_id);
    selectSubmenu(type_id, group_id);
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/list.php', {
        method:'post',
        postBody:'type='+type_id+'&g='+group_id+'&pid='+prd_id+'&txt='+txt+'&o='+order+'&p='+page+'&s='+sens,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxListPage(\''+type_id+'\', \''+group_id+'\', \''+prd_id+'\', \''+txt+'\', \''+order+'\', \''+page+'\', \''+sens+'\');'
            });
        }
    });
}

// fonction de pagination de page catalogue
function ajaxCatPage(type_id, group_id , prd_id, txt, order, page, sens, limit) {
    if (!type_id) type_id = '';
    if (!group_id) group_id = '';
    if (!prd_id) prd_id = '';
    if (!txt) txt = '';
    if (!order) order = '';
    if (!page) page = 1;
    if (!sens) sens = '';
    if (!limit) limit = '';
    AjaxLoad('catalogue');
    new Ajax.Updater('catalogue', '/ajax/catalogue.php', {
        method:'post',
        postBody:'tpl=html2&v=1&l='+limit+'&type='+type_id+'&g='+group_id+'&pid='+prd_id+'&txt='+txt+'&o='+order+'&p='+page+'&s='+sens,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxCatPage(\''+type_id+'\', \''+group_id+'\', \''+prd_id+'\', \''+txt+'\', \''+order+'\', \''+page+'\', \''+sens+'\');'
            });
        }
    });
}

// fonction de pagination de liste page primeurs
function ajaxListPrimeur(type_id, group_id , prd_id, order, page, sens, dispo) {
    if (!type_id) type_id = '';
    if (!group_id) group_id = '';
    if (!prd_id) prd_id = '';
    if (!order) order = '';
    if (!page) page = 1;
    if (!sens) sens = '';
    if (!dispo) dispo = '';
    if (group_id > 0) selectSubmenu('prim', group_id);
    else selectSubmenu('9');
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/list_primeurs.php', {
        method:'post',
        postBody:'type='+type_id+'&g='+group_id+'&pid='+prd_id+'&o='+order+'&p='+page+'&s='+sens+'&a='+dispo,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxListPrimeur(\''+type_id+'\', \''+group_id+'\', \''+prd_id+'\', \''+order+'\', \''+page+'\', \''+sens+'\', \''+dispo+'\');'
            });
        }
    });
}

// fonction de pagination de liste page promotions
function ajaxListPromo(type_id, group_id , prd_id, order, page, sens, dispo) {
    if (!type_id) type_id = '';
    if (!group_id) group_id = '';
    if (!prd_id) prd_id = '';
    if (!order) order = '';
    if (!page) page = 1;
    if (!sens) sens = '';
    if (!dispo) dispo = '';
    if (group_id > 0) selectSubmenu('m', group_id);
    else selectSubmenu('2');
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/list_promos.php', {
        method:'post',
        postBody:'type='+type_id+'&g='+group_id+'&pid='+prd_id+'&o='+order+'&p='+page+'&s='+sens+'&a='+dispo,
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxListPromo(\''+type_id+'\', \''+group_id+'\', \''+prd_id+'\', \''+order+'\', \''+page+'\', \''+sens+'\', \''+dispo+'\');'
            });
        }
    });
}

// fonction de redirection vers page commandes
function ajaxShowOrder() {
    selectSubmenu('5');
    AjaxLoad('droite');
    new Ajax.Updater('droite', '/ajax/order.php', {
        method:'post',
        //postBody:
        EvalScripts:'true',
        onComplete: function (t) {
            new Ajax.Request('/ajax/previous.php', {
                method:'post',
                postBody:'request=ajaxShowOrder();'
            });
        }
    });
}

// rafraichissement du montant du panier
function orderRefresh() {
    AjaxLoad2('panierprice');
    new Ajax.Updater('panierprice', '/ajax/panier.php');
}

// fonctions gérant l'affichage d'une pop intersticielle pour liste du panier
// rafraichissement du récapitulatif du panier
function basketRefresh() {
    AjaxLoad('basketlist');
    new Ajax.Updater('basketlist', '/ajax/basket.php?tpl=panierprice', {
        method:'post',
        EvalScripts:'true'
        //onComplete: switchBasketList()
    });
}
function switchBasketList() {
    var blist = document.getElementById('basketlist');
    if (!blist) return false;
    //alert(blist.style.display);
    if ((blist.style.display == 'block')) blist.style.display = 'none';
    else blist.style.display = 'block';
}

// ajouter un article au panier ou updater sa quantite
function orderAdd(art_id, quantite, conditionnement, noredirect) {
    if (quantite > 1000) {
        alert("Quantity limited to 1000 on the website. If you want to order more, please contact us by phone");
    } else {
        AjaxLoad2('panierprice');
        if (noredirect > 0) {
             new Ajax.Updater('panierprice', '/ajax/panier.php', {
                method:'post',
                postBody:'action=add&id='+art_id+'&quantite='+quantite+'&condition='+conditionnement,
                EvalScripts:'true',
                onComplete: function (t) {basketRefresh()}
            });
        } else {
            new Ajax.Updater('panierprice', '/ajax/panier.php', {
                method:'post',
                postBody:'action=add&id='+art_id+'&quantite='+quantite+'&condition='+conditionnement,
                EvalScripts:'true',
                onComplete: function (t) {
                    new Ajax.Updater('droite', '/ajax/order.php', {
                        method:'post',
                        postBody:'request=ajaxShowOrder();'
                    });
                }
    	    });
    	}
	}
}

// enlever un article du panier
function orderRemove(art_id, cond_id) {
    AjaxLoad2('panierprice');
    new Ajax.Updater('panierprice', '/ajax/panier.php', {
        method:'post',
        postBody:'action=delete&art_id='+art_id+'&cond_id='+cond_id,
        onComplete:function (t) {
            basketRefresh();
            new Ajax.Updater('droite', '/ajax/order.php', {
                method:'post',
                postBody:'request=ajaxShowOrder();'
            });
        }
    });	
}


// choix du packaging dans order
function orderCondSelect(art_id, quantite, conditionnement, oldcondition) {
    AjaxLoad2('panierprice');
    new Ajax.Updater('panierprice', '/ajax/panier.php', {
        method:'post',
        postBody:'action=delandadd&id='+art_id+'&quantite='+quantite+'&condition='+conditionnement+'&oldcondition='+oldcondition,
        onComplete:function (t) {
            new Ajax.Updater('droite', '/ajax/order.php', {
                method:'post',
                postBody:'request=ajaxShowOrder();'
            });
        }
    });
}

// formulaire de commande : passer en mode input text si quantite > limite
function quantitySwitchField(containerObj, selectObjId) {
    var selectObj = document.getElementById(selectObjId);
    if (!selectObj) return false;
    if (selectObj.value == 'more') {
        var parent = selectObj.parentNode; //on remonte au noeud parent
        parent.removeChild(selectObj);
        newvalue = '<input type="text" id="'+selectObjId+'" name="nb" value="20" size="2" maxlength="4" />';
        parent.innerHTML=newvalue;
    }
}

// passé input entype password pour formulaire d'auth pre-home
function switchPasswdInput(item, val, parentItem) {
    //obj = document.getElementById(val.id);
    //if (obj.value == 'New Password') {
        //document.getElementById('newpassspan').innerHTML = "<input name='newpass' type='password' id='newpass' value='' onFocus='NewPassword(this);' onBlur='NewPassword(this);'/>";
        //setTimeout('focusnewpass()', 500);
    //}
    itemId = item.id;
    if (item.value == val) {
        document.getElementById(parentItem).innerHTML = "<input type=\"password\" name=\""+itemId+"\" id=\""+itemId+"\" value=\"\" onFocus=\"switchPasswdInput(this, 'New Password', 'newpassspan');\" onBlur=\"switchPasswdInput(this, 'New Password', 'newpassspan');\"/>";
    }
    document.getElementById(itemId).focus();
}