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://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogwub.gif" alt=":dogwub:" onclick="grin(\':dogwub:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogwink.gif" alt=":dogwink:" onclick="grin(\':dogwink:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogwacko.gif" alt=":dogwacko:" onclick="grin(\':dogwacko:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogunsure.gif" alt=":dogunsure:" onclick="grin(\':dogunsure:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogtongue.gif" alt=":dogtongue:" onclick="grin(\':dogtongue:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogtongue2.gif" alt=":dogtongue2:" onclick="grin(\':dogtongue2:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogsmile.gif" alt=":dogsmile:" onclick="grin(\':dogsmile:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogsleep.gif" alt=":dogsleep:" onclick="grin(\':dogsleep:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogsad.gif" alt=":dogsad:" onclick="grin(\':dogsad:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogrolleyes.gif" alt=":dogrolleyes:" onclick="grin(\':dogrolleyes:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogph34r.gif" alt=":dogph34r:" onclick="grin(\':dogph34r:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogohmy.gif" alt=":dogohmy:" onclick="grin(\':dogohmy:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dognowink.gif" alt=":dognowink:" onclick="grin(\':dognowink:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogmellow.gif" alt=":dogmellow:" onclick="grin(\':dogmellow:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogmad.gif" alt=":dogmad:" onclick="grin(\':dogmad:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/doglaugh.gif" alt=":doglaugh:" onclick="grin(\':doglaugh:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/doghuh.gif" alt=":doghuh:" onclick="grin(\':doghuh:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/doghappy.gif" alt=":doghappy:" onclick="grin(\':doghappy:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogdry.gif" alt=":dogdry:" onclick="grin(\':dogdry:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogcool.gif" alt=":dogcool:" onclick="grin(\':dogcool:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogclosedeyes.gif" alt=":dogclosedeyes:" onclick="grin(\':dogclosedeyes:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogblush.gif" alt=":dogblush:" onclick="grin(\':dogblush:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogblink.gif" alt=":dogblink:" onclick="grin(\':dogblink:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogbiggrin.gif" alt=":dogbiggrin:" onclick="grin(\':dogbiggrin:\');"/> <img src="http://guv.id.au/adognamedcharlie/wp-includes/images/smilies/dogangry.gif" alt=":dogangry:" onclick="grin(\':dogangry:\');"/> ';
	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();
	}
}
