﻿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(); AtualizarPerfis() } 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) } }); Livestream() } function Livestream() { ajaxProxy("WsForum", "Live", "{}", function (result) { if (result.Error) { $("#livestream").hide() } else { if (result.Status) { $("#livestream").show(); $("#livestream a img").attr("src", "/Mercado/Images/banner-forum-livestream-" + result.Login + ".gif") } else { $("#livestream").hide() } } }) } 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(); ajaxProxy(webService, "SaveTopic", JSON.stringify({ id: currentMessage.id, title: title, text: text, image: image }), 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(); ajaxProxy(webService, "SaveReply", JSON.stringify({ id: currentMessage.id, idTopic: currentMessage.idTopic, text: text, image: image }), 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 { if (result.Text.indexOf("selo-mensagem-premiada") > -1) { alert("Esta mensagem não pode ser editada."); return } $.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().unbind("click").click(function () { SearchMessages(1) }); $("#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 count = 1; for (var t in result.Mensagens) { var topico = result.Mensagens[t]; html += '<div class="topico' + (topico.Status == 5 ? " topico-deletado" : "") + '">'; html += "<h2>" + topico.Titulo + "</h2>"; html += SocialIcons(topico.Link, topico.Titulo, topico.ID, topico.UsuarioID, topico.Login); 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 + "&ip=" + topico.IP + "', '', 'width=450,height=580,scrollbars=1')\">" + topico.Login + "</a>" : topico.Login) + "</strong> às " + topico.Data + "</div>"; html += '<div class="respondertopico">'; if (topico.Status) { html += '<a href="javascript:;" onclick="SelecionarMensagem(' + topico.ID + ", 0," + topico.UsuarioID + ')" class="option">Promoção</a>' } 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" : "") + '">'; html += "<a href=\"javascript:;\" onclick=\"GetMessagesByUser('1','" + resposta.UsuarioID + "','" + resposta.Login + '\')" title="Ver mensagens deste forense" class="mensagem-icon mensagem-forense">&nbsp;</a>'; html += '<a href="javascript:;" onclick="Votar(' + resposta.ID + ', false, false)" title="Não gostei dessa mensagem!" class="mensagem-icon mensagem-naogostei">&nbsp;</a>'; html += '<a href="javascript:;" onclick="Votar(' + resposta.ID + ', false, true)" title="Gostei dessa mensagem!" class="mensagem-icon mensagem-gostei">&nbsp;</a>'; html += '<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 + "&ip=" + resposta.IP + "', '', 'width=450,height=580,scrollbars=1')\">" + resposta.Login + "</a>" : resposta.Login) + "</strong> às " + resposta.Data + "</span>"; html += '<span class="funcoes">'; if (topico.Status) { html += '<a href="javascript:;" onclick="SelecionarMensagem(' + topico.ID + "," + resposta.ID + "," + resposta.UsuarioID + ')" class="option">Promoção</a>' } html += '<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); $("#lateral").css("height", $("#miolo").height()) } 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"); html += link.replace("[METHOD]", "GetMessagesGostei(1)").replace("[TITLE]", "Melhores") } 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") }) }) } function SelecionarMensagem(topicoID, respostaID, usuarioID) { var jsonString = "{topicoID: '" + topicoID + "', respostaID: '" + respostaID + "', usuarioID: '" + usuarioID + "'}"; ajaxProxy(webService, "SelectMessage", jsonString, function (result) { alert(result.Return); GetMessages(currentPage) }) } function Votar(id, isTopic, gostei) { ValidateSession(function (isValid) { if (isValid) { var jsonString = "{id: '" + id + "', isTopic: '" + isTopic + "', gostei:" + gostei + "}"; ajaxProxy(webService, "Votar", jsonString, function (result) { if (result.Error) { alert(result.Error) } else { alert(result.Return) } }) } }, "votar na mensagem") } function LoadMenuGostei() { var html = ""; var link = '<a href="javascript:;" onclick="[METHOD]" class="option">[TITLE]</a>'; html += link.replace("[METHOD]", "GetMessages(1)").replace("[TITLE]", "Voltar para Mensagens"); $(".comandos").html(html) } function GetMessagesGostei(page) { var jsonString = "{page: '" + page + "'}"; LoadMenuGostei(); $("#conteudo h1").css("font-size", "30px"); $("#conteudo h1").html("Forum de Mercado - Seleção das Melhores"); $("#mensagens").html('<p class="loading"><img src="../Images/loading.gif" />Carregando, aguarde...</p>'); scrollToTop(); currentPage = page; ajaxProxy(webService, "GetMessagesGostei", jsonString, function (result) { if (result.Error) { $("#mensagens").html(htmlError) } else { MessagesGosteiToHtml(result, page) } }) } function MessagesGosteiToHtml(result, page) { var html = ""; var count = 1; for (var t in result.Mensagens) { var topico = result.Mensagens[t]; html += '<div class="topico">'; html += '<span class="gostei-qtd">' + topico.Qtd + "</span>"; html += '<h2 class="gostei-titulo">' + topico.Titulo + "</h2>"; html += SocialIcons(topico.Link, topico.Titulo, (topico.RespostaID != 0 ? topico.RespostaID : topico.TopicoID), topico.UsuarioID, topico.Login); 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.Login + "</strong> às " + topico.Data + "</div>"; html += '<div class="respondertopico">'; html += "</div></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 : ""); htmlPagger += '<a href="javascript:;" alt="' + key + '" onclick="GetMessagesGostei(' + paginas[key] + ')" class="' + cssClass + '">' + label + "</a>" } } $(".paginacao").html(htmlPagger) } $("#mensagens").html(html); $("#lateral").css("height", $("#miolo").height()) } function SocialIcons(link, titulo, topicoID, usuarioID, login) { var html = ""; var emailbody = ""; emailbody = "Mensagem do Forum de Mercado [a href=http://www.bastter.com/Mercado/Forum/]Bastter.com[/a][br /][br /]" + escape(titulo) + "[br /][a href=" + link + "]" + link + "[/a][br /][br /]Participe do [a href=http://www.bastter.com/Mercado/Forum/]Forum de Mercado Bastter.com[/a]."; html += '<a href="../Controls/EnviarSocial.aspx?tipo=blogger&link=' + link + "&texto=" + titulo + '... " title="Compartilhar no Blogger/Blogspot" target="_blank" class="mensagem-icon mensagem-blogger">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=orkut&link=' + link + "&texto=" + titulo + '... " title="Compartilhar no Orkut" target="_blank" class="mensagem-icon mensagem-orkut">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=myspace&link=' + link + "&texto=" + titulo + '... " title="Compartilhar no MySpace" target="_blank" class="mensagem-icon mensagem-myspace">&nbsp;</a>'; html += '<a href="../Controls/EnviarSocial.aspx?tipo=twitter&link=' + link + "&texto=" + titulo + '... " title="Compartilhar no Twitter" target="_blank" class="mensagem-icon mensagem-twitter">&nbsp;</a>'; if (usuarioID != 2600) { html += '<a href="javascript:;" onclick="Votar(' + topicoID + ', true, true)" title="Gostei dessa mensagem!" class="mensagem-icon mensagem-gostei">&nbsp;</a>' } html += "<a href=\"javascript:;\" onclick=\"ShareByEmail('','" + emailbody + '\')" title="Enviar por email" class="mensagem-icon mensagem-email">&nbsp;</a>'; if (usuarioID != 2600) { html += "<a href=\"javascript:;\" onclick=\"GetMessagesByUser('1','" + usuarioID + "','" + login + '\')" title="Ver mensagens deste forense" class="mensagem-icon mensagem-forense">&nbsp;</a>'; html += '<a href="javascript:;" onclick="AdicionarFavorito(' + topicoID + ')" title="Salvar tópico como favorito" class="mensagem-icon mensagem-favorito">&nbsp;</a>' } html += '<a href="../Controls/EnviarSocial.aspx?tipo=facebook&link=' + link + "&texto=" + titulo + '... " title="Compartilhar no Facebook" target="_blank" class="mensagem-icon mensagem-facebook">&nbsp;</a>'; if (usuarioID != 2600) { html += '<a href="javascript:;" onclick="Votar(' + topicoID + ', true, false)" title="Quero excluir essa mensagem! (Após 5 votos)" class="mensagem-icon mensagem-naogostei">&nbsp;</a>' } return html };
