﻿var webService = "WsForum"; var currentPage = 1; var htmlError = '<p class="loading"><img src="/Mercado/Images/exclamation.png" />Erro ao obter as mensagens!</p>'; var htmlLoading = '<p class="loading"><img src="/Mercado/Images/loading.gif" />{0}</p>'; $(function() { ChangeMenu(1); GetMessages(1, true); $(".controleconteudo:eq(1)").css("margin-top", "10px") }); function GetMessages(page, naoAtualizaNovidades) { var jsonString = "{page: '" + page + "'}"; if ($("#mensagens").html() != "") { AtualizarNovidades() } LoadMenu(false); $("#conteudo h1").css("font-size", "30px"); $("#conteudo h1").html("Forum de Mercado"); $("#mensagens").html('<p class="loading"><img src="../Images/loading.gif" />Carregando, aguarde...</p>'); scrollToTop(); currentPage = page; ajaxProxy(webService, "GetMessages", jsonString, function(result) { if (result.Error) { $("#mensagens").html(htmlError) } else { MessagesToHtml(result, page); $("#lateral").css("height", $("#miolo").height() - 50 + "px") } }) } function NewMessage() { ValidateSession(function(isValid) { if (isValid) { currentMessage = { id: "0", isTopic: "true" }; $.get("../Controls/EditorMensagem.aspx", { titulo: "Nova Mensagem" }, function(data) { $.facebox(data); formReset("#editormensagem"); $("#btnEnviar").show(); $("#btnEnviar").unbind("click").click(function() { SaveTopic() }); $("#titulo").show() }) } }, "enviar mensagens") } function SaveTopic() { var title = $.truncateText($.jsonText($("#txttitulo").val()), 100); var text = $.jsonText($("#txttexto").val()); var image = $("#ImageContainer img:eq(0)").attr("src") == undefined ? "" : $("#ImageContainer img:eq(0)").attr("src"); if ($.trim(title) == "") { alert("Informe o título da mensagem."); return } if ($.clearText(text) == "" && image == "") { alert("Informe o texto da mensagem."); return } $("#btnEnviar").hide(); var jsonString = "{id: '" + currentMessage.id + "', title: '" + title + "', text: '" + text + "', image: '" + image + "'}"; ajaxProxy(webService, "SaveTopic", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { GetMessages(currentPage); $(document).trigger("close.facebox") } }) } function ReplyMessage(idTopic) { ValidateSession(function(isValid) { if (isValid) { currentMessage = { id: "0", idTopic: idTopic }; $.get("../Controls/EditorMensagem.aspx", { titulo: "Responder Mensagem" }, function(data) { $.facebox(data); formReset("#editormensagem"); $("#btnEnviar").show(); $("#btnEnviar").unbind("click").click(function() { SaveReply() }); $("#titulo").hide() }) } }, "enviar mensagens") } function SaveReply() { var text = $.jsonText($("#txttexto").val()); var image = $("#ImageContainer img:eq(0)").attr("src") == undefined ? "" : $("#ImageContainer img:eq(0)").attr("src"); if ($.clearText(text) == "" && image == "") { alert("Informe o texto da mensagem."); return } $("#btnEnviar").hide(); var jsonString = "{id: '" + currentMessage.id + "', idTopic: '" + currentMessage.idTopic + "', text: '" + text + "', image: '" + image + "'}"; ajaxProxy(webService, "SaveReply", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { GetMessages(currentPage); $(document).trigger("close.facebox") } }) } function EditMessage(id, isTopic) { ValidateSession(function(isValid) { if (isValid) { var jsonString = "{id: '" + id + "', idTopic: '0', isTopic: '" + isTopic + "'}"; currentMessage = eval("(" + jsonString + ")"); ajaxProxy(webService, "GetMessage", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { $.get("../Controls/EditorMensagem.aspx", { titulo: "Editar Mensagem" }, function(data) { $.facebox(data); formReset("#editormensagem"); $("#btnEnviar").unbind("click"); if (isTopic) { $("#btnEnviar").click(function() { SaveTopic() }); $("#titulo").show(); $("#txttitulo").val(result.Title) } else { $("#btnEnviar").click(function() { SaveReply() }); $("#titulo").hide() } currentMessage.idTopic = result.TopicID; $("#txttexto").val(result.Text) }) } }) } }, "editar mensagem") } function DeleteMessage(id, isTopic) { ValidateSession(function(isValid) { if (isValid) { var jsonString = "{id: '" + id + "', isTopic: '" + isTopic + "'}"; if (!confirm("Deseja excluir esta mensagem ?")) { return false } ajaxProxy(webService, "DeleteMessage", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { GetMessages(currentPage); alert(result.Return) } }) } }, "deletar mensagem") } function RestoreMessage(id, isTopic) { ValidateSession(function(isValid) { if (isValid) { var jsonString = "{id: '" + id + "', isTopic: '" + isTopic + "'}"; if (!confirm("Deseja restaurar esta mensagem ?")) { return false } ajaxProxy(webService, "RestoreMessage", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { GetMessages(currentPage); alert(result.Return) } }) } }, "restaurar mensagem") } function NewSearch() { $.get("../Controls/EditorPesquisa.aspx", function(data) { $.facebox(data); $("#btnPesquisar").show(); $("#btnPesquisar").unbind("click").click(function() { SearchMessages(1) }); if (Date.dayNames == undefined) { $.getScript("../Js/date.js", function() { $.getScript("../Js/jquery.datePicker.min-2.1.2.js", function() { $("#pesquisamensagem .data").datePicker({ clickInput: true, startDate: "01/01/2001" }) }) }) } else { $("#pesquisamensagem .data").datePicker({ clickInput: true, startDate: "01/01/2001" }) } }) } function SearchMessages(page) { $("#btnPesquisar").hide(); var criteria = $.trim($("#searchText").val()); var owner = $.trim($("#searchOwner").val()); var iniDate = ($("#searchIniDate").val() != "" ? $("#searchIniDate").val() : "01/01/2001"); var endDate = ($("#searchEndDate").val() != "" ? $("#searchEndDate").val() : "01/01/2020"); if (!isDate(iniDate)) { alert("Data inicial inválida!"); return } if (!isDate(endDate)) { alert("Data final inválida!"); return } if (criteria == "" && owner == "" && iniDate == "01/01/2001" && endDate == "01/01/2020") { alert("Informe pelo menos um critério"); return } if (criteria != "" && criteria.lenght < 5) { alert("Informe o texto com mais de 5 caracteres."); return } if (owner != "" && owner.lenght < 5) { alert("Informe o autor com mais de 5 caracteres."); return } var jsonString = "{page: '" + page + "', criteria: '" + $("#searchText").val() + "', owner: '" + owner + "', iniDate: '" + iniDate + "', endDate: '" + endDate + "'}"; $(document).trigger("close.facebox"); $("#mensagens").html('<p class="loading"><img src="../Images/loading.gif" />Pesquisando, aguarde...</p>'); scrollToTop(); currentPage = page; ajaxProxy(webService, "SearchMessages", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { $("#conteudo h1").css("font-size", "25px"); if (result.Mensagens.length == 0) { $("#conteudo h1").html("Forum de Mercado: nenhum tópico encontrado"); $("#mensagens").html('<p class="alert">Nenhuma mensagem encontrada!</p>'); scrollToTop(); return } else { MessagesToHtml(result, page, true); $("#conteudo h1").html("Forum de Mercado: a pesquisa retornou " + result.Total + " tópico(s)") } } }) } function GetMessagesByUser(page, usuarioID, login) { currentPage = page; scrollToTop(); $("#mensagens").html(htmlLoading.replace("{0}", "Aguarde, carregando mensagens de <strong>" + login + "</strong>...")); var jsonString = "{page: '" + page + "', usuarioID: '" + usuarioID + "'}"; ajaxProxy(webService, "GetMessagesByUser", jsonString, function(result) { if (result.Error) { $("#mensagens").html(htmlError) } else { $("#conteudo h1").css("font-size", "25px"); MessagesToHtml(result, page, false, "GetMessagesByUser('{0}','" + usuarioID + "','" + login + "')"); $("#conteudo h1").html("Forum de Mercado: " + result.Total + " mensagens de " + login + ".") } }) } function MessagesToHtml(result, page, isSearch, pager) { var html = ""; var emailbody = ""; var socialbody = ""; for (var t in result.Mensagens) { var topico = result.Mensagens[t]; emailbody = "Mensagem do Forum de Mercado [a href=http://www.bastter.com/Mercado/Forum/]Bastter.com[/a][br /][br /]" + topico.Titulo + "[br /][a href=" + topico.Link + "]" + topico.Link + "[/a][br /][br /]Participe do [a href=http://www.bastter.com/Mercado/Forum/]Forum de Mercado Bastter.com[/a]."; html += '<div class="topico' + (topico.Status == 5 ? " topico-deletado" : "") + '">'; html += "<h2>" + topico.Titulo + "</h2>"; html += '<a href="../Controls/EnviarSocial.aspx?tipo=blogger&link=' + topico.Link + "&texto=" + topico.Titulo + '... " title="Compartilhar no Blogger/Blogspot" target="_blank" class="mensagem-icon mensagem-blogger">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=orkut&link=' + topico.Link + "&texto=" + topico.Titulo + '... " title="Compartilhar no Orkut" target="_blank" class="mensagem-icon mensagem-orkut">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=myspace&link=' + topico.Link + "&texto=" + topico.Titulo + '... " title="Compartilhar no MySpace" target="_blank" class="mensagem-icon mensagem-myspace">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=facebook&link=' + topico.Link + "&texto=" + topico.Titulo + '... " title="Compartilhar no Facebook" target="_blank" class="mensagem-icon mensagem-facebook">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=twitter&link=' + topico.Link + "&texto=" + topico.Titulo + '... " title="Compartilhar no Twitter" target="_blank" class="mensagem-icon mensagem-twitter">&nbsp;</a>'; html += "<a href=\"javascript:;\" onclick=\"ShareByEmail('','" + emailbody + '\')" title="Enviar por email" class="mensagem-icon mensagem-email">&nbsp;</a>'; html += "<a href=\"javascript:;\" onclick=\"GetMessagesByUser('1','" + topico.UsuarioID + "','" + topico.Login + '\')" title="Ver mensagens deste forense" class="mensagem-icon mensagem-forense">&nbsp;</a>'; html += '<a href="javascript:;" onclick="AdicionarFavorito(' + topico.ID + ')" title="Salvar tópico como favorito" class="mensagem-icon mensagem-favorito">&nbsp;</a>'; html += '<span class="texto">' + topico.Texto + "</span>"; if (topico.Imagem != "") { html += '<div class="imagem"><a href="javascript:;" onclick="$.facebox({ image: \'' + topico.Imagem + '\' })" class="thickbox"><img src="' + topico.Imagem + '" alt="Clique para exibir a imagem"/></a></div>' } html += '<div class="acoestopico">'; html += '<div class="autortopico">enviado por <strong>' + (topico.Status ? '<a href="javascript:;" onclick="window.open(\'/Mercado/Admin/Usuario.aspx?id=' + topico.UsuarioID + "', '', 'width=450,height=580,scrollbars=1')\">" + topico.Login + "</a>" : topico.Login) + "</strong> às " + topico.Data + "</div>"; html += '<div class="respondertopico">'; html += '<a href="javascript:;" onclick="ReplyMessage(' + topico.ID + ')" class="option">Responder</a>'; if (topico.IsEditable) { html += '<a href="javascript:;" onClick="EditMessage(' + topico.ID + ', true)" class="option">Editar</a>' } if (topico.Status == 1) { html += '<a href="javascript:;" onClick="DeleteMessage(' + topico.ID + ', true)" class="option">Excluir</a>' } else { if (topico.Status == 5) { html += '<a href="javascript:;" onClick="RestoreMessage(' + topico.ID + ', true)" class="option">Restaurar</a>' } } html += "</div></div></div>"; if (topico.Respostas != "") { for (var r in topico.Respostas) { var resposta = topico.Respostas[r]; html += '<div class="resposta' + (resposta.Status == 5 || topico.Status == 5 ? " resposta-deletado" : "") + '"><a href="javascript:;" onclick="GetMessagesByUser(\'1\',\'' + resposta.UsuarioID + "','" + resposta.Login + '\')" title="Ver mensagens deste forense" class="mensagem-icon mensagem-forense">&nbsp;</a><span class="texto">' + resposta.Texto + "</span>"; if (resposta.Imagem != "") { html += '<div class="imagem"><a href="javascript:;" onclick="$.facebox({ image: \'' + resposta.Imagem + '\' })" class="thickbox"><img src="' + resposta.Imagem + '" width="90" height="60" alt="Clique para exibir a imagem" /></a></div>' } html += '<div class="rodape">'; html += '<span class="autor">enviado por <strong>' + (resposta.Status ? '<a href="javascript:;" onclick="window.open(\'/Mercado/Admin/Usuario.aspx?id=' + resposta.UsuarioID + "', '', 'width=450,height=580,scrollbars=1')\">" + resposta.Login + "</a>" : resposta.Login) + "</strong> às " + resposta.Data + "</span>"; html += '<span class="funcoes"><a href="javascript:;" onclick="ReplyMessage(' + topico.ID + ')" class="option">Responder</a>'; if (resposta.IsEditable) { html += '<a href="javascript:;" onClick="EditMessage(' + resposta.ID + ', false)" class="option">Editar</a>' } if (resposta.Status == 1) { html += '<a href="javascript:;" onClick="DeleteMessage(' + resposta.ID + ', false)" class="option">Excluir</a>' } else { if (resposta.Status == 5) { html += '<a href="javascript:;" onClick="RestoreMessage(' + resposta.ID + ', false)" class="option">Restaurar</a>' } } html += "</span></div></div>" } } } if (result.Paginas != "") { var htmlPagger = ""; var paginas = eval("(" + result.Paginas + ")"); var cssClass = ""; var label = ""; for (var key in paginas) { if (paginas.hasOwnProperty(key)) { cssClass = ""; if (paginas[key] == page) { cssClass = "atual" } else { if (key == "prev") { cssClass = "anterior" } else { if (key == "next") { cssClass = "proximo" } } } label = (key != "prev" && key != "next" ? key : ""); if (pager == null) { htmlPagger += '<a href="javascript:;" alt="' + key + '" onclick="' + (isSearch ? "SearchMessages" : "GetMessages") + "(" + paginas[key] + ')" class="' + cssClass + '">' + label + "</a>" } else { htmlPagger += '<a href="javascript:;" alt="' + key + '" onclick="' + pager.replace("{0}", paginas[key]) + '" class="' + cssClass + '">' + label + "</a>" } } } $(".paginacao").html(htmlPagger) } $("#mensagens").html(html) } function LoadMenu(isSearch) { var html = ""; var link = '<a href="javascript:;" onclick="[METHOD]" class="option">[TITLE]</a>'; if (!isSearch) { html += link.replace("[METHOD]", "GetMessages(1)").replace("[TITLE]", "Atualizar"); html += link.replace("[METHOD]", "NewMessage()").replace("[TITLE]", "Nova Mensagem") } else { html += link.replace("[METHOD]", "GetMessages(1)").replace("[TITLE]", "Voltar para Mensagens") } html += link.replace("[METHOD]", "NewSearch()").replace("[TITLE]", "Pesquisar"); html += '<a href="Resumo.aspx" class="option">Resumo</a>'; $(".comandos").html(html) } function AdicionarFavorito(topicoID) { ValidateSession(function(isValid) { if (isValid) { var jsonString = "{topicoID: '" + topicoID + "'}"; ajaxProxy(webService, "AdicionarFavorito", jsonString, function(result) { if (result.Error) { alert(result.Error) } else { alert(result.Return) } }) } }, "adicionar favorito") } function ShareByEmail(to, content) { $.get("../Controls/EnviarEmail.aspx", { titulo: "Enviar tópico por email", destinatario: to, texto: content.replace(/Mercado\/Forum/g, "Mercado-Forum") }, function(data) { $.facebox(data); $("#btnEnviar").unbind("click").click(function() { SendEmail(); $(document).trigger("close.facebox") }) }) };
