msnbc.components.TextTools = msnbc.components.Component.extend({ insert: function(selectr){ this.INCREMENT = 2; this.currTextSize = parseFloat( $('#article').css("font-size").replace(/px?/g, '') ); var self = this; /*create link markup*/ var type = '
  • Font:
  • '; var size = '
  • '; $(selectr).find(".text-tools").after(''); this.button = $(selectr).find('.text-tools .font'); /*typeface change*/ this.button.click(function(e){ e.preventDefault(); self.setSans(!$(this).hasClass('typechg'), true); }); /*typesize change*/ $(selectr).find('.txtdn,.txtup').click(function(e){ e.preventDefault(); var delta = ($(this).hasClass("txtup")) ? 1 : -1; var newSize = (delta * self.INCREMENT) + self.currTextSize; self.setTextSize( newSize, true); }); /*dateline hack (FF only; IE's being dumb)*/ $("#byline img").dblclick(function(e){ $("#article").css('font-family','Comic Sans MS'); }); /*timestamp single page hack*/ $('#timestamp').dblclick(function(e){ $('#article div').addClass('show'); $('#article h3').addClass('show open'); }); }, setSans: function(isSans, saveToCookie){ isSans = Boolean(isSans); this.button.toggleClass('typechg', isSans); $('#article').toggleClass('typechg', isSans); if (saveToCookie) { var binary = (isSans) ? 1 : 0; this.handleCookie('ff', binary); } }, setTextSize: function(size, saveToCookie){ if (size!=this.currTextSize && size >= 8 && size <= 26) { $('#article').css('font-size', size + 'px'); this.currTextSize = size; } if (saveToCookie) { this.handleCookie('fs', this.currTextSize); } }, handleCookie: function(cmd, code){ if (msnbc.document.cookieMgr) { var cCmd = {}; cCmd[cmd] = code; msnbc.document.cookieMgr.addCookieCommand(msnbc.document.settings.DEFAULT_COOKIE_NAME, this.__module.SHORT_NAME, cCmd); } } });