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.collectanea.org/wp-includes/images/smilies/icon_smile.gif" alt="x)" onclick="grin(\'x)\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/angel.gif" alt="o:)" onclick="grin(\'o:)\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/smile.gif" alt="=)" onclick="grin(\'=)\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/sad.gif" alt="=(" onclick="grin(\'=(\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_wink.gif" alt=";-)" onclick="grin(\';-)\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_neutral.gif" alt=":|" onclick="grin(\':|\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_mad.gif" alt=":x" onclick="grin(\':x\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/whistle.gif" alt=":whistle:" onclick="grin(\':whistle:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/liberty.gif" alt=":wall:" onclick="grin(\':wall:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/violin.gif" alt=":violin:" onclick="grin(\':violin:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/vexed.gif" alt=":vexed:" onclick="grin(\':vexed:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/shifty.gif" alt=":uh:" onclick="grin(\':uh:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_twisted.gif" alt=":twisted:" onclick="grin(\':twisted:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/tongue.gif" alt=":tongue:" onclick="grin(\':tongue:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/think.gif" alt=":think:" onclick="grin(\':think:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/snooty.gif" alt=":snooty:" onclick="grin(\':snooty:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/rolleyes.gif" alt=":smh:" onclick="grin(\':smh:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/sleep.gif" alt=":sleep:" onclick="grin(\':sleep:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/sick.gif" alt=":sick:" onclick="grin(\':sick:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_eek.gif" alt=":shock:" onclick="grin(\':shock:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/silenced.gif" alt=":shh:" onclick="grin(\':shh:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/hand.gif" alt=":secret:" onclick="grin(\':secret:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_sad.gif" alt=":sad:" onclick="grin(\':sad:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_rolleyes.gif" alt=":roll:" onclick="grin(\':roll:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_razz.gif" alt=":razz:" onclick="grin(\':razz:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/pray.gif" alt=":pray:" onclick="grin(\':pray:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_redface.gif" alt=":oops:" onclick="grin(\':oops:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_surprised.gif" alt=":o" onclick="grin(\':o\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/naughty.gif" alt=":naughty:" onclick="grin(\':naughty:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" onclick="grin(\':mrgreen:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/mad.gif" alt=":mad2:" onclick="grin(\':mad2:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/luv.gif" alt=":luv:" onclick="grin(\':luv:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_lol.gif" alt=":lol:" onclick="grin(\':lol:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/liar.gif" alt=":liar:" onclick="grin(\':liar:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_idea.gif" alt=":idea:" onclick="grin(\':idea:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_biggrin.gif" alt=":grin:" onclick="grin(\':grin:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/geeked.gif" alt=":geeked:" onclick="grin(\':geeked:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_evil.gif" alt=":evil:" onclick="grin(\':evil:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/eh.gif" alt=":eh:" onclick="grin(\':eh:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/doh.gif" alt=":doh:" onclick="grin(\':doh:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/dead.gif" alt=":dead:" onclick="grin(\':dead:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/dance.gif" alt=":dance:" onclick="grin(\':dance:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_cry.gif" alt=":cry:" onclick="grin(\':cry:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_cool.gif" alt=":cool:" onclick="grin(\':cool:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_arrow.gif" alt=":arrow:" onclick="grin(\':arrow:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_confused.gif" alt=":S" onclick="grin(\':S\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_question.gif" alt=":?:" onclick="grin(\':?:\');"/> <img src="http://www.collectanea.org/wp-includes/images/smilies/icon_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();
	}
}
