// checks if input is blank
function empty(value)
{
	return (value == null || value == "");
}

// creates an html list
function create_item_list(typeOfList)
{
	var thisItem, BBCode = "", cont = 1;

	do
	{
		thisItem = prompt("Indique o item número " + cont++, "");

		if (! empty(thisItem))
		{
			BBCode += "[*]" + thisItem;
		}
	} while (! empty(thisItem));

	if (BBCode != "")
	{
		BBCode = "\n[LIST" + typeOfList + "]" + BBCode + "[/LIST]";
	}

	return BBCode;
}

// adds bb code
function add_bbcode(textareaName, action, extraParameter)
{
	var BBCode = "";
	var textArea = document.getElementById ? document.getElementById(textareaName) : document.all(textareaName);

	switch (action)
	{
		case "fontSize":
			var thisFontSized = prompt("Indique o texto que deseja alterar o tamanho", "");
			if (! empty(thisFontSized)) BBCode = "[FONT_SIZE=" + extraParameter + "]" + thisFontSized + "[/FONT_SIZE]";
		break;

		case "fontColor":
			var thisFontColored = prompt("Indique o texto que deseja alterar a cor", "");
			if (! empty(thisFontColored)) BBCode = "[FONT_COLOR=" + extraParameter + "]" + thisFontColored + "[/FONT_COLOR]";
		break;

		case "bold":
			var thisBold = prompt("Indique o texto que deseja engrossar", "");
			if (! empty(thisBold)) BBCode = "[B]" + thisBold + "[/B]";
		break;

		case "italic":
			var thisItal = prompt("Indique o texto que deseja tornar itálico", "");
			if (! empty(thisItal)) BBCode = "[I]" + thisItal + "[/I]";
		break;

		case "center":
			var thisCenter = prompt("Indique o texto que deseja centrar", "");
			if (! empty(thisCenter)) BBCode = "[CENTER]" + thisCenter + "[/CENTER]";
		break;

		case "indent":
			var thisIndent = prompt("Indique o texto que indentar", "");
			if (! empty(thisIndent)) BBCode = "[INDENT]" + thisIndent + "[/INDENT]";
		break;

		case "listitem":
			BBCode = create_item_list ("");
		break;

		case "listitemNum":
			BBCode = create_item_list ("=1");
		break;

		case "listitemAlfa":
			BBCode = create_item_list ("=A");
		break;

		case "url":
			var thisURL = prompt("Indique a URL", "http://");
			if (empty(thisURL) || thisURL == "http://") break;

			var thisTitle = prompt("Indique o título", "Título");
			if (! empty(thisTitle)) BBCode = "[URL=" + thisURL + "]" + thisTitle + "[/URL]";
		break;

		case "email":
			var thisEmail = prompt("Indique o endereço de email", "");
			if (empty(thisEmail)) break;

			var thisTitle = prompt("Indique o título", "Título");
			if (! empty(thisTitle)) BBCode = "[EMAIL=" + thisEmail + "]" + thisTitle + "[/EMAIL]";
		break;

		case "image":
			var thisImage = prompt("Indique a URL da imagem", "http://");
			if (empty(thisImage) || thisImage == "http://") break;

			var thisAlign = prompt("Alinhamento em relação ao texto (0 - Nenhum, 1 - Esquerda, 2 - Direita)", 0)
			if (! empty(thisAlign)) BBCode = "[IMG=" + thisAlign + "]" + thisImage + "[/IMG]";
		break;

		case "flash":
			var thisFlash = prompt("Indique a URL da animação", "http://");
			if (! empty(thisFlash) && thisFlash != "http://") BBCode = "[FLASH]" + thisFlash + "[/FLASH]";
		break;

		case "quote":
			BBCode = "\n[QUOTE] [/QUOTE]";
		break;

		case "code":
			BBCode = "\n[CODE]\n[/CODE]";
	 		break;
	}

	// if there is bbcode and cursor position in textaree is stored, inserts smiley in that position
	if (BBCode != "")
	{
		if (textArea.createTextRange && textArea.caretPos)
		{
			textArea.caretPos.text += BBCode;
		}
		else
		{
			textArea.value += BBCode;
		}
	}
	textArea.focus();
}

function add_smiley(textareaName, addSmilie)
{
	var textArea = document.getElementById ? document.getElementById(textareaName) : document.all(textareaName);

	// if cursor position in textarea is stored, inserts smiley in that position
	if (textArea.createTextRange && textArea.caretPos)
	{
		textArea.caretPos.text += " " + addSmilie;
	}
	else
	{
		textArea.value += " " + addSmilie;
	}
	textArea.focus();
}

// stores current cursor position in textarea (IE only)
function storeCaret(textEl)
{
	if (textEl.createTextRange)
	{
		textEl.caretPos = document.selection.createRange().duplicate();
	}
}
