{"version":3,"sources":["capadresse.js","foundation.account.js","jquery.dqe.js"],"names":["bindFormulaireAdresse","$form","$","val","bindLaPoste","bindCapAdress","toggleTel","off","on","e","target","value","show","hide","unbindFormulaireAdresse","document","jQuery","data","autocomplete","removeData","event","keyCode","which","preventDefault","length","this","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","IsValid","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","Foundation","libs","account","name","version","settings","callback","init","scope","method","inherit","bindings","initFormulaire","validator","addMethod","element","regexp","re","RegExp","optional","test","validate","errorContainer","rules","email","required","regex","initPopin","initToolTip","each","qtip","content","delay","effect","direction","fixed","position","my","at","adjust","y","update","ajaxSetup","cache","elt","html","foundation","mqClass","events","S","ready","valid","i","Erreurs","paswword","idClient","login","password","url","attr","location","Redirection","nomClient","numeroClient","nom","tab","console","log","reflow","fn","myDQE","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","extend","trace","append_locality","single","neighbourhood","ip_field","neighboursize","lon","lat","geoloc_ready","countryField","clearSection","activate_zipcity_autocomplete","activate_single_autocomplete","asmx","toLowerCase","ajax","dataType","jsonp","success","JSON","parse","crossdomain","result","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","charAt","override_events","override","execute_trigger","field","trigger","count","t","cnt","trimLeft","charlist","undefined","trimRight","string","by","slen","pos","substring","Array","prototype","searchElement","fromIndex","k","TypeError","O","Object","n","Math","abs","Infinity","max","filter_cities","voie","id","cities","result_count","province","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","show_numbers","force_num_in_street","current_numbers_source","show_complements","open","css","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","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","common","hidePreloader","beforeSend","showPreloader"],"mappings":"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AAI,EAAA,WAEAC,EAAA5E,KAAAuE,CAAA,EACAtK,CAAA,GAEA,OAAA2K,CACA,EAEAzJ,EAAA6J,WAAA,SAAA1U,EAAA2U,GACA,IACAjV,EACA6P,EAFAqF,EAAA,GAEA,IAAArF,KAAAvP,EACA,GAAAA,EAAAyP,eAAAF,CAAA,IACA7P,EAAAM,EAAAuP,GACA,UAAAA,EAAAwD,OAAA,EAAA,CAAA,IAAA,GAAAjF,SAAApO,EAAA,EAAA,EAAA,CACAkV,EAAArF,EAAAwD,OAAA,CAAA,EACA,KACA,CAEA,OAAA6B,EAEAD,EAAAC,EAEA,CACAC,GAAA,CACA,2BACA,oCACA,qCACA,wCAEAC,GAAA,CACA,4CACA,0CACA,qCACA,+BAEAC,GAAA,CACA,2CACA,mCACA,eACA,qCAEAC,GAAA,CACA,sCACA,iCACA,8BACA,mCAEAC,GAAA,CACA,sCACA,oCACA,+BACA,mCAEAC,GAAA,CACA,sCACA,mCACA,sCACA,uBAEAC,GAAA,CACA,wBACA,yCACA,yCACA,2CAEAC,GAAA,CACA,0CACA,0BACA,gCACA,sCAEAC,GAAA,CACA,gCACA,sCACA,uCACA,8CAEAC,GAAA,CACA,2CACA,yCACA,0CAEAC,GAAA,CACA,2CACA,wCACA,0CACA,yBAEAC,GAAA,CACA,qCACA,2CACA,oCACA,wBAEAC,GAAA,CACA,kCACA,qBACA,iCACA,oBAEAC,GAAA,CACA,mCACA,oCACA,mCAEAC,GAAA,CACA,uCACA,sCACA,6BACA,8BAEAC,GAAA,CACA,wCACA,uBACA,mCACA,0CAEAC,GAAA,CACA,iCACA,2BACA,+BACA,wBAEAC,GAAA,CACA,sBACA,kCACA,kBACA,0CAEAC,GAAA,CACA,8BACA,uCACA,kBACA,mCAEAC,GAAA,CACA,oCACA,kCACA,6CACA,wCAEAC,GAAA,CACA,4CACA,sCACA,cACA,4CAEAC,GAAA,CACA,sCACA,6CACA,mBACA,uBAEAC,GAAA,CACA,0CACA,mDACA,0BAEAC,GAAA,CACA,qCACA,wCACA,uCACA,mCAEAC,GAAA,CACA,4CACA,0BACA,uCAEA,EAEAzB,IAAA,GAzJA,EA0JA,EAEA/J,EAAAyL,SAAA,SAAAtR,GACA6F,EAAA+F,gBAAA,MAAA,CAAA5L,EAAA,EAEA,OADA6F,EAAAwC,iBAAA,GACArI,EAAA0I,MAAA,SAAA,IACA1I,EAAAA,EAAA+N,OAAA,EAAA,CAAA,EAAA,IAAA/N,EAAA+N,OAAA,CAAA,GAEAlI,EAAA7F,KAAA6F,EAAA7F,IAAA9F,IAAA8F,CAAA,CACA,EAEA6F,EAAA0L,aAAA,SAAAxR,GACA,IAAAyR,EAAA,CACAC,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,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,G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","file":"../catalog.min.js","sourcesContent":["$(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 ($, 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","(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"]}