// JavaScript Document var postAjaxTimer = setInterval('execPostAjaxFunction();',1000); var postAjaxFunctionToExec = ''; function execPostAjaxFunction(){ if(postAjaxFunctionToExec!=''){ //alert(postAjaxFunctionToExec); setTimeout(postAjaxFunctionToExec,500); postAjaxFunctionToExec = ''; } } /* ----------------------------------------------------------- */ // send params /* ----------------------------------------------------------- */ function sendParams(){ modalMessage('Traitement','Patientez...'); sendData('email='+document.getElementById('email').value, 'index.php?module=mdp/&action=send', 'POST', '', 'document.location="index.php?module=mdp/&sous_module=send";', false); } /* ----------------------------------------------------------- */ // END : send params /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // message modal /* ----------------------------------------------------------- */ var infosMessages_win = false; function closeModalMessage(){ if(infosMessages_win) infosMessages_win.hide(); } function modalMessage(title,val){ if(!infosMessages_win){ infosMessages_win = new Ext.Window({ applyTo : 'infos-messages-win', layout : 'fit', width : 200, height : 80, closeAction :'hide', plain : true, modal : true, html : '
' }); var pbar3 = new Ext.ProgressBar({ id:'pbar3', width:100, renderTo:'p3' }); pbar3.wait({ interval:100, duration:3000, increment:15 }); } document.getElementById('infos-messages-win-title').innerHTML = title; document.getElementById('modal-message').innerHTML = val; infosMessages_win.show(); } /* ----------------------------------------------------------- */ // END : message modal /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // open add produit /* ----------------------------------------------------------- */ var addProd_win; var addProd_nextAction; var addProd_formuleObj = null; function addProd(id_produit,format,nextAction,nextAction2,formuleObj){ if(!addProd_win){ addProd_win = new Ext.Window({ applyTo : 'addProd-win', layout : 'fit', width : 400, height : 450, closeAction :'hide', plain : true, modal : true, html : '
', buttons: [{ text : 'Ajouter', id : 'btnAddProd', handler : function(){ addProd_win.hide(); addProdToCde(); } },{ text : 'Valider', id : 'btnValidateAddProd', handler : function(){ addProd_win.hide(); addProdToCde(); } },{ text : 'Annuler', id : 'btnCancelAddProd', handler : function(){ addProd_win.hide(); } }] }); } if(nextAction!='') addProd_nextAction = nextAction; else addProd_nextAction = ''; addProd_win.show(); if(formuleObj){ var onFormule = 1; addProd_formuleObj = formuleObj; document.getElementById('btnAddProd').style.display = 'none'; document.getElementById('btnValidateAddProd').style.display = ''; document.getElementById('btnCancelAddProd').style.display = 'none'; }else{ var onFormule = 0; addProd_formuleObj = null; document.getElementById('btnAddProd').style.display = ''; document.getElementById('btnValidateAddProd').style.display = 'none'; document.getElementById('btnCancelAddProd').style.display = ''; } sendData('id_produit='+id_produit+'&format='+format+'&onFormule='+onFormule, '?module=notre_carte/&sous_module=addProd', 'POST', 'add_produits_details', nextAction2, false); } function addIngredientAuto(ing){ if(!document.getElementById('out')){ setTimeout("addIngredientAuto('"+ing+"');",1000); }else{ for(i=0;i<(document.getElementById('out').options.length);i++){ if(document.getElementById('out').options[i].text==ing){ document.getElementById('out').selectedIndex=i; document.getElementById('addButton').click(); } } } } function addProdToCde(){ modalMessage('Traitement','Patientez...'); var id_produit = document.getElementById('id_produit').value; var format = document.getElementById('format').value; var prix_or = document.getElementById('prix_or').value; var prix_final = document.getElementById('prix_final').value; var quantite = document.getElementById('quantite').value; var prix_total = document.getElementById('prix_total').value; var add_ingredient = ''; if(document.getElementById('in')){ for(i=0;i<(document.getElementById('in').options.length);i++){ if(document.getElementById('in').options[i].title=='new') add_ingredient+= document.getElementById('in').options[i].text+','; } } if(add_ingredient!='') add_ingredient = add_ingredient.substr(0,add_ingredient.length-1); var sub_ingredient = ''; if(document.getElementById('out')){ for(i=0;i<(document.getElementById('out').options.length);i++){ if(document.getElementById('out').options[i].title=='ori') sub_ingredient+= document.getElementById('out').options[i].text+','; } } if(sub_ingredient!='') sub_ingredient = sub_ingredient.substr(0,sub_ingredient.length-1); if(addProd_formuleObj!=null){ selectMenuID = addProd_formuleObj.id; var reg=new RegExp("(_val)", "g"); inputMenu_add_ingredientID = selectMenuID.replace(reg,"_add_ingredient"); inputMenu_sub_ingredientID = selectMenuID.replace(reg,"_sub_ingredient"); inputMenu_prixID = selectMenuID.replace(reg,"_prix"); inputMenu_precisionsID = selectMenuID.replace(reg,"_precisions"); document.getElementById(inputMenu_add_ingredientID).value = add_ingredient; document.getElementById(inputMenu_sub_ingredientID).value = sub_ingredient; document.getElementById(inputMenu_prixID).value = roundN(prix_final-prix_or,2); var reg=new RegExp("(< Par exemple : pizza bien cuite >)", "g"); var precision = document.getElementById('precision').value; precision = precision.replace(reg,""); document.getElementById(inputMenu_precisionsID).value = precision; /* alert('inputMenu_add_ingredientID='+document.getElementById(inputMenu_add_ingredientID).value); alert('inputMenu_sub_ingredientID='+document.getElementById(inputMenu_sub_ingredientID).value); alert('inputMenu_prixID='+document.getElementById(inputMenu_prixID).value); */ closeModalMessage(); }else{ var reg=new RegExp("(< Par exemple : pizza bien cuite >)", "g"); var precision = document.getElementById('precision').value; precision = precision.replace(reg,""); add_ingredient = escape(add_ingredient); sub_ingredient = escape(sub_ingredient); precision = escape(precision); var details_cde = "carte||"; details_cde+= id_produit+"||"; details_cde+= format+"||"; details_cde+= prix_or+"||"; details_cde+= prix_final+"||"; details_cde+= quantite+"||"; details_cde+= prix_total+"||"; details_cde+= add_ingredient+"||"; details_cde+= sub_ingredient+"||"; details_cde+= precision+"##"; if(addProd_nextAction!='') nextAction = addProd_nextAction; else nextAction = "document.location=document.location;"; sendData('details_cde='+details_cde, 'index.php?module=&sous_module=addProdToCde', 'POST', '', nextAction, false);// } } /* ----------------------------------------------------------- */ // END : open add produit /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // add menu /* ----------------------------------------------------------- */ function addMenuToCde(id_menu,prix,menuItemsCount){ var details_cde = "menu||"; details_cde+= id_menu+"||"; var stocks = ""; var details = ""; var prixMenu = prix*1; for(i=0;i<=menuItemsCount;i++){ if( document.getElementById(id_menu+'_'+i+'_type').value == 'statique' ){ details+= document.getElementById(id_menu+'_'+i).value+","; }else{ if(document.getElementById(id_menu+'_'+i+'_val').value==''){ alert('Veuillez renseigner tous les composants du menu !'); return false; }else{ details+= document.getElementById(id_menu+'_'+i+'_txt').value+" "+document.getElementById(id_menu+'_'+i+'_val').options[document.getElementById(id_menu+'_'+i+'_val').selectedIndex].text+","; if(document.getElementById(id_menu+'_'+i+'_add_ingredient').value!='') details+= "avec:"+document.getElementById(id_menu+'_'+i+'_add_ingredient').value+","; if(document.getElementById(id_menu+'_'+i+'_sub_ingredient').value!='') details+= "sans:"+document.getElementById(id_menu+'_'+i+'_sub_ingredient').value+","; if(document.getElementById(id_menu+'_'+i+'_precisions').value!='') details+= "précisions:"+document.getElementById(id_menu+'_'+i+'_precisions').value+","; if(document.getElementById(id_menu+'_'+i+'_add_ingredient').value!='') prixMenu = prixMenu + (document.getElementById(id_menu+'_'+i+'_prix').value*1); if(document.getElementById(id_menu+'_'+i+'_stocks')) stocks+= document.getElementById(id_menu+'_'+i+'_val').value+"::"+document.getElementById(id_menu+'_'+i+'_stocks').value+";"; } } } details_cde+= roundN(prixMenu,2)+"||"; details_cde+= (details)+"||"; details_cde+= stocks+"##"; modalMessage('Traitement','Patientez...'); sendData('details_cde='+details_cde, 'index.php?module=&sous_module=addMenuToCde', 'POST', '', 'document.location=document.location;', false);// } /* ----------------------------------------------------------- */ // END : add menu /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // annul cde /* ----------------------------------------------------------- */ function annulCde(){ if(!confirm('Etes-vous sûre ?')){ return 0; } document.location = 'index.php?action=annulCde'; } /* ----------------------------------------------------------- */ // END : annul menu /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // add cde /* ----------------------------------------------------------- */ function addCde(ouverture){ if(ouverture==0){ if(!confirm('Attention notre restaurant est actuellement fermé ! Votre commande sera prise en compte à la prochaine ouverture. Voulez-vous continuer ?')){ return 0; } } //alert( parseInt(document.getElementById('total_cde').value) ); //alert( parseInt(document.getElementById('min_cde').value) ); if( parseInt(document.getElementById('total_cde').value))", "g"); var precisions_cde = document.getElementById('precisions_cde').value; precisions_cde = precisions_cde.replace(reg,""); var mode_cde = document.getElementById('mode_cde').value; if(document.getElementById('confirm_cde').checked) var confirm_cde = 1; else var confirm_cde = 0; var total_cde = document.getElementById('total_cde').value; var date_remise_cde = document.getElementById('year').value+'-'+document.getElementById('month').value+'-'+document.getElementById('day').value+' '+document.getElementById('hour').value+':'+document.getElementById('minute').value+':00'; var use_status = document.getElementById('use_status').value; var notif = document.getElementById('notif').value; var url = document.getElementById('url').value; var statut = 0; var points = document.getElementById('points').value; precisions_cde = escape(precisions_cde); //if(document.getElementById('cb').checked) //var frais_cb = 1; //else var frais_cb = -1; //var remise_pourcent = document.getElementById('remise_pourcent').value; remise_pourcent = -1; //sendData('action=addCde&precisions_cde='+precisions_cde+'&mode_cde='+mode_cde+'&confirm_cde='+confirm_cde+'&total_cde='+total_cde+'&date_remise_cde='+date_remise_cde, 'soap_client.php', 'POST', '', 'document.location="index.php?module=mes_commandes/";', false);// sendData('remise_pourcent='+remise_pourcent+'&frais_cb='+frais_cb+'&precisions_cde='+precisions_cde+'&mode_cde='+mode_cde+'&confirm_cde='+confirm_cde+'&total_cde='+total_cde+'&date_remise_cde='+date_remise_cde+'&statut='+statut+'¬if='+notif+'&url='+url+'&points='+points, 'index.php?module=ma_commande/&sous_module=nothing&action=addCde', 'POST', '', 'document.location="index.php?module=mes_commandes/&alertNewCde=1";', false);// } /* ----------------------------------------------------------- */ // END : add cde /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // add cb /* ----------------------------------------------------------- */ function addCB(){ if( document.getElementById('cb').checked ){ document.getElementById('frais_cb').value = roundN('0.95',2); document.getElementById('total_cde').value = roundN( (document.getElementById('total_cde').value*1+0.95),2); }else{ document.getElementById('frais_cb').value = roundN('0.00',2); document.getElementById('total_cde').value = roundN( (document.getElementById('total_cde').value*1-0.95),2); } } /* ----------------------------------------------------------- */ // END : add cb /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // add client /* ----------------------------------------------------------- */ function addClient(){ /**/ var nom = document.formCli.nom.value; var prenom = document.formCli.prenom.value; var societe = document.formCli.societe.value; var num_rue = document.formCli.num_rue.value; var adresse = document.formCli.adresse.value; var batiment = document.formCli.batiment.value; var etage = document.formCli.etage.value; var digicode = document.formCli.digicode.value; var interphone = document.formCli.interphone.value; var ville = document.formCli.ville.value; var telephone = document.formCli.telephone.value; var email = document.formCli.email.value; var password = document.formCli.password.value; modalMessage('Traitement','Enregistrement de votre compte...'); ret = true; if(nom=='' || prenom=='' || num_rue=='' || adresse=='' || telephone=='' || email=='' || password==''){ closeModalMessage(); alert('Veuillez renseigner tous les champs obligatoires !'); ret = false; } if(ret) document.formCli.submit(); //sendData('nom='+nom+'&prenom='+prenom+'&societe='+societe+'&num_rue='+num_rue+'&adresse='+adresse+'&batiment='+batiment+'&etage='+etage+'&digicode='+digicode+'&interphone='+interphone+'&ville='+ville+'&telephone='+telephone+'&email='+email+'&password='+password, 'index.php?module=mon_compte/&sous_module=nothing&action=addClient', 'POST', '', 'document.location="index.php?module=mon_compte/";', false);// } /* ----------------------------------------------------------- */ // END : add client /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // update client /* ----------------------------------------------------------- */ function updateClient(){ /* var nom = document.formCli.nom.value; var prenom = document.formCli.prenom.value; var societe = document.formCli.societe.value; var num_rue = document.formCli.num_rue.value; var adresse = document.formCli.adresse.value; var batiment = document.formCli.batiment.value; var etage = document.formCli.etage.value; var digicode = document.formCli.digicode.value; var interphone = document.formCli.interphone.value; var ville = document.formCli.ville.value; var telephone = document.formCli.telephone.value; var email = document.formCli.email.value; var password = document.formCli.password.value; */ modalMessage('Traitement','Modification de votre compte...'); document.formCli.submit(); //sendData('nom='+nom+'&prenom='+prenom+'&societe='+societe+'&num_rue='+num_rue+'&adresse='+adresse+'&batiment='+batiment+'&etage='+etage+'&digicode='+digicode+'&interphone='+interphone+'&ville='+ville+'&telephone='+telephone+'&email='+email+'&password='+password, 'index.php?module=mon_compte/&sous_module=nothing&action=updateClient', 'POST', '', 'document.location="index.php?module=mon_compte/";', false);// } /* ----------------------------------------------------------- */ // END : update client /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // select changer /* ----------------------------------------------------------- */ function selectChanger(fromHtmlObject,toHtmlObject){ if(fromHtmlObject.selectedIndex>=0){ var newOption = document.createElement('option'); newOption.text = fromHtmlObject.options[fromHtmlObject.selectedIndex].text; newOption.value = fromHtmlObject.options[fromHtmlObject.selectedIndex].value; newOption.title = fromHtmlObject.options[fromHtmlObject.selectedIndex].title; try { toHtmlObject.add(newOption, null); // standards compliant; doesn't work in IE } catch(ex) { toHtmlObject.add(newOption); // IE only } if(fromHtmlObject.id=='out') calculProd(fromHtmlObject.options[fromHtmlObject.selectedIndex].value); else calculProd(fromHtmlObject.options[fromHtmlObject.selectedIndex].value*-1); fromHtmlObject.remove(fromHtmlObject.selectedIndex); }else setTimeout("document.getElementById('"+fromHtmlObject.id+"').selectedIndex=-1;",1000); } /* ----------------------------------------------------------- */ // END : select changer /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // calcul prod /* ----------------------------------------------------------- */ function calculProd(val){ if(val) document.getElementById('prix_final').value = (document.getElementById('prix_final').value*1)+(val*1); if( (document.getElementById('prix_final').value*1)<(document.getElementById('prix_or').value*1) ) document.getElementById('prix_final').value = document.getElementById('prix_or').value; document.getElementById('prix_total').value = roundN( (document.getElementById('prix_final').value*1)*(document.getElementById('quantite').value*1),2); } /* ----------------------------------------------------------- */ // END : calcul prod /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // load tooltip /* ----------------------------------------------------------- */ function loadQuickTip(title,textContext, htmlTarget){ new Ext.ToolTip({ target: htmlTarget, title: title, width:200, html: textContext, trackMouse:true }); } /* ----------------------------------------------------------- */ // END : load tooltip /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // load commande /* ----------------------------------------------------------- */ function loadCde(id_cde,url){ //alert(id_cde); modalMessage('Chargement','Ouverture de la commande...'); sendData('id_cde='+id_cde+'&url='+url, 'index.php?module=mes_commandes/&sous_module=nothing&action=detailsCdeClient', 'POST', 'listeCdes', 'closeModalMessage();', false);// } /* ----------------------------------------------------------- */ // END : load commande /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // changeMode /* ----------------------------------------------------------- */ function changeMode(newMode){ modalMessage('Traitement','Patientez...'); sendData('newMode='+newMode, 'index.php?module=ma_commande/&sous_module=nothing&action=changeMode', 'POST', '', 'document.location=document.location;', false);// } /* ----------------------------------------------------------- */ // END : changeMode /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // execPromo /* ----------------------------------------------------------- */ function execPromo(promoId){ modalMessage('Traitement','Patientez...'); sendData('promoId='+promoId, 'index.php?module=ma_commande/&sous_module=nothing&action=execPromo', 'POST', '', 'document.location=document.location;', false);// } /* ----------------------------------------------------------- */ // END : execPromo /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // roundN /* ----------------------------------------------------------- */ function roundN(nombre, nbChiffres) { tmp = ''+Math.round(nombre*Math.pow(10,nbChiffres))/Math.pow(10,nbChiffres); var reg=new RegExp("[.]+", "g"); var tableau=tmp.split(reg); if( !tableau[1] ) return tableau[0]+'.00'; else if( tableau[1].length == 1 ) return tableau[0]+'.'+tableau[1]+'0'; else return tableau[0]+'.'+tableau[1]; } /* ----------------------------------------------------------- */ // END : roundN /* ----------------------------------------------------------- */ /* ----------------------------------------------------------- */ // forms verification /* ----------------------------------------------------------- */ function vf(formRef){ var ret = true; var desc = ''; var reg=new RegExp("[#]", "g"); var tmp=formRef.verifTab.value.split(reg); for (var i=0; i tmp2[2]){ ret = false; desc = 'Trop de caractères pour le champ '+tmp2[0]; } } } break; //------------------------------------------------------------------------- case 'string_id': eval('test = formRef.'+tmp2[0]+'.value'); if(test == ''){ ret = false; desc = 'Veuillez renseigner tous les champs obligatoires !'; }else{ if( !document.getElementById('verif_custom_id_alert_exist') ){ ret = false; desc = 'Caractère(s) invalide(s) ou libellé déjà existant pour le champ [Libellé unique]'; }else{ if(document.getElementById('custom_id_alert').lang==0 || document.getElementById('verif_custom_id_alert_exist').lang==0){ ret = false; desc = 'Caractère(s) invalide(s) ou libellé déjà existant pour le champ [Libellé unique]'; } } } break; //------------------------------------------------------------------------- case 'table_not_null': eval('test = formRef.'+tmp2[0]+'.value'); if(test == ''){ ret = false; desc = 'Veuillez renseigner tous les champs obligatoires !'; } break; //------------------------------------------------------------------------- default: break; } } } if(desc!='')alert(desc); return ret; } /* ----------------------------------------------------------- */ // END : form verification /* ----------------------------------------------------------- */