User:Writ Keeper/Scripts/orangeBar.js

$(document).ready(function()

{

var HTML_CHAR_MAP = {

'<': '<',

'>': '>',

'&': '&',

'"': '"',

"'": '''

};

function escapeHtml (s) {

return s.replace(/[<>&"']/g, function (ch) {

return HTML_CHAR_MAP[ch];

});

}

//the update of wgUserNewMsgRevId seems to be slow now; it's not updating until *after* the talk page is viewed. So, we exclude the user's talk page, since they won't need it there

if($(".mw-echo-alert").length > 0 && !(mw.config.get('wgNamespaceNumber') == 3 && mw.config.get('wgTitle') == mw.config.get('wgUserName')))

{

var orangeBarDiv = document.createElement("div");

orangeBarDiv.innerHTML = 'You have new messages (last change).';

orangeBarDiv.className = "usermessage";

if($("#contentSub").length == 0) //No #contentSub in CologneBlue, so handle it specially (possibly adding multiple orange bars but oh well)

{

$(".tagline").after(orangeBarDiv);

}

else //all other skins

{

$("#contentSub").after(orangeBarDiv);

}

//default styling, in case the CSS stylesheet fails to load (keeping the className the same allows for user customization)

$(orangeBarDiv).css({"background-color": "#ffce7b","border": "1px solid #ffa500","color": "black","font-weight": "bold","margin": "2em 0 1em","padding": ".5em 1em","vertical-align": "middle"})

}

});