var resourceHelper = {}; resourceHelper.services = null; resourceHelper.language = null; resourceHelper.resources = null; resourceHelper.sessionKey = "PRM_Resource_Strings"; resourceHelper.init = function (services, language) { resourceHelper.services = services; resourceHelper.language = language; resourceHelper.sessionKey += language; //sessionStorage.removeItem(resourceHelper.sessionKey); resourceHelper.loadResource(); } resourceHelper.loadResource = function () { if (typeof (Storage) !== "undefined") { try { if (sessionStorage.getItem(resourceHelper.sessionKey) !== null && sessionStorage.getItem(resourceHelper.sessionKey) !== "") { resourceHelper.resources = JSON.parse(sessionStorage.getItem(resourceHelper.sessionKey)); } else { resourceHelper.resources = null; } } catch (e) { resourceHelper.resources = null; } } if (resourceHelper.resources === null) { $.getJSON(resourceHelper.services + 'ResourceHelper.ashx?language=' + resourceHelper.language, { format: "json" }) .done( function (data) { if (typeof (Storage) !== "undefined") { sessionStorage.setItem(resourceHelper.sessionKey, JSON.stringify(data.resources)); } resourceHelper.resources = data.resources; } ); } } resourceHelper.getString = function (key) { return resourceHelper.getStringWithFallback(key, ""); } resourceHelper.getStringWithFallback = function (key, fallback) { var value = resourceHelper.retrieveResourceValue(key); if (value === null || value === "" || value === undefined) { value = fallback; } return value; } resourceHelper.retrieveResourceValue = function (key) { var value = ""; if (resourceHelper.resources != null) { var v = resourceHelper.resources[key]; if (v !== null) { value = v; } } return value; }