|
-
- /* French initialisation for the jQuery UI date picker plugin. */
- /* Written by Keith Wood (kbwood{at}iinet.com.au),
- Stéphane Nahmani (sholby@sholby.net),
- Stéphane Raimbault <stephane.raimbault@gmail.com> */
- (function( factory ) {
- if ( typeof define === "function" && define.amd ) {
-
- // AMD. Register as an anonymous module.
- define([ "../jquery.ui.datepicker" ], factory );
- } else {
-
- // Browser globals
- factory( jQuery.datepicker );
- }
- }(function( datepicker ) {
- datepicker.regional['fr'] = {
- closeText: 'Fermer',
- prevText: 'Précédent',
- nextText: 'Suivant',
- currentText: 'Aujourd\'hui',
- monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
- 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
- monthNamesShort: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin',
- 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
- dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
- dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
- dayNamesMin: ['D','L','M','M','J','V','S'],
- weekHeader: 'Sem.',
- dateFormat: 'dd/mm/yy',
- firstDay: 1,
- isRTL: false,
- showMonthAfterYear: false,
- yearSuffix: ''};
- datepicker.setDefaults(datepicker.regional['fr']);
-
- return datepicker.regional['fr'];
-
- }));
-
-
- $(document).ready(function() {
- //chat_scroll() ;
- chat_tabs_gamme_saison() ;
- //chat_slideshow() ;
- $('[data-toggle="tooltip"]').tooltip() ;
- chat_systeme_commande() ;
- chat_profil_user() ;
- }) ;
-
- function chat_profil_user() {
- if($('#profil-user').size()) {
- if($('#user-no_mail').is(':checked')) {
- $('#mails-jours-prod').hide() ;
- }
- $('#user-no_mail').change(function() {
- if($('#user-no_mail').is(':checked')) {
- $('#mails-jours-prod').hide() ;
- }
- else {
- $('#mails-jours-prod').fadeIn() ;
- }
- }) ;
- }
- }
-
- function chat_event_click_point_vente(id, force) {
- $('#commande-id_point_vente').val(id) ;
-
- $('#points-vente .point-vente').removeClass('selected') ;
- $('.point-vente-'+id).addClass('selected') ;
- $('.point-vente-'+id).hide().fadeIn('fast') ;
-
- var pain = parseInt($('.point-vente-'+id).data('pain')) ;
- var vrac = parseInt($('.point-vente-'+id).data('vrac')) ;
-
- if(pain) {
- $('#pain .table').show() ;
- $('#pain .indisponible').hide() ;
- }
- else {
- $('#pain .table').hide() ;
- $('#pain .indisponible').show() ;
- }
-
- if(vrac) {
- $('#vrac .table').show() ;
- $('#vrac .indisponible').hide() ;
- }
- else {
- $('#vrac .table').hide() ;
- $('#vrac .indisponible').show() ;
- }
-
- $('#produits, .valider-commande, .btn-commentaire, #bar-fixed').fadeIn() ;
-
- // credit pain
- chat_systeme_commande_credit_pain_event(chat_systeme_commande_maj_table_prix()) ;
-
- // scroll
- if(!force)
- boulange_scroll('step-choix-produits') ;
- }
-
- function chat_init_horaire_point_vente(date) {
- $('#points-vente .horaires .jour').hide() ;
- var selector_jour = '#points-vente .horaires .jour-'+date.getDay() ;
- $(selector_jour).show() ;
-
- // on cache les points de vente si la livraison n'est pas cochée
- /*$('#points-vente .point-vente').show() ;
- if($('#livraison').val() == 0) {
- $('#points-vente .point-vente').hide() ;
- $('#points-vente .point-vente').each(function() {
- if($(this).find('.nom').html() == 'Le Chat des Noisettes') {
- $(this).show() ;
- }
- }) ;
- }*/
-
- // on cache les points de vente qui sont fermés
- //$('#points-vente .point-vente').removeClass('disabled') ;
- /*$(selector_jour).each(function() {
- if($(this).html() == 'Fermé') {
- //$(this).parent().parent().parent().addClass('disabled') ;
- $(this).parent().parent().parent().hide() ;
- }
- }) ;*/
- }
-
- function chat_systeme_commande() {
-
- if($('.commande-form').size()) {
-
- // scroll initial
- if($('.boulangerie.selected').size())
- {
- boulange_scroll('step-choix-date') ;
- }
-
- // affichage des différentes parties du formulaire
- if(!$('#commande-id_production').val()) {
- $('#depots, #points-vente, #produits, .valider-commande, #info-horaire-retrait-commande, .btn-commentaire, #bar-fixed').hide() ;
- }
- else if(!$('#commande-id_point_vente').val()) {
- $('#produits, .valider-commande, .btn-commentaire, #bar-fixed').hide() ;
- }
-
- if($('#commande-id_point_vente').val())
- chat_event_click_point_vente($('#commande-id_point_vente').val(), true) ;
-
- $('#points-vente .point-vente').click(function() {
- var id = parseInt($(this).find('.id').html()) ;
- chat_event_click_point_vente(id) ;
- }) ;
-
- // datepicker
- var dates_production = [] ;
- $('#dates div').each(function() {
- dates_production.push($(this).find('.date').html()) ;
- }) ;
-
- //var var_datepicker = $.datepicker ;
-
- $('#datepicker-production').datepicker({
- beforeShowDay: function(date){
- var string = $.datepicker.formatDate('dd/mm/yy', date);
-
- for(var i=0; i<dates_production.length; i++) {
- //alert(dates_production[i]+' '+string) ;
- if(dates_production[i] == string)
- return [1] ;
- }
-
- return [0] ;
-
- // désactivé car internet explorer plante
- //return [ dates_production.indexOf(string) != -1 ] ;
- },
- onSelect: function(selectedDate) {
-
- // on remet tout les prix à zéro
- chat_systeme_commande_reset_table_prix() ;
-
- $('#has-commande-en-cours').hide() ;
-
- var tab_date = selectedDate.split('/') ;
- var date = new Date(tab_date[2],tab_date[1]-1,tab_date[0]) ;
-
- // set id production
- var id_production = 0 ;
- $('#dates div .date').each(function() {
- if($(this).html() == selectedDate) {
- id_production = $(this).parent().find('.id_production').html() ;
- }
- });
- $('#commande-id_production').val(id_production) ;
-
- // verif si le gars a une commande en cours pour cette production
- var has_commande_en_cours = false ;
- $('#commandes-en-cours .commande').each(function() {
- if($(this).data('idproduction') == id_production) {
- //alert('bada') ;
- $('#has-commande-en-cours a').attr('href',$(this).data('href')) ;
- $('#has-commande-en-cours').show() ;
- has_commande_en_cours = true ;
-
- $('#depots, #points-vente, #produits, #info-horaire-retrait-commande').hide() ;
- }
- }) ;
-
- if(!has_commande_en_cours) {
-
- chat_systeme_commande_produits_dispos(tab_date[2]+'-'+tab_date[1]+'-'+tab_date[0], date) ;
-
- $('#produits, .valider-commande, .btn-commentaire, #bar-fixed').hide() ;
-
- // déselection points de vente
- $('#points-vente .point-vente').removeClass('selected') ;
- $('#commande-id_point_vente').val('') ;
-
- // affichage points de vente
- $('#depots, #points-vente, #info-horaire-retrait-commande').fadeIn() ;
-
- // scroll
- boulange_scroll('step-choix-depot') ;
- }
-
- }
- }) ;
-
- if($('#commande-id_production').val()) {
- $("#dates .id_production").each(function() {
- if($(this).html() == $('#commande-id_production').val()) {
- var tab_date = $(this).parent().find('.date').html().split('/') ;
- var date = new Date(tab_date[2],tab_date[1]-1,tab_date[0]);
- $('#datepicker-production').datepicker('setDate',date) ;
- chat_systeme_commande_produits_dispos(tab_date[2]+'-'+tab_date[1]+'-'+tab_date[0], date) ;
- chat_init_horaire_point_vente(date) ;
- }
- }) ;
- }
-
-
- // tableau produits
- $('.commande-form .move-quantity').click(function() {
-
- var vrac = ($(this).parent().parent().parent().parent().parent().parent().parent().attr('id') == 'vrac') ;
-
- if(vrac) {
- var quantite = parseInt($(this).parent().parent().find('input.quantity').val()) ;
-
- if($(this).hasClass('moins') && quantite != 0)
- quantite -= 500 ;
- if($(this).hasClass('plus'))
- quantite += 500 ;
-
- $(this).parent().parent().find('input.quantity').val(quantite) ;
-
- chat_systeme_commande_maj_table_prix();
-
- }
- else {
- var quantite_totale = 0 ;
- $('.quantity').each(function() {
- quantite_totale += parseInt($(this).val()) ;
- }) ;
-
- if($(this).hasClass('plus') && quantite_totale > 2 && $('#confiance').val() == 0) {
- $('html, body').animate({
- scrollTop: $('#produits').offset().top - 150
- }, 'normal', function() {
- $('#mess-limit-quantity').fadeOut('fast',function() {
- $(this).fadeIn('fast') ;
- })
- });
- }
- else {
- var quantite = parseInt($(this).parent().parent().find('input.quantity').val()) ;
- var quantite_restante = parseInt($(this).parent().parent().parent().find('.quantite-restante .nb').html()) ;
-
- //alert('bada') ;
- if($(this).hasClass('moins') && quantite != 0)
- quantite -- ;
- if($(this).hasClass('plus')){
-
- if(quantite + 1 <= quantite_restante) {
- quantite ++ ;
- }
- else {
- if(quantite_restante <= 5) {
- $(this).parent().parent().parent().find('.quantite-restante').hide().fadeIn() ;
- }
- else {
- // alert ?
- // ...
- }
- }
- }
-
- $(this).parent().parent().find('input.quantity').val(quantite) ;
-
- chat_systeme_commande_maj_table_prix();
- }
- }
-
- }) ;
- chat_systeme_commande_maj_table_prix() ;
- chat_systeme_commande_credit_pain();
- }
-
- // commentaire commande
- $('.commande-form .btn-commentaire').click(function() {
- if($('.field-commande-commentaire').css('display') == 'none') {
- $('.field-commande-commentaire').slideDown() ;
- }
- else {
- $('.field-commande-commentaire').slideUp() ;
- }
- return false ;
- }) ;
-
- // bar fixed
- if($('#bar-fixed').size()) {
- $(window).scroll(function (event) {
- var scroll = $(window).scrollTop() + $(window).height();
- var pos_bottom_produits = $('#table-produits').offset().top + $('#table-produits').height() + 100 ;
- if(scroll > pos_bottom_produits) {
- if(!$('#bar-fixed').hasClass('not-fixed')) {
- $('#bar-fixed').addClass('not-fixed') ;
- }
- }
- else {
- $('#bar-fixed').removeClass('not-fixed') ;
- }
- });
- }
- }
-
- function chat_systeme_commande_produits_dispos(str_date, date) {
- // produits dispos à la vente à cette date
- $.get('index.php',{
- r: 'commande/infos-production',
- date: str_date,
- }, function(data) {
-
- if(data.produits_dispos) {
- $.each(data.produits_dispos, function( id_produit, produit ) {
-
- if(produit.actif) $('.produit-'+id_produit).show() ;
- else $('.produit-'+id_produit).hide() ;
-
- var quantite_restante = produit.quantite_max - produit.quantite_commandee ;
- //if(quantite_restante > 0 || !produit.epuise) {
- /*if(quantite_restante > 0) {
- $('.produit-'+id_produit+' .epuise').hide() ;
- $('.produit-'+id_produit+' .input-group').show() ;
- $('.produit-'+id_produit+' .quantite-restante .nb').html(quantite_restante) ;
-
- if(parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) > 5) {
- $('.produit-'+id_produit+' .quantite-restante').hide() ;
- }
- else {
- $('.produit-'+id_produit+' .quantite-restante').show() ;
- }
- }
- else {
- $('.produit-'+id_produit+' .epuise').show() ;
- $('.produit-'+id_produit+' .quantite-restante').hide() ;
- $('.produit-'+id_produit+' .input-group').hide() ;
- } */
-
-
-
- if((!produit.vrac && (!quantite_restante || quantite_restante < 0 || produit.epuise)) || (produit.vrac && produit.epuise)) {
- $('.produit-'+id_produit+' .epuise').show() ;
- $('.produit-'+id_produit+' .quantite-restante').hide() ;
- $('.produit-'+id_produit+' .input-group').hide() ;
- }
- else {
- $('.produit-'+id_produit+' .epuise').hide() ;
- $('.produit-'+id_produit+' .input-group').show() ;
- $('.produit-'+id_produit+' .quantite-restante .nb').html(quantite_restante) ;
-
- if(parseInt($('.produit-'+id_produit+' .quantite-restante .nb').html()) > 5) {
- $('.produit-'+id_produit+' .quantite-restante').hide() ;
- }
- else {
- $('.produit-'+id_produit+' .quantite-restante').show() ;
- }
- }
-
-
- });
- }
-
- // init affichage points de vente
- $.each(data.points_vente, function(key, livraison) {
- console.log(key+' | '+livraison) ;
- if(livraison) {
- $('.point-vente-'+key).fadeIn() ;
- }
- else {
- $('.point-vente-'+key).hide() ;
- }
- }) ;
-
- chat_init_horaire_point_vente(date) ;
-
- }, 'json') ;
- }
-
- function chat_systeme_commande_reset_table_prix() {
- $('#table-produits tr .colonne-quantite .quantity').each(function() {
- $(this).val(0) ;
- }) ;
- chat_systeme_commande_maj_table_prix() ;
- }
-
- function chat_systeme_commande_maj_table_prix() {
-
- // produits pain
- var prix = 0 ;
- $('.commande-form #table-produits tbody tr').each(function() {
- var quantite = parseInt($(this).find('.quantity').val()) ;
- var prix_produit = parseFloat($(this).find('.prix').html()) ;
- var prix_total_produit = quantite * prix_produit ;
-
- if(prix_total_produit)
- $(this).find('.total').html(formate_prix(prix_total_produit)+' €') ;
- else
- $(this).find('.total').html('--') ;
-
- if(quantite > 0)
- prix += prix_total_produit ;
- }) ;
-
- $('#total-commande strong').html(formate_prix(prix)+' €') ;
- var prix_global = prix ;
-
- // produits vrac
- var prix = 0 ;
- $('.commande-form #table-produits-vrac tbody tr').each(function() {
- var quantite = parseInt($(this).find('.quantity').val()) ;
- var prix_produit = parseFloat($(this).find('.prix').html()) ;
- var prix_total_produit = quantite/1000 * prix_produit ;
-
- if(prix_total_produit)
- $(this).find('.total').html(formate_prix(prix_total_produit)+' €') ;
- else
- $(this).find('.total').html('--') ;
-
- if(quantite > 0)
- prix += prix_total_produit ;
- }) ;
-
- $('#total-commande-vrac strong').html(formate_prix(prix)+' €') ;
-
- prix_global += prix ;
-
-
- $('#total-commande-bottom span').html(formate_prix(prix_global)) ;
-
- if(prix_global)
- $('#total-commande-bottom').fadeIn() ;
- else
- $('#total-commande-bottom').hide() ;
-
- // maj credit pain
- chat_systeme_commande_credit_pain_event(prix_global) ;
-
- return prix_global ;
- }
-
- function chat_systeme_commande_credit_pain() {
- $('input[name=credit_pain]').change(function() {
- var prix_global = chat_systeme_commande_maj_table_prix() ;
- chat_systeme_commande_credit_pain_event(prix_global) ;
- }) ;
- }
-
- function chat_systeme_commande_credit_pain_event(prix_global) {
- var html = '' ;
- var use_credit_pain = $('input[name=credit_pain]').prop('checked') ;
-
- var credit_pain = parseFloat($('#montant-credit-pain').val()) ;
- var credit_pain_dispo = credit_pain ;
- var montant_paye = 0
- if($('#montant-paye').size() && $('#montant-paye').val())
- montant_paye = parseFloat($('#montant-paye').val()) ;
-
- if($('#id-commande').size() && $('#id-commande').val()) {
- credit_pain_dispo = credit_pain + montant_paye ;
- }
-
- var credit_pain_active = $('.point-vente.selected').data('credit-pain') ;
- if(credit_pain_active || montant_paye) {
- $('#checkbox-credit-pain #info-credit-vide').show() ;
- $('#checkbox-credit-pain label').show() ;
- $('#checkbox-credit-pain #credit-pain-disabled').hide() ;
-
- if(prix_global > credit_pain_dispo) {
- var reste_payer = prix_global - credit_pain_dispo ;
- if(use_credit_pain) {
- if(montant_paye) {
- html += '<span class="montant-paye">'+montant_paye+' € déjà payé</span><br />' ;
- }
- html += '<strong>'+credit_pain+' €</strong> seront débités<br />' ;
- html += 'Restera <strong>'+reste_payer+' €</strong> à payer à la boulangerie' ;
- $('#checkbox-credit-pain .info').html(html) ;
- }
- else {
- $('#checkbox-credit-pain .info').html('') ;
- }
- }
- else {
-
- $('#checkbox-credit-pain').removeClass('paiement-impossible') ;
- $('input[name=credit_pain]').removeAttr('disabled') ;
- if(use_credit_pain) {
- var html = '' ;
- // à payer
- if(prix_global > montant_paye)
- {
- montant = prix_global - montant_paye ;
- if(montant_paye) {
- html += '<span class="montant-paye">'+montant_paye+' € déjà payé</span><br />' ;
- }
- html += '<strong>'+montant+' €</strong> seront débités' ;
- $('#checkbox-credit-pain .info').html(html) ;
- }
- // remboursé
- else if(prix_global < montant_paye) {
- montant = montant_paye - prix_global ;
- if(montant_paye) {
- html += '<span class="montant-paye">'+montant_paye+' € déjà payé</span><br />' ;
- }
- html += '<strong>'+montant+' €</strong> seront remboursés' ;
- $('#checkbox-credit-pain .info').html(html) ;
-
- }
- else {
- if(montant_paye > 0)
- $('#checkbox-credit-pain .info').html('<span class="montant-paye">'+montant_paye+' € déjà payé</span>') ;
- else
- $('#checkbox-credit-pain .info').html('') ;
- }
- }
- else {
- $('#checkbox-credit-pain .info').html('')
- }
- }
- }
- else {
- $('#checkbox-credit-pain #info-credit-vide').hide() ;
- $('#checkbox-credit-pain label').hide() ;
- $('#checkbox-credit-pain #credit-pain-disabled').show() ;
- }
- }
-
- function formate_prix(prix) {
- return prix.toFixed(2).replace( ".", "," ) ;
- }
-
- function chat_slideshow() {
- if($('body').hasClass('home')) {
- var base_url = $('#base_url').val() ;
- $.vegas('slideshow', {
- backgrounds:[
- //{ src:'./img/background/back2.jpg' },
- { src:base_url+'/img/background/four.jpg' },
- { src:base_url+'/img/background/gueulard.jpg' }
- ],
- walk: function() {
- $('.vegas-loading').css('display','none') ;
- $('.vegas-background').css('position','absolute') ;
- }
- })('overlay');
- }
- }
-
- function chat_scroll() {
- if($('body').hasClass('home')) {
- $('#header nav ul a[href^="#"]').click(function(){
- var the_id = $(this).attr("href");
- $('html, body').animate({
- scrollTop: $(the_id).offset().top - 100
- }, 'normal');
-
- return false;
- });
-
- $(window).scroll(function() {
- chat_event_scroll() ;
- }) ;
- chat_event_scroll() ;
- }
- }
-
- function chat_event_scroll() {
- var scroll_top = $(window).scrollTop() ;
- //console.log(scroll_top + ' '+ ($('#horaires').offset().top-100)) ;
- $('#header nav ul a').each(function() {
- var top = $($(this).attr('href')).offset().top ;
- var test = top + $($(this).attr('href')).height() - 150 ;
- //console.log($(this).attr('href')+' : '+scroll_top+ ' | '+ test) ;
- if(scroll_top <= top + $($(this).attr('href')).height() - 150) {
- $('#header a').removeClass('selec') ;
- $(this).addClass('selec') ;
- }
- }) ;
- }
-
- function chat_tabs_gamme_saison() {
- $('#tab-gamme-saison a').click(function (e) {
- e.preventDefault();
- $(this).tab('show');
- });
- }
|