window.addEventListener("load", function(event) { if(document.getElementById("field_adresse")){ $('#field_adresse').autocomplete({ clearButton: false, source:function( request, response ) { $.ajax({ url: "https://data.geopf.fr/geocodage/search?q="+request.term+"&autocomplete=0", dataType: "json", success: function( data ) { response( $.map( data.features, function(item, i) { if(item.properties){ return { name: item.properties.name, value: item.properties.label, label: item.properties.label, postcode: item.properties.postcode, city: item.properties.city, coord0: item.geometry.coordinates[0], coord1: item.geometry.coordinates[1] } } })); } }); }, selectFirst: true, minLength: 4, delay: 100, select: function( event, ui ) { console.log( ui.item ? "Selected: " + ui.item.coord1 : "Nothing selected, input was " + this.value); document.getElementById("field_ville").value = ui.item.city; document.getElementById("field_code_postal").value = ui.item.postcode; document.getElementById("field_coord0").value = ui.item.coord0; document.getElementById("field_coord1").value = ui.item.coord1; var dptArray = []; dptArray["971"] = 98;dptArray["972"] = 99;dptArray["973"] = 100;dptArray["974"] = 101;dptArray["75"] = 77;dptArray["77"] = 79;dptArray["78"] = 80;dptArray["91"] = 93;dptArray["92"] = 94;dptArray["93"] = 95;dptArray["94"] = 96;dptArray["95"] = 97;dptArray["18"] = 19;dptArray["28"] = 30;dptArray["36"] = 38;dptArray["37"] = 39;dptArray["41"] = 43;dptArray["45"] = 47;dptArray["44"] = 46;dptArray["49"] = 51;dptArray["53"] = 55;dptArray["72"] = 74;dptArray["85"] = 87;dptArray["22"] = 24;dptArray["29"] = 31;dptArray["35"] = 37;dptArray["56"] = 58;dptArray["04"] = 5;dptArray["05"] = 6;dptArray["06"] = 7;dptArray["13"] = 14;dptArray["83"] = 85;dptArray["84"] = 86;dptArray["2A"] = 21;dptArray["2B"] = 22;dptArray["21"] = 23;dptArray["25"] = 27;dptArray["39"] = 41;dptArray["58"] = 60;dptArray["70"] = 72;dptArray["71"] = 73;dptArray["89"] = 91;dptArray["90"] = 92;dptArray["14"] = 15;dptArray["27"] = 29;dptArray["50"] = 52;dptArray["61"] = 63;dptArray["76"] = 78;dptArray["02"] = 3;dptArray["59"] = 61;dptArray["60"] = 62;dptArray["62"] = 64;dptArray["80"] = 82;dptArray["08"] = 9;dptArray["10"] = 11;dptArray["51"] = 53;dptArray["52"] = 54;dptArray["54"] = 56;dptArray["55"] = 57;dptArray["57"] = 59;dptArray["67"] = 69;dptArray["68"] = 70;dptArray["88"] = 90;dptArray["16"] = 17;dptArray["17"] = 18;dptArray["19"] = 20;dptArray["23"] = 25;dptArray["24"] = 26;dptArray["33"] = 35;dptArray["40"] = 42;dptArray["47"] = 49;dptArray["64"] = 66;dptArray["79"] = 81;dptArray["86"] = 88;dptArray["87"] = 89;dptArray["09"] = 10;dptArray["11"] = 12;dptArray["12"] = 13;dptArray["30"] = 32;dptArray["31"] = 33;dptArray["32"] = 34;dptArray["34"] = 36;dptArray["46"] = 48;dptArray["48"] = 50;dptArray["65"] = 67;dptArray["66"] = 68;dptArray["81"] = 83;dptArray["82"] = 84;dptArray["01"] = 2;dptArray["03"] = 4;dptArray["07"] = 8;dptArray["15"] = 16;dptArray["26"] = 28;dptArray["38"] = 40;dptArray["42"] = 44;dptArray["43"] = 45;dptArray["63"] = 65;dptArray["69"] = 71;dptArray["73"] = 75;dptArray["74"] = 76; cp1 = document.getElementById("field_code_postal").value.substring(0,3); if(dptArray[cp1]){ document.getElementById("field_departement").value = dptArray[cp1]; }else{ cp1 = document.getElementById("field_code_postal").value.substring(0,2); document.getElementById("field_departement").value = dptArray[cp1]; } var __errAdr = document.getElementById("err_field_adresse"); if(__errAdr){ __errAdr.remove(); } } }); } }); function getFileSize(id){ var el = document.getElementById(id); return (el && el.files && el.files[0]) ? el.files[0].size : 0; } function hasFile(id){ var el = document.getElementById(id); return !!(el && el.files && el.files[0]); } function showFieldError(fieldId, message){ var existing = document.getElementById("err_" + fieldId); if(existing){ existing.remove(); } var span = document.createElement("span"); span.setAttribute("id", "err_" + fieldId); span.innerHTML = "

" + message; var container = document.getElementById("div_" + fieldId); if(container){ container.appendChild(span); } var field = document.getElementById(fieldId); if(field){ field.focus(); } } function testFiles(){ var sizefile = 2097152; var sizemax = 8388608; var fields = [ {id: 'field_carte_didentite', label: "carte d'identite"}, {id: 'field_photographie', label: "photographie"}, {id: 'field_justificatif_de_domicile', label: "justificatif de domicile"}, {id: 'field_k_bis', label: "K-bis"}, {id: 'field_doc_rib', label: "RIB"} ]; // 1) Presence : tous les fichiers doivent etre selectionnes for(var i = 0; i < fields.length; i++){ if(!hasFile(fields[i].id)){ showFieldError(fields[i].id, "Veuillez selectionner un fichier pour : " + fields[i].label); return false; } } // 2) Taille par fichier for(var j = 0; j < fields.length; j++){ if(getFileSize(fields[j].id) > sizefile){ showFieldError(fields[j].id, "Ce fichier est trop volumineux (maximum : " + Math.round(sizefile/1048576) + " Mo)"); return false; } } // 3) Taille cumulee (garde-fou post_max_size) var cumul = 0; for(var k = 0; k < fields.length; k++){ cumul += getFileSize(fields[k].id); } if(cumul > sizemax){ showFieldError(fields[0].id, "Taille totale des documents trop elevee (" + Math.round(cumul/1048576) + " Mo). Maximum autorise : " + Math.round(sizemax/1048576) + " Mo. Veuillez reduire la taille de vos fichiers."); return false; } return true; } function testCoordonnees(){ if(document.getElementById("field_coord0").value == "" || document.getElementById("field_coord1").value == ""){ var span = document.createElement("span"); span.innerHTML = "

Adresse non vérifiée, veuillez la resaisir et en sélectionner une en cliquant dans les propositions"; span.setAttribute("id", "err_field_adresse"); document.getElementById("div_field_adresse").appendChild(span); document.getElementById('field_adresse').focus(); return false; }else{ return true; } } if(document.getElementById("field_doc_rib")){ document.getElementById('field_doc_rib').addEventListener("click", (event) => { if(document.getElementById("err_field_doc_rib")){ document.getElementById("err_field_doc_rib").remove(); } }); } if(document.getElementById("field_k_bis")){ document.getElementById('field_k_bis').addEventListener("click", (event) => { if(document.getElementById("err_field_k_bis")){ document.getElementById("err_field_k_bis").remove(); } }); } if(document.getElementById("field_justificatif_de_domicile")){ document.getElementById('field_justificatif_de_domicile').addEventListener("click", (event) => { if(document.getElementById("err_field_justificatif_de_domicile")){ document.getElementById("err_field_justificatif_de_domicile").remove(); } }); } if(document.getElementById("field_photographie")){ document.getElementById('field_photographie').addEventListener("click", (event) => { if(document.getElementById("err_field_photographie")){ document.getElementById("err_field_photographie").remove(); } }); } if(document.getElementById("field_carte_didentite")){ document.getElementById('field_carte_didentite').addEventListener("click", (event) => { if(document.getElementById("err_field_carte_didentite")){ document.getElementById("err_field_carte_didentite").remove(); } }); } window.addEventListener("load", function(event) { if(localStorage.getItem("easysap_adh_forms1")){ var i = 0; var frm = JSON.parse(localStorage.getItem("easysap_adh_forms1")); while(frm[i]){ var id = frm[i].id; var value = frm[i].value; var el = document.getElementById(id); // ne pas restaurer les inputs de type file (interdit par le navigateur) if(el && el.type !== 'file'){ el.value = value; } i++; } } }); if(document.getElementById("pfg-form-1")){ document.getElementById('pfg-form-1').addEventListener("submit", function (event){ event.preventDefault(); localStorage.removeItem("easysap_adh_forms1"); var frmelem = []; var i = 0; var form = document.getElementById('pfg-form-1'); while(form.elements[i]){ var el = form.elements[i]; // ne jamais stocker les inputs de type file dans le localStorage if(el.type !== 'file'){ frmelem.push({id: el.id, value: el.value}); } i++; } localStorage.setItem("easysap_adh_forms1", JSON.stringify(frmelem)); if(testFiles() && testCoordonnees()){ form.submit(); }else{ return false; } }); }