function myFileBrowser (field_name, url, type, win)
{
	var fileBrowserWindow = new Array();
	fileBrowserWindow['title'] = 'File Browser';
	fileBrowserWindow['file'] = "my_cms_script.php" + "?type=" + type;
	fileBrowserWindow['width'] = '420';
	fileBrowserWindow['height'] = '400';
	tinyMCE.openWindow(fileBrowserWindow, { window : win, resizable : 'yes', inline : 'yes' });
	return false;
}

tinyMCE.init({
	theme : "advanced",
	mode: "exact",
	elements : "texto",
	theme_advanced_toolbar_location : "top",
	theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,"
	+ "justifyleft,justifycenter,justifyright,justifyfull,formatselect,"
	+ "bullist,numlist,outdent,indent",
	theme_advanced_buttons2 : "",
	theme_advanced_buttons3 : "",
	height:"350px",
	width:"100%",
	file_browser_callback : 'myFileBrowser'
});

function isNew(val)
{
	if(val)
	{
		$("input#isnew").val("yes");
		//$("input#form-remove").attr("disabled", "disabled");
	}
	else
	{
		$("input#isnew").val("no");
		//$("input#form-remove").removeAttr("disabled");
	}
}

function enabledSaveButton()
{
	var error = "";

	if(!$("input#titulo").val())
		error += "<li>Título</li>";
	if(!$("input#autor").val())
		error += "<li>Autor</li>";
	if(!$("input#fonte").val())
		error += "<li>Fonte</li>";

	if(!tinyMCE.get('texto').getContent())
		error += "<li>Texto</li>";
	return error;
}

$(document).ready(function ()
{
	$("#form-messages").dialog({
		autoOpen: false,
		bgiframe: true,
		dialogClass: 'ui-state-error',
		height: 300,
		width: 400,
		minHeight: 200,
		minWidth: 300,
		maxHeight: 600,
		maxWidth: 800,
		//draggable: false,
		resizable: false,
		autoResize: false
	});

	isNew(true);
	$("#messages").slideUp("fast");

	$("select#newscombo").change(function () {
		var newsId = $(this).val();

		$("#form-messages").dialog('close');

		if(newsId == -1)
		{
			isNew(true);
			$("input#id").val("");
			$("input#autor").val("");
			$("input#fonte").val("");
			$("input#titulo").val("");
			tinyMCE.get('texto').setContent("");
		}
		else
		{
			$("#messages").slideDown("fast", function() {
				$.ajax({
					data: {action: "getFormValues", id: newsId},
					dataType: "json",
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						alert("Houve um erro ao buscar o registro no banco de dados. Contate o administrador.\n" + XMLHttpRequest.responseText);
						alert(textStatus);
						alert(errorThrown);
						$("#messages").slideUp("fast");
					},
					success: function(data, textStatus) {
						isNew(data.id == null);

						$("input#autor").val(data.autor);
						$("input#fonte").val(data.fonte);
						$("input#titulo").val(data.titulo);
						tinyMCE.get('texto').setContent(data.texto);

						$("input#id").val(newsId);
						$("#messages").slideUp("fast");
					},
					url: "./EditorNoticias.php"
				});
			});
		}
	});

	$("input#save").click( function ()
	{
		var error = enabledSaveButton();
		if(error)
		{
			$("#form-messages").html("Por favor preencha os seguintes campos da notícia:<br/><br/>" + error);
			$("#form-messages").dialog('open');
			return;
		}
		$("#form-messages").dialog('close');

		$("#messages").slideDown("fast", function() {
			var obj = { isnew: $("input#isnew").val(), autor: $("input#autor").val(), fonte: $("input#fonte").val(), titulo: $("input#titulo").val(), texto: tinyMCE.get('texto').getContent() };
			if(obj.isnew != 'yes')
				obj.id = $("input#id").val();

			$.ajax({
				data: obj,
				dataType: "json",
				error: function(XMLHttpRequest, textStatus, errorThrown) {
					alert("Houve um erro ao salvar o registro no banco de dados. Contate o administrador.\n" + XMLHttpRequest.responseText);
					//$("select#newscombo").trigger("change");
					$("#messages").slideUp("fast");
				},
				success: function(data, textStatus) {
					alert("Formulário salvo com Sucesso");
					if($("input#isnew").val() == "yes")
					{
						isNew(false);
						var cb = $("select[name=newscombo]").get(0);
						var opt = new Option($("input#titulo").val(), data.lastId);
						cb.options[cb.options.length] = opt;
						opt.selected = true;
						cb.selectedIndex - cb.options.length - 1;
						$("input#id").val(data.lastId);
					}
					$("select#newscombo").trigger("change");
					$("#messages").slideUp("fast");
				},
				type: "POST",
				url: "./EditorNoticias.php"
			});
		});
	});

	$("input#excluir").click( function ()
	{
		if(confirm("Você tem certeza que deseja remover o registro?"))
		{
			$("#form-messages").dialog('close');
			$("#messages").slideDown("fast", function() {
				$.ajax({
					data: { action: "remove", id: $("input#id").val() },
					dataType: "json",
					error: function(XMLHttpRequest, textStatus, errorThrown) {
						alert("Houve um erro ao excluir o registro do banco de dados. Contate o administrador.\n" + XMLHttpRequest.responseText);
						//$("select#newscombo").trigger("change");
						$("#messages").slideUp("fast");
					},
					success: function(data, textStatus) {
						var cb = $("select[name=newscombo]").get(0);
						var currentOption = cb.selectedIndex;
						cb.selectedIndex = 0;
						isNew(true);
						for(var i = currentOption; i < cb.options.length; i++)
							cb[i] = cb[i+1];

						$("select#newscombo").trigger("change");
						$("#messages").slideUp("fast");
					},
					url: "./EditorNoticias.php"
				});
			});
		}
	});
});
