jQuery.noConflict();

jQuery(document).ready(function(){
	loadGrins();
});

function insertAfter(node, referenceNode) {
	referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling);
}

function loadGrins() {
	var $j = jQuery;
  	var grinsDiv = '<div id="wp_grins"><img src="http://rachmasweet.com/wp-includes/images/smilies/icon_mrgreen.gif" alt=":mrgreen:" onclick="grin(\':mrgreen:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_neutral.gif" alt=":neutral:" onclick="grin(\':neutral:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_twisted.gif" alt=":twisted:" onclick="grin(\':twisted:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_arrow.gif" alt=":arrow:" onclick="grin(\':arrow:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_eek.gif" alt=":shock:" onclick="grin(\':shock:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_smile.gif" alt=":smile:" onclick="grin(\':smile:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_confused.gif" alt=":???:" onclick="grin(\':???:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_cool.gif" alt=":cool:" onclick="grin(\':cool:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_evil.gif" alt=":evil:" onclick="grin(\':evil:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_biggrin.gif" alt=":grin:" onclick="grin(\':grin:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_idea.gif" alt=":idea:" onclick="grin(\':idea:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_redface.gif" alt=":oops:" onclick="grin(\':oops:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_razz.gif" alt=":razz:" onclick="grin(\':razz:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_rolleyes.gif" alt=":roll:" onclick="grin(\':roll:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_wink.gif" alt=":wink:" onclick="grin(\':wink:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_cry.gif" alt=":cry:" onclick="grin(\':cry:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_surprised.gif" alt=":eek:" onclick="grin(\':eek:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_lol.gif" alt=":lol:" onclick="grin(\':lol:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_mad.gif" alt=":mad:" onclick="grin(\':mad:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_sad.gif" alt=":sad:" onclick="grin(\':sad:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_exclaim.gif" alt=":!:" onclick="grin(\':!:\');"/> <img src="http://rachmasweet.com/wp-includes/images/smilies/icon_question.gif" alt=":?:" onclick="grin(\':?:\');"/> </div>';
	
  if ($j('#postdiv').length > 0) {
		var type = 'child';
		var node = $j('#postdiv');
	}
	else if ($j('#postdivrich').length > 0) {
		var type = 'child';
		var node = $j('#postdivrich');
	}
	else if ($j('#comment').length > 0) {
		var type = 'before';
		var node = $j('#comment');
	}
	else {
		return;
	}
	switch (type) {
		case 'child':
			node.append(grinsDiv)[0].style.paddingTop = '5px';
			break;
		case 'before':
			node.before(grinsDiv);
			break;
	}
}

function grin(tag) {
	var $j = jQuery;
	var myField;
	var value = '';
	if ($j('#content:input').length > 0)  {
		myField = $j('#content:input');
		value = $j("#content:input").attr("value");
		if ($j('#postdivrich') && typeof tinyMCE != 'undefined' && (!$j('#edButtons') || $j('#quicktags')[0].style.display == 'none')) {
			tinyMCE.execCommand('mceInsertContent', false, ' ' + tag + ' ');
			tinyMCE.execCommand('mceRepaint');
			return;
		}
	}
	else if ($j('#comment:input').length > 0) {
		myField = $j('#comment:input');
		value = $j("#comment:input").attr("value");
	}
	else {
		return false;
	}
	if (value == undefined) { value = ''; }
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = ' ' + tag + ' ';
		myField.focus();
	}
	else if (myField[0].selectionStart || myField[0].selectionStart == '0') {
		var startPos = myField[0].selectionStart;
		var endPos = myField[0].selectionEnd;
		var cursorPos = endPos;
		myField.attr("value", value.substring(0, startPos)
					  + ' ' + tag + ' '
					  + value.substring(endPos, value.length));
		cursorPos += tag.length + 2;
		myField.focus();
		myField[0].selectionStart = cursorPos;
		myField[0].selectionEnd = cursorPos;
	}
	else {
		myField.attr("value", value + ' ' + tag + ' ');
		myField.focus();
	}
}
