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://awesome.thripp.com/wp-includes/images/smilies/smile.gif" alt=":smile:" onclick="grin(\':smile:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smile2.gif" alt=":smile2:" onclick="grin(\':smile2:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smile3.gif" alt=":smile3:" onclick="grin(\':smile3:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/frown.gif" alt=":frown:" onclick="grin(\':frown:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/silly.gif" alt=":silly:" onclick="grin(\':silly:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/unsilly.gif" alt=":unsilly:" onclick="grin(\':unsilly:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/grin.gif" alt=":grin:" onclick="grin(\':grin:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/cool.gif" alt=":cool:" onclick="grin(\':cool:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/big-grin.gif" alt=":big-grin:" onclick="grin(\':big-grin:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/shocked.gif" alt=":shocked:" onclick="grin(\':shocked:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/surprised.gif" alt=":surprised:" onclick="grin(\':surprised:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/neutral.gif" alt=":neutral:" onclick="grin(\':neutral:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/confused.gif" alt=":confused:" onclick="grin(\':confused:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/wink.gif" alt=":wink:" onclick="grin(\':wink:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/wink2.gif" alt=":wink2:" onclick="grin(\':wink2:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/angry.gif" alt=":angry:" onclick="grin(\':angry:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/evil.gif" alt=":evil:" onclick="grin(\':evil:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/xx.gif" alt=":xx:" onclick="grin(\':xx:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smile-left.gif" alt=":smile-left:" onclick="grin(\':smile-left:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/small.gif" alt=":small:" onclick="grin(\':small:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smile-right.gif" alt=":smile-right:" onclick="grin(\':smile-right:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smirk-left.gif" alt=":smirk-left:" onclick="grin(\':smirk-left:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/smirk-right.gif" alt=":smirk-right:" onclick="grin(\':smirk-right:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/blindfold.gif" alt=":blindfold:" onclick="grin(\':blindfold:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/help.gif" alt=":help:" onclick="grin(\':help:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/tormented.gif" alt=":tormented:" onclick="grin(\':tormented:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/question.gif" alt=":?:" onclick="grin(\':?:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/exclaim.gif" alt=":!:" onclick="grin(\':!:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/arrow-up.gif" alt=":arrow-up:" onclick="grin(\':arrow-up:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/arrow-right.gif" alt=":arrow-right:" onclick="grin(\':arrow-right:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/arrow-down.gif" alt=":arrow-down:" onclick="grin(\':arrow-down:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/arrow-left.gif" alt=":arrow-left:" onclick="grin(\':arrow-left:\');"/> <img src="http://awesome.thripp.com/wp-includes/images/smilies/idea.gif" alt=":idea:" onclick="grin(\':idea:\');"/> ';
	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();
	}
}
