/** * Functions to mark a board as read inline. * * @author Marcel Werk * @copyright 2001-2009 WoltLab GmbH * @license WoltLab Burning Board License */ var BoardMarkAsRead = Class.create({ /** * Initialises BoardMarkAsRead. */ initialize: function(boards) { // store the data this.boards = boards; // init given objects var boardMarkAsRead = this; this.boards.each(function(pair) { boardMarkAsRead.initializeBoard.apply(boardMarkAsRead, [pair.value.boardNo]); }); }, /** * Initialises a board. */ initializeBoard: function(boardNo) { // get icon element var icon = $('boardIcon' + boardNo); if (icon) { // add event listener var boardMarkAsRead = this; icon.ondblclick = function() { boardMarkAsRead.markAsRead.apply(boardMarkAsRead, [boardNo]); } } }, /** * Marks a board as read. */ markAsRead: function(boardNo) { // get icon element var icon = $('boardIcon' + boardNo); // get board var board = this.boards.get(boardNo); // mark board as read var ajaxRequest = new AjaxRequest(); if (ajaxRequest.openGet('index.php?action=BoardMarkAsRead&boardID='+board.boardID+'&t='+SECURITY_TOKEN+'&ajax=1'+SID_ARG_2ND)) { // update icon if (icon) { // change icon icon.src = board.icon; // clear title tag icon.title = ''; } // get board link var link = $('boardLink' + boardNo); if (link) { // remove 'new' class link.removeClassName('new'); // get unread threads span var spans = link.getElementsByTagName('span'); if (spans.length > 0) { link.removeChild(spans[0]); } } } // remove event listener if (icon) { icon.ondblclick = ''; } } });