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);
}
}
});