OGame : Smilies
By Black Cat
—
Last update Jan 29, 2008
—
Installed
5,734 times.
// ==UserScript==
// @name OGame : Smilies
// @namespace http://userscripts.org/users/36331
// @description OGame : Smilies in messages
// @date 2008-01-30
// @creator Black Cat
// @include http://uni*.ogame.*/game/index.php?page=messages*
// @include http://uni*.ogame.*/game/index.php?page=writemessages*
// @include http://uni*.ogame.*/game/index.php?page=allianzen*&a=17*
// @exclude
// ==/UserScript==
(function(){
var smilies = new Array();
smilies.push(new Array(":D","http://board.ogame.org/en_images_ogame/smilies/biggrin.gif"));
smilies.push(new Array(":tongue:","http://board.ogame.org/en_images_ogame/smilies/tongue2.gif"));
smilies.push(new Array(":evil:","http://board.ogame.org/en_images_ogame/smilies/evil.gif"));
smilies.push(new Array(":baby:","http://board.ogame.org/en_images_ogame/smilies/baby.gif"));
smilies.push(new Array(":rolleyes:","http://board.ogame.org/en_images_ogame/smilies/rolleyes.gif"));
smilies.push(new Array(";)","http://board.ogame.org/en_images_ogame/smilies/wink.gif"));
smilies.push(new Array(":P","http://board.ogame.org/en_images_ogame/smilies/tongue.gif"));
smilies.push(new Array(":)","http://board.ogame.org/en_images_ogame/smilies/smile.gif"));
smilies.push(new Array("X(","http://board.ogame.org/en_images_ogame/smilies/mad.gif"));
smilies.push(new Array(":))","http://board.ogame.org/en_images_ogame/smilies/happy.gif"));
smilies.push(new Array(":O","http://board.ogame.org/en_images_ogame/smilies/redface.gif"));
smilies.push(new Array("?(","http://board.ogame.org/en_images_ogame/smilies/confused.gif"));
smilies.push(new Array("8-)","http://board.ogame.org/en_images_ogame/smilies/cool.gif"));
smilies.push(new Array(";(","http://board.ogame.org/en_images_ogame/smilies/crying.gif"));
smilies.push(new Array("8o","http://board.ogame.org/en_images_ogame/smilies/eek.gif"));
smilies.push(new Array(":]","http://board.ogame.org/en_images_ogame/smilies/pleased.gif"));
smilies.push(new Array(":(","http://board.ogame.org/en_images_ogame/smilies/frown.gif"));
smilies.push(new Array(":supa:","http://board.ogame.de/de_images/smilies/applaus.gif"));
smilies.push(new Array(":ra:","http://board.ogame.de/de_images/smilies/rauch08.gif"));
if (document.location.href.indexOf('=messages') != -1) {
function sort_smilies(a,b) { return b[0].length-a[0].length; }
smilies.sort(sort_smilies);
var rows = document.getElementById("content").getElementsByTagName("table")[1].getElementsByTagName("tbody")[0].childNodes;
for (var i = 0; i < smilies.length; i++) {
var smiley = smilies[i][0];
smiley = smiley.replace(/\\/g,"\\\\");
smiley = smiley.replace(/\[/g,"\\\[").replace(/\]/g,"\\\]");
smiley = smiley.replace(/\(/g,"\\\(").replace(/\)/g,"\\\)");
smiley = smiley.replace(/\{/g,"\\\{").replace(/\}/g,"\\\}");
smiley = smiley.replace(/\./g,"\\\.").replace(/\+/g,"\\\+").replace(/\*/g,"\\\*").replace(/\?/g,"\\\?");
smiley = smiley.replace(/\^/g,"\\\^").replace(/\$/g,"\\\$").replace(/\|/g,"\\\|").replace(/\-/g,"\\\-");
var expression = new RegExp("(^|[^\"'=])"+smiley+"([^\"']|$)","gi");
for (var j = 0; j < rows.length; j++) {
var row = rows.item(j);
if (row.nodeName.toLowerCase() == "tr") {
var cell = row.getElementsByTagName("td")[1];
if (cell && row.getElementsByTagName("table").length==0) { // Replace twice
cell.innerHTML = cell.innerHTML.replace(expression,"$1<img src='"+smilies[i][1]+"' alt='"+smilies[i][0]+"' border='0' />$2");
cell.innerHTML = cell.innerHTML.replace(expression,"$1<img src='"+smilies[i][1]+"' alt='"+smilies[i][0]+"' border='0' />$2");
}
}
}
}
} else {
var script = document.createElement('script');
script.setAttribute("type","text/javascript");
script.setAttribute("language","javascript");
script.text =
'function addSmiley(smiley) {' +
'var message = document.getElementsByName("text")[0];' +
'var str = " " + smiley;' +
'message.focus();' +
'if (message.isTextEdit) {' +
'var sel = document.selection;' +
'var rng = sel.createRange();' +
'rng.text = str;' +
'rng.collapse(false);' +
'rng.select();' +
'} else {' +
'var start = message.selectionStart;' +
'var starttext = message.value.substring(0,start);' +
'var endtext = message.value.substring(message.selectionEnd,message.textLength);' +
'message.value = starttext + str + endtext;' +
'start += str.length;' +
'message.selectionStart = start;' +
'message.selectionEnd = start;' +
'}' +
'message.focus();' +
'}';
var form = document.getElementsByTagName('form')[0];
form.parentNode.insertBefore(script,form);
var cell = document.getElementById("cntChars").parentNode;
var div = document.createElement("div");
for (var i = 0; i < smilies.length; i++) {
div.innerHTML += "<a href=\"javascript:addSmiley('"+smilies[i][0]+"')\"><img src='"+smilies[i][1]+"' alt='"+smilies[i][0]+"' border='0' /></a> ";
}
cell.style.width = "150px";
div.setAttribute("align","center");
div.style.width = "99%";
div.style.height = "100px";
div.style.overflow = "auto";
cell.appendChild(document.createElement("br"));
cell.appendChild(document.createElement("br"));
cell.appendChild(div);
}
})();