function insertAfter(node, referenceNode) {
	referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling);
}
function loadGrins() {
	var grinsDiv = document.createElement('div');
	grinsDiv.id = 'wp_grins';
	grinsDiv.innerHTML = '<img src="http://www.liboxia.com/wp-includes/images/smilies/29.gif" alt=":~~:" onclick="grin(\':~~:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/6.gif" alt=":~~" onclick="grin(\':~~\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/56.gif" alt=":||:" onclick="grin(\':||:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/11.gif" alt=":zz" onclick="grin(\':zz\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/26.gif" alt=":wink:" onclick="grin(\':wink:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/32.gif" alt=":twisted:" onclick="grin(\':twisted:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/52.gif" alt=":shout:" onclick="grin(\':shout:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/25.gif" alt=":roll:" onclick="grin(\':roll:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/48.gif" alt=":pig:" onclick="grin(\':pig:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/16.gif" alt=":oops:" onclick="grin(\':oops:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/7.gif" alt=":lol:" onclick="grin(\':lol:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/31.gif" alt=":good:" onclick="grin(\':good:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/17.gif" alt=":cry:" onclick="grin(\':cry:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/35.gif" alt=":bye:" onclick="grin(\':bye:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/49.gif" alt=":bs:" onclick="grin(\':bs:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/15.gif" alt=":^:" onclick="grin(\':^:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/34.gif" alt=":OO:" onclick="grin(\':OO:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/50.gif" alt=":?:" onclick="grin(\':?:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/3.gif" alt=":7:" onclick="grin(\':7:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/9.gif" alt=":0:" onclick="grin(\':0:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/23.gif" alt=":-|" onclick="grin(\':-|\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/53.gif" alt=":-x" onclick="grin(\':-x\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/36.gif" alt=":-o" onclick="grin(\':-o\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/47.gif" alt=":-D" onclick="grin(\':-D\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/13.gif" alt=":)" onclick="grin(\':)\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/44.gif" alt=":%:" onclick="grin(\':%:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/40.gif" alt=":!:" onclick="grin(\':!:\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/24.gif" alt="8-O" onclick="grin(\'8-O\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/46.gif" alt="8)" onclick="grin(\'8)\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/18.gif" alt="-.-||" onclick="grin(\'-.-||\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/38.gif" alt="*_*" onclick="grin(\'*_*\');"/> <img src="http://www.liboxia.com/wp-includes/images/smilies/14.gif" alt="*:*" onclick="grin(\'*:*\');"/> ';
	if ($('postdiv')) {
		var type = 'child';
		var node = $('postdiv');
	}
	else if (document.getElementById('postdivrich')) {
		var type = 'child';
		var node = $('postdivrich');
	}
	else if (document.getElementById('comment')) {
		var type = 'before';
		var node = $('comment');
	}
	else {
		return;
	}
	switch (type) {
		case 'child':
			grinsDiv.style.paddingTop = '5px';
			node.appendChild(grinsDiv);
			break;
		case 'before':
			node.parentNode.insertBefore(grinsDiv, node);
			break;
	}
}
Event.observe(window, 'load', loadGrins, false);
function grin(tag) {
	var myField;
	if ($('content') && $('content').type == 'textarea') {
		myField = document.getElementById('content');
		if ($('postdivrich') && typeof tinyMCE != 'undefined' && (!$('edButtons') || $('quicktags').style.display == 'none')) {
			tinyMCE.execInstanceCommand('mce_editor_0', 'mceInsertContent', false, '&nbsp;' + tag + '&nbsp;');
			tinyMCE.selectedInstance.repaint();
			return;
		}
	}
	else if ($('comment') && $('comment').type == 'textarea') {
		myField = $('comment');
	}
	else {
		return false;
	}
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = ' ' + tag + ' ';
		myField.focus();
	}
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		myField.value = myField.value.substring(0, startPos)
					  + ' ' + tag + ' '
					  + myField.value.substring(endPos, myField.value.length);
		cursorPos += tag.length + 2;
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
	}
	else {
		myField.value += tag;
		myField.focus();
	}
}
