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://fadedout.com/wp-includes/images/smilies/twisted.gif" alt="o_O" onclick="grin(\'o_O\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/smile.gif" alt="^_^" onclick="grin(\'^_^\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/kiss.gif" alt="^3^" onclick="grin(\'^3^\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/cry.gif" alt="T_T" onclick="grin(\'T_T\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/eek.gif" alt="O_O" onclick="grin(\'O_O\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/vangry.gif" alt="D:" onclick="grin(\'D:\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/@_@.gif" alt="@_@" onclick="grin(\'@_@\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/surprised.gif" alt=">_<" onclick="grin(\'>_<\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/evil.gif" alt=">:)" onclick="grin(\'>:)\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/wink.gif" alt=";)" onclick="grin(\';)\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/razz.gif" alt=":p" onclick="grin(\':p\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/neutral.gif" alt=":X" onclick="grin(\':X\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/lol.gif" alt=":D" onclick="grin(\':D\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/question.gif" alt=":/" onclick="grin(\':/\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/cool.gif" alt="8-)" onclick="grin(\'8-)\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/mad.gif" alt="-_-" onclick="grin(\'-_-\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/sad.gif" alt="-.-" onclick="grin(\'-.-\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/up.gif" alt="*thumbsup*" onclick="grin(\'*thumbsup*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/down.gif" alt="*thumbsdown*" onclick="grin(\'*thumbsdown*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/sweatdrop.gif" alt="*sweatdrop*" onclick="grin(\'*sweatdrop*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/mrgreen.gif" alt="*sick*" onclick="grin(\'*sick*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/icon_rolleyes.gif" alt="*roll*" onclick="grin(\'*roll*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/pirate.gif" alt="*pirate*" onclick="grin(\'*pirate*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/heart.gif" alt="*love*" onclick="grin(\'*love*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/redface.gif" alt="*blush*" onclick="grin(\'*blush*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/halo.gif" alt="*_*" onclick="grin(\'*_*\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/money.gif" alt="$_$" onclick="grin(\'$_$\');"/> <img src="http://fadedout.com/wp-includes/images/smilies/exclaim.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();
	}
}
