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://bamkero.net/wp-includes/images/smilies/79.gif" alt="[!]" onclick="grin(\'[!]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/80.gif" alt="[?]" onclick="grin(\'[?]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/81.gif" alt="[spa]" onclick="grin(\'[spa]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/82.gif" alt="[movie]" onclick="grin(\'[movie]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/83.gif" alt="[cat]" onclick="grin(\'[cat]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/69.gif" alt="[heart]" onclick="grin(\'[heart]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/70.gif" alt="[star]" onclick="grin(\'[star]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/72.gif" alt="[lamp]" onclick="grin(\'[lamp]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/78.gif" alt="[music]" onclick="grin(\'[music]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/77.gif" alt="[sleepy]" onclick="grin(\'[sleepy]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/71.gif" alt="[silence]" onclick="grin(\'[silence]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/73.gif" alt="[anger]" onclick="grin(\'[anger]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/74.gif" alt="[drop]" onclick="grin(\'[drop]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/75.gif" alt="[dash]" onclick="grin(\'[dash]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/76.gif" alt="[sweat]" onclick="grin(\'[sweat]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/84.gif" alt="[green]" onclick="grin(\'[green]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/85.gif" alt="[mail]" onclick="grin(\'[mail]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/86.gif" alt="[info]" onclick="grin(\'[info]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/87.gif" alt="[secret]" onclick="grin(\'[secret]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/88.gif" alt="[pencil]" onclick="grin(\'[pencil]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/89.gif" alt="[cake]" onclick="grin(\'[cake]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/90.gif" alt="[memo]" onclick="grin(\'[memo]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/91.gif" alt="[shock]" onclick="grin(\'[shock]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/96.gif" alt="[clear]" onclick="grin(\'[clear]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/97.gif" alt="[cloudy]" onclick="grin(\'[cloudy]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/98.gif" alt="[rain]" onclick="grin(\'[rain]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/99.gif" alt="[clear/cloudy]" onclick="grin(\'[clear/cloudy]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/100.gif" alt="[rain/cloudy]" onclick="grin(\'[rain/cloudy]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/101.gif" alt="[thunder]" onclick="grin(\'[thunder]\');"/> <img src="http://bamkero.net/wp-includes/images/smilies/102.gif" alt="[snow]" onclick="grin(\'[snow]\');"/> ';
	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();
	}
}
