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://cerotonin.com/blogg/wp-includes/images/smilies/bawl.gif" alt=":bawl:" onclick="grin(\':bawl:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/beady.gif" alt=":beady:" onclick="grin(\':beady:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/blush.gif" alt=":blush:" onclick="grin(\':blush:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/cheer.gif" alt=":cheer:" onclick="grin(\':cheer:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/confused.gif" alt=":?" onclick="grin(\':?\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/cool.gif" alt=":cool:" onclick="grin(\':cool:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/dead.gif" alt="x)" onclick="grin(\'x)\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/devil.gif" alt=":devil:" onclick="grin(\':devil:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/doze.gif" alt=":doze:" onclick="grin(\':doze:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/drunk.gif" alt=":drunk:" onclick="grin(\':drunk:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/duhh.gif" alt=":duhh:" onclick="grin(\':duhh:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/enraged.gif" alt=":enraged:" onclick="grin(\':enraged:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/evil.gif" alt=":evil:" onclick="grin(\':evil:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/fight.gif" alt=":fight:" onclick="grin(\':fight:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/flirt.gif" alt=":flirt:" onclick="grin(\':flirt:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/greedy.gif" alt=":greedy:" onclick="grin(\':greedy:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/grin.gif" alt="^^" onclick="grin(\'^^\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/grumpy.gif" alt=":grumpy:" onclick="grin(\':grumpy:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/heartbeat.gif" alt=":heartbeat:" onclick="grin(\':heartbeat:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/irritated.gif" alt=":irritated:" onclick="grin(\':irritated:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/kiss.gif" alt=":*" onclick="grin(\':*\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/laugh.gif" alt=":D" onclick="grin(\':D\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/lovestruck.gif" alt=":lovestruck:" onclick="grin(\':lovestruck:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/lovethought.gif" alt=":lovethought:" onclick="grin(\':lovethought:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/mad.gif" alt=":mad:" onclick="grin(\':mad:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/party.gif" alt=":party:" onclick="grin(\':party:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/rolleyes.gif" alt=":rolleyes:" onclick="grin(\':rolleyes:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/sad.gif" alt=":(" onclick="grin(\':(\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/shock.gif" alt=":shock:" onclick="grin(\':shock:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/sleep.gif" alt=":sleep:" onclick="grin(\':sleep:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/smile.gif" alt=":)" onclick="grin(\':)\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/snooty.gif" alt=":snooty:" onclick="grin(\':snooty:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/sorry.gif" alt=":sorry:" onclick="grin(\':sorry:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/starstruck.gif" alt=":starstruck:" onclick="grin(\':starstruck:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/tear.gif" alt=":tear:" onclick="grin(\':tear:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/tired.gif" alt=":tired:" onclick="grin(\':tired:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/tongue.gif" alt=":P" onclick="grin(\':P\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/unsure.gif" alt=":/" onclick="grin(\':/\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/wink.gif" alt=";)" onclick="grin(\';)\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/yum.gif" alt=":yum:" onclick="grin(\':yum:\');"/> <img src="http://cerotonin.com/blogg/wp-includes/images/smilies/zip.gif" alt=":zip:" onclick="grin(\':zip:\');"/> ';
	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();
	}
}
