var button_images = { 'clear-tag': { 'off': '3a.gif', 'on': '3.gif' }, 'goto-tag': { 'off': '2a.gif', 'on': '2.gif' } }; var BookmarkInfo = Class.create({ 'default': { 'permalink': false }, 'initialize': function() { this.jar = new CookieJar({ 'expires': 60 * 60 * 24 * 31, 'path': '/' }); }, 'read': function() { var bookmark_info = this.jar.get('bookmark-info'); if ((typeof(bookmark_info) != 'object') || (bookmark_info == null)) { bookmark_info = this.default; } return bookmark_info; }, 'write': function(bookmark_info) { this.jar.put('bookmark-info', bookmark_info); if (this.onWrite) { this.onWrite(bookmark_info); } } }); Event.observe(window, 'load', function() { var bookmark_info = new BookmarkInfo(); var info = bookmark_info.read(); var hrefs = {}; $$('#comic-bookmark-holder a').each(function(a) { var name = $w(a.className).shift(); hrefs[name] = a; }); var set_goto_tag = function(i) { hrefs['goto-tag'].href = (i.permalink ? i.permalink : "#"); [ 'goto-tag','clear-tag' ].each(function(which) { hrefs[which].select('img')[0].src = image_root + button_images[which][i.permalink ? "on" : "off"]; }); }; bookmark_info.onWrite = function(i) { set_goto_tag(i); } set_goto_tag(info); Event.observe(hrefs['tag-page'], 'click', function(e) { Event.stop(e); info.permalink = permalink; bookmark_info.write(info); }); Event.observe(hrefs['clear-tag'], 'click', function(e) { Event.stop(e); info.permalink = false; bookmark_info.write(info); }); Event.observe(hrefs['goto-tag'], 'click', function(e) { if (hrefs['goto-tag'].href == "#") { Event.stop(e); } }); });