/** * jQuery MultiCookie Plugin * * Copyright (c) 2011 Ruven Pelka (ruvenpelka.com) */ (function($) { /* Styleswitcher ============================================================ */ $.fn.multi_cookie = function(cookie_name, key, value) { if(value) $.fn.multi_cookie.set(cookie_name, key, value); else return $.fn.multi_cookie.get(cookie_name, key); } /* Get Value ------------------------------------------------------------ */ $.fn.multi_cookie.get = function(cookie_name, key) { var cookie_string = $.cookie(cookie_name); if(cookie_string == null || cookie_string == '') return false; var cookie_string_obj = cookie_string.split('&'); var cookie_val = ''; for(x in cookie_string_obj) { var pair = cookie_string_obj[x].split('='); if(pair[0] == key) cookie_val = pair[1]; } if(cookie_val == '') return false; return cookie_val; }; /* Set Value ------------------------------------------------------------ */ $.fn.multi_cookie.set = function(cookie_name, key_name, value) { var cookie_string = $.cookie(cookie_name); var new_cookie_string = ''; if(cookie_string == null || cookie_string == '') { new_cookie_string = key_name + '=' + value; } else { var cookie_string_obj = cookie_string.split("&"); var value_set = false; for(x in cookie_string_obj){ var pair = cookie_string_obj[x].split('='); if(pair[0] == key_name) { cookie_string_obj[x] = pair[0] + '=' + value; value_set = true; } } if(!value_set) { cookie_string_obj.push(key_name + '=' + value); } new_cookie_string = cookie_string_obj.join('&'); } $.cookie(cookie_name, new_cookie_string, { path: '/' }) }; })(jQuery);