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.kleinervogel.com/blog/wp-includes/images/smilies/wobbly.gif" alt=":wobbly:" onclick="grin(\':wobbly:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/wine.gif" alt=":wine:" onclick="grin(\':wine:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/weep.gif" alt=":weep:" onclick="grin(\':weep:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/up.gif" alt=":up:" onclick="grin(\':up:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/toilet.gif" alt=":toilet:" onclick="grin(\':toilet:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/thunder.gif" alt=":thunder:" onclick="grin(\':thunder:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/sweat01.gif" alt=":sweat:" onclick="grin(\':sweat:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/sun.gif" alt=":sun:" onclick="grin(\':sun:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/snow.gif" alt=":snow:" onclick="grin(\':snow:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/smile.gif" alt=":smile:" onclick="grin(\':smile:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/sleepy.gif" alt=":sleepy:" onclick="grin(\':sleepy:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/sign03.gif" alt=":sign03:" onclick="grin(\':sign03:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/shock.gif" alt=":shock:" onclick="grin(\':shock:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/shine.gif" alt=":shine:" onclick="grin(\':shine:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/shadow.gif" alt=":shadow:" onclick="grin(\':shadow:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/secret.gif" alt=":secret:" onclick="grin(\':secret:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/scissors.gif" alt=":scissors:" onclick="grin(\':scissors:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/rvcar.gif" alt=":rvcar:" onclick="grin(\':rvcar:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/riceball.gif" alt=":riceball:" onclick="grin(\':riceball:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/restaurant.gif" alt=":restaurant:" onclick="grin(\':restaurant:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/rain.gif" alt=":rain:" onclick="grin(\':rain:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/punch.gif" alt=":punch:" onclick="grin(\':punch:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/pout.gif" alt=":pout:" onclick="grin(\':pout:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/pencil.gif" alt=":pencil:" onclick="grin(\':pencil:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/pc.gif" alt=":pc:" onclick="grin(\':pc:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/paper.gif" alt=":paper:" onclick="grin(\':paper:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/ok.gif" alt=":ok:" onclick="grin(\':ok:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/notes.gif" alt=":notes:" onclick="grin(\':notes:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/night.gif" alt=":night:" onclick="grin(\':night:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/ng.gif" alt=":ng:" onclick="grin(\':ng:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/music.gif" alt=":music:" onclick="grin(\':music:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/movie.gif" alt=":movie:" onclick="grin(\':movie:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/mobilephone.gif" alt=":mobilephone:" onclick="grin(\':mobilephone:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/mail.gif" alt=":mail:" onclick="grin(\':mail:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/lovely.gif" alt=":lovely:" onclick="grin(\':lovely:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/kissmark.gif" alt=":kissmark:" onclick="grin(\':kissmark:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/japanesetea.gif" alt=":japanesetea:" onclick="grin(\':japanesetea:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/house.gif" alt=":house:" onclick="grin(\':house:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/heart03.gif" alt=":heart:" onclick="grin(\':heart:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/heart04.gif" alt=":heart1:" onclick="grin(\':heart1:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/happy02.gif" alt=":happy:" onclick="grin(\':happy:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/good.gif" alt=":good:" onclick="grin(\':good:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/gawk.gif" alt=":gawk:" onclick="grin(\':gawk:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/foot.gif" alt=":foot:" onclick="grin(\':foot:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/flair.gif" alt=":flair:" onclick="grin(\':flair:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/fish.gif" alt=":fish:" onclick="grin(\':fish:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/ear.gif" alt=":ear:" onclick="grin(\':ear:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/drama.gif" alt=":drama:" onclick="grin(\':drama:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/down.gif" alt=":down:" onclick="grin(\':down:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/dog.gif" alt=":dog:" onclick="grin(\':dog:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/despair.gif" alt=":despair:" onclick="grin(\':despair:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/dash.gif" alt=":dash:" onclick="grin(\':dash:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/crying.gif" alt=":crying:" onclick="grin(\':crying:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/coldsweats01.gif" alt=":coldsweats:" onclick="grin(\':coldsweats:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/coldsweats02.gif" alt=":colds:" onclick="grin(\':colds:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/cloud.gif" alt=":cloud:" onclick="grin(\':cloud:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/cat.gif" alt=":cat:" onclick="grin(\':cat:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/camera.gif" alt=":camera:" onclick="grin(\':camera:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/cafe.gif" alt=":cafe:" onclick="grin(\':cafe:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/bomb.gif" alt=":bomb:" onclick="grin(\':bomb:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/bleah.gif" alt=":bleah:" onclick="grin(\':bleah:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/birthday.gif" alt=":birthday:" onclick="grin(\':birthday:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/bicycle.gif" alt=":bicycle:" onclick="grin(\':bicycle:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/beer.gif" alt=":beer:" onclick="grin(\':beer:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/annoy.gif" alt=":annoy:" onclick="grin(\':annoy:\');"/> <img src="http://www.kleinervogel.com/blog/wp-includes/images/smilies/24hours.gif" alt=":24hours:" onclick="grin(\':24hours:\');"/> ';
	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();
	}
}
