var INPI=0 var MAX_CAR=400; var $sect_activite $(function(){ if ($('#dynActivites').length>0) { initDynActivites() }else { if ($('.variable[name=code_activite_inpi],.variable[name=cai_autre] ').length == 0) INPI = 0 else if ($('.variable[name=cai_autre] ').length == 0) INPI = 1 else INPI = 2 if (INPI >= 1) { var $list = $('#ML') if ($list.length > 0) { $('.inputs .options_form[data-cond=type_activite]').each(function () { var $this = $(this) var curr_id = $this.attr('id') html = $list.html().replace(/id="ML/g, 'id="' + curr_id) $this.html(html) var $section = $this.closest('.section_contrat') if (ifset($section.attr('data-type-section')) != "decouverte") { html = $('#MLout').html().replace(/id="ML/g, 'id="' + curr_id) $section.find('.section_outputs [id=' + curr_id.replace('r0', '') + '_out]').html(html) } else { $section.find('.section_outputs [id=' + curr_id.replace('r0', '') + '_out]').html('') } }).addClass('inpi_activites') $('#importationML').remove() } var $list = $('#liste_activites_GU') if ($list.length > 0) { var $target = $('.inputs .options_form[data-cond=liste_activites_GU]').parent().html($list.html()) $target.children('[data-id="INPI_ACT"]').removeClass('hidden') $('#liste_activites_GU ').remove() } } if (INPI > 0) MAX_CAR = 1400 var $targets if (INPI == 2) $targets = $('[name$="obj_autre"]') else $targets = $('[name$="objet_social"]') $targets.bind('keyup blur', function () { var $this = $(this) var val = $this.val().trim() $this.nextAll('.user_obj_soc-error').remove() if (val.length > MAX_CAR) { $this.val(val.substr(0, MAX_CAR)) if (INPI > 0) $this.addClass('error').after('') else $this.addClass('error').after('') if (val.length > MAX_CAR + 2 && INPI == 0) { var $EXT = $('textarea[name$="objet_social_ext"]').eq(0) $EXT.val(val.substr(MAX_CAR)).trigger('blur') active_question(getQuestions('ext_obj', null, false)) } } else { $this.removeClass('error').after('') } }) $('.variable[name$="objet_social"]').change(function () { var $sect = $(this).closest('[data-multiple-name="activites"] ') var clo_id = getCloId($sect) active_question(getQuestions(clo_id + 'activite', 'autre', null, null, $sect)) }) if (INPI > 0) { if (INPI == 1) { getQuestions('data-cond$="activite"').click(function () { var $this = $(this) setTimeout(function () { get_INPI_code($this) }, 200) }) } $sect_activite.find('.Nquestion[data-libelle]').click(function () { var $this = $(this) setTimeout(function () { get_INPI_code($this) }, 200) }) } if (INPI > 1) { getQuestions('data-cond*="chkact"').add(getQuestions('data-cond$="type_activite"')).add(getQuestions('data-cond$="categorie_activ"')).click(function (e) { var $this = $(e.target) setTimeout(function () { calcART($this) }, 200) }) $sect_activite.find('.inputs input[name*="autre"]').change(calcObj) $sect_activite.find(' .remove_multiple').click(function () { setTimeout(calcObj, 500) }) getAutoActivite() setTimeout(calcObj, 500) } } }) var get_INPI_code = function($this){ var clo_id= getCloId( $this ) var libelle if ($this.is('[data-libelle]')){ libelle = $this.attr('data-libelle') $('.inputs input[name="'+clo_id+'cai_autre"]').val(libelle).removeAttr('empty').trigger('blur') } else libelle= $('.inputs input[name="'+clo_id+'code_activite_inpi"]').eq(0).val() $.ajax({ url: PHP_PATH+'ajax_dispatch_free.php', type: 'POST', data: { page:'api.php', action : 'getINPIcode', libelle:libelle, ajax:1, }, dataType: "json", success: function(data){ if (isset(data.success) && data.success==true && isset(data.forme) && data.forme!='') { if (data.forme=='GESTION_DE_BIENS' || data.forme =="AGENT_COMMERCIAL" ) data.forme='COMMERCIALE' else if (data.forme=='ARTISANALE') data.forme='art_NR' active_question(getQuestions('data-cond="'+clo_id+'categorie_activ"',data.forme,null,null,$this.closest('.section_contrat ')).eq(0)) if (INPI==2) calcART($this) } } }) } var searched='' var getAutoActivite = function(){ // use jquery autocomplete to get the activity // and put it in the input field [name=obj_autre"] $('.inputs input[name*="obj_autre"]').focus(function() { var $this = $(this) if (typeof $this.autocomplete('instance') !="undefined" && $this.autocomplete('instance').element[0]!=$this[0]) $this.autocomplete('instance').element[0]=$this[0] $this.autocomplete({ minlength: 2, delay: 50, classes: { "ui-autocomplete": "auto_activite" }, position: { my : "left top", at: "left bottom" ,'collision': 'flip' }, source: function (request, response) { searched = request.term.noAccent().trim() var matcher = new RegExp($.ui.autocomplete.escapeRegex(searched), "i"); var nb = 0, max_nb = 15 var output = $.grep(my_activites, function (value) { value = value.label.noAccent(); if (matcher.test(value)) return (nb++ < max_nb); }) if (output.length == 0) { nb = 0 searched.split(' ').forEach(function (word) { if (word.length > 2 && word.indexOf('service', 'vente', 'achat', 'par') == -1) { var matcher = new RegExp($.ui.autocomplete.escapeRegex(word), "i"); // add to output output = output.concat($.grep(my_activites, function (value) { value = value.label.noAccent(); if (matcher.test(value)) return (nb++ < max_nb); })) } }) } response( output ); }, select: function (event, ui) { var $sect = $(this).closest('.section_contrat') $(this).val(ui.item.value); var clo_id = getCloId($this) var fullcode = ui.item.code_inpi active_question(getQuestions('data-cond="' + clo_id + 'help_inpi"', 1, false, null, $sect).eq(0)) setInpiCategory(fullcode, clo_id, $sect) /* var code = '', i = 1, $question while (fullcode.length >= i * 3 - 1) { code = fullcode.substr(0, i * 3 - 1) $question = getQuestions('data-cond="' + clo_id + 'liste_activites_GU' + i + '"', code, null, null, $sect) active_question($question) i++ }*/ // get_INPI_code($question) return false; }, }) .autocomplete("instance")._renderItem = function (ul, item) { // faire un regex pour mettre en gras les mots recherchés en dehors des balise html var re, label = item.label var sh = searched.replace(/\(/g, '\\(').replace(/\)/g, '\\)') if (item.label.indexOf('>') != -1) { re = new RegExp('(\<.*?\>.*?)(' + sh + ')(.*?\<\/span.*?)', "gi"); label = label.replace(re, "$1$2$3"); re = new RegExp('(.*?\<\/span.*\>.*?)(' + sh + ')', "gi"); label = label.replace(re, "$1$2"); } else { re = new RegExp(sh, "gi"); label = label.replace(re, "$&"); } return $("
  • ") .append("
    " + label + "
    ") .appendTo(ul); }; if ($this.val().trim().length>3 && denomTimer == null) $this.autocomplete( "search", $this.val().trim() ); }) } var setInpiCategory = function(fullcode,clo_id,$sect){ var code = '', i = 1, $question while (fullcode.length >= i * 3 - 1) { code = fullcode.substr(0, i * 3 - 1) $question = getQuestions('data-cond="' + clo_id + 'liste_activites_GU' + i + '"', code, null, null, $sect) active_question($question) i++ } } var panierItems = []; var panierIndex = 0; var editingIndex = -1; initDynActivites = function() { initialiserFormulaire() $sect_activite= $('#dynActivites').eq(0).closest('.section_contrat') if (isAdminFree()){ var $list = $('#liste_activites_GU') if ($list.length > 0) var $target = $('.inputs .autreActiviteZone ').append($list.html()) } $('#liste_activites_GU ').remove() $('.choixNiv2Title').css('display', 'none'); $('.btn-ajouter').show(); $('.btn-modifier').hide(); // 1. Gestion de l'affichage des choix de niveau 2 $('.choixNiv1Title').click(function () { // Récupération de l'ID de niveau 1 sélectionné var id1Selected = $(this).data('id1'); // Mise à jour du style de sélection niveau 1 $('.choixNiv1Title').removeClass('selected'); $(this).addClass('selected'); // Masquer tous les choix de niveau 2 en retirant la classe visible $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.choixActivites > .choixNiv1 > .choixNiv2.inNiv1').remove() // Afficher uniquement les choix de niveau 2 correspondants if (id1Selected === "00") { $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.autreActiviteZone').addClass('visible'); $('#autreActiviteInput').focus(); } else { // Comportement normal pour les autres catégories $('.autreActiviteZone').removeClass('visible'); $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.choixNiv2Title[data-id1="' + id1Selected + '"]') .addClass('visible') .css('display', 'block') .css('opacity', '1') } if (window.matchMedia("(max-width: 768px)").matches) { var $choixNiv2In= $('.choixActivites > .choixNiv2').clone(true) $choixNiv2In.addClass('inNiv1').insertAfter($(this)) } }); $('#autreActiviteInput').keydown(function(event) { if (event.key === 'Enter') { event.preventDefault(); } }); // Ajout d'une autre activité au panier $('.btn-ajouter,.btn-modifier').click(function(e) { var valeur = $('#autreActiviteInput').val().trim(); if (valeur.length>0) { var $question = $('.autreActiviteZone [data-libelle].selected ') var cai= ifset( $question.attr('data-cai'),'') var forme= ifset( $question.attr('data-forme'),'???') var customId if ($(this).hasClass('btn-ajouter')) { customId = 'custom_' + panierIndex++; panierItems.push({ id1: '00', id2: customId, name: 'autre', displayText: valeur, outText: valeur, cai:cai, forme:forme }); } else if ($(this).hasClass('btn-modifier') && editingIndex !== -1) { panierItems[editingIndex].displayText = valeur; panierItems[editingIndex].cai = cai; panierItems[editingIndex].forme = forme; panierItems[editingIndex].outText = valeur; editingIndex = -1; } // Réinitialiser l'input $('#autreActiviteInput').val('').trigger('input'); resetQuestions($('.autreActiviteZone .options_form[data-cond="liste_activites_GU1"]')) $('.btn-ajouter').show(); $('.btn-modifier').hide(); // Mettre à jour l'affichage du panier updatePanierDisplay(); } }); // 2. Ajout d'items au panier $('.choixNiv2Title').click(function () { var id1 = $(this).data('id1'); var id2 = $(this).data('id2'); var name = $(this).data('name'); var displayText = $(this).text(); var outText = $(this).data('text'); var forme = $(this).data('forme'); var cai = $(this).data('cai'); if (id2 === "00") { $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.autreActiviteZone').addClass('visible'); $('#autreActiviteInput').focus(); resetQuestions($('.autreActiviteZone .options_form[data-cond="liste_activites_GU1"]')) return } // Vérifier si l'item existe déjà dans le panier var existeDeja = false; for (var i = 0; i < panierItems.length; i++) { if (panierItems[i].id1 === id1 && panierItems[i].id2 === id2) { existeDeja = true; break; } } // Si l'item n'existe pas, l'ajouter au panier if (!existeDeja) { panierItems.push({ id1: id1, id2: id2, name: name, displayText: displayText, outText: outText, cai:cai, forme:forme }); // Mise à jour visuelle de la sélection if (id2!='00') $('.choixNiv2Title[data-id2='+id2+']').addClass('selected'); // Mettre à jour l'affichage du panier updatePanierDisplay(); } }); $('.panierActivites').on('click', '.art_rgl,cas_particuliers', function (e) { e.stopPropagation(); }); // 4. Suppression d'items du panier (délégation d'événements) $('.panierActivites').on('click', '.remove-item', function (e) { e.stopPropagation(); var id1ToRemove = $(this).data('id1'); var id2ToRemove = $(this).data('id2'); // Retirer l'élément du tableau panierItems panierItems = panierItems.filter(function (item) { return !(item.id1 === id1ToRemove && item.id2 === id2ToRemove); }); // Retirer la classe selected de l'item niveau 2 $('.choixNiv2Title[data-id1="' + id1ToRemove + '"][data-id2="' + id2ToRemove + '"]') .removeClass('selected'); // Mettre à jour l'affichage updatePanierDisplay(); }); // 5. Gestion du clic sur un élément du panier $('.panierActivites').on('click', '.panier-item', function () { var $dynLoc= $(this).closest('#dynActivites') var id1 = $(this).find('.remove-item').data('id1'); var id2 = $(this).find('.remove-item').data('id2'); var index = $(this).data('index'); // Mise à jour du style de sélection niveau 1 $('.choixNiv1Title').removeClass('selected'); $('.choixNiv1Title[data-id1="' + id1 + '"]').addClass('selected'); // Masquer tous les choix de niveau 2 en retirant la classe visible $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.choixActivites > .choixNiv1 > .choixNiv2.inNiv1').remove(); // Afficher uniquement les choix de niveau 2 correspondants if (id1 === "00") { $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.autreActiviteZone').addClass('visible'); $dynLoc.find('#autreActiviteInput').focus(); $dynLoc.find('#autreActiviteInput').val($(this).find('.item-text').text()); $('.btn-ajouter').hide(); $('.btn-modifier').show(); setInpiCategory(panierItems[index].cai, '', $(this).closest('.section_contrat')); editingIndex = index; } else { // Comportement normal pour les autres catégories $('.autreActiviteZone').removeClass('visible'); $('.choixNiv2Title').removeClass('visible').css('display', 'none'); $('.choixNiv2Title[data-id1="' + id1 + '"]') .addClass('visible') .css('display', 'block') .css('opacity', '1'); } if (window.matchMedia("(max-width: 768px)").matches) { var $choixNiv2In = $('.choixActivites > .choixNiv2').clone(true); $choixNiv2In.addClass('inNiv1').insertAfter($('.choixNiv1Title[data-id1="' + id1 + '"]')); } }); getQuestions('saisonniere',null,null,null,$sect_activite) .add(getQuestions('ambulante',null,null,null,$sect_activite)) .add(getQuestions('nonexercee',null,null,null,$sect_activite)) .click(function () { setTimeout(updatePanierDisplay,100) }) getAutoActivite() updatePanierDisplay(); } var initialiserFormulaire = function() { var html = '
    ' + '
    Les activités selectionnées
    \n' + '
    Aucune activité sélectionnée
    \n' + '
    Choissisez vos activités ci-dessous
    \n' + '
    \n' + ' \n' + '
    \'.$html_dynNiv1.\'
    \n' + '
    \'.$html_dynNiv2.\'
    \n' + '
    \n' + '
    \n' + ' \n' + '
    Ajouter
    \n' + '
    Modifier
    \n' + '
    \n' + ' \n' + '
    ' var $source = $('#dynActivites') var innerhtml= $source.html() $source.remove() /* $sect_activite= getQuestions('data-cond="type_activite"').eq(0).closest('.section_contrat') while($sect_activite.length>0) { var $target = $sect_activite.find('.inputs [data-multiple-name=activites]:not(.clone)') if ($target.length > 0) $target.next('.add_multiple').remove() else $target = $sect_activite.find('.inputs [data-cond=type_activite]') $(html).insertAfter($target) $target.remove() $('.choixActivites').html(innerhtml) $sect_activite= getQuestions('data-cond="type_activite"').eq(0).closest('.section_contrat') } */ $('.options_form[data-cond="type_activite"]').each(function(){ var $target = $(this) var $mult= $target.closest('[data-multiple-name]') $(html).insertAfter($target) $('.choixActivites').html(innerhtml) $target.remove() if ($mult.length>0){ $mult.next('.add_multiple').remove() $mult.find('.if_multiple ').remove() $mult.removeAttr('data-multiple-name').removeClass('multiple').addClass('transp transparent') $mult.find('[data-cond="art_regl"]').addClass('cachee') } }) $sect_activite= $('#dynActivites').eq(0).closest('.section_contrat') if ($sect_activite.find('.outputs .variable[data-name="objet_social"]').eq(0).closest('.preview_only').length>0){ var html_obj='____________' $(html_obj).insertBefore($sect_activite.find('.outputs .multiple[data-multiple-name="activites"]').eq(0)) } } var updatePanierDisplay = function() { var art=false, dreal=false, lib=false,obj='',activitees_exercees=''; var saisonniere = isCheckboxCond($sect_activite,'saisonniere') var ambulante = isCheckboxCond($sect_activite,'ambulante') var nonexercee = isCheckboxCond($sect_activite,'nonexercee') var cas_part= saisonniere || ambulante || nonexercee if (panierItems.length === 0) { $('.panierActivites').html('Aucune activité selectionnée'); } else { var panierHtml = '
    '; for (var i = 0; i < panierItems.length; i++) { var forme =isAdminFree() ?' ('+panierItems[i].forme+')':'' var autre = panierItems[i].id1 === '00'? '' : ''; var cas_particuliers='' if (cas_part) cas_particuliers = '
    ' + (saisonniere?'':'') + (ambulante?'':'' )+ ( nonexercee?'':'') + '
    '; var art_rgl='' if (panierItems[i].forme=='ARTISANALE_REGLEMENTEE' && panierItems[i].nonexercee != '1' ) { var selectedChoice = panierItems[i].artChoice || ''; art_rgl = '
    ' + '' + '' + '' + '
    '; } panierHtml += '
    ' + '' + '' + panierItems[i].displayText+ ''+ autre+ forme+ art_rgl+ cas_particuliers+ '×' + '
    '; // calcul de l'objet social obj += panierItems[i].outText+ ' ; \n' if (!nonexercee) activitees_exercees += panierItems[i].outText+ ' ; \n' // calcul des catégorie reglementée art = art || (panierItems[i].forme=='ARTISANALE_REGLEMENTEE' && panierItems[i].nonexercee != '1') lib = lib || (panierItems[i].forme=='LIBERALE_REGLEMENTEE' && panierItems[i].nonexercee != '1') dreal = dreal ||( ( panierItems[i].name.indexOf('dreal')!= -1) && panierItems[i].nonexercee != '1') } panierHtml += '
    '; $('.panierActivites').html(panierHtml); // Initialiser le drag & drop $('.panier-items').sortable({ handle: '.drag-handle', axis: 'y', containment: 'parent', tolerance: 'pointer', update: function(event, ui) { // Mettre à jour le tableau panierItems selon le nouvel ordre var newPanierItems = []; $('.panier-item').each(function() { var index = parseInt($(this).attr('data-index')); newPanierItems.push(panierItems[index]); }); panierItems = newPanierItems; updatePanierDisplay(); } }); // Ajouter un écouteur d'événement pour les boutons radio $('.art_rgl input[type="radio"]').change(function(e) { e.stopPropagation();e.preventDefault() var index = $(this).attr('name').split('_')[2]; var selectedValue = $(this).val(); panierItems[index].artChoice = selectedValue; }); $('.cas_particuliers input[type="checkbox"]').change(function(e) { e.stopPropagation();e.preventDefault() var [name,index] = $(this).attr('name').split('_'); var selectedValue = $(this).prop('checked')?'1':'0'; panierItems[index][name] = selectedValue; updatePanierDisplay(); }); } var $obj=$('.inputs input[name="objet_social"]').eq(0).val(obj); input_blur($obj) var $act=$('.inputs input[name="activitees_exercees"]').eq(0).val(activitees_exercees); input_blur($act) active_question(getQuestions('art_regl',null,!art,null,$sect_activite)) active_question(getQuestions('lib_regl',null,!lib,null,$sect_activite)) active_question(getQuestions('dreal_sect',null,!dreal,null,$sect_activite)) } var initActivitesPanier = function () { // Activer toutes les activités de niveau 2 et le panier dont le data-name est inclus dans listeDiv var cookies = all_my_doc_cookie(); var dynVersion = isset(cookies['chc']['activites_dynamiques']); for (var name in cookies['var']) { var index = name.indexOf('obj_'); if (index>=0) { var clo='' if (name.substr(index-4,4) == 'clo_') clo = name.substr(0,index) if (clo!='' && !isset(cookies['mux'][clo.replace('clo_','activites')])) continue var act_name = name.substr(index+4) if ( isset(cookies['chc'][clo+'chkact_' + act_name]) || act_name=="autre" ) { var $niv2 = $('.choixNiv2Title[data-name="' + act_name + '"]').eq(0); var artChoice = ifset(cookies['var'][clo + 'jqpa_' + act_name] , ''); var saisonniere = ifset(cookies['var'][clo + 'saisonniere_' + act_name], ''); var ambulante = ifset(cookies['var'][clo + 'ambulante_' + act_name], ''); var nonexercee = ifset(cookies['var'][clo + 'nonexercee_' + act_name], ''); if (act_name.substr(0, 5) == 'autre') { customId = 'custom_' + panierIndex++; var valeur = ifset(cookies['var'][clo + 'obj_' + act_name],''); var cai = ifset(cookies['var'][clo + 'cai_' + act_name],''); var forme = ifset(cookies['var'][clo + 'forme_' + act_name],''); panierItems.push({ id1: '00', id2: customId, name: 'autre', displayText: valeur, outText: valeur, cai: cai, forme: forme, artChoice: artChoice, saisonniere: saisonniere, ambulante: ambulante, nonexercee: nonexercee }); } else if ($niv2.length > 0) { $niv2.addClass('selected') panierItems.push({ id1: $niv2.data('id1'), id2: $niv2.data('id2'), name: act_name, displayText: $niv2.text(), outText: $niv2.data('text'), cai: $niv2.data('cai'), forme: $niv2.data('forme'), artChoice: artChoice, saisonniere: saisonniere, ambulante: ambulante, nonexercee: nonexercee }); } } } } updatePanierDisplay(); } post_load_funct.push(initActivitesPanier) var saveActivitesPanier= function (res){ var saisonniere = isCheckboxCond($sect_activite,'saisonniere') var ambulante = isCheckboxCond($sect_activite,'ambulante') var nonexercee = isCheckboxCond($sect_activite,'nonexercee') nb_autres=0 panierItems.forEach(function(item, index) { if (item.id1=='00') { name = 'autre' + (nb_autres > 0 ? nb_autres:'') nb_autres++ }else name = item.name res['chc_activites_dynamiques']=1; // uniquement pour le versionning res['chc_chkact_' + name] = 1; res['var_obj_' + name] = item.displayText; res['var_cai_' + name] = item.cai; res['var_forme_' + name] = item.forme; if (ifset(item.artChoice)!='') res['var_jqpa_' + name] = item.artChoice??''; if (ifset(item.saisonniere) != '') res['var_saisonniere_' + name] = saisonniere?item.saisonniere:0; if (ifset(item.ambulante) != '') res['var_ambulante_' + name] = ambulante?item.ambulante:0; if (ifset(item.nonexercee) != '') res['var_nonexercee_' + name] = nonexercee?item.nonexercee:0; }); return res; } /* TRIBUNAL COMPETENT ***/ /* https://www.infogreffe.fr/services/commun/rest/commun/communesInseeLucene/xxxx xxxx=debut du nom de la commune ex HORBOURG ***/ /* https://www.infogreffe.fr/services/commun/rest/referentiel/detailGreffe/n1/n2 n1= numero de commune n2=numero de département exemple: 145 / 068 */