
function addSmiley( smileTag ) {
	textarea = document.getElementById("innovaEditor");
	replaceText(" "+smileTag, textarea)
}
function addTag( tag ) {
	textarea = document.getElementById("innovaEditor");
	surroundText('['+tag+']', '[/'+tag+']', textarea);

}

                        

function getEditor( editorname, editorcontent) {

	var smileys = new Array();
	var buttons = new Array();
	buttons["[b]"] = '<input type="button" value="B" onclick="addTag(\'b\');" style="margin: 0 3px 3px 0;">'; 
	buttons["[u]"] = '<input type="button" value="U" onclick="addTag(\'u\');" style="margin: 0 3px 3px 0;">';
	buttons["[url]"]= '<input type="button" onmouseover="Tip(\'Osoite pitää olla muodossa: http://(osoite)\');" onmouseout="UnTip();" value="URL" onclick="addTag(\'url\');" style="margin: 0 3px 3px 0;">';
	buttons["[youtube]"]= '<input type="button" value="Youtube" onclick="addTag(\'Youtube\');" style="margin: 0 3px 3px 0;">';
	
	smileys["::smile::"] = '<img src="/images/smileys/smile.gif" alt="Smile" style="border: none;" />'; 
	smileys["::wink::"] = '<img src="/images/smileys/wink.gif" alt="Wink" style="border: none;" />';
	smileys["::grin::"] = '<img src="/images/smileys/grin.gif" alt="Grin" style="border: none;" />';

	html = "";
	for( tag in buttons ) {
		html += buttons[tag];
	}
	//html += "<br />";
	for( tag in smileys ) {
		html += '<a href="#" onclick="addSmiley(\''+tag+'\'); return false;" style="margin: 0 2px;">' + smileys[tag]+'</a>';
	}


	html += '<br />';
	html += '<textarea id="innovaEditor" rows="10" cols="" style="width: 503px;" name="'+editorname+'">'+editorcontent+'</textarea>';
	
	return html;
}


//Remember the current position.
function storeCaret(text)
{
	// Only bother if it will be useful.
	if (typeof(text.createTextRange) != "undefined")
		text.caretPos = document.selection.createRange().duplicate();
}

// Replaces the currently selected text with the passed text.
function replaceText(text, textarea)
{
	// Attempt to create a text range (IE).
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}
	// Mozilla text range replace.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange)
		{
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put it on the end.
	else
	{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

// Surrounds the selected text with text1 and text2.
function surroundText(text1, text2, textarea)
{
	// Can a text range be created?
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos, temp_length = caretPos.text.length;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;

		if (temp_length == 0)
		{
			caretPos.moveStart("character", -text2.length);
			caretPos.moveEnd("character", -text2.length);
			caretPos.select();
		}
		else
			textarea.focus(caretPos);
	}
	// Mozilla text range wrap.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put them on the end, then.
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}


