{"version":3,"sources":["../src/scripts/apps/pays/app.js"],"names":["$","fn","placeholder","document","createElement","this","each","input","on","val","attr","trigger","brightness","bg_color","rgba","y","css","length","match","parent","position","params","defaults","breakpoint","settings","extend","t","l","largeur","window","width","ratio","gis","over","hide","x","data","show","showHideHover","el","click","delay","find","pin","pos","tooltip","mapID","span","addClass","next","removeClass","$this","b","$span","config","pays","init","mapId","colorsHot","colorsCold","colorsDay","onglets","current","tools","nomPays","idNav","currentClass","jQuery","inArray","page","$li","eq","lazyload","toggleIntroText","$b","s","not","event","slideToggle","text","i","carte","require","elementExist","hover","_self","img","dataSrc","minMaxTemp","selector","min","max","id","parseInt","clock","horloge","formatTime","idTime","moment","setInterval","seconds","tz","timezone","format","html","minutes","hours","carouselInit","carousel","defaultSliderConfig","mobileFirst","arrows","slick","colorisationTemperature","type","e","a","coldCountry","is","index","percent","Math","round","toFixed","colorisationSoleil","ensoleillement","duree","split","dureeMinutes","colorisationPluie","climat","devise","url","idEuro","idDevise","errorClass","ajax","dataType","success","key","exchange","rates","monnaie","rate","rateLocal","undefined","deviseLocale","isNaN","rateDefault","v","$d","isNumeric","$e","error","console","select","ITEM_MENU","menuMobile","lightGallery"],"mappings":"20CAQAA,EAAEC,GAAGC,YAAc,WAClB,MAAI,eAAiBC,UAASC,cAAc,SAGpCC,MAERA,KAAKC,KAAK,WACT,GAAIC,GAAQP,EAAEK,KACdE,GAAMC,GAAG,QAAS,WACbD,EAAME,OAASF,EAAMG,KAAK,gBAC7BH,EAAME,IAAI,MAETD,GAAG,OAAQ,WACM,IAAfD,EAAME,OACTF,EAAME,IAAIF,EAAMG,KAAK,kBAKvBH,EAAMI,QAAQ,UAERN,OAGRL,EAAEC,GAAGW,WAAa,WACjB,GAAIC,GAAUC,EAAMC,CAEpB,IADAF,EAAWR,KAAKW,IAAI,oBACH,MAAZH,GAAqBA,EAASI,QAElC,GADAH,EAAOD,EAASK,MAAM,kFACV,MAARJ,EAAc,CACjB,GAAgB,MAAZA,EAAK,GAIR,MADAC,GAAI,KAAOD,EAAK,GAAK,KAAOA,EAAK,GAAK,KAAOA,EAAK,GAC9CC,GAAK,KACD,QAEA,MANR,IAAIV,KAAKc,SAASF,OAAQ,MAAOZ,MAAKc,SAASP,kBAWjD,IAAIP,KAAKc,SAASF,OAAQ,MAAOZ,MAAKc,SAASP,cAQjDZ,EAAEC,GAAGmB,SAAW,SAAUC,GACzB,GAAIC,IACHC,WAAY,KAETC,EAAWxB,EAAEyB,UAAWH,EAAUD,GAElCK,EAAIrB,KAAKK,KAAK,aACjBiB,EAAItB,KAAKK,KAAK,aACdkB,EAAU5B,EAAE6B,QAAQC,OACrB,IAAIF,EAAUJ,EAASD,WAAY,CAClC,GAAIQ,GAAQH,EAAUJ,EAASD,UAC/BG,IAAQK,EACRJ,GAAQI,EAET1B,KAAKW,IAAI,OAAQW,EAAI,MAAMX,IAAI,MAAOU,EAAI,OAS3C1B,EAAEC,GAAG+B,IAAM,SAAUX,GAoCpB,QAASY,KACRjC,EAAE,YAAYkC,MACd,IAAIC,GAAInC,EAAEK,MAAM+B,KAAK,OACrBpC,GAAE,QAAUmC,GAAGE,OAGhB,QAASC,GAAcC,GAEtBA,EAAGC,MAAMP,GACTjC,EAAE,QAAQQ,GAAG,aAAc,WAC1BR,EAAE,YAAYyC,MAAM,KAAKP,SAE1BlC,EAAE,QAAQ0C,KAAK,OAAOlC,GAAG,QAAS,WACjCR,EAAE,YAAYyC,MAAM,KAAKP,SAhD3B,GAAIZ,IACHqB,IAAK3C,EAAE,qBACP4C,IAAK5C,EAAE,qBACP6C,QAAS7C,EAAE,yBACX8C,MAAO,OACPC,KAAM/C,EAAE,gBAELwB,EAAWxB,EAAEyB,UAAWH,EAAUD,EAEtCG,GAASuB,KAAKrC,KAAK,YAAa,WAC9BsC,SAAS,mBACTC,KAAK,OACLD,SAAS,WACTE,YAAY,qBACZxC,KAAK,YAAa,eAIpBV,EAAE,6BAA6BkC,OAI/BlC,EAAEM,KAAKN,EAAE,8BAA+B,WACvC,GAAImD,GAAQnD,EAAEK,MACb+C,EAAID,EAAMf,KAAK,WAChBgB,GAAID,EAAMH,SAASI,GAAK,GACxBD,EAAM/B,YAOP,IAAIiC,GAAQrD,EAAE,cAmBdsC,GAAce,GAKf,IAAIC,WACAC,MACHC,KAAM,SAAcF,GAOnB,GAAI9B,IACHiC,MAAO,OACPC,WAAY,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC1HC,YAAa,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC3HC,WAAY,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,WAC1HC,SAAU,eAAgB,SAAU,QAAS,UAAW,SAAU,YAClEC,QAAS,IAyBNC,EAAQ,SAAU1C,GACrB,GAAIC,IACH0C,QAAS,GACTC,MAAO,YACPC,aAAc,WAEX1C,EAAWxB,EAAEyB,UAAWH,EAAUD,GAClCuB,EAAMuB,OAAOC,QAAQd,EAAOe,KAAM7C,EAASqC,SAC9CS,EAAMtE,EAAEwB,EAASyC,OAAOvB,KAAK,KAE9B4B,GAAIC,GAAG3B,GAAKI,SAASxB,EAAS0C,cAE9BlE,EAAE,SAASwE,YAyBRC,EAAkB,WACrB,GAAIC,GAAK1E,EAAE,yBACX,IAAI0E,EAAGzD,OAAQ,CAGd,GAAI0D,GAAID,EAAGvD,SAASA,SAASuB,KAAK,IAClCiC,GAAEC,IAAI,SAASA,IAAI,UAAUA,IAAI,mBAAmB5B,SAAS,aAAad,OAE1EwC,EAAGlE,GAAG,QAAS,SAAUqE,GACxBF,EAAEC,IAAI,SAASA,IAAI,UAAUA,IAAI,mBAAmBE,YAAY,QAChEJ,EAAGK,KAAK,SAAUC,EAAGD,GACpB,MAAgB,oBAATA,EAA6B,YAAc,wBAiBlDE,EAAQ,SAAUzD,GACrB0D,QAAQ,kBAAkBC,aAAa3D,EAASiC,QAAUzD,EAAE6B,QAAQC,QAAU,KAAO9B,EAAEwB,EAASiC,OAAOzB,MAEvGhC,EAAEwB,EAASiC,OAAOf,KAAK,oBAAoB0C,MAAM,WAChD,GAAIC,GAAQrF,EAAEK,MACbiF,EAAMD,EAAMpC,OAAOP,KAAK,YACxB6C,EAAUD,EAAI5E,KAAK,gBACpB4E,GAAI5E,KAAK,MAAO6E,MAYdC,EAAa,SAAUC,EAAUrD,GACpC,GAAIsD,GAAM,KACTC,EAAM,IAUP,OATA3F,GAAEyF,GAAUnF,KAAK,WAChB,GAAIsF,GAAKC,SAAS7F,EAAEK,MAAM+B,KAAKA,GAAO,KACzB,OAARsD,GAAkBE,EAAKF,KAC3BA,EAAME,IAEM,OAARD,GAAkBC,EAAKD,KAC3BA,EAAMC,MAIPF,IAAKA,EACLC,IAAKA,IAOHG,EAAQ,SAAUzE,GACrB,GAAIC,IACHyE,QAAS/F,EAAE,UACXgG,YAAa,KAAM,KAAM,MACzBC,QAAS,SAAU,OAAQ,SAExBzE,EAAWxB,EAAEyB,UAAWH,EAAUD,EAGtC,OAAqB,mBAAV6E,cAGP1E,EAASuE,QAAQ9E,SACpBkF,YAAY,WACX,GAAIC,GAAUF,SAASG,GAAG/C,EAAOgD,UAAUC,OAAO/E,EAASwE,WAAW,GACtEhG,GAAEwB,EAASyE,OAAO,IAAIO,KAAKJ,IACzB,KAEHD,YAAY,WACX,GAAIM,GAAUP,SAASG,GAAG/C,EAAOgD,UAAUC,OAAO/E,EAASwE,WAAW,GACtEhG,GAAEwB,EAASyE,OAAO,IAAIO,KAAKC,IACzB,KAEHN,YAAY,WACX,GAAIO,GAAQR,SAASG,GAAG/C,EAAOgD,UAAUC,OAAO/E,EAASwE,WAAW,GACpEhG,GAAEwB,EAASyE,OAAO,IAAIO,KAAKE,IACzB,QASDC,EAAe,SAAUtF,GAC5B,GAAIC,IACHsF,SAAU5G,EAAE,cAETwB,EAAWxB,EAAEyB,UAAWH,EAAUD,GAClCwF,GACHC,aAAa,EACbC,QAAQ,EAET7B,SAAQ,kBAAkBC,aAAa,cAAgB3D,EAASoF,SAASlE,KAAK,cAAcsE,MAAMH,IAS/FI,EAA0B,SAAU5F,GACvC,GAAIC,IACH4F,KAAM,cACNC,EAAGnH,EAAE,iBAAiB0C,KAAK,KAC3B0E,EAAG5B,EAAW,qBAAsB,eACpC6B,cAAarH,EAAE,iBAAiBsH,GAAG,kBAEhChE,EAAStD,EAAEyB,UAAWH,EAAUD,EAEpCrB,GAAEM,KAAKgD,EAAO6D,EAAG,SAAUI,EAAO9G,GACjC,GAAI0C,GAAQnD,EAAEK,MACbqB,EAAImE,SAAS1C,EAAMf,KAAKkB,EAAO4D,OAC/BM,EAAUC,KAAKC,QAAShG,EAAI4B,EAAO8D,EAAE1B,MAAQpC,EAAO8D,EAAEzB,IAAMrC,EAAO8D,EAAE1B,KAAQ,IAAIiC,QAAQ,GAErFrE,GAAO+D,YAGXlE,EAAMnC,IAAI,mBAAoBQ,EAASmC,WAAW6D,IAFlDrE,EAAMnC,IAAI,mBAAoBQ,EAASkC,UAAU8D,IAK5B,QAAtBrE,EAAMvC,aAAyBuC,EAAMnC,IAAI,QAAS,SAAW,MAS3D4G,EAAqB,SAAUvG,GAClC,GAAIC,IACH4F,KAAMW,eACNV,EAAGnH,EAAE,mBAAmB0C,KAAK,QAEjB1C,GAAEyB,UAAWH,EAAUD,EAGpCrB,GAAEM,KAAKN,EAAE,eAAgB,WACxB,GAAI8H,GAAQ9H,EAAEK,MAAM0E,OAAOgD,MAAM,KAChCC,EAAoC,GAArBnC,SAASiC,EAAM,IAAWjC,SAASiC,EAAM,GACzD9H,GAAEK,MAAM+B,KAAK,OAAQ4F,IAGtB,IAAIZ,GAAI5B,EAAW,cAAe,OAClCxF,GAAEM,KAAKN,EAAE,eAAgB,WACxB,GAAImD,GAAQnD,EAAEK,MACbqB,EAAImE,SAAS1C,EAAMf,KAAK,SACxBoF,EAAUC,KAAKC,QAAShG,EAAI0F,EAAE1B,MAAQ0B,EAAEzB,IAAMyB,EAAE1B,KAAQ,IAAIiC,QAAQ,GACrExE,GAAMnC,IAAI,mBAAoBQ,EAASoC,UAAU4D,IAC3B,QAAtBrE,EAAMvC,aAAyBuC,EAAMnC,IAAI,QAAS,SAAW,MAS3DiH,EAAoB,SAAU5G,GACjC,GAAIC,IACH8F,EAAG5B,EAAW,uBAAwB,iBACtC2B,EAAGnH,EAAE,mBAAmB0C,KAAK,MAE1BlB,EAAWxB,EAAEyB,UAAWH,EAAUD,EAEtCrB,GAAEM,KAAKkB,EAAS2F,EAAG,SAAUI,EAAO9G,GACnC,GAAIiB,GAAImE,SAAS7F,EAAEK,MAAM+B,KAAK,kBAC7BoF,EAAUC,KAAKC,QAAShG,EAAIF,EAAS4F,EAAE1B,MAAQlE,EAAS4F,EAAEzB,IAAMnE,EAAS4F,EAAE1B,KAAQ,IAAIiC,QAAQ,GACrF,IAAXH,EAAeA,EAAU,EAAI,GAC7BxH,EAAEK,MAAMW,IAAI,eAAgBwG,EAAU,MAAMxG,IAAI,cAAe,GAAe,EAAVwG,EAAc,SAYhFU,EAAS,WACRhD,QAAQ,kBAAkBC,aAAa,kBAC1C8B,IAEG/B,QAAQ,kBAAkBC,aAAa,oBAC1CyC,IAEG1C,QAAQ,kBAAkBC,aAAa,oBAC1C8C,KASEE,EAAS,SAAU9G,GACtB,GAAIC,IACH8G,IAAK,wFACLC,OAAQ,QACRC,SAAU,SACVC,WAAY,SAET/G,EAAWxB,EAAEyB,UAAWH,EAAUD,EAEtCrB,GAAEwI,MACDtB,KAAM,MACNkB,IAAK5G,EAAS4G,IACdK,SAAU,QACVC,QAAS,SAAUtG,GAClBpC,EAAEM,KAAK8B,EAAM,SAAUuG,EAAKlI,GAC3B,GAAImI,GAAWxG,EAAKyG,MAAMvF,EAAOwF,SAChCC,EAAO,GACPC,EAAY5G,EAAKyG,MAAW,GACFI,SAAvB3F,EAAO4F,eACVF,EAAY5G,EAAKyG,MAAW,KACXE,EAAlBI,MAAMP,GAAmBpH,EAAS4H,YAAqBR,EACvD5I,EAAEwB,EAAS6G,QAAQ7H,GAAG,QAAS,SAAUqE,GACxC,GAAIwE,GAAKrJ,EAAEK,MAAMI,MAAQuI,EAAaD,EACrCO,EAAKtJ,EAAEwB,EAAS8G,SACjBe,GAAIA,EAAE1B,QAAQ,GACd3H,EAAEuJ,UAAUF,GAAKC,EAAG7I,IAAI4I,GAAGnG,YAAY1B,EAAS+G,YAAcvI,EAAEK,MAAM2C,SAASxB,EAAS+G,cAGzFvI,EAAEwB,EAAS8G,UAAU9H,GAAG,QAAS,SAAUqE,GAC1C,GAAIwE,GAAKrJ,EAAEK,MAAMI,MAAQsI,EAAQC,EAChCQ,EAAKxJ,EAAEwB,EAAS6G,OACjBgB,GAAIA,EAAE1B,QAAQ,GACd3H,EAAEuJ,UAAUF,GAAKG,EAAG/I,IAAI4I,GAAGnG,YAAY1B,EAAS+G,YAAcvI,EAAEK,MAAM2C,SAASxB,EAAS+G,iBAI3FkB,MAAO,WACNC,QAAQD,MAAM,aAGhBzJ,EAAEwB,EAAS6G,OAAQ7G,EAAS8G,UAAUpI,cAAcM,GAAG,QAAS,WAC/DR,EAAEK,MAAMsJ,YAMJC,EAAY5J,EAAE,aAAa0C,KAAK,MAElCmH,EAAa,WAGhBD,EAAU1H,OAGVlC,EAAE,aAAaQ,GAAG,QAAS,WAK1B,MAHAoJ,GAAUtC,GAAG,YAAcsC,EAAU5I,IAAI,UAAW,QAAU4I,EAAU5I,IAAI,UAAW,UAGhF,IAKT+C,GAAMvC,GACFxB,EAAE6B,QAAQC,QAAU,KACvB+H,IAEDlD,IACA3G,EAAE,WACDA,EAAE,gCAAgC8J,iBAK/BxG,EAAOe,MAAQ7C,EAASqC,QAAQ,KACnCY,EAAgBjD,GAChByD,EAAMzD,IAQP8B,EAAOe,MAAQ7C,EAASqC,QAAQ,GAAKqE,IAAW,GAI5C5E,EAAOe,MAAQ7C,EAASqC,QAAQ,KACnCsE,EAAO3G,GACPsE,EAAMtE,KAOTxB,GAAE,WACDA,EAAE,0BAA0BwE,WAC5BjB,KAAKC,KAAKF","file":"static/scripts/apps/pays/pays.js.map","sourcesContent":["/**\r\n * Page pays module\r\n * @module pays\r\n * @description Les fonctions appelées sur les pages http://www.tedav.com/ps-pays/voyage-pays\r\n *\r\n */\r\n\"use strict\";\r\n// Define the placeholder plugin\r\n$.fn.placeholder = function () {\r\n\tif ('placeholder' in document.createElement('input')) {\r\n\t\t// This browser already supports placeholders.\r\n\t\t// Nothing to do here.\r\n\t\treturn this;\r\n\t}\r\n\tthis.each(function () {\r\n\t\tvar input = $(this);\r\n\t\tinput.on('focus', function () {\r\n\t\t\tif (input.val() == input.attr('placeholder')) {\r\n\t\t\t\tinput.val('');\r\n\t\t\t}\r\n\t\t}).on('blur', function () {\r\n\t\t\tif (input.val() == '') {\r\n\t\t\t\tinput.val(input.attr('placeholder'));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Show the placeholder on load\r\n\t\tinput.trigger('blur');\r\n\t});\r\n\treturn this;\r\n};\r\n// Gestion de la couleur du texte en fonction du bg\r\n$.fn.brightness = function () {\r\n\tvar bg_color, rgba, y;\r\n\tbg_color = this.css('background-color');\r\n\tif ((bg_color != null) && bg_color.length) {\r\n\t\trgba = bg_color.match(/^rgb(?:a)?\\(([0-9]{1,3}),\\s([0-9]{1,3}),\\s([0-9]{1,3})(?:,\\s)?([0-9]{1,3})?\\)$/);\r\n\t\tif (rgba != null) {\r\n\t\t\tif (rgba[4] === '0') {\r\n\t\t\t\tif (this.parent().length) return this.parent().brightness();\r\n\t\t\t} else {\r\n\t\t\t\ty = 2.99 * rgba[1] + 5.87 * rgba[2] + 1.14 * rgba[3];\r\n\t\t\t\tif (y >= 1275) {\r\n\t\t\t\t\treturn 'light';\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn 'dark';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tif (this.parent().length) return this.parent().brightness();\r\n\t}\r\n};\r\n\r\n/* Positionnement css selon le data-attribut xpos / ypos\r\n * @version 1.2\r\n * @author Gilles Maupoint\r\n */\r\n$.fn.position = function (params) {\r\n\tvar defaults = {\r\n\t\tbreakpoint: 980\r\n\t};\r\n\tvar settings = $.extend({}, defaults, params);\r\n\r\n\tvar t = this.attr('data-ypos'),\r\n\t\tl = this.attr('data-xpos'),\r\n\t\tlargeur = $(window).width();\r\n\tif (largeur < settings.breakpoint) {\r\n\t\tvar ratio = largeur / settings.breakpoint;\r\n\t\tt = t * ratio;\r\n\t\tl = l * ratio;\r\n\t}\r\n\tthis.css('left', l + 'px').css('top', t + 'px');\r\n}\r\n\r\n/** @function gis\r\n * @description Tooltip pour les maps\r\n * @version 1.2\r\n * @author Gilles Maupoint\r\n * @todo : hook => params\r\n */\r\n$.fn.gis = function (params) {\r\n\tvar defaults = {\r\n\t\tpin: $(\"[data-hook='pin']\"),\r\n\t\tpos: $(\"[data-hook='pos']\"),\r\n\t\ttooltip: $(\"[data-hook='tooltip']\"),\r\n\t\tmapID: '#map',\r\n\t\tspan: $(\"#map > span\")\r\n\t};\r\n\tvar settings = $.extend({}, defaults, params);\r\n\r\n\tsettings.span.attr('data-hook', 'pin pos')\r\n\t\t.addClass('jtooltip-terdav')\r\n\t\t.next('div')\r\n\t\t.addClass('tooltip')\r\n\t\t.removeClass('terdav__map--lieu')\r\n\t\t.attr('data-hook', 'tooltip pos');\r\n\r\n\t// Init\r\n\t// On masque l'affichage des tooltip\r\n\t$(\"[data-hook='tooltip pos']\").hide();\r\n\r\n\t// On positionne les pins et les tooltips selon leurs paramètres xpos et ypos\r\n\r\n\t$.each($(\".tooltip, .jtooltip-terdav\"), function () {\r\n\t\tvar $this = $(this),\r\n\t\t\tb = $this.data('triangle');\r\n\t\tb ? $this.addClass(b) : '';\r\n\t\t$this.position();\r\n\t});\r\n\r\n\t/* data-triangle : par défaut les triangles sont placés en haut à gauche de la tooltip, si attribut présent et vaut bottom alors le triangle se trouvera en bas\r\n\t */\r\n\t// Au survol du pin, on affiche la tooltip et on la masque lorsque l'on quitte\r\n\r\n\tvar $span = $(\"#map > span\");\r\n\r\n\tfunction over() {\r\n\t\t$('.tooltip').hide();\r\n\t\tvar x = $(this).data('href');\r\n\t\t$('#pin-' + x).show();\r\n\t}\r\n\r\n\tfunction showHideHover(el) {\r\n\t\t//el.hover(over);\r\n\t\tel.click(over);\r\n\t\t$('#map').on('mouseleave', function () {\r\n\t\t\t$('.tooltip').delay(500).hide();\r\n\t\t});\r\n\t\t$('#map').find('img').on('click', function () {\r\n\t\t\t$('.tooltip').delay(500).hide();\r\n\t\t});\r\n\t}\r\n\r\n\tshowHideHover($span);\r\n\r\n}\r\n\r\n\r\nvar config = {};\r\nvar pays = {\r\n\tinit: function init(config) {\r\n\t\t/** Variables\r\n\t\t * @description Les variables communes à plusieurs fonctions\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.2\r\n\t\t * @example terdavCookie.settings.NomDeLaVariable\r\n\t\t */\r\n\t\tvar settings = {\r\n\t\t\tmapId: '#map',\r\n\t\t\tcolorsHot: ['#fef2c4', '#fee7a0', '#fed07c', '#fdbf5e', '#feb259', '#fba75d', '#f99246', '#f9893e', '#f97c3e', '#fb7540', '#fa6c40'],\r\n\t\t\tcolorsCold: ['#1678bf', '#1678bf', '#2f87c6', '#2f87c6', '#2f87c6', '#5fa8db', '#5fa8db', '#aed9f7', '#aed9f7', '#e0f0fb', '#e0f0fb'],\r\n\t\t\tcolorsDay: ['#091359', '#091359', '#434878', '#434878', '#7e7d8f', '#7e7d8f', '#b6b1a4', '#b6b1a4', '#e6dcb7', '#e6dcb7', '#f7ebbf'],\r\n\t\t\tonglets: ['presentation', 'climat', 'infos', 'voyages', 'guides', 'coutumes'],\r\n\t\t\tcurrent: ''\r\n\t\t};\r\n\r\n\r\n\t\t/**\r\n\t\t * @description Gestion du current du menu\r\n\t\t * @param {string} nomPays Nom du pays\r\n\t\t * @param {string} [idNav = #navigation] Id de la balise `nav`\r\n\t\t * @param {string} [currentClass = current] Classe de la page courante\r\n\t\t * module:pays~tools\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t * @example\r\n\t\t * var tools : function(params) {\r\n\t\t * var defaults = {\r\n\t\t * nomPays: '',\r\n\t\t * idNav : '#navigation',\r\n\t\t * currentClass : 'current'\r\n\t\t * };\r\n\t\t * var settings = $.extend({}, defaults, params);\r\n\t\t * var pos = jQuery.inArray(settings.page, settings.onglets ) + 1,\r\n\t\t * $li = $(settings.idNav).find('li');\r\n\t\t * $li.eq(pos).addClass(settings.currentClass);\r\n\t\t * }\r\n\t\t */\r\n\t\tvar tools = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\tnomPays: '',\r\n\t\t\t\tidNav: '#menuPays', //'#navigation',\r\n\t\t\t\tcurrentClass: 'current'\r\n\t\t\t};\r\n\t\t\tvar settings = $.extend({}, defaults, params);\r\n\t\t\tvar pos = jQuery.inArray(config.page, settings.onglets),\r\n\t\t\t\t$li = $(settings.idNav).find('li');\r\n\r\n\t\t\t$li.eq(pos).addClass(settings.currentClass);\r\n\r\n\t\t\t$('.lazy').lazyload();\r\n\r\n\t\t};\r\n\r\n\t\t/** @function toggleIntroText\r\n\t\t * @description Gestion du current du menu\r\n\t\t * @param {selector} [$b = $(\"[data-hook='showNext')] Bouton show/next\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t * @example\r\n\t\t * toggleIntroText : function() {\r\n\t\t * var $b = $(\"[data-hook='showNext');\r\n\t\t * if($b.length) {\r\n\t\t * // on masque les paragraphes > n+2\r\n\t\t * var s = $b.parent().parent().find('p').not('.weight--semibold, .weight--semibold + p').hide();\r\n\t\t * $b.on('click', function(event) {\r\n\t\t * s.slideToggle('slow');\r\n\t\t * $b.text(function(i, text){\r\n\t\t * return text === \"> Lire la suite\" ? \"> Masquer\" : \"> Lire la suite\";\r\n\t\t * });\r\n\t\t * });\r\n\t\t * }\r\n\t\t * }\r\n\t\t */\r\n\t\tvar toggleIntroText = function () {\r\n\t\t\tvar $b = $(\"[data-hook='showNext']\");\r\n\t\t\tif ($b.length) {\r\n\t\t\t\t// on masque les paragraphes > n+2\r\n\t\t\t\t/*var s = $b.parent().parent().find('p').not(':last').not(':first').hide();*/\r\n\t\t\t\tvar s = $b.parent().parent().find('p');\r\n\t\t\t\ts.not(':last').not(':first').not(':nth-of-type(2)').addClass('is-hidden').hide();\r\n\r\n\t\t\t\t$b.on('click', function (event) {\r\n\t\t\t\t\ts.not(':last').not(':first').not(':nth-of-type(2)').slideToggle('slow');\r\n\t\t\t\t\t$b.text(function (i, text) {\r\n\t\t\t\t\t\treturn text === \"> Lire la suite\" ? \"> Masquer\" : \"> Lire la suite\";\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t};\r\n\t\t/** @function carte\r\n\t\t * @description Affichage des pins sur la carte\r\n\t\t * @param {selector} [settings.mapId = #map] Id de la carte\r\n\t\t * @requires gis()\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t * @example\r\n\t\t * carte : function(settings) {\r\n\t\t * $(settings.mapId).exists() && !jQuery.browser.mobile && $(settings.mapId).gis();\r\n\t\t * }\r\n\t\t */\r\n\t\tvar carte = function (settings) {\r\n\t\t\trequire('common/helpers').elementExist(settings.mapId) && $(window).width() > 768 && $(settings.mapId).gis();\r\n\r\n\t\t\t$(settings.mapId).find('.jtooltip-terdav').hover(function () {\r\n\t\t\t\tvar _self = $(this),\r\n\t\t\t\t\timg = _self.next().find('.lazymap'),\r\n\t\t\t\t\tdataSrc = img.attr('data-original');\r\n\t\t\t\timg.attr('src', dataSrc);\r\n\t\t\t});\r\n\r\n\t\t};\r\n\r\n\t\t/** @function minMaxTemp\r\n\t\t * @description Renvoie un array comportant la valeur min et max\r\n\t\t * @param {integer} data valeur de la data\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t *\r\n\t\t */\r\n\t\tvar minMaxTemp = function (selector, data) {\r\n\t\t\tvar min = null,\r\n\t\t\t\tmax = null;\r\n\t\t\t$(selector).each(function () {\r\n\t\t\t\tvar id = parseInt($(this).data(data), 10);\r\n\t\t\t\tif ((min === null) || (id < min)) {\r\n\t\t\t\t\tmin = id;\r\n\t\t\t\t}\r\n\t\t\t\tif ((max === null) || (id > max)) {\r\n\t\t\t\t\tmax = id;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\tmin: min,\r\n\t\t\t\tmax: max\r\n\t\t\t};\r\n\t\t};\r\n\r\n\t\t/** @function clock\r\n\t\t * @description Affiche une horloge avec l'heure d'un fuseau donnée (couplé à moment.js)\r\n\t\t */\r\n\t\tvar clock = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\thorloge: $('#clock'),\r\n\t\t\t\tformatTime: ['HH', 'mm', 'ss'],\r\n\t\t\t\tidTime: ['#hours', '#min', '#sec'],\r\n\t\t\t};\r\n\t\t\tvar settings = $.extend({}, defaults, params);\r\n\t\t\t//require(['moment'], function(moment) {\r\n\t\t\t//var moment = require('moment');\r\n\t\t\tif (typeof moment == 'undefined')\r\n\t\t\t\treturn false;\r\n\r\n\t\t\tif (settings.horloge.length) {\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tvar seconds = moment().tz(config.timezone).format(settings.formatTime[2]);\r\n\t\t\t\t\t$(settings.idTime[2]).html(seconds);\r\n\t\t\t\t}, 1000);\r\n\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tvar minutes = moment().tz(config.timezone).format(settings.formatTime[1]);\r\n\t\t\t\t\t$(settings.idTime[1]).html(minutes);\r\n\t\t\t\t}, 1000);\r\n\r\n\t\t\t\tsetInterval(function () {\r\n\t\t\t\t\tvar hours = moment().tz(config.timezone).format(settings.formatTime[0]);\r\n\t\t\t\t\t$(settings.idTime[0]).html(hours);\r\n\t\t\t\t}, 1000);\r\n\t\t\t}\r\n\t\t\t//});\r\n\t\t};\r\n\r\n\t\t/** @function carouselInit\r\n\t\t * @description Activation du carousel\r\n\t\t * @param {selector} [carousel = $('#carousel')] selecteur jQuery du carousel\r\n\t\t */\r\n\t\tvar carouselInit = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\tcarousel: $('#carousel')\r\n\t\t\t};\r\n\t\t\tvar settings = $.extend({}, defaults, params);\r\n\t\t\tvar defaultSliderConfig = {\r\n\t\t\t\tmobileFirst: true,\r\n\t\t\t\tarrows: false\r\n\t\t\t};\r\n\t\t\trequire(\"common/helpers\").elementExist('#carousel') && settings.carousel.find('.js-slider').slick(defaultSliderConfig);\r\n\t\t};\r\n\r\n\t\t/** @function colorisationTemperature\r\n\t\t * @description Couleur du bg des températures\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t */\r\n\t\tvar colorisationTemperature = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\ttype: 'temperature',\r\n\t\t\t\te: $('#temperatures').find('p'),\r\n\t\t\t\ta: minMaxTemp('[data-temperature]', 'temperature'),\r\n\t\t\t\tcoldCountry: $('#temperatures').is('.js-paysfroid') ? true : false\r\n\t\t\t};\r\n\t\t\tvar config = $.extend({}, defaults, params);\r\n\r\n\t\t\t$.each(config.e, function (index, val) {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\tt = parseInt($this.data(config.type)),\r\n\t\t\t\t\tpercent = Math.round((((t - config.a.min) / (config.a.max - config.a.min)) * 10).toFixed(2));\r\n\t\t\t\t// Définition de la color-bg\r\n\t\t\t\tif (!config.coldCountry) {\r\n\t\t\t\t\t$this.css('background-color', settings.colorsHot[percent]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$this.css('background-color', settings.colorsCold[percent]);\r\n\t\t\t\t}\r\n\t\t\t\t// Changement couleur texte si bg trop dark\r\n\t\t\t\t$this.brightness() == 'dark' ? $this.css('color', 'white') : '';\r\n\t\t\t});\r\n\t\t};\r\n\t\t/** @function colorisationSoleil\r\n\t\t * @description Couleur du bg des temps d'ensoleillement\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t */\r\n\t\tvar colorisationSoleil = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\ttype: ensoleillement,\r\n\t\t\t\te: $('#ensoleillement').find('li p')\r\n\t\t\t};\r\n\t\t\tvar config = $.extend({}, defaults, params);\r\n\r\n\t\t\t// OK\r\n\t\t\t$.each($('[data-jour]'), function () {\r\n\t\t\t\tvar duree = $(this).text().split('h'),\r\n\t\t\t\t\tdureeMinutes = parseInt(duree[0]) * 60 + parseInt(duree[1]);\r\n\t\t\t\t$(this).data('jour', dureeMinutes);\r\n\t\t\t});\r\n\r\n\t\t\tvar a = minMaxTemp('[data-jour]', 'jour');\r\n\t\t\t$.each($('[data-jour]'), function () {\r\n\t\t\t\tvar $this = $(this),\r\n\t\t\t\t\tt = parseInt($this.data('jour')),\r\n\t\t\t\t\tpercent = Math.round((((t - a.min) / (a.max - a.min)) * 10).toFixed(2));\r\n\t\t\t\t$this.css('background-color', settings.colorsDay[percent]);\r\n\t\t\t\t$this.brightness() == 'dark' ? $this.css('color', 'white') : '';\r\n\t\t\t});\r\n\t\t};\r\n\t\t/** @function colorisationPluie\r\n\t\t * @description Largeur de la bordure des précipitations\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t */\r\n\t\tvar colorisationPluie = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\ta: minMaxTemp('[data-precipitation]', 'precipitation'),\r\n\t\t\t\te: $('#precipitations').find('p')\r\n\t\t\t};\r\n\t\t\tvar settings = $.extend({}, defaults, params);\r\n\r\n\t\t\t$.each(settings.e, function (index, val) {\r\n\t\t\t\tvar t = parseInt($(this).data('precipitation')),\r\n\t\t\t\t\tpercent = Math.round((((t - settings.a.min) / (settings.a.max - settings.a.min)) * 10).toFixed(2));\r\n\t\t\t\tpercent == 0 ? percent = 1 : \"\"; // pour que les précipations aient au mois une bordure d'1 px\r\n\t\t\t\t$(this).css('border-width', percent + 'px').css('line-height', 50 - percent * 2 + 'px');\r\n\t\t\t});\r\n\t\t};\r\n\t\t/** @function climat\r\n\t\t * @description Gestion de le background-color des mois sur les pages climats\r\n\t\t * @requires colorisationTemperature()\r\n\t\t * @requires colorisationSoleil()\r\n\t\t * @requires colorisationPluie()\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t */\r\n\t\tvar climat = function () {\r\n\t\t\tif (require('common/helpers').elementExist('#temperatures'))\r\n\t\t\t\tcolorisationTemperature();\r\n\r\n\t\t\tif (require('common/helpers').elementExist('#ensoleillement'))\r\n\t\t\t\tcolorisationSoleil();\r\n\r\n\t\t\tif (require('common/helpers').elementExist('#precipitations'))\r\n\t\t\t\tcolorisationPluie();\r\n\t\t};\r\n\t\t/** @function devise\r\n\t\t * @description Gestion du widget de conversion de devise\r\n\t\t * @requires placeholder()\r\n\t\t * @memberof Pages pays\r\n\t\t * @author Gilles Maupoint\r\n\t\t * @version 1.1\r\n\t\t */\r\n\t\tvar devise = function (params) {\r\n\t\t\tvar defaults = {\r\n\t\t\t\turl: 'https://openexchangerates.org/api/latest.json?app_id=399f7a555c064dc48409500548b67fa5',\r\n\t\t\t\tidEuro: '#euro',\r\n\t\t\t\tidDevise: '#other',\r\n\t\t\t\terrorClass: 'error'\r\n\t\t\t};\r\n\t\t\tvar settings = $.extend({}, defaults, params);\r\n\t\t\t// requête exchange\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\turl: settings.url,\r\n\t\t\t\tdataType: \"jsonp\",\r\n\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\t$.each(data, function (key, val) {\r\n\t\t\t\t\t\tvar exchange = data.rates[config.monnaie],\r\n\t\t\t\t\t\t\trate = '',\r\n\t\t\t\t\t\t\trateLocal = data.rates['EUR'];\r\n\t\t\t\t\t\tif (config.deviseLocale != undefined)\r\n\t\t\t\t\t\t\trateLocal = data.rates['CAD'];\r\n\t\t\t\t\t\tisNaN(exchange) ? rate = settings.rateDefault : rate = exchange;\r\n\t\t\t\t\t\t$(settings.idEuro).on('keyup', function (event) {\r\n\t\t\t\t\t\t\tvar v = ($(this).val() / rateLocal) * rate,\r\n\t\t\t\t\t\t\t\t$d = $(settings.idDevise);\r\n\t\t\t\t\t\t\tv = v.toFixed(2);\r\n\t\t\t\t\t\t\t$.isNumeric(v) ? $d.val(v).removeClass(settings.errorClass) : $(this).addClass(settings.errorClass);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t$(settings.idDevise).on('keyup', function (event) {\r\n\t\t\t\t\t\t\tvar v = ($(this).val() / rate) * rateLocal,\r\n\t\t\t\t\t\t\t\t$e = $(settings.idEuro);\r\n\t\t\t\t\t\t\tv = v.toFixed(2);\r\n\t\t\t\t\t\t\t$.isNumeric(v) ? $e.val(v).removeClass(settings.errorClass) : $(this).addClass(settings.errorClass);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\terror: function () {\r\n\t\t\t\t\tconsole.error('erreur');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$(settings.idEuro, settings.idDevise).placeholder().on('click', function () {\r\n\t\t\t\t$(this).select();\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t//const ITEM_MENU = $('#navigation').find('li');\r\n\t\t//\r\n\t\tconst ITEM_MENU = $('#menuPays').find('li');\r\n\r\n\t\tvar menuMobile = function () {\r\n\r\n\t\t\t// Close all panels\r\n\t\t\tITEM_MENU.hide();\r\n\r\n\t\t\t// Accordion\r\n\t\t\t$('#subnavHc').on('click', function () {\r\n\t\t\t\t//var btn = $('.accordion-header');\r\n\t\t\t\tITEM_MENU.is(':visible') ? ITEM_MENU.css('display', 'none') : ITEM_MENU.css('display', 'block');\r\n\r\n\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t// fonctions\r\n\t\ttools(settings);\r\n\t\tif ($(window).width() < 768) {\r\n\t\t\tmenuMobile();\r\n\t\t}\r\n\t\tcarouselInit();\r\n\t\t$(function () {\r\n\t\t\t$('#video-gallery, .video-guide').lightGallery();\r\n\t\t});\r\n\r\n\r\n\t\t// Prez générale\r\n\t\tif (config.page == settings.onglets[0]) {\r\n\t\t\ttoggleIntroText(settings);\r\n\t\t\tcarte(settings);\r\n\t\t\t//panel(settings);\r\n\r\n\r\n\t\t}\r\n\r\n\t\t// Climat\r\n\t\t// TO DO : factoriser $.each()\r\n\t\tconfig.page == settings.onglets[1] ? climat() : '';\r\n\r\n\t\t// Infos pratiques\r\n\t\t// TO DO\r\n\t\tif (config.page == settings.onglets[2]) {\r\n\t\t\tdevise(settings);\r\n\t\t\tclock(settings);\r\n\t\t}\r\n\r\n\t}\r\n};\r\n\r\n\r\n$(function () {\r\n\t$('.lazy, [data-original]').lazyload();\r\n\tpays.init(config);\r\n});"]}