var CONFIGS = { LANGS_AVAILABLE: [ "ar","az","bg","bn","ca","cs","da","de","dv","dz","el","en","es","et","fa","fr","he","hr","hu","hy","id","is","it","ja","ka","km","ko","lo","lt","lv","mk","mn","ms","my","ne","nl","no","pl","pt","ro","ru","sk","sl","sq","sv","sv","th","tk","tr","uk","vi","zh" ], BCP47: [{ "fr": "fr-FR" },{ "en": "en-GB" },{ "pt": "pt-PT" }], DEFAULT_LANGUAGE: "fr", TRANSLATION_MAPPER: { en_US: "en", en_UK: "en", fr_FR: "fr", pt_PT: "pt" }, READ_VALUE_FROM_COOKIE: function(cName) { var name = cName + "=", decodedCookie = decodeURIComponent(document.cookie), ca = decodedCookie.split(";"); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == " ") { c = c.substring(1); } if (c.indexOf(name) === 0) { return c.substring(name.length, c.length); } } return ""; }, SET_COOKIE: function(cName, cValue, expiracyDays, path) { var d = new Date(); d.setTime(d.getTime() + (expiracyDays*24*60*60*1000)); var expires = "expires=" + d.toUTCString(); document.cookie = cName + "=" + cValue + ";" + expires + ";path=" + path; }, GET_DATE_FROM_STRING: function(selectedDate, separator, mapDateChunks) { var d = new Date(), dateSeparator = separator || "/", dateChunksDefaultPosition = { "year": 2, "month": 1, "day": 0 }; if (selectedDate !== "" && typeof(selectedDate) !== "undefined" && selectedDate !== null) { var splitedDate = selectedDate.split(dateSeparator); if (splitedDate.length !== 3) { throw("Invalid date provided"); } if (typeof(mapDateChunks) !== "undefined" && typeof(mapDateChunks) === "object" && mapDateChunks !== null) { if (!mapDateChunks.hasOwnProperty("year") || !mapDateChunks.hasOwnProperty("month") || !mapDateChunks.hasOwnProperty("day")) { throw("Invalid mapper provided. Mapper should be {'year': position,'month': position, 'day': position}"); } dateChunksDefaultPosition = mapDateChunks; } // new Date(Year, month, day) d = new Date(splitedDate[dateChunksDefaultPosition.year], splitedDate[dateChunksDefaultPosition.month] - 1, splitedDate[dateChunksDefaultPosition.day]); } return d; }, UCFIRST: function(value) { return value.charAt(0).toUpperCase() + value.slice(1); }, GET_BCP47_REPRESENTATION_BY_LANG: function(currentLang) { var bcp = ""; if (this.LANGS_AVAILABLE.indexOf(currentLang) < 0) { // if not found use a default one bcp = "fr-FR"; } var bcp47Length = this.BCP47.length; this.BCP47.forEach(function(element) { if (element.hasOwnProperty(currentLang)) { bcp = element[currentLang]; return; } }); return bcp; } };