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://mimee.net/wp-includes/images/smilies/raspberry.gif" alt="xP" onclick="grin(\'xP\');"/> <img src="http://mimee.net/wp-includes/images/smilies/joy.gif" alt="n_n" onclick="grin(\'n_n\');"/> <img src="http://mimee.net/wp-includes/images/smilies/glad.gif" alt="c:" onclick="grin(\'c:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/big-laugh.gif" alt="XD" onclick="grin(\'XD\');"/> <img src="http://mimee.net/wp-includes/images/smilies/rage.gif" alt="D:<" onclick="grin(\'D:<\');"/> <img src="http://mimee.net/wp-includes/images/smilies/shock.gif" alt="D:" onclick="grin(\'D:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/fear.gif" alt="D8" onclick="grin(\'D8\');"/> <img src="http://mimee.net/wp-includes/images/smilies/concussed.gif" alt="@_@" onclick="grin(\'@_@\');"/> <img src="http://mimee.net/wp-includes/images/smilies/not-impressed.gif" alt=":|" onclick="grin(\':|\');"/> <img src="http://mimee.net/wp-includes/images/smilies/nausea.gif" alt=":x" onclick="grin(\':x\');"/> <img src="http://mimee.net/wp-includes/images/smilies/wut.gif" alt=":v" onclick="grin(\':v\');"/> <img src="http://mimee.net/wp-includes/images/smilies/tohru-kun.gif" alt=":tohru:" onclick="grin(\':tohru:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/titty.gif" alt=":titty:" onclick="grin(\':titty:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/sweat.gif" alt=":sweat:" onclick="grin(\':sweat:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/super-smirk.gif" alt=":smirk:" onclick="grin(\':smirk:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/confounded.gif" alt=":s" onclick="grin(\':s\');"/> <img src="http://mimee.net/wp-includes/images/smilies/patrick.gif" alt=":patrick:" onclick="grin(\':patrick:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/tongue.gif" alt=":p" onclick="grin(\':p\');"/> <img src="http://mimee.net/wp-includes/images/smilies/oh-snap.gif" alt=":ohsnap:" onclick="grin(\':ohsnap:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/ohh.gif" alt=":o" onclick="grin(\':o\');"/> <img src="http://mimee.net/wp-includes/images/smilies/nosebleed.gif" alt=":nosebleed:" onclick="grin(\':nosebleed:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/monocle.gif" alt=":monocle:" onclick="grin(\':monocle:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/konata.gif" alt=":konata:" onclick="grin(\':konata:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/jizz.gif" alt=":jizz:" onclick="grin(\':jizz:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/horror.gif" alt=":horror:" onclick="grin(\':horror:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/happy-plz.gif" alt=":happyplz:" onclick="grin(\':happyplz:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/hah.gif" alt=":hah:" onclick="grin(\':hah:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/gah.gif" alt=":gah:" onclick="grin(\':gah:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/flirty.gif" alt=":flirt:" onclick="grin(\':flirt:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/ee-gads.gif" alt=":egads:" onclick="grin(\':egads:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/eat-nose.gif" alt=":eatnose:" onclick="grin(\':eatnose:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/cringe.gif" alt=":cringe:" onclick="grin(\':cringe:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/big-c.gif" alt=":c" onclick="grin(\':c\');"/> <img src="http://mimee.net/wp-includes/images/smilies/eyebrows.gif" alt=":brows:" onclick="grin(\':brows:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/bleh.gif" alt=":bleh:" onclick="grin(\':bleh:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/vein.gif" alt=":argh:" onclick="grin(\':argh:\');"/> <img src="http://mimee.net/wp-includes/images/smilies/flat-smile.gif" alt=":]" onclick="grin(\':]\');"/> <img src="http://mimee.net/wp-includes/images/smilies/disappoint.gif" alt=":[" onclick="grin(\':[\');"/> <img src="http://mimee.net/wp-includes/images/smilies/loss.gif" alt=":L" onclick="grin(\':L\');"/> <img src="http://mimee.net/wp-includes/images/smilies/jolly.gif" alt=":J" onclick="grin(\':J\');"/> <img src="http://mimee.net/wp-includes/images/smilies/fangs.gif" alt=":F" onclick="grin(\':F\');"/> <img src="http://mimee.net/wp-includes/images/smilies/grin.gif" alt=":D" onclick="grin(\':D\');"/> <img src="http://mimee.net/wp-includes/images/smilies/sponge.gif" alt=":B" onclick="grin(\':B\');"/> <img src="http://mimee.net/wp-includes/images/smilies/confused.gif" alt=":?" onclick="grin(\':?\');"/> <img src="http://mimee.net/wp-includes/images/smilies/kawaii.gif" alt=":3" onclick="grin(\':3\');"/> <img src="http://mimee.net/wp-includes/images/smilies/smile.gif" alt=":)" onclick="grin(\':)\');"/> <img src="http://mimee.net/wp-includes/images/smilies/frown.gif" alt=":(" onclick="grin(\':(\');"/> <img src="http://mimee.net/wp-includes/images/smilies/great-scott.gif" alt="8|" onclick="grin(\'8|\');"/> <img src="http://mimee.net/wp-includes/images/smilies/happy.gif" alt="8D" onclick="grin(\'8D\');"/> <img src="http://mimee.net/wp-includes/images/smilies/harley-shock.gif" alt="8(" onclick="grin(\'8(\');"/> ';
	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();
	}
}
