OGame : BBCode

By Black Cat Last update Jul 23, 2009 — Installed 6,371 times. Daily Installs: 3, 3, 9, 8, 7, 5, 3, 8, 4, 12, 11, 3, 6, 4, 4, 3, 3, 6, 3, 1, 2, 4, 3, 8, 7, 6, 3, 8, 5, 8, 3, 4

There are 3 previous versions of this script.

// ==UserScript==
// @name OGame : BBCode
// @namespace http://userscripts.org/users/36331
// @description OGame : BBCode in messages
// @date 2009-07-23
// @creator Black Cat
// @include http://uni*.ogame.*/game/index.php?page=writemessages*
// @include http://uni*.ogame.*/game/index.php?page=allianzen*&a=17*
// @exclude
// ==/UserScript==

(function(){

	var script = document.createElement('script');
	script.setAttribute("type","text/javascript");
	script.setAttribute("language","javascript");
	script.text = 
	'function addBBCode(tag,value) {' +
		'if (value=="0") return;' +
		'var message = document.getElementsByName("text")[0];' +
		'if (value=="") ' +
			'var str1 = "[" + tag + "]";' +
		'else ' +
			'var str1 = "[" + tag + "=" + value + "]";' +
		'var str2 = "[/" + tag + "]";' +
		'message.focus();' +
		'if (message.isTextEdit) {' +
			'var sel = document.selection;' +
			'var rng = sel.createRange();' +
			'var seltext = rng.text;' +
			'rng.text = str1 + seltext + str2;' +
			'rng.collapse(false);' +
			'rng.move("character",-str2.length);' +
			'rng.moveStart("character",-seltext.length);' +
			'rng.select();' +
		'} else {' +
			'var start = message.selectionStart;' +
			'var starttext = message.value.substring(0,start);' +
			'var seltext = message.value.substring(start,message.selectionEnd);' +
			'var endtext = message.value.substring(message.selectionEnd,message.textLength);' +
			'message.value = starttext + str1 + seltext + str2 + endtext;' +
			'message.selectionStart = start + str1.length;' +
			'message.selectionEnd = start + str1.length + seltext.length;' +
		'}' +
		'message.focus();' +
	'}';
	var form = document.getElementsByTagName('form')[0];
	form.parentNode.insertBefore(script,form);
	var row1 = document.createElement("tr");
	var row2 = document.createElement("tr");
	var row3 = document.getElementById("content").getElementsByTagName("textarea")[0].parentNode.parentNode;
	var cell1 = row3.getElementsByTagName('th')[0];
	var cell2 = document.createElement("th");
	var cell3 = document.createElement("th");
	cell2.innerHTML += "<select onchange='addBBCode(\"font\",this.value)'><option value='0'>FONT</option><option value='arial'>Arial</option><option value='comic sans ms'>Comic</option><option value='courier new'>Courier New</option><option value='tahoma'>Tahoma</option><option value='times new roman'>Times New Roman</option><option value='verdana'>Verdana</option></select> ";
	cell2.innerHTML += "<select onchange='addBBCode(\"size\",this.value)'><option value='0'>SIZE</option><option value='7'>tiny</option><option value='10'>small</option><option value='12'>normal</option><option value='16'>big</option><option value='20'>huge</option></select> ";
	cell2.innerHTML += "<select onchange='addBBCode(\"color\",this.value)'><option value='0'>COLOR</option><option value='black' style='color:black'>black</option><option value='silver' style='color:silver'>silver</option><option value='gray' style='color:gray'>gray</option><option value='maroon' style='color:maroon'>maroon</option><option value='#A52A2A' style='color:brown'>brown</option><option value='red' style='color:red'>red</option><option value='orange' style='color:orange'>orange</option><option value='yellow' style='color:yellow'>yellow</option><option value='lime' style='color:lime'>lime</option><option value='green' style='color:green'>green</option><option value='olive' style='color:olive'>olive</option><option value='teal' style='color:teal'>teal</option><option value='aqua' style='color:aqua'>aqua</option><option value='blue' style='color:blue'>blue</option><option value='navy' style='color:navy'>navy</option><option value='purple' style='color:purple'>purple</option><option value='fuchsia' style='color:fuchsia'>fuchsia</option><option value='#FFC0CB' style='color:pink'>pink</option><option value='white' style='color:white'>white</option></select> ";
	cell3.innerHTML += "<a href='javascript:addBBCode(\"b\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/fontStyleBoldM.png' alt='Bold Text' title='Bold Text' border='0' /></a><a href='javascript:addBBCode(\"i\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/fontStyleItalicM.png' alt='Italic Text' title='Italic Text' border='0' /></a><a href='javascript:addBBCode(\"u\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/fontStyleUnderlineM.png' alt='Underlined Text' title='Underlined Text' border='0' /></a> ";
	cell3.innerHTML += "<a href='javascript:addBBCode(\"center\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/textAlignCenterM.png' alt='Center Text' title='Center Text' border='0' /></a> ";
	cell3.innerHTML += "<a href='javascript:addBBCode(\"url\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/linkInsertM.png' alt='Add Link' title='Add Link' border='0' /></a>";
	if (document.location.href.indexOf('page=allianzen') != -1)
		cell3.innerHTML += "<a href='javascript:addBBCode(\"img\",\"\")'><img src='http://board.ogame.de/wcf/icon/wysiwyg/insertImageM.png' alt='Insert Image' title='Insert Image' border='0' /></a>";
	cell1.setAttribute("rowSpan","3");
	row1.appendChild(cell1);
	row1.appendChild(cell2);
	row2.appendChild(cell3);
	row3.parentNode.insertBefore(row1,row3);
	row3.parentNode.insertBefore(row2,row3);
})();