diff options
Diffstat (limited to 'public/assets/js/cookie.js')
| -rw-r--r-- | public/assets/js/cookie.js | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/public/assets/js/cookie.js b/public/assets/js/cookie.js new file mode 100644 index 0000000..fcd3006 --- /dev/null +++ b/public/assets/js/cookie.js @@ -0,0 +1,78 @@ +// basic cookie handling +////////////////////////////////////////////////////////////////////////////// + + +/** create cookie + * + * @param {string} name : cookie name + * @param {*} value : cookie value + * @param {int} expire : expiration time (in seconds) + */ +function createCookie(name, value, expire) { + + var expires; + + if (expire) { + var date = new Date(); + date.setTime(date.getTime()+(expire * 1000)); + expires = "; expires=" + date.toGMTString(); + + } else { + expires = ""; + } + + document.cookie = name+"="+value+expires+"; path=/"; +} + + +/** read cookie + * + * @param {string} name : cookie name + * @returns cookie value + */ +function readCookie(name) { + + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + + for(var i=0 ; i < ca.length ; i++ ) { + var c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1,c.length); + } + if (c.indexOf(nameEQ) == 0) { + return c.substring(nameEQ.length,c.length); + } + } + return null; +} + +/** remove cookie + * == create cookie with empty string, already expired + */ +function removeCookie(name) { + createCookie(name, "", -1); +} + + +/** cookie exists + * + * @param {string} name + * @returns {boolean} true|false + */ +function cookieExists(name) { + + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + + for(var i=0 ; i < ca.length ; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1, c.length); + } + if (c.indexOf(nameEQ) == 0) { + return true; + } + } + return false; +} |
