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

Image : ' + filename + '

');\r\n $(\".a-filename__remove\").bind(\"click\", function (e) {\r\n e.preventDefault();\r\n _this.removeFile();\r\n });\r\n }\r\n };\r\n FileInput.prototype.removeFile = function () {\r\n if ($(\".a-filename\").get(0)) {\r\n $(\".a-filename__remove\").unbind(\"click\");\r\n $(\".a-filename\").remove();\r\n }\r\n this.DOM.input.val(\"\");\r\n this.removeImagePreview();\r\n if (this.options.onRemove) {\r\n this.options.onRemove.bind(this)();\r\n }\r\n };\r\n FileInput.prototype.addImagePreview = function (src, fileExtension) {\r\n var div = document.createElement(\"div\");\r\n if (fileExtension === \"pdf\") {\r\n var iframe = document.createElement(\"iframe\");\r\n iframe.src = src;\r\n div.appendChild(iframe);\r\n this.DOM.imageWrapper.html(div);\r\n }\r\n else {\r\n var image = new Image();\r\n image.src = src;\r\n div.appendChild(image);\r\n this.DOM.imageWrapper.html(div);\r\n }\r\n };\r\n FileInput.prototype.removeImagePreview = function () {\r\n this.DOM.imageWrapper.html(\"\");\r\n };\r\n FileInput.prototype.readURL = function (input, filename, fileExtension) {\r\n var _this = this;\r\n if (input.files && input.files[0]) {\r\n var reader = new FileReader();\r\n reader.onload = function (e) {\r\n var src = e.target.result;\r\n _this.file = {\r\n src: src,\r\n name: filename,\r\n ext: fileExtension\r\n };\r\n if (_this.DOM.imageWrapper.get(0)) {\r\n _this.addImagePreview(src, fileExtension);\r\n }\r\n _this.changeFileNameText(input, filename);\r\n if (_this.options.onChange) {\r\n _this.options.onChange.bind(_this)();\r\n }\r\n };\r\n reader.readAsDataURL(input.files[0]);\r\n }\r\n };\r\n FileInput.prototype.checkFileExtension = function (ext) {\r\n var isValid = false;\r\n if (this.formats.length === 0) {\r\n isValid = true;\r\n }\r\n else {\r\n this.formats.forEach(function (format) {\r\n if (format === ext) {\r\n isValid = true;\r\n }\r\n });\r\n }\r\n return isValid;\r\n };\r\n FileInput.prototype.addEvents = function () {\r\n var _this = this;\r\n this.DOM.input.change(function (e) {\r\n var input = e.target;\r\n if (input.value) {\r\n var file = input.files[0];\r\n var fileName = file.name;\r\n var fileSize = Math.round((file.size / 1024) * 100) / 100;\r\n var dotIndex = fileName.lastIndexOf(\".\") + 1;\r\n var fileExtension = fileName.substr(dotIndex, fileName.length).toLowerCase();\r\n var isFileExtensionValid = _this.checkFileExtension(fileExtension);\r\n if (!isFileExtensionValid) {\r\n _this.DOM.errorWrapper.removeClass(\"field-validation-valid\");\r\n _this.DOM.errorWrapper.addClass(\"field-validation-error a-message -error\");\r\n if (_this.DOM.input.data(\"format-error-msg\")) {\r\n _this.DOM.errorWrapper.html(_this.DOM.input.data(\"format-error-msg\"));\r\n }\r\n else {\r\n var formatsErrorMessage = \"Veuillez sélectionner un fichier au format\";\r\n _this.formats.forEach(function (format, index) {\r\n if (index !== _this.formats.length - 1) {\r\n formatsErrorMessage += \" \" + format.toUpperCase() + \",\";\r\n }\r\n else {\r\n formatsErrorMessage += \" ou \" + format.toUpperCase() + \".\";\r\n }\r\n });\r\n _this.DOM.errorWrapper.html(formatsErrorMessage);\r\n }\r\n }\r\n else {\r\n if (fileSize < _this.options.minKo) {\r\n _this.DOM.errorWrapper.removeClass(\"field-validation-valid\");\r\n _this.DOM.errorWrapper.addClass(\"field-validation-error a-message -error\");\r\n if (_this.DOM.input.data(\"small-file-error-msg\")) {\r\n _this.DOM.errorWrapper.html(_this.DOM.input.data(\"small-file-error-msg\"));\r\n }\r\n else {\r\n _this.DOM.errorWrapper.html(\"Votre fichier est trop petit. Essayez avec un autre fichier.\");\r\n }\r\n }\r\n else if (fileSize > _this.options.maxKo) {\r\n _this.DOM.errorWrapper.removeClass(\"field-validation-valid\");\r\n _this.DOM.errorWrapper.addClass(\"field-validation-error a-message -error\");\r\n if (_this.DOM.input.data(\"big-file-error-msg\")) {\r\n _this.DOM.errorWrapper.html(_this.DOM.input.data(\"big-file-error-msg\"));\r\n }\r\n else {\r\n _this.DOM.errorWrapper.html(\"Votre fichier est trop lourd. Essayez avec un autre fichier.\");\r\n }\r\n }\r\n else {\r\n _this.DOM.errorWrapper.removeClass(\"field-validation-error a-message -error\");\r\n _this.DOM.errorWrapper.addClass(\"field-validation-valid\");\r\n _this.DOM.errorWrapper.html(\"\");\r\n _this.readURL(input, fileName, fileExtension);\r\n }\r\n }\r\n }\r\n });\r\n };\r\n return FileInput;\r\n}());\r\n;\r\n","/*\r\n \r\n */\r\nvar InputChoice = /** @class */ (function () {\r\n function InputChoice(selector) {\r\n this.initClassName = \"-isInit\";\r\n this.className = \"-active\";\r\n if (!$(selector).hasClass(this.initClassName)) {\r\n this.init(selector);\r\n }\r\n }\r\n InputChoice.prototype.init = function (selector) {\r\n this.selector = $(selector).attr(\"for\");\r\n this.DOM = {\r\n $input: $('[name=\"' + this.selector + '\"'),\r\n };\r\n this.DOM.$input.addClass(this.initClassName);\r\n this.addEvents();\r\n this.changeInput(this.DOM.$input);\r\n };\r\n InputChoice.prototype.changeInput = function ($input) {\r\n var value = null;\r\n switch ($input.get(0).type) {\r\n case \"select-one\":\r\n value = $input.find(':selected').attr('data-change');\r\n break;\r\n case \"radio\":\r\n value = $input.filter(':checked').attr('data-change');\r\n break;\r\n default:\r\n value = $input.data(\"change\");\r\n }\r\n if (this.DOM.$target) {\r\n this.DOM.$target.removeClass(this.className);\r\n this.DOM.$target = null;\r\n }\r\n if (value) {\r\n var $target = $('[data-wrapper=\"' + value + '\"');\r\n if ($target.get(0)) {\r\n $target.addClass(this.className);\r\n this.DOM.$target = $target;\r\n }\r\n }\r\n };\r\n InputChoice.prototype.addEvents = function () {\r\n var _this = this;\r\n this.DOM.$input.change(function (e) {\r\n var $input = $(e.currentTarget);\r\n _this.changeInput($input);\r\n });\r\n };\r\n return InputChoice;\r\n}());\r\n;\r\n","$(\".wrapper-crea-spe .produits span\").css(\"opacity\", \"0\");\r\n\r\n$(window).load(function () {\r\n\r\n if (showForm()) {\r\n Foundation.libs.scroll.moveTo($(\"#zone-frm-demande-crea\"))\r\n }\r\n\r\n});\r\n\r\nfunction showForm() {\r\n var field = 'showForm';\r\n var url = window.location.href;\r\n if (url.indexOf('?' + field + '=') != -1)\r\n return true;\r\n else if (url.indexOf('&' + field + '=') != -1)\r\n return true;\r\n return false\r\n}\r\n\r\n$(document).ready(function () {\r\n initDemande('CreaSpeciales');\r\n\r\n // Binding controle d'adresse\r\n if ($('#AdresseExpedition_IsPaysGereParWSLaPoste').val() == 'True') {\r\n bindLaPosteDemandeClient();\r\n }\r\n\r\n // Gestion du \"Enter\" lorsqu'on est sur les champs email/mots de passe => doit simuler click sur bouton \"connecter\" et non sur le bouton de demande de catalogue\r\n $(\"#Identification_Password, #Identification_Login\").on(\"keydown\", function (e) {\r\n if (e.keyCode == \"13\") {\r\n e.preventDefault();\r\n $(\"#btConnecter\").trigger(\"click\");\r\n return false;\r\n }\r\n\r\n\r\n\r\n });\r\n\r\n // On red�fini le page wrapper pour que une fois l'adresse modifi�e on ne remonte pas jusqu'en haut de la page\r\n pageWrapper = $(\".demande-wrapper\");\r\n\r\n\r\n\r\n $(\".js-upload\").each(function () {\r\n // Initialise le file Input avec un poids mini de 5 Ko et max de 5000 Ko\r\n new FileInput(this, {\r\n minKo: 5,\r\n maxKo: 5000,\r\n onChange: function () {\r\n var _this = this;\r\n if (this.file.ext === \"pdf\") {\r\n\r\n this.DOM.input.parent().append('
' + this.file.name + '
')\r\n } else {\r\n this.DOM.input.parent().css(\"backgroundImage\", \"url(\" + this.file.src + \")\");\r\n\r\n }\r\n this.DOM.input.parent().addClass(\"-active\");\r\n this.DOM.input.siblings(\"div\").on(\"click\", function () {\r\n _this.removeFile();\r\n })\r\n\r\n },\r\n onRemove: function () {\r\n if (this.file.ext === \"pdf\") {\r\n\r\n this.DOM.input.siblings(\".a-fileInputPicture__preview\").remove();\r\n } else {\r\n this.DOM.input.parent().css(\"backgroundImage\", \"\");\r\n }\r\n\r\n this.DOM.input.parent().removeClass(\"-active\")\r\n }\r\n });\r\n });\r\n\r\n $(\".js-input-change\").each(function () {\r\n new InputChoice(this);\r\n });\r\n\r\n let productSlidersSections = document.querySelectorAll('section.product-slider');\r\n if (productSlidersSections !== null && productSlidersSections !== undefined && productSlidersSections.length > 0) {\r\n productSlidersSections.forEach((item) => {\r\n $(item).find('.owl-carousel').owlCarousel({\r\n loop: true,\r\n margin: 50,\r\n touchDrag: true,\r\n lazyLoad: false,\r\n center: false,\r\n mergeFit: false,\r\n autoWidth: true,\r\n checkVisibility: true,\r\n dots: false,\r\n nav: true,\r\n responsive: {\r\n 0: {\r\n items: 1,\r\n nav: true,\r\n dots: false,\r\n },\r\n 450: {\r\n nav: true,\r\n },\r\n },\r\n })\r\n })\r\n }\r\n});\r\n"]}