MediaWiki:Gadget-smileybox.js
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
//<!--
var smileyBox;
function showSmileyBar()
{
vis = (smileyBox.style.display == "block");
if (!vis)
{
var toolbar = document.getElementById('toolbar');
toolbar.appendChild(smileyBox);
smileyBox.style.display = "block";
} else {
smileyBox.style.display = "none";
}
}
function smileys()
{
/* if (mwCustomEditButtons) {
mwCustomEditButtons[mwCustomEditButtons.length] = {
"imageId" : "smileyButton",
"imageFile": "/wiki/images/9/9e/Button_goat.png",
"speedTip": "Smileys",
"tagOpen": "",
"tagClose": "",
"sampleText": ""}
}*/
var toolbar = document.getElementById('toolbar');
if (!toolbar) { return false; }
var textbox = document.getElementById('wpTextbox1');
// if (!textbox) { return false; }
// Don't generate buttons for browsers which don't fully
// support it.
/* if (!(document.selection && document.selection.createRange))
{
return false;
}
if (textbox && textbox.selectionStart === null) {
return false;
}*/
/* var smileyButton = document.getElementById("smileyButton");
smileyButton.onclick = function() {
showSmileyBar();
return false;
};*/
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.className = "mw-toolbar-editbutton";
image.id = "smileyButton";
image.src = "/wiki/images/9/9e/Button_goat.png";
image.border = 0;
image.alt = "Smileys";
image.title = "Smileys";
image.style.cursor = "pointer";
image.onclick = function() {
showSmileyBar();
return false;
};
toolbar.appendChild(image);
smileyBox = document.createElement("div");
smileyBox.id = "smileyBox";
smileyBox.style.position = "static";
/* smileyBox.style.width = "200px";
smileyBox.style.height = "200px";*/
smileyBox.style.backgroundColor = "CornflowerBlue";
/*populate smiley box using RationalWiki:Smileys*/
var req = false;
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req) {
req.open("GET", wgServer + wgScript + "?title=RationalWiki:Smileys", true);
//req.overrideMimeType("text/xml");
req.onreadystatechange = function()
{
if (req.readyState==4 && req.status == 200) {
var xmlhack = document.createElement("div");
xmlhack.innerHTML = req.responseText;
var divs = xmlhack.getElementsByTagName("div");
//var divs = req.responseXML.documentElement.getElementsByTagName("div");
var bci;
var i;
for (i=0; i<divs.length; i++ ) {
if ( divs[i].id == "bodyContent" ) {
bci = i;
break;
}
}
var imgs = divs[bci].getElementsByTagName("img");
while (imgs.length>0)
{
addSmiley(smileyBox,imgs.item(0));
}
}
}
req.send(null);
}
smileyBox.style.display = "none";
return true;
}
function addSmiley(parent, item)
{
item.onclick = function() {
insertTags('[[File:' + item.alt + ']]','','');
return false;
};
item.style.margin="4px";
item.style.cursor = "pointer";
item.title = item.alt;
parent.appendChild(item);
}
hookEvent("load", smileys);
//-->