<% '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# ' Loja Exemplo Locaweb ' Versão: 6.4 ' Data: 12/09/06 ' Arquivo: produtos_descricao.asp ' Versão do arquivo: 0.0 ' Data da ultima atualização: 12/05/08 ' '----------------------------------------------------------------------------- ' Licença Código Livre: http://comercio.Locaweb.com.br/gpl/gpl.txt '-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- %> <% rodape = "no" %>
">
<% 'Validação de dados postados por GET e/ou Post Call Valida_Request() 'passado na selação do produto codigo_produto = Request("codigo_produto") ' Abre tabela de produtos usando a conexao aberta acima. Set RS_Produto = Server.CreateObject("ADODB.Recordset") Set RS_Produto.ActiveConnection = Conexao RS_Produto.CursorLocation = 3 RS_Produto.CursorType = 0 RS_Produto.LockType = 1 'Seleciona dados do produto indicado RS_Produto.Open "SELECT Produtos.codigo_produto, Produtos.codigo_categoria, Produtos.codigo_subcategoria, Produtos.codigo_marca, Produtos.codigo_produto_loja, Produtos.nome_produto, Produtos.descricao_produto, Produtos.autor, Produtos.codigo_isbn, Produtos.tamanhos, Produtos.cores, Produtos.preco_base, Produtos.preco_unitario, Produtos.desconto, Produtos.moeda, Produtos.quantidade_produto, Produtos.img_produtoPQN, Produtos.img_produtoGRD, Produtos.img_produto_adic01PQN, Produtos.img_produto_adic01GRD, Produtos.img_produto_adic02PQN, Produtos.img_produto_adic02GRD, Produtos.img_produto_adic03PQN, Produtos.img_produto_adic03GRD, Produtos.peso, Produtos.destaque_vitrine, Produtos.promocao, Produtos.data_inicio, Produtos.data_fim, Produtos.disponivel, Produtos.sigla_idioma, Categorias.nome_categoria FROM Categorias INNER JOIN Produtos ON Categorias.codigo_categoria = Produtos.codigo_categoria WHERE Codigo_produto = "&Request("codigo_produto")&" AND Produtos.sigla_idioma = '" & varLang & "' AND Categorias.sigla_idioma = '" & varLang & "'", Conexao 'Converte para o cambio cadastrado conforme idioma selecionado. 'Criação do objeto de recordset para captura do valor do cambio Set DadosCambio = Server.CreateObject("ADODB.Recordset") Set DadosCambio.ActiveConnection = Conexao DadosCambio.CursorLocation = 3 DadosCambio.CursorType = 0 DadosCambio.LockType = 1 'Consulta a tabela IdiomaseCambios DadosCambio.Open "SELECT simbolo_moeda, valor_moeda FROM IdiomaseCambios WHERE sigla_idioma='"&varLang&"'", Conexao 'Captura valor da moeda e seu simbolo vlcambio = DadosCambio("valor_moeda") abvmoeda = DadosCambio("simbolo_moeda") 'Fecha conexão com o Recordset DadosCambio.close 'Destroi o objeto do recordset Set DadosCambio = Nothing If VerificaExistenciaDado("codigo_subcategoria","subcategorias","codigo_subcategoria",RS_Produto("codigo_subcategoria")) Then 'Captura a subcategoria se existir Set RS_Subcateogria = Server.CreateObject("ADODB.Recordset") RS_Subcateogria.CursorLocation = 3 RS_Subcateogria.CursorType = 0 RS_Subcateogria.LockType = 1 RS_Subcateogria.Open "SELECT codigo_subcategoria, nome_subcategoria FROM Subcategorias WHERE sigla_idioma='"&varLang&"' AND codigo_subcategoria = "&RS_Produto("codigo_subcategoria")&"" , Conexao nome_subcategoria = RS_Subcateogria("nome_subcategoria") RS_Subcateogria.close Set RS_Subcateogria = Nothing End If If VerificaExistenciaDado("codigo_marca","marcas","codigo_marca",RS_Produto("codigo_marca")) Then 'Captura a subcategoria se existir Set RS_Marca = Server.CreateObject("ADODB.Recordset") RS_Marca.CursorLocation = 3 RS_Marca.CursorType = 0 RS_Marca.LockType = 1 RS_Marca.Open "SELECT codigo_marca, nome_marca FROM Marcas WHERE codigo_marca = "&RS_Produto("codigo_marca")&"" , Conexao nome_marca = RS_Marca("nome_marca") RS_Marca.close Set RS_Marca = Nothing End If 'Calcula o valor bruto do produto conforma cambio selecionado valor_produto = FormatNumber(RS_Produto("preco_unitario")/(vlcambio),2) 'Verifica se existe alguma promoção de desconto para o produto e calcula o valor final. If pegavalor_promocao(valor_produto,RS_Produto) < FormatCurrency(valor_produto) Then valor_produto = pegavalor_promocao(valor_produto,RS_Produto) End If 'Se não existir registro e valor promocional o produto assume o valor cadastrado. If valor_produto = "" Then valor_produto = FormatNumber(RS_Produto("preco_unitario")/(vlcambio),2) End if ' Exibe o produto apenas se o mesmo estiver disponível If RS_Produto("disponivel") = 1 Then %>

<%=Application("MiddleTxtRetornarPaginaAnterior")%>

<%If RS_Produto("preco_unitario") > 0 then%> <%End if%> <% ' Verifica se a quantidade de produto é superior a 0 (Zero) If RS_Produto("quantidade_produto") <= "0" Then%> <% Else 'Verifica se existe opções de cores para o produto If RS_Produto("cores") <> "" Then%> <% End If 'Verifica se existe opções de tamanhos para o produto If RS_Produto("tamanhos") <> "" Then%> <% End If %> <%End if%>
<%=RS_Produto("nome_categoria")%> <% If nome_subcategoria <> "" Then %> > &codigo_subcategoria=<%=RS_Produto("codigo_subcategoria")%>" class='TXTproduto'><%=nome_subcategoria%> <% End If %>
<%= RS_Produto("nome_produto") %> <% If nome_marca <> "" Then %> - <%=nome_marca%> <% End If %> <% If RS_Produto("codigo_isbn") <> "" Then %>

ARTISTA: <%= RS_Produto("codigo_isbn") %> <% End If %>
<% 'Leitura do arquivo de configuração dos meios de pagamento Call abre_ArquivoXML(Application("XMLMeiosPagamentos"),FctobjXML,FctobjRoot) 'Set objeto de leitura do Nó Set configuracao = FctobjRoot.selectSingleNode("configuracao") 'Set objeto de leitura dos atributos Set itens = configuracao.getElementsByTagName("pagto[@disponivel='sim']") 'Identifica número itens para o Loop n_itens = itens.length 'Loop das formas de pagamentos disponíveis for i = 0 to (n_itens - 1) 'Set obeto de leitura de atributos configurados Set pagto = itens.item(i) 'Lista primeiro as formas de pagamentos a vista If pagto.getAttribute("permite_parcelamento") = "não" Then '### Pagamentos a vista %> <% 'Define quais meios de pagamentos permitem o parcelamento ElseIf pagto.getAttribute("permite_parcelamento") = "sim" Then permite_parcelamento = "sim" End If 'Destroi o objeto de leitura do XML Set pagto = Nothing Next '### Fim dos Pagamentos a vista '### Pagamentos parcelados 'Lista apenas os pagamentos que permitem parcelamentos e suas parcalas. If permite_parcelamento="sim" Then %> <% 'Identifica número itens para o Loop n_itens = itens.length 'Loop das formas de pagamentos disponíveis for i = 0 to (n_itens - 1) 'Set obeto de leitura de atributos configurados Set pagto = itens.item(i) 'Lista primeiro as formas de pagamentos a vista If pagto.getAttribute("permite_parcelamento") = "sim" Then ' Resgata dados do parcelamento taxaJuros = pagto.getAttribute("taxa_juros") taxaDesconto = pagto.getAttribute("taxa_desconto") nValorMinParcela = FormatNumber(pagto.getAttribute("valormin_parcela")) sJuros = pagto.getAttribute("juros") %> <% End If 'Destroi o objeto de leitura do XML Set pagto = Nothing Next End if %>
<%=Application("middleTxtPagtoAvista")%>
<%=pagto.getAttribute("nome_visualizacao")%> <%=abvmoeda%>  <%= FormatNumber(valor_produto)%>
Parcelamento - Acima de 3x, valor mínimo da parcela: R$ 150,00
" style="display:none;">
<%=pagto.getAttribute("nome_visualizacao")%> ');"><%= Application("MiddleTxtAte")%> <%=pagto.getAttribute("num_parcelas")%>x - <%= Application("MiddleTxtCliqueMaisDet")%>
<% ' Zera a trava de parcelas sTrava = False ' Loop da primeira etapa de parcelas For num_parcela = 1 To 6 ' Verifica o tipo de juros é do lojista If sJuros = "lojista" Then ' Tipo de calculo da parcela sTipoCalc = pagto.getAttribute("parc"&num_parcela) ' Calcula o valor total com Desconto If sTipoCalc = "Desconto" Then currValorCalc = calculaValorTaxa(valor_produto,taxaDesconto,"Desconto") ' Calcula o valor total com juros definido Elseif sTipoCalc = "Com juros" Then currValorCalc = calculaValorTaxa(valor_produto,taxaJuros,"Acrescimo") ' Calcula o valor total sem juros Else currValorCalc = valor_produto End If ' Para juros do emissor Else currValorCalc = valor_produto End If ' Verifica o valor da parcela do pedido nValorParcelaPedido = FormatNumber(currValorCalc / num_parcela) ' Monta a exibição do 'Desconto' If sTipoCalc = "Desconto" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Desconto de " & taxaDesconto &"%" ' Monta a exibição do 'Com Juros' Elseif sTipoCalc = "Com juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Juros de " & taxaJuros &"%" ' Monta a exibição do 'Sem Juros' Elseif sTipoCalc = "Sem juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Sem Juros" Else sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido End If ' Ajusta o número de parcelas para dois dígitos If (num_parcela < 10) Then num_parcela = "0" & num_parcela End If ' Verifica o valor mínimo da parcela e a quantidade maxima de parcelas If Cdbl(nValorMinParcela) > Cdbl(nValorParcelaPedido) And num_parcela <> 1 Or CDbl(num_parcela) > CDbl(pagto.getAttribute("num_parcelas")) Then ' Ativa a trava de parcelas sTrava = True Exit For End If ' Monta as cores da tabela If strColor = "class=""FUNDOoptpagproduto3""" Then strColor = "class=""FUNDOoptpagproduto4""" Else strColor = "class=""FUNDOoptpagproduto3""" End If %> <% Next %>
style="padding-left:10px"><%= num_parcela & sMeioPagto_Adicional %>
<% ' Verifica se o valor minimo da parcela já não foi atingido e o número máximo de parcelas é maior que 6 If sTrava = False And pagto.getAttribute("num_parcelas") > 6 Then ' Loop para segunda etapa de parcelas For num_parcela = 7 To 12 ' Verifica o tipo de juros é do lojista If sJuros = "lojista" Then ' Tipo de calculo da parcela sTipoCalc = pagto.getAttribute("parc"&num_parcela) ' Calcula o valor total com Desconto If sTipoCalc = "Desconto" Then currValorCalc = calculaValorTaxa(valor_produto,taxaDesconto,"Desconto") ' Calcula o valor total com juros definido Elseif sTipoCalc = "Com juros" Then currValorCalc = calculaValorTaxa(valor_produto,taxaJuros,"Acrescimo") ' Calcula o valor total sem juros Else currValorCalc = valor_produto End If ' Para juros do emissor Else currValorCalc = valor_produto End If ' Verifica o valor da parcela do pedido nValorParcelaPedido = FormatNumber(currValorCalc / num_parcela) ' Monta a exibição do 'Desconto' If sTipoCalc = "Desconto" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Desconto de " & taxaDesconto &"%" ' Monta a exibição do 'Com Juros' Elseif sTipoCalc = "Com juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Juros de " & taxaJuros &"%" ' Monta a exibição do 'Sem Juros' Elseif sTipoCalc = "Sem juros" And sJuros = "lojista" Then sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido & " - Sem Juros" Else sMeioPagto_Adicional = " X " & abvmoeda & " " & nValorParcelaPedido End If ' Ajusta o número de parcelas para dois dígitos If (num_parcela < 10) Then num_parcela = "0" & num_parcela End If ' Verifica o valor mínimo da parcela e a quantidade maxima de parcelas If Cdbl(nValorMinParcela) > Cdbl(nValorParcelaPedido) And num_parcela <> 1 Or CDbl(num_parcela) > CDbl(pagto.getAttribute("num_parcelas")) Then ' Ativa a trava de parcelas sTrava = True Exit For End If ' Monta as cores da tabela If strColor = "class=""FUNDOoptpagproduto3""" Then strColor = "class=""FUNDOoptpagproduto4""" Else strColor = "class=""FUNDOoptpagproduto3""" End If %> <% Next End If %>
style="padding-left:10px"><%= num_parcela & sMeioPagto_Adicional %>
<%= Application("MiddleTxtNaoDisponivel") %>
<%=Application("MiddleTxtSelCor")%>
<%Call Lista_Cores(RS_Produto("cores"))%>
<%=Application("MiddleTxtSelTamanho")%>
<%Call Lista_Tamanhos(RS_Produto("tamanhos"))%>
" onclick="window.open('indique.asp?lang=<%= varLang %>&tipo=produto&codigo_produto=<%= RS_Produto("codigo_produto") %>','Indique','resizable=no; width=600, height=250;')">  <%If Application("tipoconfiguracao")="lojavirtual" Then%>" onclick="javascript: addproduto2('<%=RS_Produto("codigo_produto")%>','<%=RS_Produto("codigo_categoria")%>')"><%End if%>
<% If RS_Produto("img_produto_adic01PQN") <> "" Or RS_Produto("img_produto_adic02PQN") <> "" Or RS_Produto("img_produto_adic03PQN") <> "" Then %> <% End If %>
" name="IMGVisProd">
<% 'Exibe imagem pequena do produto para seleção If RS_Produto("img_produtoGRD") <> "" Then %> <% End If If RS_Produto("img_produto_adic01PQN") <> "" Then %> <% End If If RS_Produto("img_produto_adic02PQN") <> "" Then %> <% End If If RS_Produto("img_produto_adic03PQN") <> "" Then %> <% End If %>
" width="60" Onclick="view_prod('<%= RS_Produto("img_produtoGRD") %>');" style="cursor:hand;">" width="60" Onclick="view_prod('<%= RS_Produto("img_produto_adic01GRD") %>');" style="cursor:hand;">" width="60" Onclick="view_prod('<%= RS_Produto("img_produto_adic02GRD") %>');" style="cursor:hand;">" width="60" Onclick="view_prod('<%= RS_Produto("img_produto_adic03GRD") %>');" style="cursor:hand;">
<%=Application("middleTxtInfoProduto")%>

<%= RS_Produto("descricao_produto") %>

<% ' Exibe alerta de produto não disponível Else %>
<%= Application("MiddleTxtNaoDisponivel") %>

<% End If 'Fecha conexão com o Recordset RS_Produto.Close 'Destroi o objeto do recordset Set RS_Produto = Nothing %>