User:Ignatzmice/cologneblue.js

if(typeof Object.keys == "undefined") { Object.keys = (function {    var hasOwnProperty = Object.prototype.hasOwnProperty,        hasDontEnumBug = !{toString:null}.propertyIsEnumerable("toString"),        DontEnums = [             'toString', 'toLocaleString', 'valueOf', 'hasOwnProperty',            'isPrototypeOf', 'propertyIsEnumerable', 'constructor'        ],        DontEnumsLength = DontEnums.length;    return function (o) {        if (typeof o != "object" && typeof o != "function" || o === null)            throw new TypeError("Object.keys called on a non-object");        var result = [];        for (var name in o) {            if (hasOwnProperty.call(o, name))                result.push(name);        }        if (hasDontEnumBug) {            for (var i = 0; i < DontEnumsLength; i++) {                if (hasOwnProperty.call(o, DontEnums[i]))                    result.push(DontEnums[i]);            }           }        return result; }; }); } $(document).ready(function {	var numNotes = /\d+/.exec($("#pt-notifications").text)[0]; if(numNotes == null) {		var data = {action:"query", meta:"notifications", format:"json", notprop:"count"}; $.post("/w/api.php", data, function(result)		{			numNotes = result.query.notifications.count;		}); }	if(numNotes > 0) {		var firstData = {action:"query", meta:"notifications", format:"json", notprop:"list",notlimit:numNotes} $.post("/w/api.php", firstData, function(firstResponse)		{			var keyArray = Object.keys(firstResponse.query.notifications.list)			if((wgCanonicalNamespace + ":" + wgTitle) == ("User_talk:" + wgUserName))			{				var idString = "";				for(i = 0; i < keyArray.length; i++)				{					if(firstResponse.query.notifications.list[keyArray[i]].category == "edit-user-talk" && typeof firstResponse.query.notifications.list[keyArray[i]].read == "undefined")					{						idString = idString + keyArray[i] + "|";					}				}				if(idString.length > 0)				{					var secondData = {action:"query", meta:"notifications", format:"json", notlimit:"1", notmarkread:idString};					$.post("/w/api.php", secondData);				}			}			else			{				for(i = 0; i < keyArray.length; i++)				{					if(firstResponse.query.notifications.list[keyArray[i]].category == "edit-user-talk" && typeof firstResponse.query.notifications.list[keyArray[i]].read == "undefined") {						var lastUser = firstResponse.query.notifications.list[keyArray[i]].agent.name; var orangeBarDiv = document.createElement("div"); orangeBarDiv.innerHTML = 'You have new messages. Last edit by '+lastUser+'. Please familiarize yourself with the new Notifications system, as the orange-bar system will soon be gone. See the documentation to turn it off now. ';						orangeBarDiv.className = "usermessage"; $("#contentSub").after(orangeBarDiv); return; }				}			}		});	} });