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://520.be/wp-includes/images/smilies/msn_sleepy.gif" alt="|-)" onclick="grin(\'|-)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_sarcastic.gif" alt="^o)" onclick="grin(\'^o)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_xd.gif" alt="XD" onclick="grin(\'XD\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_gy.gif" alt="GY" onclick="grin(\'GY\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_fuck.gif" alt="FUCK" onclick="grin(\'FUCK\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_wink.gif" alt=";)" onclick="grin(\';)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_neutral.gif" alt=":|" onclick="grin(\':|\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_pu.gif" alt=":pu" onclick="grin(\':pu\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_kao.gif" alt=":kao" onclick="grin(\':kao\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_cute.gif" alt=":cute" onclick="grin(\':cute\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_weird.gif" alt=":S" onclick="grin(\':S\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_tongue.gif" alt=":P" onclick="grin(\':P\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_ooooh.gif" alt=":O" onclick="grin(\':O\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_laugh.gif" alt=":D" onclick="grin(\':D\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_angry.gif" alt=":@" onclick="grin(\':@\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_secret.gif" alt=":-*" onclick="grin(\':-*\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_cry.gif" alt=":-(" onclick="grin(\':-(\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_donttell.gif" alt=":-#" onclick="grin(\':-#\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_smiley.gif" alt=":)" onclick="grin(\':)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_sad.gif" alt=":(" onclick="grin(\':(\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_embarrassed.gif" alt=":$" onclick="grin(\':$\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_eyeroll.gif" alt="8-)" onclick="grin(\'8-)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_sick.gif" alt="+o(" onclick="grin(\'+o(\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_think.gif" alt="*-)" onclick="grin(\'*-)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_brb.gif" alt="(brb)" onclick="grin(\'(brb)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_thumbup.gif" alt="(Y)" onclick="grin(\'(Y)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_thumbdown.gif" alt="(N)" onclick="grin(\'(N)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_heart.gif" alt="(L)" onclick="grin(\'(L)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_kiss.gif" alt="(K)" onclick="grin(\'(K)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_hot.gif" alt="(H)" onclick="grin(\'(H)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_cc.gif" alt="(:cc)" onclick="grin(\'(:cc)\');"/> <img src="http://520.be/wp-includes/images/smilies/msn_devil.gif" alt="(6)" onclick="grin(\'(6)\');"/> ';
	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();
	}
}
