{"version":3,"sources":["carnet-adresses.js","capadresse.js","jquery.dqe.js","foundation.account.js"],"names":["formWrapper","pageWrapper","listeAdressesWrapper","initCarnetAdresses","$","off","on","event","preventDefault","modifierAdresse","this","attr","ajouterAdresse","OnSuccessModifierAdresse","data","IsValid","updateListeAdresses","cacherFormulaireAdresse","afficherFormulaireAdresse","Html","ajax","url","success","result","html","adressesListe","beforeSend","showPreloader","complete","hidePreloader","supprimerAdresse","id","foundation","idAdresse","idadresse","show","unbindFormulaireAdresse","bindFormulaireAdresse","document","hide","$form","val","bindLaPoste","bindCapAdress","toggleTel","e","target","value","jQuery","autocomplete","removeData","keyCode","which","length","source","request","response","getJSON","map","Data","item","label","NameFormatted","LocalityId","codePostal","PostalCode","localityId","LocalityID","localityName","Name","localityHasStreets","HasStreets","localitySynonym","Synonym","additionalLocalityInfo1","AdditionalInfo1","additionalLocalityInfo2","AdditionalInfo2","additionalLocalityInfo3","AdditionalInfo3","additionalLocalityInfo4","AdditionalInfo4","additionalLocalityInfo5","AdditionalInfo5","minLength","autoFocus","appendTo","search","ui","prop","removeClass","next","addClass","select","trim","focus","streetId","LocalityName","StreetID","streetName","streetType","Type","abbreviatedStreetType","AbbreviatedType","streetSynonym","additionalStreetInfo1","additionalStreetInfo2","additionalStreetInfo3","additionalStreetInfo4","additionalStreetInfo5","streetNumber","Number","streetNumberExt","NumberExt","streetHasNumbers","HasNumbers","text","Erreur","options","window","server","last_log_line","license","country","zip","city","city_id","street","street_id","number","compl","local","prov","company","geoloc","realtime_override","city_search","dqeObject","dqe","bindLaPosteDemandeClient","bindLaPosteDemandeSociete","bindLaPosteDemandeSpecifique","attrName","bindFormulaireCodePostalVilleBij","zipcity","bindFormulaireCodePostalVillePointRetrait","bindFormulaireCodePostalVilleClicknCollect","ready","pageWrapperSelector","fn","myDQE","settings","zip_pattern","FRA","DEU","AUT","BEL","CAN","KOR","ESP","USA","ISR","ITA","LUX","NLD","POL","PRT","CZE","ROU","GBR","SGP","SVN","SWE","CHE","TUR","CHN","CHN-en","RUS","NOR","DNK","FIN","THA","MAR","HUN","HKG","HKG-en","QAT","NZL","HRV","reversed_countries","specific_charset","selected_country","udecode","s","indexOf","replace","match","grp","String","fromCharCode","parseInt","delay","extend","trace","append_locality","single","neighbourhood","ip_field","neighboursize","lon","lat","geoloc_ready","countryField","clearSection","activate_zipcity_autocomplete","activate_single_autocomplete","asmx","toLowerCase","callback","dataType","jsonp","JSON","parse","method","crossdomain","key","parameters","hasOwnProperty","push","encodeURIComponent","join","override_reset","zip_override","city_override","street_override","selected_zip_value","selected_city_value","selected_street_value","selected_zipcity_value","remove_accents","p","c","len","i","charAt","override_events","override","execute_trigger","field","trigger","count","t","cnt","trimLeft","charlist","undefined","RegExp","trimRight","string","by","slen","pos","substring","Array","prototype","searchElement","fromIndex","k","TypeError","O","Object","n","Math","abs","Infinity","max","filter_cities","voie","cities","result_count","province","name","lieudit","substr","returned_zip","len_zip","voies","split","zip_complements","no_bp","filter_adr","label1","streets","nia","num_is_after","adr","simple_label","filter_num","list","numbers","filter_single","address","nums","missing","wrong","line","addresses","recombine_street","num","type","house_typo","code","typo","A1","A2","A3","A4","B1","B2","B3","B4","C1","C2","D1","D2","D3","E1","F1","F2","F3","G1","G2","H1","H2","H3","H4","H5","H6","fill_zip","convert_iso2","table","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","VG","IO","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","HK","MO","CX","CC","CO","KM","CG","CD","CK","CR","CI","HR","CU","CY","CZ","DK","DJ","DM","DO","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","VA","HN","HU","IS","IN","ID","IR","IQ","IE","IM","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KP","KR","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NA","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","BL","SH","KN","LC","MF","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TL","TG","TK","TO","TT","TN","TR","TM","TC","TV","UG","UA","AE","GB","US","UM","UY","UZ","VU","VE","VN","VI","WF","EH","YE","ZM","ZW","toUpperCase","clear","removeAutocomplete","idcheck","lastname","firstname","callback_function_name","params","Address","City","LastName","FirstName","Version","lifestyle","ko","status","latlng","current_number","current_street_id","msg","IDVoie","Num","Pays","valid_zip","street_type","street_name","parts","num_final_check","current_city_id","current_zip","Numero","IDLocalite","CodePostal","console","log","show_numbers","force_num_in_street","current_numbers_source","show_complements","open","css","content","load_addresses_with_numbers","lbl","load_addresses_with_bp","prefix","show_streets","set_number","reloading","Adresse","term","Instance","find","index","oldHtml","adr_autocomplete_used","s0","special_street","s1","s2","element","section","current_local_id","current_compl","current_compl_source","current_prov","current_zipcity","set_city","extract_city_name","city_name","lastIndexOf","calculate_zip","search_cities","city_search_enabled","Alpha","lines","search_streets","search_numbers","show_cities","one_city","current_city","reset_single_autocomplete","geolocation_ready","coords","latitude","longitude","geolocErrorCallback","error","errorMessage","setGeolocCity","Lon","Lat","Localite","getGeolocCity","navigator","geolocation","getCurrentPosition","enableHighAccuracy","timeout","maximumAge","ip","current_local","IDNum","Taille","complements","check","isNaN","10","20","21","22","23","24","25","30","31","40","41","50","51","60","61","70","80","90","status_iris_ilot","iris","ilot","normalized","corrections","iptracker","dataForm","currentForm","closest","serialize","Foundation","libs","common","account","version","init","scope","inherit","bindings","initFormulaire","validator","addMethod","regexp","re","optional","test","validate","errorContainer","rules","email","required","regex","initPopin","initToolTip","each","qtip","effect","direction","fixed","position","my","at","adjust","y","update","ajaxSetup","cache","elt","mqClass","events","S","valid","Erreurs","paswword","idClient","login","password","location","Redirection","nomClient","numeroClient","nom","tab","reflow"],"mappings":"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C,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MACAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC,GAAA,MAAAC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","file":"../clientrequest-address.min.js","sourcesContent":["var formWrapper;\r\nvar pageWrapper;\r\nvar listeAdressesWrapper;\r\n\r\n$(document).ready(function () {\r\n /** Objets réutilisés souvent par la suite **/\r\n pageWrapperSelector = \"#main-content\";\r\n pageWrapper = $(pageWrapperSelector);\r\n \r\n listeAdressesWrapper = $(\".adresse-list\");\r\n adressesListe = $(\"#adresses-list-espace-client\");\r\n \r\n initCarnetAdresses();\r\n});\r\n\r\n\r\n// Comportements à initialiser au chargeent de page ou après chargement ajax des portions de la page\r\nfunction initCarnetAdresses() {\r\n formWrapper = $(\"#adresse-form-wrapper\");\r\n $(\".btn-adresse-modifier\").off('click').on(\"click\", function (event) {\r\n event.preventDefault();\r\n var idAdresse = $(this).attr('data-adresse-id');\r\n modifierAdresse(idAdresse);\r\n });\r\n \r\n\r\n $(\".btn-adresse-ajouter\").off('click').on(\"click\", function (event) {\r\n event.preventDefault();\r\n ajouterAdresse();\r\n });\r\n}\r\n\r\nfunction OnSuccessModifierAdresse(data) {\r\n \r\n if (data.IsValid) {\r\n updateListeAdresses();\r\n cacherFormulaireAdresse();\r\n //afficherFormulaireAdresse(data.Html);\r\n }\r\n else {\r\n afficherFormulaireAdresse(data.Html);\r\n }\r\n}\r\n\r\n\r\nfunction updateListeAdresses() {\r\n $.ajax({\r\n url: '/EspaceClient/ListeAdresses',\r\n data: {},\r\n success: function (result) {\r\n \r\n listeAdressesWrapper.html(result);\r\n adressesListe.html(result);\r\n initCarnetAdresses();\r\n },\r\n beforeSend: function () {\r\n showPreloader();\r\n },\r\n complete: function () {\r\n hidePreloader();\r\n }\r\n });\r\n}\r\n\r\nfunction supprimerAdresse(id) {\r\n $('.ajax-modal-small').foundation('reveal', 'open', {\r\n url: '/EspaceClient/_PopinSuppressionAdresse',\r\n data: { idAdresse: id },\r\n beforeSend: function () {\r\n showPreloader();\r\n },\r\n complete: function () {\r\n hidePreloader();\r\n }\r\n });\r\n}\r\n\r\nfunction ajouterAdresse() {\r\n $.ajax({\r\n url: '/EspaceClient/AjouterAdresse',\r\n data: { },\r\n success: function (result) {\r\n afficherFormulaireAdresse(result);\r\n initCarnetAdresses();\r\n },\r\n beforeSend: function () {\r\n showPreloader();\r\n },\r\n complete: function () {\r\n hidePreloader();\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction modifierAdresse(id) {\r\n $.ajax({\r\n url: '/EspaceClient/ModifierAdresse',\r\n data: { idadresse : id },\r\n success: function (result) {\r\n afficherFormulaireAdresse(result);\r\n },\r\n beforeSend: function () {\r\n showPreloader();\r\n },\r\n complete: function () {\r\n hidePreloader();\r\n }\r\n });\r\n}\r\n\r\nfunction afficherFormulaireAdresse(result) {\r\n formWrapper.html(result);\r\n formWrapper.show();\r\n unbindFormulaireAdresse();\r\n bindFormulaireAdresse($('#autre-adresse-form-wrapper'));\r\n $(document).foundation('scroll', 'moveTo', formWrapper);\r\n}\r\n\r\nfunction cacherFormulaireAdresse(result) {\r\n $(document).foundation('scroll', 'moveTo', pageWrapper);\r\n formWrapper.hide();\r\n}\r\n\r\nfunction showPreloader() {\r\n $(\".form-alert-box\").hide();\r\n $('#preloader').show();\r\n}\r\n\r\nfunction hidePreloader() {\r\n $('#preloader').hide();\r\n}","$(document).ready(function () {\r\n unbindFormulaireAdresse();\r\n bindFormulaireAdresse($('#adresse-principale-form-wrapper'));\r\n bindFormulaireAdresse($('#adresse-invite-form-wrapper'));\r\n\r\n // CHOIX PAYS\r\n $(document).on(\"change\", '#CodePays', function (e) {\r\n\r\n var url = \"\";\r\n var dataForm = null;\r\n var currentForm = $(this).closest(\"form\");\r\n\r\n // Formulaire utilisé dans le carnet d'adresses\r\n if ($('#form-adresse').html() != null && $('#form-adresse').html().length > 0) {\r\n dataForm = currentForm.serialize();\r\n url = \"/EspaceClient/GetFormulaireAdresse?\";\r\n }\r\n // Sinon formulaire utilisé dans le panier\r\n else if ($('#form-modification-adresse').html() != null && $('#form-modification-adresse').html().length > 0) {\r\n url = \"/CartAction/GetFormulaireAdresse?\";\r\n dataForm = currentForm.serialize();\r\n }\r\n\r\n\r\n $.ajax({\r\n url: url + dataForm,\r\n data: {\r\n },\r\n success: function (result) {\r\n if (result != null && typeof (result) != \"undefined\" && result.length > 0) {\r\n var $form = $('#autre-adresse-form-wrapper');\r\n // DIV utilisée pour écrire le résultat de la vue dans le carnet d'adresses du panier\r\n if ($('#autre-adresse-form-wrapper').html() != null && $('#autre-adresse-form-wrapper').html().length > 0) {\r\n $('#autre-adresse-form-wrapper').html(result);\r\n $form = $('#autre-adresse-form-wrapper');\r\n }\r\n // DIV utilisée pour écrire le résultat de la vue pour l'adresse principale \r\n //else if (currentForm.closest('#adresse-form').html() != null && currentForm.closest('#adresse-form').html().length > 0) {\r\n else if ($('#adresse-principale-form-wrapper').html() != null && $('#adresse-principale-form-wrapper').html().length > 0) {\r\n $('#adresse-principale-form-wrapper').html(result);\r\n $form = $('#adresse-principale-form-wrapper');\r\n }\r\n else if ($('#adresse-form-wrapper').html() != null && $('#adresse-form-wrapper').html().length > 0) {\r\n $('#adresse-form-wrapper').html(result); // Formulaires dans l'espace Client\r\n $form = $('#adresse-form-wrapper');\r\n }\r\n\r\n // On met le focus sur le CP ou le CP ville suivant le formulaire adresse\r\n currentForm.find('#CodePostalVille').focus();\r\n currentForm.find('#CodePostal').focus();\r\n\r\n unbindFormulaireAdresse();\r\n bindFormulaireAdresse($form);\r\n }\r\n\r\n Foundation.libs.common.hidePreloader();\r\n },\r\n beforeSend: function () {\r\n //$('#preloader').show();\r\n Foundation.libs.common.showPreloader();\r\n }\r\n });\r\n });\r\n\r\n\r\n});\r\n\r\nfunction bindFormulaireAdresse($form) {\r\n\r\n if (typeof ($form) != 'undefined') {\r\n if ($('#IsPaysGereParWSLaPoste').val() == 'True') {\r\n bindLaPoste($form);\r\n }\r\n else if ($('#IsPaysGereParCapAdresse').val() == 'True') {\r\n bindCapAdress();\r\n }\r\n\r\n var toggleTel = $(\".toggle-telephone input[type=radio]\");\r\n if (typeof (toggleTel) != \"undefined\")\r\n {\r\n toggleTel.off(\"change\").on(\"change\", function (e) {\r\n if (e.target.value == \"True\") {\r\n $(\".telephone-wrapper\").show();\r\n }\r\n else {\r\n $(\".telephone-wrapper\").hide();\r\n }\r\n })\r\n }\r\n }\r\n}\r\n\r\nfunction unbindFormulaireAdresse() {\r\n $(document).off('keypress', '#Voie');\r\n $(document).off('focus', '#CodePostalVille');\r\n //$(document).off('focus', '#CodePostalVille, #Voie');\r\n $(document).off('blur', '#CodePostalVille, #Voie, #Numero');\r\n\r\n if (jQuery('#CodePostalVille').data('autocomplete')) {\r\n jQuery('#CodePostalVille').autocomplete(\"destroy\");\r\n jQuery('#CodePostalVille').removeData('autocomplete');\r\n }\r\n\r\n if (jQuery('#Voie').data('autocomplete')) {\r\n jQuery('#Voie').autocomplete(\"destroy\");\r\n jQuery('#Voie').removeData('autocomplete');\r\n }\r\n}\r\n\r\nfunction bindCapAdress() {\r\n\r\n $(document).on(\"keypress\", '#Voie', function (event) {\r\n var keycode = (event.keyCode ? event.keyCode : event.which);\r\n if (keycode == '13') {\r\n event.preventDefault();\r\n\r\n }\r\n });\r\n\r\n // FOCUS SUR CODE POSTAL/LOCALITE\r\n $(document).on(\"focus\", '#CodePostalVille', function (e) {\r\n // Si on trouve un code alpha3 de pays, c'est qu'on le gère via cap adresse\r\n if ($(':visible #CodePaysAlpha3').val() != null && $('#CodePaysAlpha3').val().length > 0) {\r\n if (!$(this).data(\"autocomplete\")) {\r\n $(this).autocomplete({\r\n source: function (request, response) {\r\n $.getJSON(\"/Espaceclient/SearchVilles?codepays=\" + $('#CodePaysAlpha3').val() + \"&term=\" + $(\"#CodePostalVille\").val(), function (data) {\r\n response($.map(data.Data, function (item) {\r\n return {\r\n label: item.NameFormatted,\r\n value: item.LocalityId,\r\n\r\n codePostal: item.PostalCode,\r\n localityId: item.LocalityID,\r\n localityName: item.Name,\r\n localityHasStreets: item.HasStreets,\r\n localitySynonym: item.Synonym,\r\n additionalLocalityInfo1: item.AdditionalInfo1,\r\n additionalLocalityInfo2: item.AdditionalInfo2,\r\n additionalLocalityInfo3: item.AdditionalInfo3,\r\n additionalLocalityInfo4: item.AdditionalInfo4,\r\n additionalLocalityInfo5: item.AdditionalInfo5\r\n };\r\n }));\r\n });\r\n },\r\n minLength: 1,\r\n autoFocus: true,\r\n appendTo: '#CodePostalVille-autocomplete',\r\n search: function (event, ui) {\r\n $(\"input[name=Voie]:visible\").prop('disabled', true);\r\n $(\"input[name=Numero]:visible\").prop('disabled', true);\r\n $(\"input[name=CompletmentLocalite1]:visible\").prop('disabled', true);\r\n $(\"input[name=CompletmentLocalite2]:visible\").prop('disabled', true);\r\n $(\"input[name=ComplementVoie1]:visible\").prop('disabled', true);\r\n $(\"input[name=ComplementVoie2]:visible\").prop('disabled', true);\r\n $(\"input[name=LocaliteId]\").val('');\r\n $(\"input[name=CodePostal]\").val('');\r\n $(\"input[name=Localite]\").val('');\r\n $(\"input[name=CompletmentLocalite1]\").val('');\r\n $(\"input[name=CompletmentLocalite2]\").val('');\r\n $(\"input[name=CompletmentLocalite3]\").val('');\r\n $(\"input[name=CompletmentLocalite4]\").val('');\r\n $(\"input[name=CompletmentLocalite5]\").val('');\r\n $('input[name=Voie]:visible').val('');\r\n $('input[name=VoieId]').val('');\r\n $('input[name=TypeVoie]').val('');\r\n $('input[name=TypeVoieAbrege]').val('');\r\n $('input[name=VoieSynonym]').val('');\r\n $(\"input[name=ComplementVoie1]\").val('');\r\n $(\"input[name=ComplementVoie2]\").val('');\r\n $(\"input[name=ComplementVoie3]\").val('');\r\n $(\"input[name=ComplementVoie4]\").val('');\r\n $(\"input[name=ComplementVoie5]\").val('');\r\n $(\"input[name=Numero]:visible\").val('');\r\n $('input[name=Numero]:visible').removeClass(\"input-validation-error\");\r\n $('input[name=Numero]:visible').next('.field-validation-error').removeClass('field-validation-error').addClass('field-validation-valid');\r\n $(\"input[name=NumeroExtension]:visible\").val('');\r\n },\r\n select: function (event, ui) {\r\n event.preventDefault();\r\n\r\n $('input[name=CodePostalVille]:visible').val($.trim(ui.item.codePostal + \" \" + ui.item.localityName));\r\n $(\"input[name=LocaliteId]\").val(ui.item.localityId);\r\n $(\"input[name=CodePostal]\").val(ui.item.codePostal);\r\n $(\"input[name=Localite]\").val(ui.item.localityName);\r\n $(\"input[name=CompletmentLocalite1]\").val(ui.item.additionalLocalityInfo1);\r\n $(\"input[name=CompletmentLocalite2]\").val(ui.item.additionalLocalityInfo2);\r\n $(\"input[name=CompletmentLocalite3]\").val(ui.item.additionalLocalityInfo3);\r\n $(\"input[name=CompletmentLocalite4]\").val(ui.item.additionalLocalityInfo4);\r\n $(\"input[name=CompletmentLocalite5]\").val(ui.item.additionalLocalityInfo5);\r\n $(\"input[name=Voie]:visible\").prop('disabled', false);\r\n $(\"input[name=Voie]:visible\").focus();\r\n $(\"input[name=Voie]:visible\").select();\r\n $(\"input[name=CompletmentLocalite1]\").prop('disabled', false);\r\n $(\"input[name=CompletmentLocalite2]\").prop('disabled', false);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // QUITTE LA ZONE CODEPOSTAL VILLE\r\n $(document).on(\"blur\", '#CodePostalVille', function (event) {\r\n // Si on quitte la zone de saisie du cp - ville sans avoir choisi une proposition dans la liste (où s'il n'y en a pas)\r\n // l'adresse sera recontrôlée avant enregistrement\r\n // On réactive la voie\r\n // La saisie du cp - ville étant obligatoire on vérifie avant de réactiver\r\n if ($(\":visible #CodePostalVille\").val() != null && $(\":visible #CodePostalVille\").val().length > 0) {\r\n //$(\"#Voie\").prop('disabled', false);\r\n\r\n //$(\"#Voie\").caretToEnd();\r\n\r\n\r\n // On rappel Cap adresse pour revalider la saisie\r\n //$.getJSON(\"/Espaceclient/SearchVilles?codepays=\" + $('#CodePaysAlpha3').val() + \"&term=\" + $(\"#CodePostalVille\").val(), function (data) {\r\n // if (data) {\r\n\r\n // }\r\n //});\r\n }\r\n });\r\n\r\n $(document).on(\"focus\", '#Voie', function (e) {\r\n // Si on trouve un code alpha3 de pays, c'est qu'on le gère via cap adresse\r\n if ($(':visible #CodePaysAlpha3').val() != null && $('#CodePaysAlpha3').val().length > 0) {\r\n if (!$(this).data(\"autocomplete\")) {\r\n $(this).autocomplete({\r\n source: function (request, response) {\r\n $.getJSON(\"/Espaceclient/SearchVoies?codepays=\" + $('#CodePaysAlpha3').val() + \"&idLocalite=\" + $(\"#LocaliteId\").val() + \"&codePostal=\" + $(\"#CodePostal\").val() + \"&term=\" + $(\"#Voie\").val(), function (data) {\r\n response($.map(data.Data, function (item) {\r\n return {\r\n label: item.NameFormatted,\r\n value: item.streetId,\r\n\r\n codePostal: item.PostalCode,\r\n localityId: item.LocalityID,\r\n localityName: item.LocalityName,\r\n streetId: item.StreetID,\r\n streetName: item.Name,\r\n streetType: item.Type,\r\n abbreviatedStreetType: item.AbbreviatedType,\r\n streetSynonym: item.Synonym,\r\n additionalStreetInfo1: item.AdditionalInfo1,\r\n additionalStreetInfo2: item.AdditionalInfo2,\r\n additionalStreetInfo3: item.AdditionalInfo3,\r\n additionalStreetInfo4: item.AdditionalInfo4,\r\n additionalStreetInfo5: item.AdditionalInfo5,\r\n streetNumber: item.Number,\r\n streetNumberExt: item.NumberExt,\r\n streetHasNumbers: item.HasNumbers\r\n };\r\n }));\r\n });\r\n },\r\n minLength: 0,\r\n autoFocus: true,\r\n appendTo: '#Voie-autocomplete',\r\n search: function (event, ui) {\r\n $(\":visible #ComplementVoie1\").prop('disabled', true);\r\n\r\n $('input[name=VoieId]').val('');\r\n $('input[name=TypeVoie]').val('');\r\n $('input[name=TypeVoieAbrege]').val('');\r\n $('input[name=VoieSynonym]').val('');\r\n $(\"input[name=Numero]:visible\").val('');\r\n $(\"input[name=NumeroExtension]\").val('');\r\n $(\"input[name=ComplementVoie1]\").val('');\r\n $(\"input[name=ComplementVoie2]\").val('');\r\n $(\"input[name=ComplementVoie3]\").val('');\r\n $(\"input[name=ComplementVoie4]\").val('');\r\n $(\"input[name=ComplementVoie5]\").val('');\r\n },\r\n select: function (event, ui) {\r\n event.preventDefault();\r\n\r\n $(\"input[name=LocaliteId]\").val(ui.item.localityId);\r\n $(\"input[name=CodePostal]\").val(ui.item.codePostal);\r\n $(\"input[name=Localite]\").val(ui.item.localityName);\r\n $('input[name=CodePostalVille]:visible').val(ui.item.codePostal + \" \" + ui.item.localityName);\r\n $('input[name=Voie]:visible').val(ui.item.streetName);\r\n $('input[name=VoieId]').val(ui.item.streetId);\r\n $('input[name=TypeVoie]').val(ui.item.streetType);\r\n $('input[name=TypeVoieAbrege]').val(ui.item.abbreviatedStreetType);\r\n $('input[name=VoieSynonym]').val(ui.item.streetSynonym);\r\n $(\"input[name=ComplementVoie1]\").val(ui.item.additionalStreetInfo1);\r\n $(\"input[name=ComplementVoie2]\").val(ui.item.additionalStreetInfo2);\r\n $(\"input[name=ComplementVoie3]\").val(ui.item.additionalStreetInfo3);\r\n $(\"input[name=ComplementVoie4]\").val(ui.item.additionalStreetInfo4);\r\n $(\"input[name=ComplementVoie5]\").val(ui.item.additionalStreetInfo5);\r\n $(\"input[name=Numero]:visible\").val(ui.item.streetNumber);\r\n $(\"input[name=NumeroExtension]\").val(ui.item.streetNumberExt);\r\n $(\"input[name=Numero]:visible\").prop('disabled', false);\r\n $(\"input[name=Numero]:visible\").focus();\r\n $('input[name=Numero]:visible').removeClass(\"input-validation-error\");\r\n $('input[name=Numero]:visible').next('.field-validation-error').removeClass('field-validation-error').addClass('field-validation-valid');\r\n $(\"input[name=ComplementVoie1]\").prop('disabled', false);\r\n }\r\n });\r\n\r\n $(this).autocomplete(\"search\", $(this).val());\r\n }\r\n }\r\n });\r\n\r\n // QUITTE LA ZONE VOIE\r\n $(document).on(\"blur\", '#Voie', function (e) {\r\n // Si on quitte le champ Voie sans avoir choisi une proposition cap adresse (où s'il n'y en a pas)\r\n if ($(\":visible #Voie\").val() != null && $(\":visible #Voie\").val().length > 0) {\r\n $(\":visible #Numero\").prop('disabled', false);\r\n //$(\"#Numero\").focus();\r\n //$(\"#Numero\").caretToEnd();\r\n }\r\n else if ($(\"#VoieId\").val() != null && $(\"#VoieId\").val().length > 0) {\r\n if ($(':visible #CodePaysAlpha3').val() != null && $(':visible #CodePaysAlpha3').val().length > 0) {\r\n $.getJSON(\"/Espaceclient/CheckNumerosVoie?codepays=\" + $(':visible #CodePaysAlpha3').val() + \"&idLocalite=\" + $(\":visible #LocaliteId\").val() + \"&codePostal=\" + $(\":visible #CodePostal\").val() + \"&idVoie=\" + $(\":visible #VoieId\").val() + \"&term=\" + $(\":visible #Numero\").val(), function (data) {\r\n if (data != null && data.Data != null) {\r\n $(\"input[name=LocaliteId]:visible\").val(data.Data.LocalityID);\r\n $(\"input[name=CodePostal]:visible\").val(data.Data.PostalCode);\r\n $(\"input[name=Localite]:visible\").val(data.Data.LocalityName);\r\n $('input[name=CodePostalVille]:visible').val(data.Data.PostalCode + \" \" + data.Data.LocalityName);\r\n $(\"input[name=VoieId]:visible\").val(data.Data.StreetID);\r\n $(\"input[name=NumeroExtension]:visible\").val(data.Data.NumberExt);\r\n $('input[name=Numero]:visible').removeClass(\"input-validation-error\");\r\n $('input[name=Numero]:visible').next('.field-validation-error').removeClass('field-validation-error')\r\n .addClass('field-validation-valid')\r\n }\r\n else {\r\n $(':visible #Numero').addClass(\"input-validation-error\");\r\n $(':visible #Numero').next('.field-validation-valid').removeClass('field-validation-valid')\r\n .addClass('field-validation-error')\r\n .text(data.Erreur);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n // QUITTE LA ZONE NUMERO DE VOIE\r\n $(document).on(\"blur\", '#Numero', function (e) {\r\n // Si on trouve un code alpha3 de pays, c'est qu'on le gère via cap adresse\r\n if ($(':visible #CodePaysAlpha3').val() != null && $('#CodePaysAlpha3').val().length > 0) {\r\n $.getJSON(\"/Espaceclient/CheckNumerosVoie?codepays=\" + $('#CodePaysAlpha3').val() + \"&idLocalite=\" + $(\":visible #LocaliteId\").val() + \"&codePostal=\" + $(\":visible #CodePostal\").val() + \"&idVoie=\" + $(\":visible #VoieId\").val() + \"&term=\" + $(\":visible #Numero\").val(), function (data) {\r\n if (data.IsValid) {\r\n $(\"input[name=LocaliteId]:visible\").val(data.Data.LocalityID);\r\n $(\"input[name=CodePostal]:visible\").val(data.Data.PostalCode);\r\n $(\"input[name=Localite]:visible\").val(data.Data.LocalityName);\r\n $('input[name=CodePostalVille]:visible').val(data.Data.PostalCode + \" \" + data.Data.LocalityName);\r\n $(\"input[name=VoieId]:visible\").val(data.Data.StreetID);\r\n $(\"input[name=NumeroExtension]:visible\").val(data.Data.NumberExt);\r\n $('input[name=Numero]:visible').removeClass(\"input-validation-error\");\r\n $('input[name=Numero]:visible').next('.field-validation-error').removeClass('field-validation-error')\r\n .addClass('field-validation-valid')\r\n }\r\n else {\r\n $('input[name=Numero]:visible').addClass(\"input-validation-error\");\r\n $('input[name=Numero]:visible').next('.field-validation-valid').removeClass('field-validation-valid')\r\n .addClass('field-validation-error')\r\n .text(data.Erreur);\r\n }\r\n });\r\n }\r\n });\r\n\r\n}\r\n\r\nfunction bindLaPoste($form) {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n\r\n var options;\r\n\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n country: '#CodePaysAlpha3',\r\n zip: '#CodePostal',\r\n city: '#Localite',\r\n city_id: '#LocaliteId',\r\n street: '#Voie',\r\n street_id: '#VoieId',\r\n number: '#Numero',\r\n compl: '#ComplementAdresse1',\r\n local: '#LieuDit',\r\n prov: '#LieuDit',\r\n company: '#id_company1',\r\n geoloc: \"\",\r\n realtime_override: 1,\r\n city_search: 0\r\n };\r\n window.dqeObject = $form.dqe(options);\r\n\r\n}\r\n\r\nfunction bindLaPosteDemandeClient() {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n var options;\r\n\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n country: '#AdresseExpedition_CodePaysAlpha3',\r\n zip: '#AdresseExpedition_CodePostal',\r\n city: '#AdresseExpedition_Localite',\r\n city_id: '#AdresseExpedition_LocaliteId',\r\n street: '#AdresseExpedition_Voie',\r\n street_id: '#AdresseExpedition_VoieId',\r\n number: '#AdresseExpedition_Numero',\r\n compl: '#AdresseExpedition_ComplementAdresse1',\r\n local: '#AdresseExpedition_LieuDit',\r\n prov: '#AdresseExpedition_LieuDit',\r\n company: '#AdresseExpedition_id_company1',\r\n geoloc: \"\",\r\n realtime_override: 1,\r\n city_search: 0\r\n };\r\n window.dqeObject = $(\"#demande-catalog-non-client-form\").dqe(options);\r\n\r\n}\r\n\r\nfunction bindLaPosteDemandeSociete() {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n var options;\r\n\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n country: '#AdresseSociete_CodePaysAlpha3',\r\n zip: '#AdresseSociete_CodePostal',\r\n city: '#AdresseSociete_Localite',\r\n city_id: '#AdresseSociete_LocaliteId',\r\n street: '#AdresseSociete_Voie',\r\n street_id: '#AdresseSociete_VoieId',\r\n number: '#AdresseSociete_Numero',\r\n compl: '#AdresseSociete_ComplementAdresse1',\r\n local: '#AdresseSociete_LieuDit',\r\n prov: '#AdresseSociete_LieuDit',\r\n company: '#AdresseSociete_id_company1',\r\n geoloc: \"\",\r\n realtime_override: 1,\r\n city_search: 0\r\n };\r\n window.dqeObject = $(\"#demande-non-client-form\").dqe(options);\r\n\r\n}\r\nfunction bindLaPosteDemandeSpecifique(attrName) {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n var options;\r\n\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n country: '#' + attrName + '_CodePaysAlpha3',\r\n zip: '#' + attrName + '_CodePostal',\r\n city: '#' + attrName + '_Localite',\r\n city_id: '#' + attrName + '_LocaliteId',\r\n street: '#' + attrName + '_Voie',\r\n street_id: '#' + attrName + '_VoieId',\r\n number: '#' + attrName + '_Numero',\r\n compl: '#' + attrName + '_ComplementAdresse1',\r\n local: '#' + attrName + '_LieuDit',\r\n prov: '#' + attrName + '_LieuDit',\r\n company: '#' + attrName + '_id_company1',\r\n geoloc: \"\",\r\n realtime_override: 1,\r\n city_search: 0\r\n };\r\n window.dqeObject = $(\"#demande-non-client-form\").dqe(options);\r\n\r\n}\r\nfunction bindFormulaireCodePostalVilleBij()\r\n{\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n //country: '#id_country1',\r\n zipcity: 'input[name=CodePostal]',\r\n city_id: 'input[name=CodeInsee]'\r\n };\r\n window.dqeObject = $('#frmRechercheBijouterie').dqe(options);\r\n}\r\nfunction bindFormulaireCodePostalVillePointRetrait() {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n //country: '#id_country1',\r\n zipcity: 'input[name=CodePostal]',\r\n city_id: 'input[name=CodeInsee]'\r\n };\r\n window.dqeObject = $('#frmRecherchePointRetrait').dqe(options);\r\n}\r\n\r\n// Recherche bijouterie clic'n'collect.\r\nfunction bindFormulaireCodePostalVilleClicknCollect() {\r\n window.server = '/adresse/call/'; //'jsonp';\r\n //window.license = 'hmmmm';\r\n window.last_log_line = '';\r\n options = {\r\n server: window.server,\r\n license: window.license,\r\n //country: '#id_country1',\r\n zipcity: 'input[name=CodePostal]',\r\n city_id: 'input[name=CodeInsee]'\r\n };\r\n window.dqeObject = $('#frmRechercheClicknCollect').dqe(options);\r\n}","(function( $ ) {\r\n\r\n /**\r\n * Version 2.0.20161216\r\n * \r\n * Appelle le service DQE Address à partir d'une FORM ou d'une DIV contenant les champs\r\n * Options disponibles :\r\n * - server: URL du serveur ou 'jsonp' pour des appels directs\r\n * - license: code licence. Uniquement pour des appels directs jsonp\r\n * - country: code d'un pays précis (3 caractères) OU sélecteur jQuery pointant sur le champ pays\r\n * - city: sélecteur jQuery pointant sur le champ ville\r\n * - zip: sélecteur jQuery pointant sur le champ code postal\r\n * - street: sélecteur jQuery pointant sur le champ rue\r\n * - number: sélecteur jQuery pointant sur le champ numéro\r\n * - compl: sélecteur jQuery pointant sur le champ complément d'adresse\r\n * - local: sélecteur jQuery pointant sur le champ lieu-dit\r\n * - prov: sélecteur jQuery pointant sur le champ province (uniquement pour certains pays)\r\n * - zipcity: sélecteur jQuery pointant sur le champ code postal+ville (en remplacement des champs zip et city)\r\n * - company: sélecteur jQuery pointant vers le champ société\r\n * - single: sélecteur jQuery pointant vers un champ de recherche d'adresses en une seule ligne\r\n * - neighbourhood : [mode single uniquement] 0, 1 ou 2 utilise l'adresse IP (neighbourhood=1) ou la géolocalisation (neighbourhood=2) afin d'affiner la recherche d'adresses en mode single\r\n * - neighboursize : [mode single uniquement] distance (en km) autour de la position géolocalisée où rechercher les adresses (uniquement si neighbourhood est activé)\r\n * - geoloc: nom de la fonction de callback à appeler une fois lat et lng de l'adresse recherchée obtenues (si ce param est présent, les coordonnées lat/lng sont récupérées dès qu'un num dans la rue est renvoyé)\r\n * - city_search: 0 ou 1 (si ce paramètre est présent et vaut 1, il est possible de rechercher un code postal à partir du champ ville)\r\n *\r\n * Méthodes disponibles :\r\n * - idcheck (street, zip, city, lastname, firstname, callback_function_name) : renvoie la présence ou non d'un foyer à l'adresse indiquée\r\n * - lifestyle(street, zip, city, callback_function_name) : renvoie le profil des foyers situés à l'adresse indiquée\r\n * - check(callback_function_name, [address]) : Vérifie si l'adresse saisie ou passée en paramètre est correcte\r\n * - parse(callback_function_name, address) : Extrait les différents composantes de l'adresse passée en paramètre (uniquement pour la France)\r\n * - iptracker(ip) : renvoie les coordonnées géographiques liées à l'adresse IP\r\n * \r\n * Evènements disponibles :\r\n * - number(event, number): se déclenche quand un numéro est choisi\r\n * - street(event, street): se déclenche quand une rue est choisie\r\n * - zip(event, zip): se déclenche quand un code postal est validé\r\n * - city(event, city_id, city_name): se déclenche quand une ville est choisie\r\n * - compl(event, complement): se déclenche quand un complément d'adresse est choisi\r\n * - complements(event): se déclenche quand des compléments sont disponibles pour l'adresse choisie\r\n * - prov(event, province): se déclenche quand une province est choisie\r\n * - company(event, company_name): se déclenche quand une société est choisie avec la ville (via un CEDEX)\r\n * - single(event, company_name): se déclenche quand une adresse complète est choisie via une recherche sur une ligne\r\n * - override(event): se déclenche quand l'utilisateur force l'adresse (quand le statut override change)\r\n *\r\n * @param {object} options Tableau associatif des options\r\n * @returns {jQuery}\r\n */\r\n $.fn.dqe = function(options) {\r\n\r\n var myDQE = this;\r\n \r\n //Expressions régulières permettant de tester si un code postal a été complètement saisi pour lancer la recherche de villes\r\n myDQE.zip_pattern = {\r\n 'FRA': /^\\d{5}$/,\r\n 'DEU': /^\\d{5}$/,\r\n 'AUT': /^\\d{4}$/,\r\n 'BEL': /^\\d{4}$/,\r\n 'CAN': /^[A-Z\\d]{3} ?[A-Z\\d]{3}$/,\r\n 'KOR': /^\\d{3}[ -]?\\d{3}$/,\r\n 'ESP': /^\\d{5}$/,\r\n 'USA': /^([A-Z]{2})?[ -]?\\d{5}[ -]?(\\d{4})?$/i,\r\n 'ISR': /^\\d{5}$/,\r\n 'ITA': /^\\d{5}$/,\r\n 'LUX': /^L?-?\\d{4}$/i,\r\n 'NLD': /^\\d{4} ?([A-Z]{2})?$/,\r\n 'POL': /^\\d\\d-?\\d{3}$/,\r\n 'PRT': /^\\d{4}-?\\d{3}$/,\r\n 'CZE': /^\\d{3} ?\\d{2}$/,\r\n 'ROU': /^\\d{6}$/,\r\n 'GBR': /^[A-Z][A-Z\\d]{1,3} ?\\d[A-Z]{2}$/i,\r\n 'SGP': /^\\d{6}$/,\r\n 'SVN': /^\\d{4}$/,\r\n 'SWE': /^(SE)?-?\\d{3} ?\\d{2}$/,\r\n 'CHE': /^\\d{4}$/,\r\n 'TUR': /^\\d{5}$/,\r\n 'CHN': /^\\d{6}$/,\r\n 'CHN-en': /^\\d{6}$/,\r\n 'RUS': /^\\d{6}$/,\r\n 'NOR': /^\\d{4}$/,\r\n 'DNK': /^\\d{4}$/,\r\n 'FIN': /^\\d{5}$/,\r\n 'THA': /^\\d{5}$/,\r\n 'MAR': /^\\d{5}$/,\r\n 'HUN': /^\\d{4}$/,\r\n 'HKG': /^.*$/, //Hong-kong\r\n 'HKG-en': /^.*$/, //Hong-kong\r\n 'QAT': /^.*$/, //Qatar\r\n 'NZL': /^\\d{4}$/, //Nouvelle-zélande\r\n 'HRV': /^(HR)?-?\\d{5}$/ //Croatie\r\n };\r\n \r\n //Liste des pays pour lesquels le numéro est situé après le nom de la voie\r\n myDQE.reversed_countries = {\r\n 'AUT': 1,\r\n 'BEL': 1,\r\n 'CHE': 1,\r\n 'CZE': 1,\r\n 'DEU': 1,\r\n 'ESP': 1,\r\n 'HRV': 1,\r\n 'ISR': 1,\r\n 'ITA': 1,\r\n 'NLD': 1,\r\n 'POL': 1,\r\n 'PRT': 1,\r\n 'ROU': 1,\r\n 'SWE': 1,\r\n 'TUR': 1,\r\n 'RUS': 1,\r\n 'SVN': 1,\r\n 'DNK': 1,\r\n 'FIN': 1,\r\n 'HUN': 1,\r\n 'NOR': 1\r\n };\r\n \r\n myDQE.specific_charset = function() {\r\n var country = myDQE.selected_country();\r\n var countries = {CHN:1,RUS:1,THA:1,SGP:1,ISR:1,DNK:1,SVN:1,'CHN-en':1,HRV:1,HKG:1,'HKG-en':1};\r\n return !!countries[country];\r\n };\r\n \r\n myDQE.udecode = function(s) {\r\n if (s.indexOf('\\\\\\\\u') == -1) return s;\r\n var regex = /\\\\\\\\u([\\d\\w]{4})/gi;\r\n s = s.replace(regex, function (match, grp) {\r\n return String.fromCharCode(parseInt(grp, 16));\r\n });\r\n return s;\r\n };\r\n \r\n myDQE.delay = function() {\r\n var d = {CAN:1,CHN:1,RUS:1,NOR:1,DNK:1,FIN:1,THA:1,MAR:1,HUN:1,ISR:1};\r\n var c = myDQE.selected_country();\r\n return d[c] ? 400 : 0;\r\n };\r\n \r\n //Chargement des paramètres\r\n var settings = $.extend({\r\n //Paramètres par défaut\r\n country: \"FRA\",\r\n trace: 0,\r\n license: '',\r\n append_locality: 0 //On concatène le lieu-dit d'adresse au bout de la ville\r\n }, options );\r\n myDQE.settings = settings;\r\n\r\n //On récupère les champs à partir de leur selecteur\r\n myDQE.server = settings.server;\r\n myDQE.license = settings.license; //obligatoire si jsonp ou cors\r\n myDQE.city = settings.city ? $(settings.city) : false;\r\n myDQE.city_id = settings.city_id ? $(settings.city_id) : false;\r\n myDQE.zip = settings.zip ? $(settings.zip) : false;\r\n myDQE.street = settings.street ? $(settings.street) : false;\r\n myDQE.street_id = settings.street_id ? $(settings.street_id) : false;\r\n myDQE.number = settings.number ? $(settings.number) : false;\r\n myDQE.compl = settings.compl ? $(settings.compl) : false;\r\n myDQE.local = settings.local ? $(settings.local) : false; //Lieu-dit\r\n myDQE.prov = settings.prov ? $(settings.prov) : false; //Province\r\n myDQE.zipcity = settings.zipcity ? $(settings.zipcity) : false; //CP et Ville regroupés\r\n myDQE.company = settings.company ? $(settings.company) : false; //Nom de la société\r\n myDQE.single = settings.single ? $(settings.single) : false; //Recherche sur une ligne\r\n myDQE.neighbourhood = settings.neighbourhood ? settings.neighbourhood : false; //Utilisation de l'IP ou de la geolocalisation pour la recherche single\r\n myDQE.ip_field = settings.ip_field ? $(settings.ip_field) : false; //Utilise l'IP saisie dans ce champ pour la recherche d'une adresse locale en SINGLE\r\n myDQE.neighboursize = settings.neighboursize ? settings.neighboursize : 1; //Rayon du cercle de recherche en km\r\n myDQE.lon = 0;\r\n myDQE.geoloc = settings.geoloc ? settings.geoloc : false; //Récupération des coordonnées (lat et lng)\r\n myDQE.lat = 0;\r\n myDQE.geoloc_ready = false;\r\n myDQE.city_search = settings.city_search ? 1 : 0;\r\n\r\n myDQE.countryField = settings.country.length == 3 ? false : $(settings.country);\r\n myDQE.country = settings.country;\r\n \r\n if (myDQE.countryField) {\r\n myDQE.countryField.on(\"change\", function() {\r\n myDQE.clearSection(\"zip\");\r\n myDQE.clearSection(\"zipcity\");\r\n myDQE.clearSection(\"single\");\r\n myDQE.activate_zipcity_autocomplete();\r\n myDQE.activate_single_autocomplete();\r\n });\r\n }\r\n \r\n myDQE.asmx = myDQE.server.toLowerCase().indexOf(\".asmx\") > -1;\r\n\r\n if (myDQE.server == 'jsonp') {\r\n myDQE.ajax = function(url, callback) {\r\n $.ajax({\r\n url: url,\r\n dataType: 'jsonp',\r\n jsonp: 'callback',\r\n success: function(data) {\r\n if (myDQE.specific_charset()) data = myDQE.udecode(data);\r\n callback(JSON.parse(data));\r\n }\r\n });\r\n };\r\n }\r\n else {\r\n if (myDQE.server == 'cors') {\r\n myDQE.ajax = function(url, callback) {\r\n $.ajax({\r\n url: url,\r\n method: 'GET',\r\n dataType: 'text',\r\n crossdomain: true,\r\n success: function(data) {\r\n if (myDQE.specific_charset()) data = myDQE.udecode(data);\r\n callback(JSON.parse(data));\r\n }\r\n });\r\n };\r\n }\r\n else {\r\n myDQE.ajax = function(url, callback) {\r\n $.ajax({\r\n url: myDQE.server,\r\n data: {url: url},\r\n method: 'POST',\r\n dataType: 'text',\r\n success: function(data) {\r\n if (data && myDQE.specific_charset()) data = myDQE.udecode(data);\r\n var result = data ? JSON.parse(data) : {};\r\n callback(result);\r\n }\r\n });\r\n };\r\n //myDQE.ajax = function (url, callback) {\r\n // myDQE.ajax = function (url, callback) {\r\n // $.ajax({\r\n // url: myDQE.server,\r\n // data: {url: url},\r\n // dataType: 'jsonp',\r\n // jsonp: 'callback',\r\n // success: function (data) {\r\n // if (myDQE.specific_charset()) data = myDQE.udecode(data);\r\n // callback(JSON.parse(data));\r\n // }\r\n // });\r\n // };\r\n //};\r\n }\r\n }\r\n\r\n //Paramètres d'appel AJAX par défaut pour .net\r\n //if (myDQE.asmx) {\r\n // $.ajaxSetup({\r\n // type: \"POST\",\r\n // contentType: \"application/json; charset=utf-8\",\r\n // data: \"{}\",\r\n // processData: false,\r\n // dataFilter: function(data) {\r\n // if (typeof (JSON) !== 'undefined' && typeof (JSON.parse) === 'function') data = JSON.parse(data);\r\n // else data = eval('(' + data + ')');\r\n // if (data.hasOwnProperty('d')) return data.d;\r\n // return data;\r\n // }\r\n // });\r\n \r\n // $.ajaxPrefilter(function(options, originalOptions, jqXHR) {\r\n // options.data = JSON.stringify(originalOptions.data);\r\n // });\r\n //}\r\n \r\n myDQE.url = function (data) {\r\n //var host = \"https://prod2.dqe-software.com\";\r\n\r\n var parameters = [];\r\n for (var key in data) {\r\n if (!data.hasOwnProperty(key) || key == \"fn\" || key == \"server\") continue;\r\n parameters.push(key + \"=\" + encodeURIComponent(data[key]));\r\n }\r\n\r\n //return host + '/' + data[\"fn\"] + \"/?\" + parameters.join(\"&\") + \"&Licence=\" + myDQE.license;\r\n return data[\"fn\"] + \"/?\" + parameters.join(\"&\") + \"&Licence=\";\r\n };\r\n\r\n myDQE.override_reset = function() {\r\n myDQE.zip_override = true;\r\n myDQE.city_override = true;\r\n myDQE.street_override = true;\r\n myDQE.selected_zip_value = \"\";\r\n myDQE.selected_city_value = \"\";\r\n myDQE.selected_street_value = \"\";\r\n myDQE.selected_zipcity_value = \"\";\r\n };\r\n\r\n myDQE.remove_accents = function(s) {\r\n var ko = 'ÀÁÂÃÄÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÇçàáâãèéêëîïòôõöùúûüñ';\r\n var ok = 'AAAAAEEEEIIIIOOOOOUUUUCcaaaaeeeeiioooouuuun';\r\n var len = s.length;\r\n var p;\r\n var c;\r\n var result = \"\";\r\n for (var i = 0; i < len; i++) {\r\n c = s.charAt(i);\r\n p = ko.indexOf(c);\r\n result += p == -1 ? c : ok.charAt(p);\r\n }\r\n return result;\r\n };\r\n \r\n myDQE.override_events = function() {\r\n myDQE.override_reset();\r\n if (myDQE.city) myDQE.city.on(\"input\", function() {\r\n var city = myDQE.city.val();\r\n if (city && myDQE.selected_city_value && city == myDQE.selected_city_value) {\r\n myDQE.override(false, \"city\");\r\n } else {\r\n myDQE.override(true, \"city\");\r\n }\r\n });\r\n if (myDQE.street) myDQE.street.on(\"input\", function() {\r\n var street = myDQE.street.val();\r\n if (street && myDQE.selected_street_value && street.indexOf(myDQE.selected_street_value) >= 0) {\r\n myDQE.override(false, \"street\");\r\n } else {\r\n myDQE.override(true, \"street\");\r\n }\r\n });\r\n if (myDQE.zipcity) myDQE.zipcity.on(\"input\", function() {\r\n var zipcity = myDQE.zipcity.val();\r\n if (myDQE.selected_zipcity_value && zipcity !== myDQE.selected_zipcity_value) {\r\n myDQE.override(true, \"zip\");\r\n myDQE.override(true, \"city\");\r\n }\r\n else {\r\n if (zipcity && zipcity == myDQE.selected_zipcity_value) {\r\n myDQE.override(false, \"zip\");\r\n myDQE.override(false, \"city\");\r\n }\r\n }\r\n });\r\n };\r\n \r\n myDQE.execute_trigger = function(field, value) {\r\n myDQE.trigger(field, value);\r\n if (field == \"zip\") {\r\n myDQE.override(false, \"zip\");\r\n if (myDQE.zip) myDQE.selected_zip_value = myDQE.zip.val();\r\n if (myDQE.zipcity) myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n if (field == \"city\") {\r\n myDQE.override(false, \"city\");\r\n if (myDQE.city) myDQE.selected_city_value = myDQE.city.val();\r\n if (myDQE.zipcity) myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n if (field == \"street\") {\r\n myDQE.override(false, \"street\");\r\n myDQE.selected_street_value = myDQE.street.val();\r\n }\r\n };\r\n\r\n myDQE.override = function(value, field) {\r\n if (value === true || value === false) {\r\n if (!field || field == \"zip\") myDQE.zip_override = value;\r\n if (!field || field == \"city\") myDQE.city_override = value;\r\n if (!field || field == \"street\") myDQE.street_override = value;\r\n\r\n myDQE.execute_trigger(\"override\");\r\n }\r\n\r\n return {\r\n 'zip' : myDQE.zip_override,\r\n 'city' : myDQE.city_override,\r\n 'street' : myDQE.street_override\r\n };\r\n };\r\n \r\n myDQE.count = function(t) {\r\n var cnt = 0;\r\n for (var key in t) {\r\n if (!t.hasOwnProperty(key)) continue;\r\n cnt++\r\n }\r\n return cnt;\r\n };\r\n\r\n myDQE.trimLeft = function(s, charlist) {\r\n if (!s) return '';\r\n if (charlist === undefined)\r\n return s.replace(/^\\s+/gm,'');\r\n\r\n return s.replace(new RegExp(\"^[\" + charlist + \"]+\"), \"\");\r\n };\r\n \r\n myDQE.trimRight = function(s, charlist) {\r\n if (!s) return '';\r\n if (charlist === undefined)\r\n return s.replace(/\\s+$/gm,'');\r\n\r\n return s.replace(new RegExp(\"[\" + charlist + \"]+$\"), \"\");\r\n };\r\n\r\n myDQE.trim = function(s, charlist) {\r\n if (!s) return '';\r\n if (charlist === undefined)\r\n return s.replace(/^\\s+|\\s+$/gm,'');\r\n \r\n s = myDQE.trimLeft(s, charlist);\r\n s = myDQE.trimRight(s, charlist);\r\n return s;\r\n };\r\n\r\n myDQE.replace = function(string, text, by) {\r\n string = string + \"\";\r\n var result = \"\";\r\n var slen = string.length;\r\n var len = text.length;\r\n var pos = string.indexOf(text);\r\n while (pos > -1) {\r\n result += string.substring(0, pos) + by;\r\n string = string.substring(pos + len, slen);\r\n pos = string.indexOf(text);\r\n }\r\n if (string != \"\") result += string;\r\n return result;\r\n };\r\n\r\n if (!Array.prototype.indexOf) {\r\n Array.prototype.indexOf = function(searchElement, fromIndex) {\r\n var k;\r\n if (this == null) throw new TypeError('\"this\" vaut null ou n est pas défini');\r\n var O = Object(this);\r\n var len = O.length >>> 0;\r\n if (len === 0) return -1;\r\n var n = +fromIndex || 0;\r\n\r\n if (Math.abs(n) === Infinity) n = 0;\r\n if (n >= len) return -1;\r\n k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\r\n\r\n while (k < len) {\r\n if (k in O && O[k] === searchElement) return k;\r\n k++;\r\n }\r\n return -1;\r\n };\r\n }\r\n \r\n myDQE.filter_cities = function(result) {\r\n var i = 1;\r\n var cities = [];\r\n var result_count = myDQE.count(result);\r\n var name, lieudit, province, returned_zip, len_zip, company, city, voie, voies, id, label, zip;\r\n var country = myDQE.selected_country();\r\n var bp = false;\r\n while (result[i]) {\r\n id = result[i]['IDLocalite'];\r\n if (!id && result_count == 1) return [];\r\n\r\n name = myDQE.trim(result[i][\"Localite\"]);\r\n lieudit = myDQE.trim(result[i][\"LieuDit\"]);\r\n province = myDQE.trim(result[i][\"Province\"]);\r\n if (province == name || !myDQE.trim(province, '*-')) province = '';\r\n \r\n if (country != 'FRA' && province) {\r\n var p = province.indexOf(\"-\");\r\n if (p > -1) {\r\n province = province.substr(0, p);\r\n p = id.indexOf(\"-\");\r\n if (p > -1) id = id.substr(0, p);\r\n }\r\n }\r\n \r\n returned_zip = myDQE.trim(result[i][\"CodePostal\"]);\r\n\r\n if (returned_zip && name) {\r\n len_zip = returned_zip.length - name.length - 1;\r\n if (returned_zip.substr(len_zip) == ' ' + name) returned_zip = returned_zip.substr(0, len_zip);\r\n }\r\n\r\n company = result[i]['Entreprise'] ? myDQE.trim(result[i]['Entreprise']) : '';\r\n\r\n if (province) label = name + \", \" + province;\r\n else label = lieudit ? name + \", \" + lieudit : name;\r\n\r\n city = {'value': id, 'city': name};\r\n voie = result[i]['Voie'] ? result[i]['Voie'] : '';\r\n if (voie.indexOf('_BP_') > -1) bp = true;\r\n voies = voie ? voie.split(',') : [];\r\n \r\n for (var k = 0; k < voies.length; k++) {\r\n voies[k] = myDQE.trim(voies[k]);\r\n }\r\n\r\n if (company) city['company'] = company;\r\n \r\n var zip_complements = [];\r\n \r\n if (voies.length == 3) {\r\n \r\n if (voies[0] && voies[1]) {\r\n //Société avec 2 noms (courant au royaume uni)\r\n city['company'] = voies[0] + \", \" + voies[1];\r\n zip_complements.push(city['company']);\r\n }\r\n else {\r\n //Societe,complément,voie\r\n if (voies[0]) {\r\n city['company'] = voies[0];\r\n zip_complements.push(voies[0]);\r\n }\r\n if (voies[1]) {\r\n city['compl'] = voies[1];\r\n zip_complements.push(voies[1]);\r\n }\r\n }\r\n if (voies[2]) {\r\n city['street'] = voies[2];\r\n zip_complements.push(voies[2]);\r\n }\r\n }\r\n else {\r\n if (city['company']) zip_complements.push(city['company']);\r\n if (voie) {\r\n //Parfois le code postal seul nous permet de renseigner la rue\r\n city['street'] = myDQE.trim(voie);\r\n city['number'] = myDQE.trim(result[i][\"Numero\"]);\r\n city['street_id'] = myDQE.trim(result[i]['IDVoie']);\r\n zip_complements.push(city['street']);\r\n }\r\n }\r\n \r\n if (zip_complements.length > 0) {\r\n label += \" (\" + zip_complements.join(', ') + \")\";\r\n }\r\n \r\n city['label'] = myDQE.no_bp(label);\r\n\r\n if (zip) city['zipcity'] = zip;\r\n if (returned_zip) city['zip'] = returned_zip;\r\n if (lieudit) city['local'] = lieudit;\r\n if (province) city['prov'] = province;\r\n if (result[i]['ListeNumero']) city['numbers'] = result[i]['ListeNumero'].split(';'); //Liste de boites postales retournées pour un CP précis (comme en Suède)\r\n city['zipcity'] = name.indexOf('(') == -1 ? returned_zip + ' ' + name : name;\r\n cities.push(city);\r\n i++;\r\n }\r\n return cities;\r\n };\r\n \r\n myDQE.filter_adr = function(result) {\r\n var i = 1;\r\n var streets = [];\r\n var adr, street, number, nums, zip, city, id, city_id, lieudit, label1, label2;\r\n var nia = myDQE.num_is_after();\r\n while (result[i]) {\r\n adr = result[i];\r\n street = myDQE.trim(adr[\"Voie\"]);\r\n number = myDQE.trim(adr[\"Numero\"]);\r\n\r\n if (adr['ListeNumero']) {\r\n nums = adr['ListeNumero'].split(';');\r\n if (nums.indexOf(number) == -1) number = '';\r\n }\r\n\r\n zip = myDQE.trim(adr['CodePostal']);\r\n city = myDQE.trim(adr['Localite']);\r\n id = myDQE.trim(adr['IDVoie']);\r\n city_id = myDQE.trim(adr['IDLocalite']);\r\n lieudit = adr[\"LieuDit\"] ? myDQE.trim(result[i][\"LieuDit\"]) : '';\r\n label1 = nia ? myDQE.trim(street + ' ' + number) : myDQE.trim(number + ' ' + street);\r\n label2 = zip ? label1 + \" (\" + zip + \")\" : label1;\r\n streets.push({'value': id, 'label': label2, 'simple_label': label1, 'street': street, 'number': number, 'zip': zip, 'city': city, 'city_id': city_id, 'local': lieudit});\r\n i++;\r\n }\r\n return streets;\r\n };\r\n \r\n myDQE.filter_num = function(result) {\r\n var list = result && result['1'] && result['1']['ListeNumero'] ? result['1']['ListeNumero'].split(';') : [];\r\n var numbers = [];\r\n var len = list.length;\r\n for (var i = 0; i < len; i++) {\r\n numbers.push({value: list[i], label: list[i]});\r\n }\r\n return numbers;\r\n };\r\n\r\n myDQE.filter_single = function(result) {\r\n if (!result) return [];\r\n var addresses = [];\r\n var i = 1;\r\n var line, street, len, label, address;\r\n var nia = myDQE.num_is_after();\r\n while (result[i]) {\r\n line = result[i];\r\n line['Numero'] = myDQE.trim(line['Numero']);\r\n if (line['Voie'].indexOf(',') > -1) {\r\n street = line['Voie'].split(',');\r\n len = street.length;\r\n line['Voie'] = myDQE.trim(street[len - 1]);\r\n }\r\n else line['Voie'] = myDQE.trim(line['Voie']);\r\n\r\n label = myDQE.recombine_street(line['Numero'], line['TypeVoie'], line['Voie'], nia);\r\n label += ' ' + myDQE.trim(line['CodePostal'] + ' ' + line['Localite']);\r\n if (line['Entreprise']) label += \" (\" + line['Entreprise'] + \")\";\r\n else {\r\n if (line['LieuDit']) label += \" (\" + line['LieuDit'] + \")\";\r\n }\r\n label = myDQE.trim(label);\r\n\r\n address = {\r\n street: line['Voie'],\r\n num: line['Numero'],\r\n type: line['TypeVoie'],\r\n id: line['IDVoie'],\r\n zip: line['CodePostal'],\r\n city: line['Localite'],\r\n label: label,\r\n value: label,\r\n city_id: line['IDLocalite']\r\n };\r\n\r\n if (line['Entreprise']) address['company'] = line['Entreprise'];\r\n if (line['LieuDit']) address['local'] = line['LieuDit'];\r\n if (line['Complement']) address['compl'] = line['Complement'];\r\n if (line['Province'] && line['Province' != '*']) address['prov'] = line['Province'];\r\n if (line['SousLocalite']) address['subcity'] = line['SousLocalite'];\r\n if (line['ListeNumero']) {\r\n var nums = line['ListeNumero'].split(';');\r\n var missing = !line['Numero'];\r\n var wrong = nums.indexOf(line['Numero']) == -1;\r\n if (missing) address['missing_number'] = 1;\r\n if (wrong) address['wrong_number'] = 1;\r\n if (missing || wrong) address['nums'] = nums;\r\n }\r\n else {\r\n //La liste des numéros est vide. Si on a un numéro saisi, il est vraisemblablement incorrect\r\n if (line['Numero']) address['unexpected_number'] = 1;\r\n }\r\n if (line['Latitude']) address['latitude'] = line['Latitude'];\r\n if (line['Longitude']) address['longitude'] = line['Longitude'];\r\n\r\n addresses.push(address);\r\n i++;\r\n }\r\n return addresses;\r\n };\r\n\r\n myDQE.house_typo = function(data, code) {\r\n var typo = '';\r\n var value;\r\n for (var key in data) {\r\n if (!data.hasOwnProperty(key)) continue;\r\n value = data[key];\r\n if (key.substr(0, 5) === 'TYPO_' && parseInt(value, 10) == 1) {\r\n typo = key.substr(5);\r\n break;\r\n }\r\n }\r\n if (!typo) return '';\r\n \r\n if (code) return typo;\r\n\r\n var typos = {\r\n A1: [\r\n \"Grandes maisons récentes\",\r\n \"Familles matures avec adolescents\",\r\n \"CSP et niveau d'études supérieures\",\r\n \"Propriétaires et au moins 2 voitures\"\r\n ],\r\n A2: [\r\n \"Propriétaires de grandes maisons en ville\",\r\n \"Couples 40 ans et plus avec adolescents\",\r\n \"Cadres, prof. interm. ou retraités\",\r\n \"Niveau d'études supérieures\"\r\n ],\r\n A3: [\r\n \"Couples matures sans enfant ou retraités\",\r\n \"Maisons en périphérie des villes\",\r\n \"Bons revenus\",\r\n \"Grands utilisateurs de la voiture\"\r\n ],\r\n A4: [\r\n \"Ouvriers qualifiés ou prof. interm.\",\r\n \"Couples 40-54 ans avec enfants\",\r\n \"Grandes maisons avec garage\",\r\n \"Installés depuis plus de 10 ans\"\r\n ],\r\n B1: [\r\n \"Jeunes actifs ou retraités en ville\",\r\n \"Personnes seules 18-39 ans ou 65+\",\r\n \"CSP et niveau d'études moyen\",\r\n \"Installés depuis moins de 5 ans\"\r\n ],\r\n B2: [\r\n \"Jeunes célibataires en centre-ville\",\r\n \"Petits appartements très anciens\",\r\n \"Commerces et équipements importants\",\r\n \"Récemment installés\"\r\n ],\r\n B3: [\r\n \"Retraités ou employés\",\r\n \"Appartements anciens de taille moyenne\",\r\n \"Faible niveau d'études, revenus moyens\",\r\n \"Ménages installés depuis plus de 10 ans\"\r\n ],\r\n B4: [\r\n \"Ouvriers peu qualifiés ou prof. interm.\",\r\n \"Familles monoparentales\",\r\n \"Locataires d'appartements HLM\",\r\n \"Pop étrangère aux revenus modestes\"\r\n ],\r\n C1: [\r\n \"Population entre 18 et 39 ans\",\r\n \"Très petits appartements dans Paris\",\r\n \"Cadres ou étudiants en hautes études\",\r\n \"Gros utilisateurs des transports en commun\"\r\n ],\r\n C2: [\r\n \"Jeunes cadres, prof. interm. ou employés\",\r\n \"Anciens appartements de taille moyenne\",\r\n \"Gde couronne parisienne ou gdes agglos\"\r\n ],\r\n D1: [\r\n \"Jeunes ménages cultivés, bonne situation\",\r\n \"Log. récents en périphérie des villes\",\r\n \"Professions interm., cadres et employés\",\r\n \"Familles avec enfants\"\r\n ],\r\n D2: [\r\n \"Ménages avec enfants (< 10 ans)\",\r\n \"Log. individuels nouvellement construits\",\r\n \"Niveau d'études et revenus moyens\",\r\n \"Installation récente\"\r\n ],\r\n D3: [\r\n \"Familles ouvrières avec enfants\",\r\n \"Métiers techniques\",\r\n \"Grandes maisons très anciennes\",\r\n \"Revenus modestes\"\r\n ],\r\n E1: [\r\n \"Etudiants 18-24 ans, célibataire\",\r\n \"Locataires de petits appartements\",\r\n \"Adeptes de transports en commun\"\r\n ],\r\n F1: [\r\n \"Familles avec enfants ou adolescents\",\r\n \"Actifs avec revenus dans la moyenne\",\r\n \"Grande couronne parisienne\",\r\n \"Habitat collectif type HLM\"\r\n ],\r\n F2: [\r\n \"Ménages sans famille ou monoparentaux\",\r\n \"Employés et ouvriers\",\r\n \"Population étrangère et immigrés\",\r\n \"Habitat collectif HLM de petite taille\"\r\n ],\r\n F3: [\r\n \"Familles nombreuses, 25-39 ans\",\r\n \"HLM en gde agglomération\",\r\n \"Grande proportion d'immigrés\",\r\n \"Revenus très faibles\"\r\n ],\r\n G1: [\r\n \"Couples sans enfant\",\r\n \"Ménages ouvriers en zone isolée\",\r\n \"Faibles revenus\",\r\n \"Log. individuels de superficie moyenne\"\r\n ],\r\n G2: [\r\n \"Retraités de plus de 65 ans\",\r\n \"Habitat hétérogène de taille moyenne\",\r\n \"Faibles revenus\",\r\n \"Nbr. infrastructures, notamment\"\r\n ],\r\n H1: [\r\n \"Retraités au soleil et vacanciers\",\r\n \"Activité touristique importante\",\r\n \"Habitat hétérogène, princ. rés. secondaire\",\r\n \"Population âgée sans enfant à charge\"\r\n ],\r\n H2: [\r\n \"Ouvriers / retraités aux revenus modestes\",\r\n \"Logements individuels, d'avant 1949\",\r\n \"Zone rurale\",\r\n \"Nbr. équipements : alim; santé, enseign.\"\r\n ],\r\n H3: [\r\n \"Ouvriers, agriculteurs ou retraités\",\r\n \"Propriétaires de grandes maisons anciennes\",\r\n \"Revenus modestes\",\r\n \"Au moins 2 voitures\"\r\n ],\r\n H4: [\r\n \"Ouvriers de plus de 40 ans ou retraités\",\r\n \"Propriétaires de maisons individuelles anciennes\",\r\n \"Faible niveau d'études\"\r\n ],\r\n H5: [\r\n \"Familles d'artisans ou commerçants\",\r\n \"Ménages de 40-54 ans avec adolescents\",\r\n \"Maisons, parfois en rés. secondaires\",\r\n \"Installés depuis plus de 10 ans\"\r\n ],\r\n H6: [\r\n \"Forte part d'agriculteurs et de retraités\",\r\n \"Revenus dans la moyenne\",\r\n \"Propriétaire de maison à la campagne\"\r\n ]\r\n };\r\n\r\n return typos[typo] ? typos[typo] : '';\r\n };\r\n \r\n myDQE.fill_zip = function(zip) {\r\n myDQE.execute_trigger('zip', [zip]);\r\n var country = myDQE.selected_country();\r\n if (country == 'PRT' && zip.match(/^\\d{7}$/)) {\r\n zip = zip.substr(0, 4) + '-' + zip.substr(4);\r\n }\r\n if (myDQE.zip) myDQE.zip.val(zip);\r\n };\r\n\r\n myDQE.convert_iso2 = function(country) {\r\n var table = {\r\n AF:'AFG',AX:'ALA',AL:'ALB',DZ:'DZA',AS:'ASM',AD:'AND',AO:'AGO',AI:'AIA',AQ:'ATA',AG:'ATG',AR:'ARG',AM:'ARM',AW:'ABW',\r\n AU:'AUS',AT:'AUT',AZ:'AZE',BS:'BHS',BH:'BHR',BD:'BGD',BB:'BRB',BY:'BLR',BE:'BEL',BZ:'BLZ',BJ:'BEN',BM:'BMU',BT:'BTN',\r\n BO:'BOL',BA:'BIH',BW:'BWA',BV:'BVT',BR:'BRA',VG:'VGB',IO:'IOT',BN:'BRN',BG:'BGR',BF:'BFA',BI:'BDI',KH:'KHM',CM:'CMR',\r\n CA:'CAN',CV:'CPV',KY:'CYM',CF:'CAF',TD:'TCD',CL:'CHL',CN:'CHN',HK:'HKG',MO:'MAC',CX:'CXR',CC:'CCK',CO:'COL',KM:'COM',\r\n CG:'COG',CD:'COD',CK:'COK',CR:'CRI',CI:'CIV',HR:'HRV',CU:'CUB',CY:'CYP',CZ:'CZE',DK:'DNK',DJ:'DJI',DM:'DMA',DO:'DOM',\r\n EC:'ECU',EG:'EGY',SV:'SLV',GQ:'GNQ',ER:'ERI',EE:'EST',ET:'ETH',FK:'FLK',FO:'FRO',FJ:'FJI',FI:'FIN',FR:'FRA',GF:'GUF',\r\n PF:'PYF',TF:'ATF',GA:'GAB',GM:'GMB',GE:'GEO',DE:'DEU',GH:'GHA',GI:'GIB',GR:'GRC',GL:'GRL',GD:'GRD',GP:'GLP',GU:'GUM',\r\n GT:'GTM',GG:'GGY',GN:'GIN',GW:'GNB',GY:'GUY',HT:'HTI',HM:'HMD',VA:'VAT',HN:'HND',HU:'HUN',IS:'ISL',IN:'IND',ID:'IDN',\r\n IR:'IRN',IQ:'IRQ',IE:'IRL',IM:'IMN',IL:'ISR',IT:'ITA',JM:'JAM',JP:'JPN',JE:'JEY',JO:'JOR',KZ:'KAZ',KE:'KEN',KI:'KIR',\r\n KP:'PRK',KR:'KOR',KW:'KWT',KG:'KGZ',LA:'LAO',LV:'LVA',LB:'LBN',LS:'LSO',LR:'LBR',LY:'LBY',LI:'LIE',LT:'LTU',LU:'LUX',\r\n MK:'MKD',MG:'MDG',MW:'MWI',MY:'MYS',MV:'MDV',ML:'MLI',MT:'MLT',MH:'MHL',MQ:'MTQ',MR:'MRT',MU:'MUS',YT:'MYT',MX:'MEX',\r\n FM:'FSM',MD:'MDA',MC:'MCO',MN:'MNG',ME:'MNE',MS:'MSR',MA:'MAR',MZ:'MOZ',MM:'MMR',NA:'NAM',NR:'NRU',NP:'NPL',NL:'NLD',\r\n AN:'ANT',NC:'NCL',NZ:'NZL',NI:'NIC',NE:'NER',NG:'NGA',NU:'NIU',NF:'NFK',MP:'MNP',NO:'NOR',OM:'OMN',PK:'PAK',PW:'PLW',\r\n PS:'PSE',PA:'PAN',PG:'PNG',PY:'PRY',PE:'PER',PH:'PHL',PN:'PCN',PL:'POL',PT:'PRT',PR:'PRI',QA:'QAT',RE:'REU',RO:'ROU',\r\n RU:'RUS',RW:'RWA',BL:'BLM',SH:'SHN',KN:'KNA',LC:'LCA',MF:'MAF',PM:'SPM',VC:'VCT',WS:'WSM',SM:'SMR',ST:'STP',SA:'SAU',\r\n SN:'SEN',RS:'SRB',SC:'SYC',SL:'SLE',SG:'SGP',SK:'SVK',SI:'SVN',SB:'SLB',SO:'SOM',ZA:'ZAF',GS:'SGS',SS:'SSD',ES:'ESP',\r\n LK:'LKA',SD:'SDN',SR:'SUR',SJ:'SJM',SZ:'SWZ',SE:'SWE',CH:'CHE',SY:'SYR',TW:'TWN',TJ:'TJK',TZ:'TZA',TH:'THA',TL:'TLS',\r\n TG:'TGO',TK:'TKL',TO:'TON',TT:'TTO',TN:'TUN',TR:'TUR',TM:'TKM',TC:'TCA',TV:'TUV',UG:'UGA',UA:'UKR',AE:'ARE',GB:'GBR',\r\n US:'USA',UM:'UMI',UY:'URY',UZ:'UZB',VU:'VUT',VE:'VEN',VN:'VNM',VI:'VIR',WF:'WLF',EH:'ESH',YE:'YEM',ZM:'ZMB',ZW:'ZWE'\r\n };\r\n return table[country] ? table[country] : 'FRA';\r\n };\r\n \r\n /**\r\n * Renvoie le pays sélectionné ou le pays par défaut spécifié dans les options\r\n * @returns {string}\r\n */\r\n myDQE.selected_country = function() {\r\n var country = myDQE.countryField ? myDQE.countryField.val() : myDQE.country;\r\n if (country.length == 2) return myDQE.convert_iso2(country.toUpperCase());\r\n return country;\r\n };\r\n \r\n myDQE.clear = function() {\r\n myDQE.clearSection('zip');\r\n if (myDQE.zip) myDQE.zip.off(\"input\");\r\n if (myDQE.zipcity) myDQE.removeAutocomplete(myDQE.zipcity);\r\n if (myDQE.single) myDQE.removeAutocomplete(myDQE.single);\r\n };\r\n\r\n /**\r\n * Vérifie l'existence d'un foyer au nom demandé à l'adresse indiquée \r\n * @param street\r\n * @param zip\r\n * @param city\r\n * @param lastname\r\n * @param firstname\r\n * @param callback_function_name\r\n */\r\n myDQE.idcheck = function(street, zip, city, lastname, firstname, callback_function_name) {\r\n var params = {fn: \"SEARCH\", Address: myDQE.remove_accents(street), PostalCode: zip, City: myDQE.remove_accents(city), LastName: myDQE.remove_accents(lastname), FirstName: myDQE.remove_accents(firstname), Version: 2};\r\n var url = myDQE.url(params);\r\n myDQE.ajax(url, function(data) {\r\n window[callback_function_name](data);\r\n });\r\n };\r\n\r\n /**\r\n * Recherche la typologie d'un foyer situé à l'adresse indiquée\r\n * @param street\r\n * @param zip\r\n * @param city (facultatif)\r\n * @param callback_function_name\r\n */\r\n myDQE.lifestyle = function(street, zip, city, callback_function_name) {\r\n var ko = {status: 0};\r\n var url = myDQE.url({server: \"es\", fn: \"GETINFOLIFESTYLE\", Address: street, PostalCode: zip});\r\n myDQE.ajax(url, function(result) {\r\n var data = {status: 1};\r\n if (!result || !result['DATA1']) {\r\n window[callback_function_name](ko);\r\n return;\r\n }\r\n result = result['DATA1'];\r\n data['code'] = myDQE.house_typo(result, 1);\r\n data['typo'] = myDQE.house_typo(result);\r\n for (var key in result) {\r\n if (!result.hasOwnProperty(key)) continue;\r\n if (key.substr(0, 5) == 'TYPO_') continue;\r\n data[key.toLowerCase()] = result[key];\r\n }\r\n window[callback_function_name](data);\r\n });\r\n\r\n };\r\n\r\n /**\r\n * Renvoie les coordonnées GPS sous réserve que l'on dispose du street_id et du num\r\n * Dès que les coordonnées sont obtenues (ou pas}, la fonction callback_function_name est appelée\r\n * @param callback_function_name\r\n */\r\n myDQE.latlng = function(callback_function_name) {\r\n var num = myDQE.current_number ? myDQE.current_number : \"\";\r\n var street_id = myDQE.current_street_id;\r\n var ko = {status: 0, msg: 'Coordonnées non trouvées'};\r\n if (!street_id) {\r\n window[callback_function_name](ko);\r\n return;\r\n }\r\n\r\n var url = myDQE.url({fn: \"LATLG\", IDVoie: street_id, Num: num, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n if (!data || !data[1]) {\r\n window[callback_function_name](ko);\r\n return;\r\n }\r\n data = data[1];\r\n if (data['Latitude'] == 0 && data['Longitude'] == 0) window[callback_function_name](ko);\r\n else {\r\n data['status'] = 1;\r\n window[callback_function_name](data);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Renvoie true si le code postal est correct\r\n * @returns {boolean}\r\n */\r\n myDQE.valid_zip = function(zip) {\r\n var country = myDQE.selected_country();\r\n if (!myDQE.zip_pattern[country]) return true;\r\n return zip.match(myDQE.zip_pattern[country]);\r\n };\r\n \r\n myDQE.num_is_after = function() {\r\n var country = myDQE.selected_country();\r\n return !!myDQE.reversed_countries[country];\r\n };\r\n \r\n myDQE.recombine_street = function(num, street_type, street_name, nia) {\r\n var parts = [];\r\n if (!nia) nia = myDQE.num_is_after();\r\n if (nia) {\r\n //Le n° est placé après la rue\r\n if (street_type) parts.push(street_type);\r\n if (street_name) parts.push(street_name);\r\n if (num) parts.push(num);\r\n }\r\n else {\r\n //Le n° est placé avant la rue\r\n if (num) parts.push(num);\r\n if (street_type) parts.push(street_type);\r\n if (street_name) parts.push(street_name);\r\n }\r\n return parts.join(\" \");\r\n };\r\n\r\n /**\r\n * Vérifie si le code postal a changé suite au changement de numéro dans la voie\r\n */\r\n myDQE.num_final_check = function() {\r\n var country = myDQE.selected_country();\r\n if ((country === 'BEL' || country === 'PRT') && myDQE.current_street_id && myDQE.current_city_id && myDQE.current_zip) {\r\n var url = myDQE.url({fn: \"NUM\", Numero: myDQE.current_number, IDVoie: myDQE.current_street_id, IDLocalite: myDQE.current_city_id, CodePostal: myDQE.current_zip, Pays: country});\r\n myDQE.ajax(url, function(data) {\r\n if (data && data['1'] && data['1']['IDLocalite']) {\r\n var zip = data['1']['CodePostal'];\r\n var city_id = data['1']['IDLocalite'];\r\n var city = data['1']['Localite'];\r\n console.log(city, city_id, myDQE.current_city_id);\r\n if (myDQE.zip && myDQE.current_zip !== zip) myDQE.fill_zip(zip);\r\n if (myDQE.current_city_id !== city_id) {\r\n myDQE.current_city_id = city_id;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n if (myDQE.city) myDQE.city.val(city);\r\n }\r\n\r\n if (myDQE.zipcity && (myDQE.current_zip !== zip || myDQE.current_city_id !== city_id)) {\r\n myDQE.zipcity.val(zip + ' ' + city);\r\n myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n }\r\n });\r\n\r\n }\r\n };\r\n\r\n /**\r\n * Affiche un menu déroulant de la liste des numéros disponibles pour la rue sélectionnée\r\n * (uniquement si le champ numéro est séparé de l'adresse)\r\n */\r\n myDQE.show_numbers = function() {\r\n myDQE.force_num_in_street = false;\r\n var street_id = myDQE.current_street_id;\r\n var city_id = myDQE.current_city_id;\r\n var zip = myDQE.current_zip;\r\n if (!myDQE.number) return;\r\n\r\n myDQE.number.focus();\r\n \r\n myDQE.number.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n if (myDQE.single && myDQE.current_numbers_source) {\r\n response(myDQE.current_numbers_source);\r\n }\r\n else {\r\n var url = myDQE.url({fn: \"NUM\", IDVoie: street_id, IDLocalite: city_id, CodePostal: zip, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n response(myDQE.filter_num(data));\r\n });\r\n }\r\n },\r\n minLength: 0,\r\n select: function(event, ui) {\r\n myDQE.clearSection(\"compl\");\r\n myDQE.current_number = ui.item.value;\r\n myDQE.number.val(ui.item.value);\r\n myDQE.show_complements();\r\n myDQE.execute_trigger('number', [ui.item.value]);\r\n \r\n //On appelle une dernière fois NUM pour savoir si le code postal change en fonction du numéro dans la voie\r\n myDQE.num_final_check();\r\n \r\n if (myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n return false;\r\n },\r\n open: function(event, ui) {\r\n $('.ui-autocomplete').css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden');\r\n },\r\n response: function( event, ui ) {\r\n var numbers = ui.content.length;\r\n if (numbers === 0 && myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n }\r\n }).focus(function() {\r\n if ($(this).data('ui-autocomplete')) $(this).autocomplete(\"search\", $(this).val());\r\n });\r\n myDQE.number.focus();\r\n };\r\n\r\n /**\r\n * Affiche la liste des numéros disponibles pour l'adresse indiquée dans le champ adresse afin de le compléter\r\n */\r\n myDQE.load_addresses_with_numbers = function() {\r\n myDQE.force_num_in_street = false;\r\n var city_id = myDQE.current_city_id;\r\n var zip = myDQE.current_zip;\r\n var street_id = myDQE.current_street_id;\r\n var street = myDQE.street.val();\r\n var num_is_after = myDQE.num_is_after();\r\n \r\n var url = myDQE.url({fn: \"NUM\", IDVoie: street_id, IDLocalite: city_id, CodePostal: zip, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n data = myDQE.filter_num(data);\r\n var len = data.length;\r\n var num, lbl;\r\n var streets = [];\r\n var line;\r\n for (var i = 0; i < len; i++) {\r\n num = data[i].value;\r\n lbl = num_is_after ? street + \" \" + num : num + \" \" + street;\r\n line = {value: street_id, number: num, label: lbl, simple_label: lbl};\r\n if (data[i].street_id) line['street_id'] = data[i].street_id;\r\n if (data[i].street) line['street'] = data[i].street;\r\n streets.push(line);\r\n }\r\n\r\n if (streets.length === 0 && myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n\r\n if (myDQE.street.data('ui-autocomplete') && streets.length > 0) {\r\n myDQE.street.autocomplete(\"option\", \"source\", streets);\r\n myDQE.street.autocomplete(\"option\", \"minLength\", 0);\r\n myDQE.street.autocomplete(\"search\", myDQE.street.val());\r\n }\r\n });\r\n };\r\n\r\n myDQE.load_addresses_with_bp = function(prefix, numbers) {\r\n myDQE.force_num_in_street = true;\r\n var street_id = myDQE.current_street_id;\r\n prefix = prefix.replace('_BP_:', '');\r\n prefix = prefix.replace('_BP_', '');\r\n\r\n var len = numbers.length;\r\n var num, lbl;\r\n var streets = [];\r\n for (var i = 0; i < len; i++) {\r\n num = numbers[i];\r\n lbl = prefix.replace('BP_', num);\r\n streets.push({value: street_id, number: num, label: lbl, simple_label: lbl});\r\n }\r\n\r\n if (!myDQE.street.data('ui-autocomplete')) myDQE.show_streets();\r\n myDQE.street.autocomplete(\"option\", \"source\", streets);\r\n myDQE.street.autocomplete(\"option\", \"minLength\", 0);\r\n myDQE.street.autocomplete(\"search\", myDQE.street.val());\r\n };\r\n \r\n myDQE.set_number = function(result) {\r\n myDQE.execute_trigger('number', [result.number]);\r\n myDQE.current_number = result.number;\r\n myDQE.num_final_check();\r\n if (myDQE.number) myDQE.number.val(result.number);\r\n if (myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n myDQE.show_complements();\r\n };\r\n\r\n myDQE.show_streets = function(reloading) {\r\n myDQE.clearSection(\"number\");\r\n var single = myDQE.single && myDQE.current_numbers_source ? true : false;\r\n\r\n if (myDQE.street) {\r\n if (!single) myDQE.current_street_id = '';\r\n if (!reloading && !single) myDQE.street.val('');\r\n myDQE.street.focus();\r\n myDQE.street.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n if (single) {\r\n response(myDQE.current_numbers_source);\r\n }\r\n else {\r\n var url = myDQE.url({fn: 'ADR', IDLocalite: myDQE.current_city_id, Adresse: request.term, Instance: 0, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n response(myDQE.filter_adr(data));\r\n });\r\n }\r\n },\r\n minLength: 2,\r\n open: function(event, ui) {\r\n $('.ui-autocomplete')\r\n .css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden')\r\n .find('li').html(function(index, oldHtml) {\r\n return '' + oldHtml + '';\r\n })\r\n ;\r\n },\r\n select: function(event, ui) {\r\n myDQE.adr_autocomplete_used = true;\r\n myDQE.clearSection(\"number\");\r\n myDQE.current_street_id = ui.item.value;\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.street.autocomplete(\"option\", \"minLength\", 2);\r\n\r\n //Si le code postal n'a pas encore été attribué,\r\n //on l'affecte maintenant que la rue a été choisie\r\n if (ui.item.zip && ui.item.city) {\r\n if (myDQE.zipcity) {\r\n //zipcity\r\n var city = ui.item.zip + ' ' + ui.item.city;\r\n if (ui.item.lieudit) {\r\n if (myDQE.local) {\r\n myDQE.local.val(ui.item.lieudit);\r\n myDQE.execute_trigger('local', [ui.item.lieudit]);\r\n }\r\n else city += ', ' + ui.item.lieudit;\r\n }\r\n myDQE.zipcity.val(city);\r\n myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n //zip et city séparés\r\n if (myDQE.zip) {\r\n var zip = myDQE.zip.val();\r\n if (ui.item.zip && zip != ui.item.zip && myDQE.city.val().indexOf(\"CEDEX\") == -1)\r\n myDQE.fill_zip(ui.item.zip);\r\n }\r\n \r\n if (myDQE.city && ui.item.city_id && ui.item.city_id != myDQE.current_city_id) {\r\n //Si la ville change, on la met à jour (cela arrive pour certaines rues belges qui s'étendent sur plusieurs villes) \r\n myDQE.city.val(ui.item.city);\r\n myDQE.execute_trigger(\"city\", ui.item.city);\r\n }\r\n\r\n myDQE.current_zip = ui.item.zip;\r\n myDQE.current_city_id = ui.item.city_id;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n }\r\n\r\n if (ui.item.local && myDQE.local) {\r\n myDQE.local.val(ui.item.local);\r\n myDQE.execute_trigger('local', [ui.item.local]);\r\n }\r\n\r\n if (ui.item.prov && myDQE.prov) {\r\n myDQE.prov.val(ui.item.prov);\r\n myDQE.execute_trigger('prov', [ui.item.prov]);\r\n }\r\n\r\n if (!ui.item.street) ui.item.street = '';\r\n var special_street = ui.item.street.split(',');\r\n if (special_street.length == 3) {\r\n var s0 = myDQE.trim(special_street[0]);\r\n var s1 = myDQE.trim(special_street[1]);\r\n var s2 = myDQE.trim(special_street[2]);\r\n if (s0) {\r\n //Société\r\n var company = s1 ? s0 + \", \" + s1 : s0;\r\n if (myDQE.company) myDQE.company.val(company);\r\n myDQE.execute_trigger('company', [company]); \r\n }\r\n ui.item.street = s2;\r\n myDQE.execute_trigger(\"street\", s2);\r\n }\r\n\r\n if (myDQE.number && !myDQE.force_num_in_street) {\r\n //Champ séparé pour le numéro\r\n myDQE.street.val(ui.item.street);\r\n myDQE.execute_trigger('street', [ui.item.street]);\r\n if (ui.item.number) {\r\n myDQE.set_number(ui.item);\r\n }\r\n else {\r\n //Autocomplete pour la liste des numéros\r\n myDQE.show_numbers();\r\n }\r\n }\r\n else {\r\n //On inclue le numéro avec la rue\r\n myDQE.street.val(ui.item.simple_label);\r\n myDQE.execute_trigger('street', [ui.item.street]);\r\n if (ui.item.number) {\r\n myDQE.set_number(ui.item);\r\n }\r\n else {\r\n myDQE.load_addresses_with_numbers();\r\n }\r\n }\r\n return false;\r\n },\r\n focus: function(event, ui) {\r\n event.preventDefault();\r\n myDQE.street.val(ui.item.simple_label);\r\n }\r\n }).on(\"focus\", function() {\r\n if ($(this).data('ui-autocomplete')) $(this).autocomplete(\"search\", $(this).val());\r\n }).on(\"keypress\", function() {\r\n myDQE.clearSection(\"number\");\r\n if (myDQE.selected_country() == 'FRA') myDQE.clearSection(\"compl\");\r\n \r\n //Si une adresse a déjà été choisie, l'autocomplete est fixé sur certaines adresses\r\n //Tout changement du champ doit donc entrainer une réinitialisation de l'autocomplete\r\n if (myDQE.adr_autocomplete_used) {\r\n myDQE.adr_autocomplete_used = false;\r\n myDQE.removeAutocomplete(myDQE.street);\r\n myDQE.current_street_id = \"\";\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.show_streets(true);\r\n }\r\n });\r\n }\r\n };\r\n\r\n myDQE.removeAutocomplete = function(element) {\r\n if (element.data('ui-autocomplete')) {\r\n element.autocomplete(\"destroy\");\r\n element.removeData(\"ui-autocomplete\");\r\n }\r\n };\r\n\r\n myDQE.clearSection = function(section) {\r\n if (section == 'zip' && myDQE.zip) {\r\n myDQE.override_reset();\r\n myDQE.zip.val(\"\");\r\n myDQE.clearSection(\"city\");\r\n myDQE.current_zip = \"\";\r\n }\r\n if (section == 'city' && myDQE.city) {\r\n myDQE.override_reset();\r\n myDQE.city.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.city);\r\n myDQE.clearSection(\"local\");\r\n myDQE.clearSection(\"street\");\r\n myDQE.clearSection(\"prov\");\r\n myDQE.clearSection(\"compl\");\r\n myDQE.current_city_id = \"\";\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n }\r\n if (section == 'local' && myDQE.local) {\r\n myDQE.local.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.local);\r\n myDQE.clearSection(\"street\");\r\n myDQE.clearSection(\"compl\");\r\n myDQE.current_local_id = \"\";\r\n }\r\n if (section == 'street' && myDQE.street) {\r\n myDQE.street.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.street);\r\n myDQE.clearSection(\"number\");\r\n myDQE.current_street_id = \"\";\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.execute_trigger(\"override\");\r\n }\r\n if (section == 'number') {\r\n if (myDQE.number) {\r\n myDQE.number.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.number);\r\n myDQE.current_number = \"\";\r\n myDQE.current_numbers_source = [];\r\n }\r\n }\r\n if (section == 'compl' && myDQE.compl) {\r\n myDQE.compl.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.compl);\r\n myDQE.current_compl = \"\";\r\n myDQE.current_compl_source = [];\r\n }\r\n if (section == 'prov' && myDQE.prov) {\r\n myDQE.prov.val(\"\");\r\n myDQE.current_prov = \"\";\r\n }\r\n if (section == 'zipcity' && myDQE.zipcity) {\r\n myDQE.override_reset();\r\n myDQE.zipcity.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.zipcity);\r\n myDQE.clearSection(\"street\");\r\n myDQE.current_zipcity = \"\";\r\n }\r\n if (section == 'single' && myDQE.single) {\r\n myDQE.single.val(\"\");\r\n myDQE.removeAutocomplete(myDQE.single);\r\n }\r\n };\r\n \r\n myDQE.no_bp = function(text) {\r\n text = myDQE.replace(text, '_BP_:', '');\r\n text = myDQE.replace(text, '_BP_', '');\r\n text = myDQE.replace(text, ' BP_', '');\r\n text = myDQE.replace(text, 'BP_', '');\r\n return myDQE.trim(text);\r\n };\r\n\r\n /**\r\n * Remplit tous les champs disponibles lorsqu'une ville est choisie\r\n * @param city\r\n */\r\n myDQE.set_city = function(city) {\r\n myDQE.clearSection(\"street\");\r\n if (myDQE.settings.append_locality && city.local) city.city += \", \" + city.local;\r\n if (myDQE.city) myDQE.city.val(city.city);\r\n if (myDQE.compl && city.compl) {\r\n myDQE.compl.val(city.compl);\r\n myDQE.execute_trigger('compl', [city.compl]);\r\n }\r\n else myDQE.clearSection(\"compl\");\r\n if (myDQE.local && city.local) {\r\n myDQE.local.val(city.local);\r\n myDQE.execute_trigger('local', [city.local]);\r\n }\r\n if (myDQE.prov && city.prov) {\r\n myDQE.prov.val(city.prov);\r\n myDQE.current_prov = city.prov;\r\n myDQE.execute_trigger('prov', [city.prov]);\r\n }\r\n\r\n myDQE.current_city_id = city.value;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n myDQE.execute_trigger('city', [city.value, city.city]);\r\n myDQE.show_streets();\r\n\r\n if (city.zip) {\r\n myDQE.current_zip = city.zip;\r\n myDQE.execute_trigger(\"zip\", city.zip)\r\n }\r\n\r\n if (city.street && myDQE.street) {\r\n if (city.street.indexOf('BP_') > -1) {\r\n if (city.numbers) myDQE.load_addresses_with_bp(city.street, city.numbers);\r\n else {\r\n myDQE.street.val(myDQE.no_bp(city.street));\r\n myDQE.execute_trigger(\"street\", city.street);\r\n }\r\n }\r\n else {\r\n myDQE.street.val(city.street);\r\n myDQE.execute_trigger(\"street\", city.street);\r\n }\r\n }\r\n if (city.street_id) {\r\n myDQE.current_street_id = city.street_id;\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.street.autocomplete(\"search\", myDQE.street.val());\r\n }\r\n\r\n //Gestion des noms de société dans le cas des Cedex\r\n if (city.company && myDQE.company) {\r\n myDQE.company.val(city.company);\r\n myDQE.execute_trigger('company', [city.company]);\r\n }\r\n };\r\n \r\n myDQE.extract_city_name = function(city_name) {\r\n var p = city_name.lastIndexOf(\"(\");\r\n if (p == -1) return city_name;\r\n return myDQE.trim(city_name.substr(0, p));\r\n };\r\n \r\n myDQE.calculate_zip = function(city_id, city_name) {\r\n //On peut trouver le code postal en appelant CP avec :\r\n //le code INSEE dans le champ IDLocalite et en laissant le champ CodePostal vide\r\n var url = myDQE.url({fn: 'CP', CodePostal: \"\", IDLocalite: city_id, Instance: 0, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n var len = myDQE.count(data);\r\n var i = 1;\r\n while (data[i]) {\r\n if (len == 1 || data[i]['Localite'] == city_name) {\r\n myDQE.fill_zip(data[i]['CodePostal']);\r\n myDQE.set_city({city: data[i]['Localite'], value: city_id, zip: data[i]['CodePostal']});\r\n break;\r\n }\r\n i++;\r\n }\r\n });\r\n };\r\n \r\n myDQE.search_cities = function() {\r\n myDQE.city_search_enabled = 1;\r\n myDQE.removeAutocomplete(myDQE.city);\r\n myDQE.city.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n var url = myDQE.url({fn: 'CP', CodePostal: request.term, Alpha: 'false', Instance: 0, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n data = myDQE.filter_cities(data, true);\r\n var lines = [];\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i].city.indexOf(\" CEDEX\") == -1) lines.push(data[i]);\r\n }\r\n response(lines);\r\n });\r\n },\r\n minLength: 3,\r\n open: function(event, ui) {\r\n $('.ui-autocomplete')\r\n .css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden')\r\n .find('li').html(function(index, oldHtml) {\r\n return '' + oldHtml + '';\r\n })\r\n ;\r\n },\r\n select: function(event, ui) {\r\n var city_id = ui.item.value;\r\n var city_name = myDQE.extract_city_name(ui.item.city);\r\n myDQE.calculate_zip(city_id, city_name);\r\n return false;\r\n },\r\n focus: function(event, ui) {\r\n event.preventDefault();\r\n }\r\n });\r\n };\r\n\r\n myDQE.search_streets = function () {\r\n myDQE.removeAutocomplete(myDQE.street);\r\n myDQE.street.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function (request, response) {\r\n var url = myDQE.url({ fn: 'ADR', IDLocalite: myDQE.current_city_id, Adresse: request.term, Instance: 0, Pays: myDQE.selected_country() });\r\n myDQE.ajax(url, function (data) {\r\n response(myDQE.filter_adr(data));\r\n });\r\n },\r\n minLength: 2,\r\n open: function (event, ui) {\r\n $('.ui-autocomplete')\r\n .css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden')\r\n .find('li').html(function (index, oldHtml) {\r\n return '' + oldHtml + '';\r\n })\r\n ;\r\n },\r\n select: function (event, ui) {\r\n myDQE.adr_autocomplete_used = true;\r\n myDQE.clearSection(\"number\");\r\n myDQE.current_street_id = ui.item.value;\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.street.autocomplete(\"option\", \"minLength\", 2);\r\n\r\n //Si le code postal n'a pas encore été attribué,\r\n //on l'affecte maintenant que la rue a été choisie\r\n if (ui.item.zip && ui.item.city) {\r\n if (myDQE.zipcity) {\r\n //zipcity\r\n var city = ui.item.zip + ' ' + ui.item.city;\r\n if (ui.item.lieudit) {\r\n if (myDQE.local) {\r\n myDQE.local.val(ui.item.lieudit);\r\n myDQE.execute_trigger('local', [ui.item.lieudit]);\r\n }\r\n else city += ', ' + ui.item.lieudit;\r\n }\r\n myDQE.zipcity.val(city);\r\n myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n //zip et city séparés\r\n if (myDQE.zip) {\r\n var zip = myDQE.zip.val();\r\n if (ui.item.zip && zip != ui.item.zip && myDQE.city.val().indexOf(\"CEDEX\") == -1)\r\n myDQE.fill_zip(ui.item.zip);\r\n }\r\n\r\n if (myDQE.city && ui.item.city_id && ui.item.city_id != myDQE.current_city_id) {\r\n //Si la ville change, on la met à jour (cela arrive pour certaines rues belges qui s'étendent sur plusieurs villes) \r\n myDQE.city.val(ui.item.city);\r\n myDQE.execute_trigger(\"city\", ui.item.city);\r\n }\r\n\r\n myDQE.current_zip = ui.item.zip;\r\n myDQE.current_city_id = ui.item.city_id;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n }\r\n\r\n if (ui.item.local && myDQE.local) {\r\n myDQE.local.val(ui.item.local);\r\n myDQE.execute_trigger('local', [ui.item.local]);\r\n }\r\n\r\n if (ui.item.prov && myDQE.prov) {\r\n myDQE.prov.val(ui.item.prov);\r\n myDQE.execute_trigger('prov', [ui.item.prov]);\r\n }\r\n\r\n if (!ui.item.street) ui.item.street = '';\r\n var special_street = ui.item.street.split(',');\r\n if (special_street.length == 3) {\r\n var s0 = myDQE.trim(special_street[0]);\r\n var s1 = myDQE.trim(special_street[1]);\r\n var s2 = myDQE.trim(special_street[2]);\r\n if (s0) {\r\n //Société\r\n var company = s1 ? s0 + \", \" + s1 : s0;\r\n if (myDQE.company) myDQE.company.val(company);\r\n myDQE.execute_trigger('company', [company]);\r\n }\r\n ui.item.street = s2;\r\n myDQE.execute_trigger(\"street\", s2);\r\n }\r\n\r\n if (myDQE.number && !myDQE.force_num_in_street) {\r\n //Champ séparé pour le numéro\r\n myDQE.street.val(ui.item.street);\r\n myDQE.execute_trigger('street', [ui.item.street]);\r\n if (ui.item.number) {\r\n myDQE.set_number(ui.item);\r\n }\r\n else {\r\n //Autocomplete pour la liste des numéros\r\n myDQE.show_numbers();\r\n }\r\n }\r\n else {\r\n //On inclue le numéro avec la rue\r\n myDQE.street.val(ui.item.simple_label);\r\n myDQE.execute_trigger('street', [ui.item.street]);\r\n if (ui.item.number) {\r\n myDQE.set_number(ui.item);\r\n }\r\n else {\r\n myDQE.load_addresses_with_numbers();\r\n }\r\n }\r\n return false;\r\n },\r\n focus: function (event, ui) {\r\n event.preventDefault();\r\n myDQE.street.val(ui.item.simple_label);\r\n }\r\n });\r\n };\r\n\r\n myDQE.search_numbers = function () {\r\n myDQE.removeAutocomplete(myDQE.number);\r\n myDQE.number.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function (request, response) {\r\n var url = myDQE.url({ fn: \"NUM\", IDVoie: myDQE.current_street_id, IDLocalite: myDQE.current_city_id, CodePostal: myDQE.zip.val(), Pays: myDQE.selected_country() });\r\n myDQE.ajax(url, function (data) {\r\n response(myDQE.filter_num(data));\r\n });\r\n },\r\n minLength: 0,\r\n select: function (event, ui) {\r\n myDQE.clearSection(\"compl\");\r\n myDQE.current_number = ui.item.value;\r\n myDQE.number.val(ui.item.value);\r\n myDQE.show_complements();\r\n myDQE.execute_trigger('number', [ui.item.value]);\r\n\r\n //On appelle une dernière fois NUM pour savoir si le code postal change en fonction du numéro dans la voie\r\n myDQE.num_final_check();\r\n\r\n if (myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n return false;\r\n },\r\n open: function (event, ui) {\r\n $('.ui-autocomplete').css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden');\r\n },\r\n response: function (event, ui) {\r\n var numbers = ui.content.length;\r\n if (numbers === 0 && myDQE.geoloc) myDQE.latlng(myDQE.geoloc);\r\n }\r\n });\r\n };\r\n\r\n\r\n myDQE.show_cities = function(e) {\r\n myDQE.clearSection(\"city\");\r\n myDQE.override(true, \"zip\"); //Evènement lancé au onInput du champ zip\r\n var zip = myDQE.zip.val();\r\n if (!myDQE.valid_zip(zip)) return;\r\n if (myDQE.local) myDQE.local.val(\"\");\r\n\r\n var url = myDQE.url({fn: 'CP', CodePostal: zip, Alpha: 'false', Instance: 0, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n data = myDQE.filter_cities(data);\r\n var one_city = data.length == 1 && !myDQE.city.val();\r\n if (data && data.length > 0) {\r\n myDQE.zip.val(zip);\r\n myDQE.execute_trigger('zip', [zip]);\r\n myDQE.city.autocomplete({\r\n source: data,\r\n minLength: 0,\r\n open: function(event, ui) {\r\n $('.ui-autocomplete')\r\n .css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden')\r\n .find('li').html(function(index, oldHtml) {\r\n return '' + oldHtml + '';\r\n })\r\n ;\r\n },\r\n select: function(event, ui) {\r\n myDQE.set_city(ui.item);\r\n return false;\r\n }\r\n }).on(\"focus\", function () {\r\n if (!one_city && $(this).data('ui-autocomplete')) $(this).autocomplete(\"search\", $(this).val());\r\n });\r\n if (one_city) {\r\n myDQE.set_city(data[0]);\r\n }\r\n else myDQE.city.focus();\r\n }\r\n });\r\n };\r\n\r\n\r\n myDQE.activate_zipcity_autocomplete = function() {\r\n //Présence d'un champ groupé Code postal/Ville ?\r\n if (myDQE.zipcity && !myDQE.single) {\r\n myDQE.zipcity.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n var country = myDQE.selected_country();\r\n if (myDQE.city_id) {\r\n myDQE.city_id.val('');\r\n }\r\n var url = myDQE.url({fn: 'CP', CodePostal: request.term, Alpha: 'false', Instance: 0, Pays: country});\r\n myDQE.ajax(url, function(data) {\r\n if (myDQE.count(data) > 0) {\r\n myDQE.city_id.val(data[1]['IDLocalite']);\r\n }\r\n data = myDQE.filter_cities(data);\r\n response(data);\r\n });\r\n },\r\n minLength: 3,\r\n open: function(event, ui) {\r\n $('.ui-autocomplete').css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden');\r\n },\r\n select: function(event, ui) {\r\n myDQE.zipcity.val(ui.item.zipcity);\r\n myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n if (myDQE.local && ui.item.local) {\r\n myDQE.local.val(ui.item.local);\r\n myDQE.execute_trigger('local', [ui.item.local]);\r\n }\r\n if (myDQE.prov && ui.item.prov) {\r\n myDQE.prov.val(ui.item.prov);\r\n myDQE.execute_trigger('prov', [ui.item.prov]);\r\n }\r\n\r\n myDQE.current_city_id = ui.item.value;\r\n if (myDQE.city_id)\r\n {\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n }\r\n myDQE.current_zip = ui.item.zip;\r\n myDQE.current_city = ui.item.city;\r\n myDQE.show_streets();\r\n myDQE.execute_trigger('zip', [ui.item.value, ui.item.zip]);\r\n myDQE.execute_trigger('city', [ui.item.value, ui.item.city]);\r\n\r\n if (ui.item.company && myDQE.company) {\r\n myDQE.company.val(ui.item.company);\r\n myDQE.execute_trigger('company', [ui.item.company]);\r\n }\r\n\r\n if (ui.item.street && myDQE.street) {\r\n if (ui.item.street.indexOf('BP_') > -1) {\r\n myDQE.load_addresses_with_bp(ui.item.street, ui.item.numbers);\r\n }\r\n else {\r\n myDQE.street.val(ui.item.street);\r\n myDQE.execute_trigger(\"street\", city.street)\r\n }\r\n }\r\n if (ui.item.street_id) {\r\n myDQE.current_street_id = ui.item.street_id;\r\n myDQE.street_id.val(myDQE.current_street_id);\r\n myDQE.street.autocomplete(\"search\", myDQE.street.val());\r\n }\r\n\r\n return false;\r\n },\r\n focus: function(event, ui) {\r\n event.preventDefault();\r\n }\r\n }).on(\"click\", function () {\r\n var value = myDQE.zipcity.val();\r\n if ($(this).data('ui-autocomplete') && value.length > 2) $(this).autocomplete(\"search\", value);\r\n });\r\n //myDQE.zipcity.click();\r\n }\r\n };\r\n \r\n myDQE.reset_single_autocomplete = function() {\r\n myDQE.street.off(\"input\", myDQE.reset_single_autocomplete);\r\n myDQE.removeAutocomplete(myDQE.single);\r\n myDQE.activate_single_autocomplete();\r\n };\r\n\r\n myDQE.geolocation_ready = function(pos) {\r\n myDQE.lat = pos.coords.latitude;\r\n myDQE.lon = pos.coords.longitude;\r\n myDQE.geoloc_ready = true;\r\n myDQE.single.autocomplete(\"option\", \"minLength\", 0);\r\n myDQE.single.autocomplete(\"search\", myDQE.single.val());\r\n myDQE.single.focus(function() {\r\n if (!myDQE.single.data(\"ui-autocomplete\")) myDQE.activate_single_autocomplete();\r\n myDQE.single.autocomplete(\"search\", myDQE.single.val());\r\n });\r\n };\r\n\r\n myDQE.geolocErrorCallback = function(error){\r\n var errorMessage = 'Unknown error';\r\n switch(error.code) {\r\n case 1:\r\n errorMessage = 'Permission denied';\r\n break;\r\n case 2:\r\n errorMessage = 'Position unavailable';\r\n break;\r\n case 3:\r\n errorMessage = 'Timeout';\r\n break;\r\n }\r\n console.log(errorMessage);\r\n };\r\n\r\n myDQE.setGeolocCity = function(pos) {\r\n myDQE.lat = pos.coords.latitude;\r\n myDQE.lon = pos.coords.longitude;\r\n myDQE.geoloc_ready = true;\r\n\r\n var params = {fn: \"SINGLE\", Adresse: \"\", Pays: myDQE.selected_country(), Lon: myDQE.lon, Lat: myDQE.lat};\r\n var url = myDQE. url(params);\r\n myDQE.ajax(url, function(data) {\r\n if (!data['1']) return;\r\n data = data['1'];\r\n if (myDQE.zipcity) {\r\n myDQE.selected_zipcity_value = data.CodePostal + \" \" + data.Localite;\r\n myDQE.zipcity.val(data.CodePostal + \" \" + data.Localite).trigger(\"input\");\r\n }\r\n if (myDQE.zip) myDQE.zip.val(data.CodePostal).trigger(\"input\");\r\n if (myDQE.city) myDQE.city.val(data.Localite).trigger(\"input\");\r\n myDQE.current_city_id = data.IDLocalite;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n });\r\n };\r\n \r\n myDQE.getGeolocCity = function() {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(myDQE.setGeolocCity, myDQE.geolocErrorCallback, {enableHighAccuracy: true, timeout: 10000, maximumAge: 0});\r\n }\r\n };\r\n\r\n myDQE.activate_single_autocomplete = function() {\r\n //Présence d'un champ de recherche rapide d'adresse ?\r\n if (myDQE.single) {\r\n \r\n if (myDQE.neighbourhood == 2) {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(myDQE.geolocation_ready);\r\n }\r\n }\r\n \r\n myDQE.single.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n var params = {fn: \"SINGLE\", Adresse: request.term, Pays: myDQE.selected_country()};\r\n if (myDQE.neighbourhood == 1) {\r\n var ip = myDQE.ip_field && myDQE.ip_field.val() ? myDQE.ip_field.val() : '';\r\n if (ip) params[\"IP_Trace\"] = ip;\r\n else params[\"IP_Trace\"] = '?';\r\n }\r\n \r\n if (myDQE.neighbourhood == 2 && myDQE.geoloc_ready) {\r\n params[\"Lon\"] = myDQE.lon;\r\n params[\"Lat\"] = myDQE.lat;\r\n if (request.term) params[\"DistAdr\"] = myDQE.neighboursize;\r\n }\r\n \r\n var url = myDQE.url(params);\r\n myDQE.ajax(url, function(data) {\r\n response(myDQE.filter_single(data));\r\n });\r\n },\r\n minLength: myDQE.neighbourhood == 2 && myDQE.geoloc_ready ? 0 : 3,\r\n open: function(event, ui) {\r\n $('.ui-autocomplete').css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden');\r\n },\r\n select: function(event, ui) {\r\n //On remplit les champs CP, ville et lieu-dit\r\n if (myDQE.zip) myDQE.fill_zip(ui.item.zip);\r\n if (myDQE.city) myDQE.city.val(ui.item.city);\r\n if (myDQE.zipcity) {\r\n myDQE.zipcity.val(ui.item.zip + \" \" + ui.item.city);\r\n myDQE.selected_zipcity_value = myDQE.zipcity.val();\r\n }\r\n if (myDQE.local && ui.item.local) {\r\n myDQE.local.val(ui.item.local);\r\n myDQE.current_local = ui.item.local;\r\n myDQE.execute_trigger('local', [ui.item.local]);\r\n }\r\n myDQE.current_city_id = ui.item.city_id;\r\n myDQE.city_id.val(myDQE.current_city_id);\r\n myDQE.current_zip = ui.item.zip;\r\n\r\n //On remplit les champs n° et rue\r\n var street;\r\n if (myDQE.number) {\r\n //Champ numéro séparé\r\n myDQE.number.val(ui.item.num);\r\n street = myDQE.recombine_street('', ui.item.type, ui.item.street);\r\n }\r\n else street = myDQE.recombine_street(ui.item.num, ui.item.type, ui.item.street);\r\n if (myDQE.street) myDQE.street.val(street);\r\n\r\n //Si le numéro n'a pas été saisi ou a été saisi hors bornes,\r\n //on l'affiche en autocomplete du champ rue ou du champ numéro\r\n if (ui.item.nums) {\r\n var numbers = ui.item.nums;\r\n\r\n if (myDQE.number) {\r\n myDQE.current_numbers_source = numbers;\r\n myDQE.show_numbers();\r\n }\r\n else {\r\n var nia = myDQE.num_is_after();\r\n var source = [];\r\n var adr;\r\n var len = numbers.length;\r\n for (var i = 0; i < len; i++) {\r\n adr = myDQE.recombine_street(numbers[i], ui.item.type, ui.item.street, nia);\r\n source.push({value: ui.item.id, 'label': adr, simple_label: adr, street: street, number: numbers[i]});\r\n }\r\n myDQE.current_numbers_source = source;\r\n if (myDQE.settings.single == myDQE.settings.street) {\r\n myDQE.removeAutocomplete(myDQE.single);\r\n }\r\n myDQE.show_streets();\r\n myDQE.street.autocomplete(\"option\", \"minLength\", 0);\r\n myDQE.street.autocomplete(\"search\", myDQE.street.val());\r\n\r\n if (myDQE.settings.single == myDQE.settings.street) {\r\n myDQE.street.on(\"input\", myDQE.reset_single_autocomplete);\r\n }\r\n\r\n }\r\n }\r\n else {\r\n //Le numéro a déjà été sélectionné, on passe directement au champ complément d'adresse\r\n //S'il y a un complément d'adresse, on le stocke dans une propriété de l'objet pour l'avoir comme source\r\n if (ui.item.compl && myDQE.compl) {\r\n myDQE.current_compl_source = ui.item.compl.split(\";\");\r\n myDQE.show_complements();\r\n }\r\n }\r\n\r\n myDQE.execute_trigger('single', ui.item);\r\n return false;\r\n },\r\n focus: function(event, ui) {\r\n event.preventDefault();\r\n }\r\n }).on(\"click\", function () {\r\n var value = myDQE.single.val();\r\n if ($(this).data('ui-autocomplete') && value.length > 2) $(this).autocomplete(\"search\", value);\r\n });\r\n }\r\n };\r\n\r\n myDQE.activate_zipcity_autocomplete();\r\n myDQE.activate_single_autocomplete();\r\n \r\n\r\n //Présence d'un champ complément d'adresse ?\r\n myDQE.show_complements = function() {\r\n if (!myDQE.compl) return;\r\n //4 square leon blum à Puteaux\r\n //20 r Jean Baptiste Pigalle Paris 9\r\n var street_id = myDQE.current_street_id;\r\n var number = myDQE.current_number;\r\n \r\n myDQE.compl.autocomplete({\r\n delay: myDQE.delay(),\r\n source: function(request, response) {\r\n if (myDQE.single && myDQE.current_compl_source && myDQE.current_compl_source.length) {\r\n response(myDQE.current_compl_source);\r\n }\r\n else {\r\n var url = myDQE.url({fn: \"COMPL\", IDVoie: street_id, IDNum: number, Taille: 38, Pays: myDQE.selected_country()});\r\n myDQE.ajax(url, function(data) {\r\n if (!data) return [];\r\n var i = 1;\r\n var complements = [];\r\n while (data[i]) {\r\n complements.push(data[i]['Batiment']);\r\n i++;\r\n }\r\n response(complements);\r\n });\r\n }\r\n },\r\n minLength: 0,\r\n select: function(event, ui) {\r\n myDQE.compl.val(ui.item.value);\r\n myDQE.execute_trigger('compl', [ui.item.value]);\r\n return false;\r\n },\r\n open: function(event, ui) {\r\n $('.ui-autocomplete').css('max-height', '150px').css('overflow-y', 'auto').css('overflow-x', 'hidden');\r\n }\r\n }).focus(function() {\r\n //Au focus, on affiche la liste des compléments disponibles\r\n if ($(this).data('ui-autocomplete')) $(this).autocomplete(\"search\", $(this).val());\r\n });\r\n myDQE.compl.focus();\r\n };\r\n\r\n /**\r\n * Lance un appel RNVP sur l'addresse pour en extraire les composantes\r\n * @param {string} callback_function_name Fonction à appeler avec les résultats de l'analyse\r\n * @param {string} address Adresse\r\n */\r\n myDQE.parse = function(callback_function_name, address) {\r\n if (!address) {\r\n window[callback_function_name]({});\r\n return;\r\n }\r\n var url = myDQE.url({fn: \"RNVP\", Adresse: address, Instance: 0, Taille: 38, Pays: 'FRA'});\r\n myDQE.ajax(url, function(data) {\r\n data = data['1'];\r\n var response = {};\r\n for (var key in data) {\r\n if (!data.hasOwnProperty(key)) continue;\r\n if (key.substr(0, 3) == 'DQE' || key == 'Instance') continue;\r\n response[key] = data[key];\r\n }\r\n window[callback_function_name](response);\r\n });\r\n };\r\n\r\n /**\r\n * Lance un contrôle RNVP sur l'addresse.\r\n * @param {string} callback_function_name Fonction à appeler avec les résultats de l'analyse\r\n * @param {object} address [facultatif] Si address n'est pas fourni, on utilisera les champs déclarés lors de l'appel à DQE address peut contenir les clés suivantes : compl (complément d'adresse), street (numéro et voie), local (lieu-dit), prov (province), zip (code postal), city (ville), country (pays)\r\n */\r\n myDQE.check = function(callback_function_name, address) {\r\n //On recompose l'adresse\r\n var compl, street, local, prov, zip, city;\r\n if (address) {\r\n compl = address.compl ? address.compl : \"\";\r\n street = address.street ? address.street : \"\";\r\n local = address.local ? address.local : \"\";\r\n prov = address.prov ? address.prov : \"\";\r\n zip = address.zip ? address.zip : \"\";\r\n city = address.city ? address.city : \"\";\r\n country = address.country ? address.country : myDQE.selected_country();\r\n }\r\n else {\r\n compl = myDQE.compl ? myDQE.compl.val() : \"\";\r\n street = myDQE.street ? myDQE.street.val() : \"\";\r\n local = myDQE.local ? myDQE.local.val() : \"\";\r\n prov = myDQE.prov ? myDQE.prov.val() : local;\r\n if (myDQE.number) {\r\n var num = myDQE.number.val();\r\n if (num) street = myDQE.num_is_after() ? street + \" \" + num : num + \" \" + street;\r\n }\r\n\r\n zip = \"\";\r\n city = \"\";\r\n if (myDQE.zipcity) {\r\n var zipcity = myDQE.zipcity.val();\r\n if (myDQE.current_zip && zipcity.indexOf(myDQE.current_zip) == 0) {\r\n var len = myDQE.current_zip.length;\r\n zip = myDQE.current_zip;\r\n city = zipcity.substr(len + 1);\r\n }\r\n else {\r\n var p = zipcity.indexOf(\" \");\r\n if (p > -1) {\r\n zip = zipcity.substr(0, p);\r\n city = zipcity.substr(p + 1);\r\n }\r\n }\r\n }\r\n else {\r\n zip = myDQE.zip.val();\r\n city = myDQE.city.val();\r\n }\r\n\r\n var country = myDQE.selected_country();\r\n }\r\n\r\n address = compl + \"|\" + street + \"|\" + prov + \"|\" + zip + \"|\" + city;\r\n var url = myDQE.url({fn: \"RNVP\", Adresse: address, Instance: 0, Taille: 38, Pays: country});\r\n myDQE.ajax(url, function(data) {\r\n data = data['1'];\r\n var messages = {\r\n 10: \"Adresse correcte\",\r\n 20: \"Adresse correcte (voie non reconnue, mais il s'agit d'un cedex ou d'une BP)\",\r\n 21: \"Petite ville, numéro de facade hors bornes\",\r\n 22: \"Petite ville, numéro de facade absent (le reste de l'adresse est correcte)\",\r\n 23: \"Grande ville, numéro de facade hors bornes\",\r\n 24: \"Grande ville, numéro de facade absent (le reste de l'adresse est correcte)\",\r\n 25: \"Si CEDEXA activé, adresse CEDEX inconnue de CEDEXA\",\r\n 30: \"Petite ville, voie non reconnue\",\r\n 31: \"Petite ville, voie non reconnue (quartier reconnu ne permettant pas de déduire la voie)\",\r\n 40: \"Petite ville, voie absente (quartier reconnu ne permettant pas de déduire la voie)\",\r\n 41: \"Petite ville, voie absente\",\r\n 50: \"Grande ville, voie non reconnue\",\r\n 51: \"Grande ville, voie non reconnue (quartier reconnu ne permettant pas de déduire la voie)\",\r\n 60: \"Grande ville, voie absente (quartier reconnu ne permettant pas de déduire la voie)\",\r\n 61: \"Grande ville, voie absente\",\r\n 70: \"CP/Ville non corrigeable (voie présente)\",\r\n 80: \"CP/Ville non corrigeable (voie absente)\",\r\n 90: \"Adresse internationale détectée\"\r\n };\r\n\r\n var code = parseInt(data['DQECodeDetail'], 10);\r\n if (isNaN(code)) code = 0;\r\n var error = parseInt(data['DQECodeErreur'], 10);\r\n if (isNaN(error)) error = 0;\r\n var msg = code == 0 ? data['DQELibErreur'] : messages[code];\r\n\r\n if (!code && !error && data['DQECodeErreur'] == 'KO') {\r\n code = 90;\r\n error = 1;\r\n }\r\n \r\n var response = {\r\n 'data': code,\r\n 'error': error,\r\n 'label': msg,\r\n 'status_iris_ilot': data['Status_IrisIlot'],\r\n 'iris': data['iris'],\r\n 'ilot': data['ilot']\r\n };\r\n \r\n if (data['ListeNumero']) response['known_numbers'] = data['ListeNumero'];\r\n \r\n //Adresse normalisée\r\n var normalized = {};\r\n normalized['compl'] = data['Complement'] ? data['Complement'] : '';\r\n normalized['street'] = data['Adresse'] ? data['Adresse'] : '';\r\n normalized['street_name'] = data['Voie'] ? data['Voie'] : '';\r\n normalized['street_type'] = data['TypeVoie'] ? data['TypeVoie'] : '';\r\n normalized['number'] = data['Numero'] ? data['Numero'] : '';\r\n normalized['num_short'] = data['NumSeul'] ? data['NumSeul'] : '';\r\n normalized['local'] = data['LieuDit'] ? data['LieuDit'] : '';\r\n normalized['zip'] = data['CodePostal'] ? data['CodePostal'] : '';\r\n normalized['city'] = data['Localite'] ? data['Localite'] : '';\r\n response['normalized'] = normalized;\r\n\r\n //Corrections apportées à l'adresse\r\n if (!error) {\r\n var corrections = {};\r\n if (compl != data['Complement']) corrections['compl'] = data['Complement'];\r\n if (street != data['Adresse']) {\r\n corrections['street'] = data['Adresse'];\r\n corrections['street_name'] = data['Voie'];\r\n corrections['street_type'] = data['TypeVoie'];\r\n corrections['number'] = data['NumSeul'];\r\n }\r\n if (local != data['LieuDit']) corrections['local'] = data['LieuDit'];\r\n if (zip != data['CodePostal']) corrections['zip'] = data['CodePostal'];\r\n if (city != data['Localite']) corrections['city'] = data['Localite'];\r\n if (myDQE.count(corrections) > 0) response['corrections'] = corrections;\r\n }\r\n\r\n window[callback_function_name](response);\r\n });\r\n \r\n };\r\n \r\n myDQE.iptracker = function(ip, callback_function_name) {\r\n var ko = {status: 0, msg: 'Adresse IP non identifiée'};\r\n if (!ip) {\r\n window[callback_function_name](data);\r\n return;\r\n }\r\n var url = myDQE.url({fn: \"CP\", CodePostal: ip, Pays: 'FRA'});\r\n myDQE.ajax(url, function(data) {\r\n if (!data || !data[1]) window[callback_function_name](ko);\r\n data = data[1];\r\n if (data['Latitude'] == 0 && data['Longitude'] == 0) window[callback_function_name](ko);\r\n data['status'] = 1;\r\n window[callback_function_name](data);\r\n });\r\n };\r\n\r\n \r\n if (myDQE.zip) {\r\n myDQE.zip.on(\"input\", myDQE.show_cities);\r\n }\r\n \r\n if (myDQE.city && myDQE.city_search) {\r\n //La recherche de CP depuis le champ ville s'active uniquement lorsqu'on commence à modifier le champ ville\r\n myDQE.city.on(\"input\", function() {\r\n if (!myDQE.city_search_enabled) myDQE.search_cities();\r\n }).on(\"blur\", function() {\r\n if (myDQE.city_search_enabled) {\r\n myDQE.city_search_enabled = 0;\r\n myDQE.removeAutocomplete(myDQE.city);\r\n }\r\n });\r\n }\r\n\r\n if (myDQE.city_id)\r\n {\r\n myDQE.current_city_id = myDQE.city_id.val();\r\n }\r\n if (myDQE.street_id)\r\n {\r\n myDQE.current_street_id = myDQE.street_id.val();\r\n }\r\n if (myDQE.current_city_id && myDQE.street) {\r\n myDQE.search_streets();\r\n }\r\n if (myDQE.current_city_id\r\n && myDQE.current_street_id\r\n && myDQE.number) {\r\n myDQE.search_numbers();\r\n }\r\n myDQE.override_events();\r\n return myDQE;\r\n };\r\n\r\n}( jQuery ));\r\n","; (function ($, window, document, undefined) {\r\n 'use strict';\r\n // nom de librairie à modifier\r\n Foundation.libs.account = {\r\n name: 'account',\r\n\r\n version: '1.0.0',\r\n\r\n settings: {\r\n callback: function () { }\r\n },\r\n\r\n init: function (scope, method, options) {\r\n // initialisation à conserver\r\n Foundation.inherit(this, '');\r\n var self = this;\r\n\r\n // à conserver\r\n this.bindings(method, options);\r\n },\r\n initFormulaire: function () {\r\n $.validator.addMethod(\r\n \"regex\",\r\n function (value, element, regexp) {\r\n var re = new RegExp(regexp);\r\n return this.optional(element) || re.test(value);\r\n },\r\n \"Please check your input.\"\r\n );\r\n $('#form-identification-login-password').validate(\r\n {\r\n errorContainer: $(\"#form-identification-login-password span.error\"),\r\n }\r\n );\r\n $('#form-identification-numero-nom').validate(\r\n {\r\n errorContainer: $(\"#form-identification-identification-password span.error\"),\r\n }\r\n );\r\n $('#form-creation-compte').validate(\r\n {\r\n errorContainer: $(\"#span-error-resume\"),\r\n }\r\n );\r\n $('#form-modification-compte').validate(\r\n {\r\n errorContainer: $(\"#span-error-resume\"),\r\n }\r\n );\r\n $('#form-mot-de-passe-oublie').validate({\r\n rules: {\r\n email: {\r\n required: true,\r\n regex: \"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}\"\r\n },\r\n }\r\n });\r\n\r\n\r\n },\r\n initPopin: function () {\r\n\r\n },\r\n initToolTip: function () {\r\n $('.hasTooltip').each(function () {\r\n $(this).qtip({\r\n content: {\r\n text: $(this).next('div') // Use the \"div\" element next to this for the content\r\n },\r\n show: {\r\n delay: 200,\r\n effect: function () {\r\n $(this).show(\"slide\", { direction: \"down\" }, \"fast\");\r\n }\r\n },\r\n hide: {\r\n fixed: true,\r\n delay: 500,\r\n effect: function () {\r\n $(this).hide(\"slide\", { direction: \"down\" }, \"fast\");\r\n },\r\n },\r\n position: { my: 'bottom center', at: 'top center', adjust: { y: -28 } }\r\n\r\n });\r\n });\r\n },\r\n update: function (data) {\r\n $.ajaxSetup({ cache: false });\r\n $(data.elt).html(data.response);\r\n $(document).foundation('tab', 'init');\r\n $(document).foundation('reveal', 'init');\r\n $(document).foundation('alert', 'init');\r\n $(\".has-mq-class\").mqClass();\r\n $(document).foundation('account', 'initToolTip');\r\n $(document).foundation('account', 'initPopin');\r\n $(document).foundation('account', 'initFormulaire');\r\n },\r\n events: function () {\r\n var self = this;\r\n var S = this.S;\r\n $(this.scope)\r\n .ready(function (event) {\r\n $.ajaxSetup({ cache: false });\r\n $(document).foundation('tab', 'init');\r\n $(document).foundation('reveal', 'init');\r\n $(document).foundation('account', 'initToolTip');\r\n $(document).foundation('account', 'initPopin');\r\n $(document).foundation('account', 'initFormulaire');\r\n\r\n })\r\n .on('submit', '#form-mot-de-passe-oublie', function (event) {\r\n event.preventDefault();\r\n $('#form-mot-de-passe-oublie').validate(\r\n {\r\n errorContainer: $(\"#form-mot-de-passe-oublie span.error\"),\r\n }\r\n );\r\n if ($('#form-mot-de-passe-oublie').valid()) {\r\n var email = $('#input-email').val();\r\n var jqxhr = $.getJSON('/Account/RecupererIdentifiants', { email: email }, function (data) {\r\n if (data.IsValid) {\r\n $('#popin-informations #title').html('MOT DE PASSE OU IDENTIFIANT OUBLIÉ ?');\r\n $('#popin-informations #infos').html('Un email contenant vos informations de connexion vient de vous être envoyé.');\r\n $('#popin-informations').foundation('reveal', 'open');\r\n }\r\n else {\r\n var html = '';\r\n for (var i = 0; i < data.Erreurs.length; i++) {\r\n html += data.Erreurs[i] + '
';\r\n }\r\n\r\n $('#erreur-globale .error-text').html(html);\r\n $('#erreur-globale').foundation('reveal', 'open');\r\n }\r\n })\r\n }\r\n })\r\n .on('click', '#button-connecter-login-password', function (event) {\r\n event.preventDefault();\r\n if ($('#form-identification-login-password').valid()) {\r\n var idClient = $('#input-id-client').val();\r\n var paswword = $('#input-password-client').val();\r\n var jqxhr = $.getJSON('/Account/IdentifierClientByLoginAndPassword', {\r\n login: idClient, password: paswword\r\n }, function (data) {\r\n if (data.IsValid) {\r\n var url = $('#button-connecter-login-password').attr('data-url');\r\n if (url != null && url != \"\" && typeof (url) != \"undefined\")\r\n window.location = url;\r\n else\r\n window.location = data.Redirection;\r\n }\r\n else {\r\n var html = '';\r\n for (var i = 0; i < data.Erreurs.length; i++) {\r\n html += data.Erreurs[i] + '
';\r\n }\r\n\r\n $('#erreur-globale .error-text').html(html);\r\n $('#erreur-globale').foundation('reveal', 'open');\r\n }\r\n })\r\n }\r\n })\r\n .on('click', '#button-connecter-numero-nom', function (event) {\r\n event.preventDefault();\r\n if ($('#form-identification-numero-nom').valid()) {\r\n var idClient = $('#input-numero-client').val();\r\n var nomClient = $('#input-nom-client').val();\r\n var jqxhr = $.getJSON('/Account/IdentifierClientByNumberAndName', { numeroClient: idClient, nom: nomClient }, function (data) {\r\n if (data.IsValid) {\r\n var url = $('#button-connecter-numero-nom').attr('data-url');\r\n if (url != null && url != \"\" && typeof (url) != \"undefined\")\r\n window.location = url;\r\n else\r\n window.location = data.Redirection;\r\n }\r\n else {\r\n var html = '';\r\n for (var i = 0; i < data.Erreurs.length; i++) {\r\n html += data.Erreurs[i] + '
';\r\n }\r\n\r\n $('#erreur-globale .error-text').html(html);\r\n $('#erreur-globale').foundation('reveal', 'open');\r\n }\r\n })\r\n }\r\n })\r\n .on('toggled', '#tab-account', function (event, tab) {\r\n console.log(tab);\r\n })\r\n ;\r\n },\r\n\r\n reflow: function () { }\r\n };\r\n}(jQuery, window, window.document));\r\n\r\n"]}