(function(){var b=function(d){if(document.readyState==="complete"){d()}else{if(document.addEventListener){document.addEventListener("DOMContentLoaded",d)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",d)}}}};b(a);function a(){var d=0;var e=c("bdv-widget");if(!e){while(d<10){d++;c("bdv-widget"+d.toString())}}}function c(i){var d=document.querySelector("#"+i);if(d==null){return false}if(typeof(d)!=undefined){var f=d.dataset.key;var e=d.dataset.input;if(e&&f){var h=bdv.init(i,f);var g=d.dataset.option;if(g){g=JSON.parse(g);h.setOption(g)}e=JSON.parse(e);h.setInput(e)}else{throw new Error("bdverror => need data-key and data-input to work, see documentation")}return i}else{return false}}})();var bdv = (function(){
var api={userid:"0",host:"https://bdvapis.appspot.com/",version:"v1.0.2",key:null,geocoding:{city:false,region:false,insee:false,latlng:false},optionnalarg:{device:false,browser:false,other:false,id:false},setarg:function(e,a){var d="";for(var b in a){if(a.hasOwnProperty(b)){d+=b+"="+encodeURIComponent(a[b])+"&"}}for(var b in this.geocoding){if(this.geocoding.hasOwnProperty(b)){var c=this.geocoding[b];if(c){d+=b+"="+encodeURIComponent(c)+"&"}}}for(var b in this.optionnalarg){if(this.optionnalarg.hasOwnProperty(b)){var c=this.optionnalarg[b];if(c){d+=b+"="+encodeURIComponent(c)+"&"}}}d+="id="+encodeURIComponent(this.userid);return d},request:function(b,e,d){if(XMLHttpRequest){var a=new XMLHttpRequest()}else{var a=new ActiveXObject("Microsoft.XMLHTTP")}if("undefined"==typeof a){throw new Error("BDV API : Browser not supported");return}a.open(e,b,true);a.send();var c=this;a.onreadystatechange=function(){if(a.readyState==4&&a.status==200){var f=a.responseText;if(d){c.success(f,d)}}else{if(a.readyState==4){var f=a.responseText;c.error(f)}}}},success:function(d,e){try{d=JSON.parse(d);var c=d.results;var a=d.query.geocoding;this.setGeocoding(a);e(c,a)}catch(b){console.warn("BDVSERVER :"+b);return}},setGeocoding:function(b){for(var a in b){if(b.hasOwnProperty(a)){if(Object.keys(this.geocoding).indexOf(a)!=-1){var c=b[a];if(typeof(c)!="string"){c=JSON.stringify(c)}this.geocoding[a]=c}}}},eraseGeocoding:function(){this.geocoding={city:false,region:false,insee:false,latlng:false}},error:function(b){try{b=JSON.parse(b);var a=b.message;console.warn("BDVSERVER :"+a)}catch(a){console.warn("BDVSERVER :"+a);return}},get:function(b,d,a,e){var c=this.setarg(d,a);this.request(this.host+this.key+"/"+b+"/"+this.version+"/"+d+"?"+c,"GET",e)},post:function(b,d,a,e){var c=this.setarg(d,a);this.request(this.host+this.key+"/"+b+"/"+this.version+"/"+d+"?"+c,"POST",e)},setId:function(a){this.userid=a},setKey:function(a){this.key=a},setDevice:function(a){this.optionnalarg.device=a},setBrowser:function(a){this.optionnalarg.browser=a},setOther:function(a){this.optionnalarg.other=a}};bdvcss("https://widget.bondevisite.fr/v2.0.0/style/bdvstyle.css");bdvcss("https://api.mapbox.com/mapbox-gl-js/v0.40.1/mapbox-gl.css");function bdvcss(a){var b=document.createElement("link");b.setAttribute("type","text/css");b.setAttribute("rel","stylesheet");b.setAttribute("href",a);document.head.appendChild(b)}checkCookie();function checkCookie(){var d="; "+document.cookie;var e=d.split("; bdv_id=");if(e.length==2){var b=decodeURIComponent(e.pop().split(";").shift());if(b!="null"&&b!=undefined){var c=JSON.parse(b);if(c.id_bdv!=undefined){api.setId(c.id_bdv)}}}}errorHandler();var browser,device,clientKey;function errorHandler(){browser=getBrowser();api.setBrowser(browser);device=getDevice();api.setDevice(device);var a="";window.onerror=function(d,b,c,l,j){if(a==d){return}a=d;if(b.indexOf("bdv.js")==-1||d.indexOf("BDVSERVER")!=-1){return}var k="";if(j!=undefined){if(j.stack!=undefined){var m=j.stack.split(" at ");for(var g=0;g o.find "+b)}return c.querySelector(b)},findAll:function(c,b){if(b.indexOf(".")!=-1){b=this.rewriteSelector(b)}if(c==null){throw new Error("bdverror => o.find "+b)}return c.querySelectorAll(b)},createNode:function(e,d){d=this.rewriteClass(d);var b=document.createElement(e);b.className=d;return b},create:function(f,d,e){var b=document.createElement(f);b.className=e;d.appendChild(b);return b},createSVG:function(f,d,e){var b=document.createElementNS("http://www.w3.org/2000/svg",f);d.appendChild(b);this.attr(b,"class",e);return b},div:function(b,d){d=this.rewriteClass(d);return this.create("div",b,d)},append:function(c,b){c.appendChild(b);return c},cleanContent:function(b){if(typeof b!="string"){throw new Error("bdverror => o.cleanContent "+b)}return b.replace(/°/g,"\260").replace(/¡/g,"\241").replace(/«/g,"\253").replace(/»/g,"\273").replace(/¿/g,"\277").replace(/À/g,"\300").replace(/Á/g,"\301").replace(/Â/g,"\302").replace(/Ã/g,"\303").replace(/Ä/g,"\304").replace(/Å/g,"\305").replace(/Æ/g,"\306").replace(/Ç/g,"\307").replace(/È/g,"\310").replace(/É/g,"\311").replace(/Ê/g,"\312").replace(/Ë/g,"\313").replace(/Ì/g,"\314").replace(/Í/g,"\315").replace(/Î/g,"\316").replace(/Ï/g,"\317").replace(/Ð/g,"\320").replace(/Ñ/g,"\321").replace(/Ò/g,"\322").replace(/Ó/g,"\323").replace(/Ô/g,"\324").replace(/Õ/g,"\325").replace(/Ö/g,"\326").replace(/Ø/g,"\330").replace(/Ù/g,"\331").replace(/Ú/g,"\332").replace(/Û/g,"\333").replace(/Ü/g,"\334").replace(/Ý/g,"\335").replace(/Þ/g,"\336").replace(/ß/g,"\337").replace(/à/g,"\340").replace(/á/g,"\341").replace(/â/g,"\342").replace(/ã/g,"\343").replace(/ä/g,"\344").replace(/å/g,"\345").replace(/æ/g,"\346").replace(/ç/g,"\347").replace(/è/g,"\350").replace(/é/g,"\351").replace(/ê/g,"\352").replace(/ë/g,"\353").replace(/ì/g,"\354").replace(/í/g,"\355").replace(/î/g,"\356").replace(/ï/g,"\357").replace(/ð/g,"\360").replace(/ñ/g,"\361").replace(/ò/g,"\362").replace(/ó/g,"\363").replace(/ô/g,"\364").replace(/õ/g,"\365").replace(/ö/g,"\366").replace(/ø/g,"\370").replace(/ù/g,"\371").replace(/ú/g,"\372").replace(/û/g,"\373").replace(/ü/g,"\374").replace(/ý/g,"\375").replace(/þ/g,"\376").replace(/ÿ/g,"\377")},insert:function(d,b){if(d==null){throw new Error("bdverror => o.text "+b)}var f=document.createTextNode(this.cleanContent(b));d.insertBefore(f,d.firstChild);return d},text:function(c,b){if(c==null){throw new Error("bdverror => o.text "+b)}if(b){this.empty(c);return this.insert(c,b)}else{return c.textContent}},html:function(c,b){if(c==null){throw new Error("bdverror => o.html "+b)}this.empty(c);c.innerHTML=this.cleanContent(b);return c},appendtext:function(d,b){var f=document.createTextNode(this.cleanContent(b));d.appendChild(f)},empty:function(b){if(b==null){throw new Error("bdverror => o.empty")}while(b.hasChildNodes()){b.removeChild(b.firstChild)}},deleteElement:function(c){var b=this.parent(c);if(b){b.removeChild(c)}},attr:function(d,b,c){if(d==null){throw new Error("bdverror => o.attr "+b)}return c?d.setAttribute(b,c):d.getAttribute(b)},value:function(c,b){if(c==null){throw new Error("bdverror => o.value "+a)}return b?c.value=b:c.value},hasChild:function(b){return(b.hasChildNodes())?true:false},child:function(b){return(this.hasChild(b))?b.firstChild:false},parent:function(b){return(b.parentNode)?b.parentNode:false},on:function(g,f,d,c){if(c){var b=this.findAll(g,d);if(f=="click"){this.onclickAll(b,c)}if(f=="mouseover"){this.onmouseoverAll(b,c)}if(f=="mouseout"){this.onmouseoutAll(b,c)}if(f=="mouseenter"){this.onmouseenterAll(b,c)}if(f=="mouseleave"){this.onmouseleaveAll(b,c)}if(f=="mousemove"){this.onmousemoveAll(b,c)}}else{if(g.length==undefined){if(f=="click"){this.onclick(g,d)}if(f=="mouseover"){this.onmouseover(g,d)}if(f=="mouseout"){this.onmouseout(g,d)}if(f=="mouseenter"){this.onmouseenter(g,d)}if(f=="mouseleave"){this.onmouseleave(g,d)}if(f=="mousemove"){this.onmousemove(g,d)}}else{if(f=="click"){this.onclickAll(g,d)}if(f=="mouseover"){this.onmouseoverAll(g,d)}if(f=="mouseout"){this.onmouseoutAll(g,d)}if(f=="mouseenter"){this.onmouseenterAll(g,d)}if(f=="mouseleave"){this.onmouseleaveAll(g,d)}if(f=="mousemove"){this.onmousemoveAll(g,d)}}}},onclick:function(b,c){b.onclick=function(d){c(d)}},onclickAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onclick(c[b],d)}}},onmouseover:function(b,c){b.onmouseover=function(d){c(d)}},onmouseoverAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onmouseover(c[b],d)}}},onmouseout:function(b,c){b.onmouseout=function(d){c(d)}},onmouseoutAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onmouseout(c[b],d)}}},onmouseenter:function(b,c){b.onmouseenter=function(d){c(d)}},onmouseenterAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onmouseenter(c[b],d)}}},onmouseleave:function(b,c){b.onmouseleave=function(d){c(d)}},onmouseleaveAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onmouseleave(c[b],d)}}},onmousemove:function(b,c){b.onmousemove=function(d){c(d)}},onmousemoveAll:function(c,d){for(var b in c){if(c.hasOwnProperty(b)){this.onmousemove(c[b],d)}}},getClass:function(b){return b.className.split(" ")},hasClass:function(b,f){if(f.indexOf("bdv")==-1){f=this.rewriteClass(f)}var d=this.getClass(b);return d.indexOf(f)!=-1},addClass:function(d,f){if(d.length==undefined){this.addClassEl(d,f)}else{for(var b=0;b o.addClass "+g)}g=this.rewriteClass(g);var d=g.split(" ");for(var b=0;b o.addClass "+h)}h=this.rewriteClass(h);var g=this.getClass(f);var d=h.split(" ");for(var b=0;b o.css "+f)}if(d.length==undefined){return b?this.setCss(d,f,b):this.getCss(d,f)}else{return this.cssAll(d,f,b)}},cssAll:function(f,h,b){for(var d in f){if(f.hasOwnProperty(d)){var g=f[d];this.setCss(g,h,b)}}return f},setCss:function(d,g,b){var f=this.getSupportedCSS(d,g);return d.style[f]=b},getSupportedCSS:function(b,d){if(d!=undefined&&b!=undefined){if(d in b.style){return d}else{return this.prefix+d}}},prefix:"",getPrefix:function(){var b=window.getComputedStyle(document.documentElement,""),c=(Array.prototype.slice.call(b).join("").match(/-(moz|webkit|ms)-/)||(b.OLink===""&&["","o"]))[1];return this.prefix="-"+c+"-"},getCss:function(c,b){if(c.currentStyle){return c.currentStyle[b]}else{if(window.getComputedStyle){return document.defaultView.getComputedStyle(c,null).getPropertyValue(b)}}},height:function(b){return b?b.offsetHeight:0},width:function(b){return b?b.offsetWidth:0},load:function(e,c,f){if(XMLHttpRequest){var b=new XMLHttpRequest()}else{var b=new ActiveXObject("Microsoft.XMLHTTP")}b.open("GET",c,true);b.send();var d=this;b.onreadystatechange=function(){if(b.readyState==4&&b.status==200){d.html(e,b.responseText);f()}}},fadeIn:function(d,c,f){if(!d){return}if(!c){return}d.style.opacity=0;d.style.filter="alpha(opacity=0)";d.style.display="inline-block";d.style.visibility="visible";var b=0;var e=setInterval(function(){b+=50/c;if(b>=1){clearInterval(e);b=1}d.style.opacity=b;d.style.filter="alpha(opacity="+b*100+")";if(d.style.opacity==1&&f){f()}},50)},fadeOut:function(d,c,f){if(!d){return}if(!c){return}var b=1;var e=setInterval(function(){b-=50/c;if(b<=0){clearInterval(e);b=0;d.style.display="none";d.style.visibility="hidden"}d.style.opacity=b;d.style.filter="alpha(opacity="+b*100+")";if(d.style.opacity==0&&f){f()}},50)},isEmpty:function(c){for(var b in c){if(c.hasOwnProperty(b)){return false}}return true},copyObject:function(d){var c={};for(var b in d){if(d.hasOwnProperty(b)){c[b]=d[b]}}return c},equalObject:function(d,c){for(var b in d){if(d.hasOwnProperty(b)){if(!c.hasOwnProperty(b)){return false}if(d[b]!=c[b]){return false}}}return true},mergeObject:function(e,d){var c={};for(var b in e){if(e.hasOwnProperty(b)){c[b]=e[b]}}for(var b in d){if(d.hasOwnProperty(b)){c[b]=d[b]}}return c}};o.getPrefix();var graph=function(a){this.container=a;this.curves=[];this.height=o.height(a);this.width=o.width(a);var b=this;o.on(a,"mousemove",function(k){for(var g=0;g2) de "},"text-strong base-price":""}},"text-center color-text 2x text2":{grid:{xs:12},"align-sentence-element":{attr:{text:"Les services à proximité"},"text-strong prox-rel":" augmentent le prix de ","text-strong prox-adj":""}},"text-center color-text 2x text3":{grid:{xs:12},"align-sentence-element":{attr:{text:"L'environnement"},"text-strong envir-rel":" augmentent le prix de ","text-strong envir-adj":""}}}}}},score:{"master-wrap no-padding score":{grid:{xs:12},"main-score-wrap no-padding":{grid:{xs:12},"container-donut-rate no-padding":{grid:{xs:12,sm:5},"note-wrapper note-wrapper-media":{"display-title-score center note color-light":""}},"container-text-rate no-padding":{grid:{xs:12,sm:7},"global-rates-wrapper global-rates-wrapper-media":{loop:{nb:6,change:["luminosity","quietness","pollution","proximity","safety","connectivity"]},"global-rates global-rates-media":{transitall:{"rate rate-@ color-text":{"grey-thumbs-span color-text-clear2":{loop:{nb:5},"icon-score-thumbs":""},"green-thumbs-span color-light":{loop:{nb:5},"icon-score-thumbs":""}}}}}}}}},connectivity:{"master-wrap no-padding connectivity":{grid:{xs:12},"main-connectivity-wrap no-padding":{grid:{xs:12},"container-infos no-padding":{grid:{xs:12},"1 without-container-media":{grid:{xs:12,md:6},"underlined-media color-text color-text-clear2-border 2x":"Sans fil","wireless-table color-content-clear2-bg":{"indicator-connectivity no-padding":{grid:{xs:12},loop:{nb:4,change:["","GPRS/EDGE","3G","4G"]},"name-connection name-connection-media color-text color-text-clear2-border":{grid:{xs:3},attr:{text:"@"}}}}},"2 with-container-media":{grid:{xs:12,md:6},"underlined-media color-text color-text-clear2-border 2x":"Filaire","wired color-content-clear2-bg":{grid:{xs:12},"title-network color-text color-text-clear2-border 1x":{city:""},"sub-wired color-text":{grid:{xs:12},"sub-wired-content":""}}}}}}},mapLegendconnectivity:{"container-operator color-content-clear-bg map-connectivity":{anchor:{"main-icon-connectivity center icon-connectivity-bigPlus color":""},loop:{nb:4,change:["orange-big one1","sfr-big two2","free-big three3","bouygues-big four4"],change2:["orange","sfr","free","bouygues"]},item:{attr:{value:"&"},"icon-connectivity-@ nav center color":{}}},"container-intensity color-content-clear-bg map-connectivity":{anchor:{"main-icon-connectivity center icon-connectivity-bigPlus color":""},loop:{nb:3,change:["2G-small one1","3G-small two2","4G-small three3"],change2:["2G","3G","4G"]},item:{attr:{value:"&"},"icon-connectivity-@ nav center color":{}}}},luminosity:{"master-wrap no-padding luminosity":{grid:{xs:12},"main-luminosity-wrap":{"luminosity-legend1 no-padding":{grid:{xs:12,sm:6,md:4},"luminosity-sentence centertranslate luminosity-sentence-media no-padding":{grid:{xs:12},"luminosity-legend-button 1 no-padding":{grid:{xs:6},"luminosity-legend luminosity-road-button color color-border icon-connectivity-check luminosity-color ":"","sp color-text text-button":"Soleil côté rue"},br:"","luminosity-legend-button 2 no-padding":{grid:{xs:6},"luminosity-legend luminosity-court-button color color-border icon-connectivity-check imitation-canvas-class second-luminosity-legend ":"","sp color-text text-button":"Soleil côté cour"}}},"graph-Spring no-padding":{grid:{xs:6,sm:3,md:4}},"graph-Summer no-padding":{grid:{xs:6,sm:3,md:4}},"":{grid:{xs:0,sm:6,md:4},"luminosity-legend2 center luminosity-sentence":""},"graph-Autumn no-padding":{grid:{xs:6,sm:3,md:4}},"graph-Winter no-padding":{grid:{xs:6,sm:3,md:4}}}}},proximity:{"master-wrap no-padding proximity":{grid:{xs:12},"main-proximity-wrap no-padding":{grid:{xs:12},"proximity-tabs-left no-padding":{grid:{xs:2},"proximity-nav proximity-nav-tabs":{loop:{nb:7,change:["cooking","services","education","transportation","entertainment","health","shopping"],change2:["Commerce","Service","Ecole","Transport","Divertissement","Santé","Shopping"]},"color-text prox-li color-content-dark-bg":{attr:{value:"@","data-tooltip-right":"&"},"icon-proximity-cate icon-proximity-@ 3x center":""}}},"proximity-tab-content no-padding":{grid:{xs:10},loop:{nb:7,change:["cooking","services","education","transportation","entertainment","health","shopping"]},"content-@ proximity-tab-pane row":""}}}},mapLegendproximity:{"container-transp-type-list color-content-clear-bg map-proximity":{anchor:{"main-icon-proximity center icon-proximity-walk color":{attr:{value:"walking"}}},loop:{nb:3,change:["icon-proximity-walk","icon-proximity-bike","icon-proximity-car"],change2:["walking","cycling","driving"]},item:{attr:{value:"&"},"@ nav center color":{}}}},safety:{"master-wrap no-padding safety":{grid:{xs:12},"main-safety-wrap no-padding":{grid:{xs:12},"":{grid:{xs:12,sm:6},"safety-comparaison-graph-container":{"safety-comparaison-base color-content-clear2-bg ":{"safety-principal-bar color-content-bg":{"principal-label centerheight color":""},"safety-region-indicator":{"arrow_box color":""},"safety-town-indicator":{"arrow_box color":""},"max-label centerheight color-text":""},"safety-sentence":""}},"color-border safety-border":{grid:{xs:0,sm:6},"safety-types-graph-container safety-donut-container center":{"safety-types-graph ":{"safety-graphic":{"record record-media 1 partition1 ":{"quesito quesito-media color-content-dark-bg":{"quesito-percent color":"","quesito-icon":""}},"2 record record-media partition2":{"quesito quesito-media color-content-bg":{"quesito-percent color":"","quesito-icon":""}},"3 record record-media partition3":{"quesito quesito-media color-content-clear-bg":{"quesito-percent color":"","quesito-icon":""}},"4 record record-media partition4":{"quesito quesito-media color-content-clear2-bg":{"quesito-percent color":"","quesito-icon":""}}}},"legend-container":{row:{"legend partition1":{grid:{xs:0,sm:12,md:6},"legend-color color-content-dark-bg":"","legend-text":""},"legend partition2":{grid:{xs:0,sm:12,md:6},"legend-color color-content-bg":"","legend-text":""},"legend partition3":{grid:{xs:0,sm:12,md:6},"legend-color color-content-clear-bg":"","legend-text":""},"legend partition4":{grid:{xs:0,sm:12,md:6},"legend-color color-content-clear2-bg":"","legend-text":""}}}}}}}},pollution:{"master-wrap no-padding pollution":{grid:{xs:12},"main-pollution-wrap no-padding":{grid:{xs:12},"main-pollution-wrap-content no-padding":{grid:{xs:12},"pollution-legend-indicator pollution-legend-media":{grid:{xs:0,sm:2,md:1},"pollution-legends":{"pollution-legend1 color-text":{attr:{"data-tooltip":"Restez chez vous !"},"icon-pollution100 color-dark size-pollution-icon":"","pollution-legend-data1":"[75 - 100]"},"pollution-legend2 color-text":{attr:{"data-tooltip":"Air tolérable !"},"icon-pollution70 color-dark size-pollution-icon":"","pollution-legend-data2":"[50 - 75]"},"pollution-legend3 color-text":{attr:{"data-tooltip":"Air acceptable !"},"icon-pollution50 color-dark size-pollution-icon":"","pollution-legend-data3":"[25 - 50]"},"pollution-legend4 color-text":{attr:{"data-tooltip":"Air pur !"},"icon-pollution30 color-dark size-pollution-icon":"","pollution-legend-data3":"[0 - 25]"}}},'pollution-chart-wrapper no-padding"':{grid:{xs:12,sm:11,"sm-offset":1},"pollution-legend":{grid:{xs:12,sm:11,"lg-offset":1},"pollution-legend-container":{"minimum-legend no-padding":{grid:{xs:4},"pollution-legend-color color-content-dark-bg":"","sp color-text align-title-legend":{"colot-text":"Min en France"}},"adresse-legend no-padding":{grid:{xs:4},"pollution-legend-color color-bg":"","sp color-text align-title-legend":{"colot-text":"Adresse"}},"maximum-legend no-padding":{grid:{xs:4},"pollution-legend-color color-content-clear-bg":"","sp color-text align-title-legend":{"colot-text":"Max en France"}}}}}}}}},individualtax:{"master-wrap no-padding individualtax":{grid:{xs:12},"main-individualtax-wrap center":{"taxes-header row 1 no-padding":{grid:{sm:12},"1":{grid:{sm:2}},row:{grid:{xs:12,sm:10},"":{grid:{sm:4}},"national-bars-title":{grid:{xs:0,sm:4},"sp color-text":{"":"FRANCE"}},"city-bars-title":{grid:{xs:0,sm:4},"sp color-text":""}}},loop:{nb:3,change:["income","fortune","local"]},"@-tax row 2 no-padding":{grid:{sm:12},"tax-icon-container":{grid:{xs:5,sm:2},"icon-tax-@taxes color-light":""},"bars-container color-border":{grid:{xs:7,sm:10},"row bargraph no-margin 1":{"title color-text no-padding":{grid:{xs:12,sm:4},"@-tax-bar-title-first":{"sp color-text":""}},"2 2":{grid:{xs:0,sm:4},"@-tax-bar-first-compared tax-bar compared-tax-bar":{"sp color-text":""}},"3 3":{grid:{xs:12,sm:4},"@-tax-bar-first tax-bar specific-tax-bar color-content-clear-bg":{"sp color-text":""}}},"row bargraph no-margin second-row":{grid:{xs:0},"title color-text 1 no-padding":{grid:{xs:6,sm:4},"@-tax-bar-title-second":{"sp color-text":""}},"2 2":{grid:{xs:0,sm:4},"@-tax-bar-second-compared tax-bar compared-tax-bar":{"sp color-text":""}},"3 3":{grid:{xs:6,sm:4},"@-tax-bar-second tax-bar specific-tax-bar color-content-clear-bg":{"sp color-text":""}}}},"bars-white-space":""},br:""}}},businesstax:{"master-wrap no-padding businesstax":{grid:{xs:12},"main-businesstax-wrap center":{"taxes-header row 1 no-padding":{grid:{sm:12},"1":{grid:{sm:2}},row:{grid:{xs:12,sm:10},"":{grid:{sm:2}},"national-bars-title":{grid:{xs:0,sm:5},"sp color-text":{"":"FRANCE"}},"city-bars-title":{grid:{xs:0,sm:5},"sp color-text":""}}},loop:{nb:3,change:["income","fortune","business"]},"@-tax row 2":{grid:{sm:12},"tax-icon-container":{grid:{xs:5,sm:2},"4x icon-tax-@taxes color-light":""},"bars-container color-border":{grid:{xs:7,sm:10},"row bargraph no-margin 1":{"title color-text":{grid:{xs:12,sm:2},"@-tax-bar-title-first":{"sp color-text":""}},"2 2":{grid:{xs:0,sm:5},"@-tax-bar-first-compared tax-bar compared-tax-bar":{"sp color-text":""}},"3 3":{grid:{xs:12,sm:5},"@-tax-bar-first tax-bar specific-tax-bar color-content-clear-bg":{"sp color-text":""}}},"row bargraph no-margin second-row":{grid:{xs:0},"title color-text 1":{grid:{xs:6,sm:2},"@-tax-bar-title-second":{"sp color-text":""}},"2 2":{grid:{xs:0,sm:5},"@-tax-bar-second-compared tax-bar compared-tax-bar":{"sp color-text":""}},"3 3":{grid:{xs:6,sm:5},"@-tax-bar-second tax-bar specific-tax-bar color-content-clear-bg":{"sp color-text":""}}},"row bargraph no-margin third-row":{grid:{xs:0},"title color-text 1":{grid:{xs:6,sm:2},"@-tax-bar-title-third":{"sp color-text":""}},"2 2":{grid:{xs:0,sm:5},"@-tax-bar-third-compared tax-bar compared-tax-bar":{"sp color-text":""}},"3 3":{grid:{xs:6,sm:5},"@-tax-bar-third tax-bar specific-tax-bar color-content-clear-bg":{"sp color-text":""}}}},"bars-white-space":""},br:""}}},dynamicspro:{"master-wrap no-padding dynamicspro":{grid:{xs:12},"dynamics-pro row":{"panorama-container":{grid:{xs:0,sm:3},"panorama-bars row":{loop:{nb:2,change:["population","entreprises"]},"dynamics-bar-container @":{grid:{xs:6,sm:6},"item-bar":{"item centerwidth":"","item-value centerwidth color-text":"test"},"container-item-icon":{"item-icon color logo3 icon-dynamicspro-@":"","sp color label-@":"@"},"sp @-evolution":""}}},"holder-container centerheight":{grid:{xs:0,sm:1},"separator centerwidth color-bg":"","holder center color-light-bg":{"button but1 current-button color-content-light-bg active":{"btnText ":"Année actuelle"},"button but2 next-button color-content-light-bg":{"btnText ":"Année suivante"}}},"fields-container":{attr:{id:"fields_container"},grid:{xs:12,sm:8},fields:{loop:{nb:5,change:["industry","construction","services","trader_companies","trader_individual"]},"field-item centertranslate @":{"field-item-content centertranslate":{"field-title color bold 2x":"","field-value color icon-invisible bold 2x":"","item-icon logo3 icon-dynamicspro-@ color bold 4x":""}}}}}}},energy:{"master-wrap no-padding energy":{grid:{xs:12},"energy-main row":{"energy-legend-indicator energy-legend-media":{grid:{xs:0,sm:2,md:1},"energy-legends":{"energy-legend1 color-text":{attr:{"data-tooltip":"Maximum !"},"color-dark color-dark-text-border euro 1":"€","color-dark color-dark-text-border euro 2":"€","color-dark color-dark-text-border euro 3":"€"},"energy-legend2 color-text":{attr:{"data-tooltip":"Minimum !"},"color-dark color-dark-text-border euro":"€"}}},"energy-chart-wrapper energy-chart-wrapper-media":{grid:{xs:12,sm:10,md:11}},"energy-graph-height":{"energy-legend":{grid:{xs:12,sm:8,"sm-offset":2},row:{"minimum-legend":{grid:{xs:0,sm:6},"energy-legend-color color-content-clear-bg":"","sp color-text align-title-legend":{"colot-text":"Minimum de votre entourage"}},"maximum-legend":{grid:{xs:0,sm:6},"energy-legend-color color-bg":"","sp color-text align-title-legend":{"colot-text":"Maximum de votre entourage"}}}},"energy-nb":"Projections non contractuelles. Données relevées de factures anonymisées par activité."}}}},energypro:{"master-wrap no-padding energypro":{grid:{xs:12},"energy-pro-main center row":{"energypro-first text-center 2x color-content":{grid:{xs:12},"text-strong":""},"row 2 bars-cont":{grid:{sm:12},"tax-icon-container":{grid:{xs:5,sm:2},"4x icon-individualtax-localtaxes color-light":""},"bars-container color-border":{grid:{xs:7,sm:10},"row bargraph 1":{"energypro-min-title title color-text":{grid:{xs:12,sm:2},"sp color-text":""},"3 3 bars":{grid:{xs:12,sm:10},"energypro-min energypro-bar specific-energypro-bar color-content-clear-bg":{},"energypro-min-value sp color-text":""}},"row bargraph 2":{"energypro-max-title title color-text":{grid:{xs:12,sm:2},"sp color-text":""},"3 3 bars":{grid:{xs:12,sm:10},"energypro-max energypro-bar specific-energypro-bar color-content-clear-bg":{},"energypro-max-value sp color-text":""}}},"bars-white-space":""},"energypro-ps text-center 1x color-content":{grid:{xs:12}}}}}};var builder={create:function(a,b,c){if(b=="sell"){b="rent"}pageNode=tree[b];o.empty(a);this.lookdeep(pageNode,a);if(c){c()}},lookdeep:function(a,c){var f="";for(var d in a){if(a.hasOwnProperty(d)){if(f!="loop"){f=d;next=a[d];if(d=="attr"){this.attr(c,next)}else{if(d=="loop"){this.loop(c,a,next)}else{if(d=="grid"){this.grid(c,next)}else{if(typeof next=="object"&&next!=null){var e=this.createDiv(c,d);this.lookdeep(next,e)}else{var b=this.createDiv(c,d);if(next!==""){o.html(b,next)}}}}}}}}},createDiv:function(b,e){var d=e.split(" ");var c="";for(var a=0;a inputs missing "+f[a])}}if(d){for(var a=0;a15){this.map3dMode=true;this._setMarker3d();if(a!=-17&&c!=45){this.map.flyTo({bearing:-17,pitch:45})}}else{this.map3dMode=false;this._setMarker2d();if(a!=-0&&c!=0){this.map.flyTo({bearing:0,pitch:0})}}}},_setMap3d:function(d){this.map3dvisible=true;this.map3dloaded=true;var c=d.getStyle().layers.reverse();var b=c.findIndex(function(e){return e.type!=="symbol"});var a=b!==-1?c[b].id:undefined;d.addLayer({id:"3d-buildings",source:"composite","source-layer":"building",filter:["==","extrude","true"],type:"fill-extrusion",minzoom:15,paint:{"fill-extrusion-color":"#aaa","fill-extrusion-height":{type:"identity",property:"height"},"fill-extrusion-base":{type:"identity",property:"min_height"},"fill-extrusion-opacity":0.8}},a)},_checkMap3d:function(){if(!this.maploaded){return}if(this.option.map3d&&!this.map3dvisible){this._addMap3d()}if(!this.option.map3d&&this.map3dvisible){this._removeMap3d()}},_addMap3d:function(){if(this.map3dvisible){return}if(!this.map3dloaded){this._setMap3d(this.mapContent);this._setMap3d(this.mapPermanent)}else{this.map3dvisible=true;this.mapContent.setLayoutProperty("3d-buildings","visibility","visible");this.mapPermanent.setLayoutProperty("3d-buildings","visibility","visible")}this._setMapZoom()},_removeMap3d:function(){if(!this.map3dvisible){return}this.map3dvisible=false;this.mapContent.setLayoutProperty("3d-buildings","visibility","none");this.mapPermanent.setLayoutProperty("3d-buildings","visibility","none");this._setMapZoom()},_createMapLegend:function(){builder.create(this.mapLegend,"mapLegend"+this.page);this["_"+this.page+"SetLegend"]()},_deleteAllMarker:function(){this._deletePagesMarker();this._deleteMainIcon()},_deletePageMarker:function(){var a=this.pageUseMap.indexOf(this.page);if(a!=-1){this["_"+this.pageUseMap[a]+"DeleteMarker"]()}},_addPageMarker:function(){var a=this.pageUseMap.indexOf(this.page);if(a!=-1){this["_"+this.pageUseMap[a]+"AddMarker"]()}},_deleteOtherPagesMarker:function(){for(var a=0;a1){b=1}if(b<0){b=0}this.option.backgroundOpacity=b;o.css(this.select(".diagnosis-bdv"),"background-color","rgba(255, 255, 255, "+b+")");o.css(this.select(".landing-container"),"background-color","rgba(255, 255, 255, "+b+")");return this},setHeight:function(b){if(b){this.option.height=this.height=b}else{if(this.option.height){this.height=this.option.height}else{this.height=parseInt(o.height(this.container))}}o.css(this.select(".map-permanent"),"height",this.height+"px");o.css(this.select(".app-container"),"height",this.height+"px");o.css(this.select(".landing-container"),"height",this.height+"px");o.css(this.select(".diagnosis-container"),"height",this.height+"px");var a=(this.height-41>0)?this.height-41:0;if(this.map){this.map.resize()}return this},setWidth:function(b){this.width=(b)?parseInt(b):parseInt(o.width(this.container));var a=["container-min-0","container-max-449","container-min-450","container-min-768","container-min-1024"];for(var c=0;c=0){o.addClass(this.container,"container-min-0")}if(this.width<=449){o.addClass(this.container,"container-max-449")}if(this.width>=450){o.addClass(this.container,"container-min-450")}if(this.width>=768){o.addClass(this.container,"container-min-768")}if(this.width>=1024){o.addClass(this.container,"container-min-1024")}},setSize:function(){this.setHeight();this.setWidth();return this},_setAllColor:function(){this.setColor();this.setContentColor();this.setTextColor();this.setBackgroundOpacity()},_testColor:function(a){if(typeof a=="string"&&this._contains(a,"#")&&a.length==7){return true}else{console.warn("bdverror => Color has to be in 6 Hexadecimal format "+a);return false}},_contains:function(b,a){return(b.indexOf(a)!==-1)},_setColorNode:function(a){this._setColorClasses("",this.option.color,a);this._setColorClasses("clear",this.color.clear,a);this._setColorClasses("light",this.color.light,a);this._setColorClasses("dark",this.color.dark,a)},_setContentColor:function(a){this._setColorClasses("content",this.option.contentColor,a);this._setColorClasses("content-clear",this.contentColors.clear,a);this._setColorClasses("content-clear2",this.contentColors.clear2,a);this._setColorClasses("content-dark",this.contentColors.dark,a);this._setColorClasses("content-light",this.contentColors.light,a)},_setColorShapes:function(){if(this.page=="score"){this.reset_score()}},_setColorClasses:function(d,c,b){if(d){d="-"+d}var a=(b)?"."+b+" ":" ";o.css(this.selectAll(a+".color"+d+"-border"),"border-color",c);o.css(this.selectAll(a+".color"+d),"color",c);o.css(this.selectAll(a+".color"+d+"-bg"),"background-color",c)},_convertHex:function(f,c){f=f.replace("#","");var e=parseInt(f.substring(0,2),16);var d=parseInt(f.substring(2,4),16);var a=parseInt(f.substring(4,6),16);return"rgba("+e+","+d+","+a+","+c/100+")"},_shadeColor:function(a,e){var g=parseInt(a.slice(1),16),b=e<0?0:255,h=e<0?e*-1:e,d=g>>16,c=g>>8&255,i=g&255;return"#"+(16777216+(Math.round((b-d)*h)+d)*65536+(Math.round((b-c)*h)+c)*256+(Math.round((b-i)*h)+i)).toString(16).slice(1)},_blendColor:function(h,g,b){var i=parseInt(h.slice(1),16),l=parseInt(g.slice(1),16),e=i>>16,c=i>>8&255,k=i&255,d=l>>16,a=l>>8&255,j=l&255;return"#"+(16777216+(Math.round((d-e)*b)+e)*65536+(Math.round((a-c)*b)+c)*256+(Math.round((j-k)*b)+k)).toString(16).slice(1)},_setPageColor:function(){this.setTextColor();this._setContentColor();this._setColorNode()},_setPageContentColor:function(){var a="diagnosis-content";this.setTextColor(null,a);this._setContentColor(a);this._setColorNode(a);this._setColorNode(a)}});var navigation=style.extend({setPage:function(a,d){a=parseInt(a);if(a<=-1){a=this.nbPage-1}else{if(a>=this.nbPage){a=0}}if(this.current==a){return this}var c=this._getPageName(a);if(this.eventPageChange){var f=this.eventPageChange({pageName:c,pageNumber:a,originalEvent:d});if(f==false){return}}this.current=parseInt(a);this.page=c;var b=this;o.fadeOut(this.content,100,function(){b._checkMap();if(b.pageData[b.page].data==null){o.fadeIn(b.loader,100)}b._setDots(b.page);b._setTitle(b.page);b._createPage(b.page)});return this},addPage:function(a){if(this.pageData[a]==undefined){throw new Error("bdverror => Impossible to add page "+a)}this.option[a]=true;if(this.pageData[a].present){return this}if(this.pageData[a].rate==null&&this.option.rates){this._getRates()}this._checkMap();this._addPage(a);return this},deletePage:function(a){if(this.nbPage==1){throw new Error("bdverror => You need to have at least one page")}if(this.pageData[a]==undefined){throw new Error("bdverror => Impossible to delete page "+a)}this.option[a]=false;if(!this.pageData[a].present){return this}this._deletePage(a);if(a==this.page){this.current=-1;this.setPage(0)}this._checkMap();return this},getPage:function(){return this.current},getPageName:function(){return this.page},enter:function(){this.entered=true;this._centerMap();var a=this.landing;if(this.eventOpen){this.eventOpen()}if(o.css(a,"display")=="none"){return this}var c=this.select(".item-title");var d=this.select(".app-container");var b=this;o.fadeOut(a,150,function(){o.css(c,"display","block");o.css(d,"display","block");if(b.mapCreated){b.map.resize()}});this.setSize();return this},_enterFast:function(){var a=this.select(".landing-layer");var b=this.select(".item-title");var c=this.select(".app-container");o.css(a,"display","none");o.css(b,"display","block");o.css(c,"display","block")},_getPageName:function(a){for(var b in this.pageData){if(this.pageData.hasOwnProperty(b)){if(this.pageData[b].present&&this.pageData[b].position==a){return b}}}},_getPageNumber:function(a){for(var b in this.pageData){if(this.pageData.hasOwnProperty(b)){if(this.pageData[b].present&&b==a){return this.pageData[b].position}}}},_checkPages:function(d){var c=true;var b=true;for(var a in this.pageData){if(this.pageData.hasOwnProperty(a)){if(this.option[a]==true&&this.pageData[a].present==false||this.option[a]==false&&this.pageData[a].present==true){c=false}if(this.option[a]==true){b=false}}}if(b){this.option.score=true;c=false}if(this.option.firstPage!=this.firstPage&&this.option.firstPage!=null){c=false}if(c){return}this._deletePages();this._setFirstPage();this._addPages();this.current=-1;this.page=null;if(this.option.rates==true||this.option.score||this.option.proximity){this._getRates(function(){if(d){d()}})}else{this._setTitle();if(d){d()}}},_addPages:function(){for(var a in this.pageData){if(this.pageData.hasOwnProperty(a)){if(this.option[a]==true&&this.pageData[a].present==false){this._addPage(a)}}}},_deletePages:function(){for(var a in this.pageData){if(this.pageData.hasOwnProperty(a)){if(this.pageData[a].present==true){this._deletePage(a)}}}},_setFirstPage:function(){var a=this.option.firstPage;if(a!=null&&this.option[a]){this.firstPage=a;this._addPage(a)}},_addPage:function(a){this.pageData[a].present=true;this.pageData[a].position=this.nbPage;this.nbPage++;var c=this.select(".diagno-nav-dots");var b=o.div(c,"dot transitall color-text icon-"+a);o.css(b,"color",this.option.textColor);o.value(b,a);this._checkNav()},_deletePage:function(c){this.pageData[c].present=false;this._updatePositions(this.pageData[c].position);this.pageData[c].position=null;this.nbPage--;var d=this.select(".diagno-nav-dots");d.removeChild(this.select(".icon-"+c));var a=this.selectAll(".diagno-nav-dots > .transitall");for(var b in a){if(a.hasOwnProperty(b)){o.attr(a[b],"value",b)}}this._checkNav()},_updatePositions:function(a){for(var b in this.pageData){if(this.pageData.hasOwnProperty(b)){if(this.pageData[b].position>a){this.pageData[b].position--}}}},_checkNav:function(){if(this.nbPage<=1){this._hideNav()}else{this._showNav()}},_hideNav:function(){o.css(this.select(".control-left"),"display","none");o.css(this.select(".control-right"),"display","none");o.css(this.wrap,"padding","0")},_showNav:function(){o.css(this.select(".control-left"),"display","block");o.css(this.select(".control-right"),"display","block");o.css(this.wrap,"padding","10px")},_checkEntry:function(){if(this.option.autoEntry==true&&!this.entered){this.enter()}else{var a=this.select(".enter");a.textContent="lire le diagnostic";a.removeAttribute("href");o.fadeIn(a,1000)}},_setDots:function(c){var b=this.selectAll(".dot");o.css(b,"color",this.option.color);o.css(b,"background-color","rgba(0,0,0,0)");o.css(b,"font-weight","normal");o.css(b,"box-shadow","inherit");o.removeClass(b,"color");var a=this.select(".icon-"+c);o.css(a,"color","#f1f1f1");o.css(a,"background-color",this.option.color);o.css(a,"font-weight","bold");o.css(a,"box-shadow","1px 2px 4px rgba(0,0,0,0.2), 0 -1px 0px rgba(0,0,0,0.02)");o.addClass(a,"color")},_setTitle:function(g){var g=(g)?g:this.page;if(g==undefined){return}var a=this.select(".item-title .page-title-container .page-title .page-title-text");var c=this.select(".item-title .page-title-container .page-title .title-rate-container");var e=this.select(".item-title .page-title-container .page-title .title-rate-container .title-rate .total-rate");var b=this.select(".item-title .page-title-container .page-title .title-rate-container .title-rate .final-rate");if(!this.pageData[g].ratetitle){o.text(a," "+this.pageData[g].title);o.css(c,"display","none")}else{var f=this.pageData[g].title;o.text(a," "+f);if(this.option.rates==true&&this.pageData[g].rate!=null){var d=Math.round(this.pageData[g].rate);o.text(e,"/10");o.text(b,d.toString());o.css(c,"display","block");o.css(e,"display","block")}else{o.css(c,"display","none")}}}});var page=navigation.extend({connectivity:function(){data=this.pageData.connectivity.data;this._connectivityWired(data.wired);this._connectivityWireless(data.wireless);this._connectivityAntenna(data.antenna);this._setPageContentColor()},_connectivityWired:function(d){var a={"Bas débit":d.low,"Moyen débit":d.medium,"Haut débit (ADSL)":d.high,"Très haut débit (Fibre)":d.ultra};o.html(this.select(".city"),"Couverture du réseau filaire à "+d.city+"");var c="";for(var b in a){if(a.hasOwnProperty(b)){var e=a[b];c+=""+b+' : '+Math.round(e*100).toFixed(1)+"%
"}}o.html(this.select(".sub-wired .sub-wired-content"),c)},_connectivityWireless:function(e){var g=["Orange","Free","Sfr","Bouygues"];var h=["orange","free","sfr","bouygues"];var b=this.select(".wireless-table");for(var f=0;f3)?2:1;p=(a>7)?3:p;o.div(c,"icon-connectivity-quality"+p+" color-content-dark connectivity-wireless-icon")}else{o.div(c,"icon-connectivity-quality1 color-content-dark connectivity-wireless-icon")}}}},antennaList:[],_connectivityAntenna:function(l){if(!this.mapboxloaded){return}this._connectivityDeleteMarker();this.antennaList=[];for(var k in l){if(l.hasOwnProperty(k)){var d=l[k];var b=[d.gpsx,d.gpsy];var f=this._marker("icon-connectivity-dot color-text",b);f.addTo(this.map);var c=this._marker("color-content-bg sonar-emitter",b);c.addTo(this.map);var a=d.result.split("-");var g={marker:f,sonar:c,operator:d.Operateur,power:a};this.antennaList.push(g)}}var h=this;for(var e=0;e"+d.operator.toUpperCase()+"
"+c+"
";this.proxPopoup=new mapboxgl.Popup({closeOnClick:false}).setLngLat(d.marker._lngLat).setHTML(a).addTo(this.map)},_connectivityDeleteMarker:function(){for(var a=0;ae&&g.indexOf(c)==-1){e=f;a=c}}}g.push(a)}return g},showDynamics:function(){var c=0;var b=this;for(var a=1;a<9;a++){setTimeout(function(){c++;o.fadeIn(b.select(".dynamics-word"+c),200)},a*200)}},dynamicspro:function(){var a=this.pageData.dynamicspro.data;a.trader_individual_rate=a.trader_ind_rate;a.population_2016_over_2015=a.population_y1/a.population;this._showPanoramaDetails(a);this._showFieldsDetails(a);this._setButtons(a);this._setPageContentColor()},_setButtons:function(c){var b=this;var d=this.select(".dynamics-pro .holder-container .holder .current-button");var a=this.select(".dynamics-pro .holder-container .holder .next-button");o.on(d,"click",function(f){o.addClass(d,"active");o.removeClass(a,"active");b._setBars(c,"");b._showFieldsDetails(c);b._showEvolution()});o.on(a,"click",function(f){o.addClass(a,"active");o.removeClass(d,"active");b._setBars(c,"_y1");b._showFieldsDetails(c,"nextVal");b._showEvolution(c)})},_showEvolution:function(b){var c=this.select(".dynamics-pro .panorama-container .population .population-evolution");var a=this.select(".dynamics-pro .panorama-container .entreprises .entreprises-evolution");if(b){o.text(c,(Math.round((10*((parseFloat(b.population_2016_over_2015)*100)-100)))/10).toString()+"%");o.text(a,(Math.round((10*((parseFloat(b.companies_2016_over_2015)*100)-100)))/10).toString()+"%")}else{o.html(c,"");o.html(a,"")}},_showPanoramaDetails:function(b){b["total companies_y1"]=parseInt(parseInt(b["total companies"])*parseFloat(b.companies_2016_over_2015));var a=["","_y1"];this._setBars(b,"")},_setBars:function(g,q){var l=Math.max(parseInt(g.population),parseInt(g.population_y1));var d=Math.min(parseInt(g.population),parseInt(g.population_y1));var h=l-d;var k=h+1.3*d;var c=this.select(".dynamics-pro .panorama-container .population .item-bar .item");o.addClass(c,"color-content-bg");var s=parseInt(g["population"+q]*100/k);o.css(c,"height",s.toString()+"%");var p=this.select(".dynamics-pro .panorama-container .population .item-value");o.text(p,g["population"+q].toString());o.css(p,"bottom",(s).toString()+"%");var a=Math.max(parseInt(g["total companies"]),parseInt(g["total companies_y1"]));var n=Math.min(parseInt(g["total companies"]),parseInt(g["total companies_y1"]));var e=a-n;var b=e+2*n;var f=this.select(".dynamics-pro .panorama-container .entreprises .item-bar .item");o.addClass(f,"color-content-light-bg");var r=parseInt(g["total companies"+q])*100/b;o.css(f,"height",r+"%");var m=this.select(".dynamics-pro .panorama-container .entreprises .item-value");o.text(m,g["total companies"+q].toString());o.css(m,"bottom",(r).toString()+"%")},_showFieldsDetails:function(e,c){c=c?c:"val";var b=["industry","construction","services","trader_companies","trader_individual"];var a=["Industries","Constructions","Services","Marchands","Commerces Individuels"];var d=[];for(var g in b){var f=new Object();f.name=b[g];f.val=e[b[g]];f.nextVal=parseFloat(e[b[g]])+(parseFloat(e[b[g]+"_rate"])*parseFloat(e[b[g]]));f.display_name=a[g];d.push(f)}this._sortDynamicsFields(d);this._showDynamicsFields(d,c)},_sortDynamicsFields:function(a){a.sort(function(b,c){return c.val-b.val})},_showDynamicsFields:function(h,l){var a=["content","content-light","content-light","content-light","content-dark"];var p=this.select("#fields_container");var n=o.width(p);var q=o.height(p);var d=Math.min(n*0.2,q/3);var b=[0,d/2,d*-2,d*-1,d/2];var m=[0,d/2,d/4,d*-1,d*-1];var c=[];for(var e=0;e0){var w=4/3;var s=o.attr(v.target,"id");var t=o.find(v.target,".field-title");o.appendtext(t," "+h[s].display_name);var u=o.find(v.target,".item-icon");var r=o.find(v.target,".field-value");o.addClass(u,"icon-invisible");o.removeClass(r,"icon-invisible");v.target.style.webkitTransform+="scale("+w+")";o.addClass(v.target,"field-item-animated")}});o.on(c[e],"mouseleave",function(u){if(u.target&&u.target.childElementCount>0){var v=3/4;var s=o.find(u.target,".field-title");o.html(s,"");var t=o.find(u.target,".item-icon");var r=o.find(u.target,".field-value");o.removeClass(t,"icon-invisible");o.addClass(r,"icon-invisible");u.target.style.webkitTransform+="scale("+v+")";setTimeout(function(){o.removeClass(u.target,"field-item-animated")},500)}})}},businesstax:function(){var b=this.pageData.businesstax.data;this._proSetCityName(b.fortune_taxes.city);for(var a in b){var c=(a.split("_"))[0];this._proSetBar(b[a],"."+c+"-tax-bar",c)}this._setPageColor();this._setPageContentColor()},_proSetCityName:function(a){o.text(this.select(".city-bars-title .sp"),a)},_proSetBar:function(c,b,d){switch(d){case"fortune":var a;if(c.paying_tax_household_number>0){a=c.nb_taxable/c.paying_tax_household_number}else{a=0}this._proShowBar(b,1,parseInt(c.avg_tax),parseInt(c.national_avg_tax),27165,0,"Impôt sur la fortune moyen","euro");this._proShowBar(b,2,parseInt((a)*100),2,100,0,"% de fortunés","%");break;case"income":this._proShowBar(b,1,parseInt(c.avg_tax),parseInt(c.national_avg_tax),37818,0,"Impôts sur le revenu moyen","euro");this._proShowBar(b,2,parseInt(c.taxation_ratio*100),parseInt(c.national_taxation_ratio*100),100,0,"% de redevables","%");break;case"business":this._proShowBar(b,1,parseInt(c.built_property_tax*10)/10,parseInt(c.national_built_property_tax*10)/10,100,0,"Taxe foncière bâti","%");this._proShowBar(b,2,parseInt(c.unbuilt_property_tax*10)/10,parseInt(c.national_unbuilt_property_tax*10)/10,100,0,"Taxe foncière non bâti","%");this._proShowBar(b,3,parseInt(c.pro_tax*10)/10,(c.national_pro_tax*10)/10,100,0,"Taxe Professionnelle","%");break;default:}},_adjustSecondRow:function(){var a=this.select(".local-tax .second-row");o.removeClass(a,"grid-xs-0");var b=this.select(".local-tax .second-row .title");o.removeClass(b,"grid-xs-6");o.removeClass(b,"grid-sm-2");o.addClass(b,"grid-xs-12 grid-sm-2")},_proShowBar:function(g,e,b,a,k,d,l,c){var h;var f=this;setTimeout(function(){if(e==1){h="first"}else{if(e==2){h="second"}else{if(e==3){h="third"}}}o.text(f.select(g+"-title-"+h+""),l);o.css(f.select(g+"-"+h),"width",(b*100)/k+"%");o.text(f.select(g+"-"+h+" .sp"),b+" "+c);o.addClass(f.select(g+"-"+h+" .sp"),"color-text");o.css(f.select(g+"-"+h+"-compared"),"width",(a*100)/k+"%");o.text(f.select(g+"-"+h+"-compared .sp"),a+" "+c)},500)},individualtax:function(){var b=this.pageData.individualtax.data;this._setCityName(b.fortune_taxes.city);for(var a in b){var c=(a.split("_"))[0];this._setBar(b[a],"."+c+"-tax-bar",c)}this._setPageColor();this._setPageContentColor()},_setCityName:function(a){o.text(this.select(".city-bars-title .sp"),a)},_setBar:function(c,b,d){switch(d){case"fortune":var a;if(c.paying_tax_household_number>0){a=c.nb_taxable/c.paying_tax_household_number}else{a=0}this._showBar(b,true,parseInt(c.avg_tax),parseInt(c.national_avg_tax),27165,0,"Impôt sur la fortune moyen","euro");this._showBar(b,false,parseInt((a)*100),2,100,0,"% de fortunés","%");break;case"income":this._showBar(b,true,parseInt(c.avg_tax),parseInt(c.national_avg_tax),37818,0,"Impôts sur le revenu moyen","euro");this._showBar(b,false,parseInt(c.taxation_ratio*100),parseInt(c.national_taxation_ratio*100),100,0,"% de redevables","%");break;case"local":this._adjustSecondRow();this._showBar(b,true,(c.housing_tax*100).toFixed(1),(c.national_housing_tax*100).toFixed(1),20,0,"Taxe d'habitation","%");this._showBar(b,false,(c.built_property_tax*100).toFixed(1),(c.built_property_tax*100).toFixed(1),30,0,"Taxe foncière","%");break;default:}},_adjustSecondRow:function(){var a=this.select(".local-tax .second-row");o.removeClass(a,"grid-xs-0");var b=this.select(".local-tax .second-row .title");o.removeClass(b,"grid-xs-6");o.removeClass(b,"grid-sm-2");o.addClass(b,"grid-xs-12 grid-sm-2")},_showBar:function(g,e,b,a,k,d,l,c){var h;var f=this;setTimeout(function(){if(e){h="first"}else{h="second"}o.text(f.select(g+"-title-"+h+""),l);o.css(f.select(g+"-"+h),"width",(b*100)/k+"%");o.text(f.select(g+"-"+h+" .sp"),b+" "+c);o.addClass(f.select(g+"-"+h+" .sp"),"color-text");o.css(f.select(g+"-"+h+"-compared"),"width",(a*100)/k+"%");o.text(f.select(g+"-"+h+"-compared .sp"),a+" "+c)},500)},seasons:{Spring:"Printemps",Summer:"Été",Autumn:"Automne",Winter:"Hiver"},luminosity:function(){this.roadstate=true;this.courtstate=true;this._luminosityProcessData(this.pageData.luminosity.data);this._luminosityShow(this.sunall);this._luminositySetEvent();this._setPageContentColor()},_luminosityProcessData:function(d){this.sunhours={Spring:{},Summer:{},Autumn:{},Winter:{}};this.sunall={Spring:{},Summer:{},Autumn:{},Winter:{}};this.sunroad={Spring:{},Summer:{},Autumn:{},Winter:{}};this.suncourt={Spring:{},Summer:{},Autumn:{},Winter:{}};this.sunnone={Spring:{},Summer:{},Autumn:{},Winter:{}};for(var c in d){if(d.hasOwnProperty(c)){this.sunhours[c].rise=d[c].rise;this.sunhours[c].set=d[c].set;this.sunhours[c].total=d[c].total;this.sunall[c]=d[c].sunstate;this.sunroad[c]=[];this.suncourt[c]=[];var b=d[c].sunstate;for(var a=0;a"+this.seasons[f]+" : "+e)},_luminosityDrawArc:function(a,h,g,f,d,k){var b=(d-f)*180/g;var e;if(k==1){e="sunny-bg"}else{if(k==-1){e="striped-bg"}else{e="nosun-bg"}}var c=o.div(a,"luminositycharts-arc "+e);o.css(c,"transform","translate(72%, 160%) rotate("+b+"deg)")},_luminosityHideLayers:function(){var b=this.selectAll(".luminositycharts-basic");for(var a in b){if(b.hasOwnProperty(a)){o.addClass(b[a],"transparent-bg")}}},_luminosityHideSuns:function(){var b=this.selectAll(".luminositycharts-moving-sun");for(var a in b){if(b.hasOwnProperty(a)){o.addClass(b[a],"luminositycharts-hidden-sun")}}},pollution:function(){var d=this.pageData.pollution.data;var a=[{limit:25,title:"Air Pur"},{limit:50,title:"Air acceptable"},{limit:75,title:"Air Tolérable"},{limit:100,title:"Restez chez vous!"}];var b=this._pollutionProcessData(d);var f=this._pollutionMoyenneMinMax(b);var c=this.select(".pollution-chart-wrapper");var e=new graph(c);e.addCurve(f.here,{min:0,max:100,stroke:2,color:this.option.color,animation:true,tooltip:true,scaleX:f.x,fill:false,scaleY:a});e.addCurve(f.max,{min:0,max:100,stroke:2,color:this.contentColors.clear,fill:this.contentColors.clear,animation:false});e.addCurve(f.min,{min:0,max:100,stroke:2,color:this.contentColors.dark,fill:this.contentColors.dark,animation:false});this._setPageContentColor()},_pollutionProcessData:function(f){var d={x:[],here:[],min:[],max:[]};for(var c in f.here){if(f.here.hasOwnProperty(c)){if(f.here[c]>100){f.here[c]=100}d.x.push(c)}}for(var c in f.here){if(f.here.hasOwnProperty(c)){if(f.here[c]!=null){if(f.here[c]>100){f.here[c]=100}d.here.push(f.here[c])}else{var a=37+Math.random()*10-5;d.here.push(b)}}}for(var c in f.min){if(f.min.hasOwnProperty(c)){if(f.min[c]!=null){if(f.min[c]>100){f.min[c]=100}d.min.push(f.min[c])}else{var b=20+Math.random()*5-2.5;d.min.push(b)}}}for(var c in f.max){if(f.max.hasOwnProperty(c)){if(f.max[c]!=null){if(f.max[c]>100){f.max[c]=100}d.max.push(f.max[c])}else{var e=100+Math.random()*20-10;d.max.push(e)}}}return d},_pollutionMoyenneMinMax:function(g){var d={x:[],here:[],min:[],max:[]};d.here=g.here;d.x=g.x;var e=10;var f=parseInt(d.x.length/e);for(var c=0;c-1){var f=subCategoryItem.poi_name+" #"+b.toString();b++}else{var f=subCategoryItem.poi_name}this.pC[a][d].push(f);e.push(f);this.pM[a][f]={poi_name:f,walking:subCategoryItem.walking_time,cycling:subCategoryItem.cycling_time,driving:subCategoryItem.driving_time,lat:subCategoryItem.gpsy,lng:subCategoryItem.gpsx,category:this.cat}}}}}},proximityCreateCells:function(a){var m=this.select(".content-"+a);var d=o.findAll(m,".sub-category-container").length;if(d!=0){return}var h=this.pC[a];for(var g in h){subCategoryData=h[g];var e=o.div(m,"sub-category-container sub-category-container-media color-content-border grid-xs-12 grid-sm-6 grid-md-4");var c=o.div(e,"sub-category-title color-content");o.text(c,g);if(o.isEmpty(subCategoryData)){var k=o.div(e,"sub-category-item color-text");o.text(k,"Oops, il n'y a rien proche de cette adresse.")}else{for(var f=0;f"+h+" "+g+" min "+a+" sec
";var e=this;this.proxPopoup=new mapboxgl.Popup({closeOnClick:false}).setLngLat(this.pM[this.cat][h].latlng).setHTML(c).addTo(this.map);this.proxPopoup.__isPinned=d;this.proxPopoup.__poi=h;this._setProxPopupEvents()},_mapClosePopUp:function(){this.proxPopoup.remove()},_hideProxMarkers:function(b,c){if(this.pM[b]===undefined){return}for(var a in this.pM[b]){if(this.pM[b].hasOwnProperty(a)){var d=this.pM[b][a];if(d.marker==undefined){return}this._moveMarker(d.marker,d.latlng,this.latlng,true,c)}}},_proximityDeleteMarker:function(){if(!this.mapboxloaded){return}this._hideProxMarkers("transportation",true);this._hideProxMarkers("services",true);this._hideProxMarkers("education",true);this._hideProxMarkers("cooking",true);this._hideProxMarkers("entertainment",true);this._hideProxMarkers("health",true);this._hideProxMarkers("shopping",true)},_deleteProxMarkers:function(b,c){if(this.pM[b]===undefined){return}for(var a in this.pM[b]){if(this.pM[b].hasOwnProperty(a)){var d=this.pM[b][a];this._moveMarker(d.marker,d.latlng,this.latlng,true,c)}}this.pM[b]={}},_proximityAddMarker:function(){if(!this.mapboxloaded){return}if(this.cat){this._proximityCreateMapPois(this.cat)}},_moveMarker:function(e,k,c,m,d){var a=this.map;if(d){return e.remove()}var h=k[1],l=k[0];var f=0;var g=this;var b=setInterval(function(){if(f!=20){f+=1;h-=(k[1]-c[1])*f/210;l-=(k[0]-c[0])*f/210;e.setLngLat([l,h])}else{clearInterval(b);if(m){e.remove()}}},10)},_drawLines:function(c,a,e){var d=o.div(c,"table");for(i=0;i=31){o.text(h[J],c.toString()+"%");o.css(h[J],"transform","rotate(-"+q+"deg)");o.css(s[J],"transform","rotate(-"+q+"deg)");o.div(s[J],"icon-safety-"+M[J]+" color-dark ")}}else{o.css(a[J],"transform","rotate("+180+"deg)");var x=o.div(this.select(".safety-types-graph-container .safety-types-graph .safety-graphic"),"record record-media partition"+j+" partition-bis partition"+J+"bis");var m=o.div(x,"quesito quesito-bis quesito-media color-content-dark-bg");o.text(h[J],c.toString()+"%");o.css(h[J],"transform","rotate(-"+180+"deg)");o.css(s[J],"transform","rotate(-"+180+"deg)");o.div(s[J],"icon-safety-"+M[J]+" color-dark ");var v=(q-b+180);var k=(b-180);setTimeout(function(){o.css(x,"transform","rotate("+v+"deg)");o.css(m,"transform","rotate("+k+"deg)")},500*J+250)}}var y=this.select(".legend-container .partition1 .legend-text");var n=this.select(".legend-container .partition2 .legend-text");var d=this.select(".legend-container .partition3 .legend-text");var e=this.select(".legend-container .partition4 .legend-text");o.text(y,"Accidents");o.text(n,"Aggressions");o.text(d,"Dégradations");o.text(e,"Vols");this._setPageContentColor()},score:function(){var b=this.pageData.score.data;var a=this.getMainScore(b);this.divrate=this.select(".note");this.interval=0;this.score_loop(a);this.score_stroke(a);this.score_thumbsup(b);this._setPageContentColor()},getMainScore:function(a){a.proximity=Math.round((a.cooking+a.services+a.transportation+a.education+a.entertainment)/5);return Math.round(10*(a.luminosity+a.quietness+a.pollution+a.proximity+a.connectivity+a.safety+a.dynamics)/7)/10},score_loop:function(b){this.select(".note").textContent="0.0";var a=this;var c=setInterval(function(){a.score_rate(1);if(a.divrate.textContent>=b){clearInterval(c)}},20);this.animations.push(c)},score_thumbsup:function(d){var e={luminosity:"Ensoleillement",quietness:"Calme",pollution:"Qualité de l'air",proximity:"Proximité",safety:"Securité",connectivity:"Connectivité"};for(var a in e){if(e.hasOwnProperty(a)){var f=e[a];var b=Math.round(d[a]).toFixed(1)*7.6;var c=this.select(".rate-"+a);o.insert(c,f);o.css(c.childNodes[2],"clip","rect(0px, "+b+"px, 20px, 0px)")}}},reset_score:function(){var a=this.select(".note-wrapper");o.deleteElement(this.scoresvg);var c=this.pageData.score.data;var b=this.getMainScore(c);this.score_stroke(b)},score_rate:function(d){var c=this.divrate.textContent;var e=Math.round(c.substring(2,3));var b=Math.round(c.substring(0,1));if(e+d>=10){b=b+1;e=e+d-10}else{e=e+d}this.divrate.textContent=b+"."+e;var a=b+e/10},score_stroke:function(d){var a=this.select(".note-wrapper");var c=this.scoresvg=o.createSVG("svg",a,"svg-score");var e=c.namespaceURI;o.attr(c,"width","120");o.attr(c,"height","120");var f=document.createElementNS(e,"circle");c.appendChild(f);o.attr(f,"r","50");o.attr(f,"cx","60");o.attr(f,"cy","60");if(d){this.interval+=d/50}if(f){o.css(f,"stroke",this.option.contentColor);var b=(Math.PI*10*d);o.css(f,"stroke-dasharray",b+" 314")}},valuer:function(f){var k=this.pageData[f].data.valuation;var g=parseInt(k.asset_standard_price),h=parseInt(k["proximity asset premium or penalty"]),d=parseInt(k["environmental asset premium or penalty"])+parseInt(k["intrinsic asset premium or penalty"]),e=g+h+d;if(f=="sell"){o.html(this.select(".valuer-title"),"Ce bien est estimé à ")}else{o.html(this.select(".valuer-title"),"Loyer mensuel estimé à ")}var a=4;var l=[e,g,h,d],c=["valuer-title strong","base-price","prox-adj","envir-adj"];for(var b=0;bc){e.lower[b]=c}f.x.push(b)}}for(var b in e.lower){if(e.lower.hasOwnProperty(b)){if(e.lower[b]!=null){if(e.lower[b]>c){e.lower[b]=c}f.lower.push(e.lower[b])}else{var a=100+Math.random()*5-2.5;f.lower.push(a)}}}for(var b in e.higher){if(e.higher.hasOwnProperty(b)){if(e.higher[b]!=null){if(e.higher[b]>c){e.higher[b]=c}f.higher.push(e.higher[b])}else{var d=60+Math.random()*20-10;f.higher.push(d)}}}return f},_energyScaleX:function(a,c,b){scaleContainer=o.div(a,"scalex-container");monthsList=["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"];var f="";for(var d=0;da){a=c.lower[b]}}}for(var b in c.higher){if(c.higher.hasOwnProperty(b)){if(parseInt(c.higher[b])>a){a=c.higher[b]}}}return a}});var app=page.extend({mapboxloaded:false,initialize:function(c,a,b){this.key=a;this.node=c;this.arguments={scorelist:"luminosity,quietness,pollution,cooking,services,transportation,education,entertainment,connectivity,safety,dynamics"};this.option={score:false,luminosity:false,pollution:false,quietness:false,proximity:false,connectivity:false,safety:false,dynamics:false,individualtax:false,businesstax:false,dynamicspro:false,sell:false,rent:false,energy:false,energypro:false,firstPage:null,mapCursor:"pin",autoEntry:true,mapPermanent:false,map3d:true,rates:false,redirection:true,backgroundOpacity:1,color:"#1BBC9C",textColor:"#6b6b6b",contentColor:"#757575",mapColor:"#cccccc",loader:true,resize:true,height:false,width:false,font:"Nunito, sans-serif"};this.checkload=false;this.checkinput=false;this.mapCreated=false;this.colorList=[];this._buildMaster();if(b){this.setOption(b)}else{this.setOption({})}},_buildMaster:function(){if(!document.querySelector("#"+this.node)){throw new Error("bdverror => Can't find container with id "+node)}this.container=o.select("#"+this.node);builder.create(this.container,"master");this._setNode();this._setEvent();this.setSize();var a=this;window.onresize=function(){if(a.option.resize){a.setSize();graph.prototype.redraw()}}},setInput:function(b,d){this.arguments={};api.eraseGeocoding();if(!b.hasOwnProperty("floor")){throw new Error("bdverror => floor missing in inputs")}this.arguments.floor=b.floor;if(b.hasOwnProperty("address")){this.arguments.geoloc=b.address}if(b.hasOwnProperty("geoloc")){this.arguments.geoloc=b.geoloc}if(b.hasOwnProperty("latlng")){this.arguments.geoloc=b.latlng;var c=b.latlng.split(",");this.latlng=[c[1],c[0]]}if(!this.arguments.hasOwnProperty("geoloc")){throw new Error("bdverror => geoloc, address or latlng is missing in inputs")}for(var a in b){if(b.hasOwnProperty(a)){this.arguments[a]=b[a]}}this.arguments.scorelist="luminosity,quietness,pollution,cooking,services,transportation,education,entertainment,connectivity,safety,dynamics";this.restart();if(d){this.eventOpen=d}return this},setOption:function(b){for(var a in b){if(b.hasOwnProperty(a)){if(Object.keys(this.option).indexOf(a)!=-1){this.option[a]=b[a]}}}if(!this.option.contentColor){this.option.contentColor=this._blendColor(this.option.color,"#009900",0.2)}if(!this.option.redirection){o.css(this.select(".redirect-to-bdv"),"display","none")}else{if(!this.option.rates&&this.page){this._setTitle()}}if(this.page){this._setDots(this.page)}this.setFont(this.option.font);this._setAllColor();if(this.pageData!==undefined){this._checkPages()}if(!this.option.loader){this._enterFast()}if(this.arguments.geoloc){if(this.option.rates){this._getRates()}}this._checkMap();if(this.option.height){this.setHeight()}if(this.option.width){this.setWidth()}return this},restart:function(b){this.select(".diagno-nav-dots").textContent="";var a=this.select(".enter");o.fadeOut(a,100);if(this.option.loader){o.fadeIn(this.landing,100)}this._deleteAllMarker();this._ready();if(b){this.eventOpen=b}return this},_testMap:function(){return((this.option.proximity||this.option.connectivity||this.option.mapPermanent)&&!this.mapboxloaded)?false:true},pageUseMap:["proximity","connectivity"],_checkMap:function(){if(this.option.proximity||this.option.connectivity||this.option.mapPermanent){if(!this._testMap()){return loadMapbox()}if(this.page==null){return true}this._deleteOtherPagesMarker();if(this.option.mapPermanent){if(this.mapId!="permanent"){this._mapSwitchPermanent()}if(this.pageUseMap.indexOf(this.page)!=-1){this._createMapLegend();o.fadeIn(this.mapLegend,200);this._setMapPermanentColor()}else{if(o.css(this.mapLegend,"display")=="block"){o.fadeOut(this.mapLegend,200)}}}else{if(this.mapId!="content"){this._mapSwitchContent()}if(this.pageUseMap.indexOf(this.page)!=-1){this._showMap();this._createMapLegend();o.fadeIn(this.mapLegend,200);this._setMapContentColor()}else{if(o.css(this.mapLegend,"display")=="block"){o.fadeOut(this.mapLegend,200)}this._hideMap()}}this._centerMap();this._checkMap3d();return true}else{this._hideMap();this._hideMapPermanent()}},eventList:["click","mouseover","mouseout","mouseenter","mouseleave","mousemove"],on:function(a,b){if(a=="pageChange"){this.eventPageChange=b}else{if(a=="ratesReady"){this.eventRates=b}else{if(a=="widgetOpen"){this.eventOpen=b}else{if(this.eventList.indexOf(a)!=-1){o.on(this.container,a,function(c){b(c)})}else{throw new Error("bdverror => event "+a+" not available")}}}}},setId:function(a){api.setId(a);return this},setOther:function(a){api.setOther(a);return this}});var mapboxtest=false;function loadMapbox(){if(mapboxtest){return}mapboxtest=true;var b=document.createElement("script");b.setAttribute("type","text/javascript");b.setAttribute("id","mapboxjs");b.setAttribute("src","https://api.mapbox.com/mapbox-gl-js/v0.40.1/mapbox-gl.js");b.addEventListener("load",function(c){mapboxgl.accessToken="pk.eyJ1IjoiYmR2IiwiYSI6ImNpZzgxdnZudjA3b3l1eGx4cDZhOTE3OHkifQ.zA2_NenOXRHAhWUNP-cRDQ";for(var d in Apps){if(Apps.hasOwnProperty(d)){Apps[d].mapboxloaded=true;if(Apps[d].testNode()){Apps[d]._checkMap()}}}},false);var a=document.getElementsByTagName("head")[0];a.insertBefore(b,a.firstChild)}var clientKey="";var Apps={};var bdv={init:function(d,b,c){clientKey=b;api.setKey(b);var a=o.select("#"+d);if(a==null||typeof(a)=="undefined"){throw new Error("bdverror => element "+d+" doesn't exist")}if(a.firstChild){throw new Error("bdverror => element "+d+" is not empty (check spaces inside)")}return Apps[d]=new app(d,b,c)}};return bdv;}());