diff --git a/docs/symbols/src/kis-js_src_modules_store.js.html b/docs/symbols/src/kis-js_src_modules_store.js.html
index 8778919..8ed3ef5 100755
--- a/docs/symbols/src/kis-js_src_modules_store.js.html
+++ b/docs/symbols/src/kis-js_src_modules_store.js.html
@@ -7,88 +7,117 @@
.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
1 (function (){
2 "use strict";
- 3
- 4 /**
- 5 * Wrapper for localstorage data serialization
- 6 *
- 7 * @name store
- 8 * @namespace
- 9 * @memberOf $_
- 10 */
- 11 var store = {
- 12 /**
- 13 * Retrieves and deserializes a value from localstorage,
- 14 * based on the specified key
- 15 *
- 16 * @param string key
- 17 * @name get
- 18 * @memberOf $_.store
- 19 * @function
- 20 * @return object
- 21 */
- 22 get: function (key)
- 23 {
- 24 return JSON.parse(localStorage.getItem(key));
- 25 },
- 26 /**
- 27 * Puts a value into localstorage at the specified key,
- 28 * and JSON-encodes the value if not a string
- 29 *
- 30 * @param string key
- 31 * @param mixed value
- 32 * @name set
- 33 * @memberOf $_.store
- 34 * @function
- 35 * @return void
- 36 */
- 37 set: function (key, value)
- 38 {
- 39 if (typeof value !== "string")
- 40 {
- 41 value = JSON.stringify(value);
- 42 }
- 43 localStorage.setItem(key, value);
- 44 },
- 45 /**
- 46 * Removes the specified item from localstorage
- 47 *
- 48 * @param string key
- 49 * @name remove
- 50 * @memberOf $_.store
- 51 * @function
- 52 * @return void
- 53 */
- 54 remove: function (key)
- 55 {
- 56 localStorage.removeItem(key);
+ 3
+ 4 //No support for localstorage? Bail out early
+ 5 if(typeof localStorage === "undefined" || typeof JSON === "undefined")
+ 6 {
+ 7 return;
+ 8 }
+ 9
+ 10 //Shortcuts for wrapper
+ 11 var l = localStorage,
+ 12 s = sessionStorage;
+ 13
+ 14 /**
+ 15 * Wrapper for localstorage / sessionstorage data serialization
+ 16 *
+ 17 * @name store
+ 18 * @namespace
+ 19 * @memberOf $_
+ 20 */
+ 21 var store = {
+ 22 /**
+ 23 * Retrieves and deserializes a value from localstorage,
+ 24 * based on the specified key
+ 25 *
+ 26 * @param string key
+ 27 * @param bool session
+ 28 * @name get
+ 29 * @memberOf $_.store
+ 30 * @function
+ 31 * @return object
+ 32 * @type object
+ 33 */
+ 34 get: function (key, sess)
+ 35 {
+ 36 var val = (sess) ? s.getItem(key) : l.getItem(key);
+ 37
+ 38 return JSON.parse(val);
+ 39 },
+ 40 /**
+ 41 * Puts a value into localstorage at the specified key,
+ 42 * and JSON-encodes the value if not a string
+ 43 *
+ 44 * @param string key
+ 45 * @param mixed value
+ 46 * @param bool session
+ 47 * @name set
+ 48 * @memberOf $_.store
+ 49 * @function
+ 50 */
+ 51 set: function (key, value, sess)
+ 52 {
+ 53 // Localstorage generally only accepts strings
+ 54 value = JSON.stringify(value);
+ 55
+ 56 (sess) ? s.setItem(key, value) : l.setItem(key, value);
57 },
58 /**
- 59 * Returns an array of all the values in localstorage
- 60 * in their raw form
- 61 *
- 62 * @name getAll
- 63 * @member of $_.store
- 64 * @function
- 65 * @return object
+ 59 * Removes the specified item from storage
+ 60 *
+ 61 * @param string key
+ 62 * @param bool session
+ 63 * @name remove
+ 64 * @memberOf $_.store
+ 65 * @function
66 */
- 67 getAll: function ()
+ 67 remove: function (key, sess)
68 {
- 69 var i,
- 70 len,
- 71 data;
- 72 len = localStorage.length;
- 73 data = {};
- 74
- 75 for (i = 0; i < len; i++)
- 76 {
- 77 var name = localStorage.key(i);
- 78 var value = localStorage.getItem(name);
- 79 data[name] = value;
- 80 }
- 81
- 82 return data;
- 83 }
- 84 };
- 85
- 86 $_.ext('store', store);
- 87 }());