<% Response.Expires=0 '********************************** '* © Xavier Tortosa, 2001 * '* © Edicions Bromera, 2001 * '* Tots els drets reservats * '********************************** Set CarroObj = New CarroKit 'co = Compra 'boItem = Borra llibre del carro desde la vista llibre 'bo = Borra llibre de la llista desde la vista carro 'boco = Borra llibre o inclou a la llista desde la imatge de compra-borra 'ac = Actualtiza 'et = Esborra-ho tota la llista 'cc = Continuar Comprant 'vc = Vore Carro 'bb = Menú OPCIONS CARRO: Borrar - Continuar Comprant - Actualitzar 'cp = Com pagar (Transferència bancària o targeta) 'reg = Registrar-se '"" Si el carro no està buit dispara el menú ESTAT DE COMPRES: ptes - Vore Carro '"" Si el carro està buit no afecta a la subrutina BarraEstat If Session("web")="bromera" then '''''Variables per defecte funció Cap imatge = 0 'inclou imatge fons mtop = 3 'topmargin pixels mesq = 0 'leftmargin pixels '''''Varialbes per defecte VoreCarro vimatge = 0 'no inclou imatge fons vmtop = 10 'topmargin pixels vmesq = 5 'leftmargin pixels 'ColorFCB = "#9C3C18" ColorFCB = "#FFCC66" ColorFCP = "#FFCC66" end if if Session("web")="bromerajove" then '''''Variables per defecte funció Cap imatge = 0 'inclou imatge fons mtop = 3 'topmargin pixels mesq = 0 'leftmargin pixels '''''Varialbes per defecte VoreCarro vimatge = 0 'no inclou imatge fons vmtop = 10 'topmargin pixels vmesq = 5 'leftmargin pixels 'ColorFCB = "#9C3C18" ColorFCB = "#A98BBA" ColorFCP = "#A98BBA" end if '''''msg per a VoreCarro seleccio = "La vostra selecció" comanda = "Formalitzar la comanda" CarroBuit = "La cistella està buida" registrarse = "Formulari de registre" compra="Compra finalitzada" comprafi="Compra finalitzada amb èxit" If Request.QueryString("accio") = "" then varAccio = Request.Form("accioForm") vincDE = Request.Form("VincDe") else varAccio = Request.QueryString("accio") vincDE = Request.QueryString("VincDe") end if varQUA = Request.QueryString("quantitat") Function ValidaDatos(varAccio, varQua, varPreus) If Request.QueryString("xpreus") > 0 then varIDE = Session("llpreus")(Request.QueryString("xpreus"),0) varTIT = Session("llpreus")(Request.QueryString("xpreus"),1) varPRE = Session("llpreus")(Request.QueryString("xpreus"),2) Session("url")=Request.ServerVariables("HTTP_REFERER") Session("llpreus")="" else varIDE = Session("VarCarro")(0,0) varTIT = Session("VarCarro")(0,1) varPRE = Session("VarCarro")(0,2) ' Session("VarCarro")="" End If End Function If varAccio="boco" then Session("EsperaCarro")=true varIDE = Request.QueryString("IDE") If CarroObj.CheckItem(varIDE) then varAccio="boItem" else varAccio="co" End If End If IF varAccio="co" THEN Session("menuVoreCistella")=true CarroObj.Cap ColorFCP,mtop,mesq ValidaDatos varIDE, varTIT, varPRE CarroObj.AddItem varIDE, varTIT, varPRE, varQUA CarroObj.BarraEstat(varAccio) CarroObj.PeuEstat Session("EsperaCarro")=false ELSEIF varAccio="boItem" THEN CarroObj.BorrarItem varIDE CarroObj.Cap ColorFCP,mtop,mesq CarroObj.BarraEstat(varAccio) CarroObj.PeuEstat Session("EsperaCarro")=false ELSEIF varAccio="bo" THEN CarroObj.BorrarItem Request.QueryString("varIDE") If not IsArray(Session("Carro")) then Session("menuVoreCistella")=false CarroObj.cap ColorFCP,vmtop,vmesq CarroObj.VoreCarro CarroBuit else CarroObj.cap ColorFCB,vmtop,vmesq If Session("Final") then CarroObj.VoreCarro comanda If not Session("client") then CarroObj.RegistrarClient else CarroObj.SelectComPagar end if else CarroObj.VoreCarro seleccio end if end if CarroObj.Peu Session("EsperaCarro")=false ELSEIF varAccio="ac" THEN ValidaDatos CarroObj.UpdateItem varIDE, varTIT, varPRE, varQUA ELSEIF varAccio="et" THEN 'Borrar carro i crear un nou Session("Carro")="" Session("Final")=False Session("client")=false Session("menuVoreCistella")=false Session("cp")="" 'Session("IdClientRegistre")="" CarroObj.cap ColorFCP,vmtop,vmesq CarroObj.VoreCarro CarroBuit CarroObj.Peu ELSEIF varAccio="borrarCistella" THEN 'Borrar carro i crear un nou Session("Carro")="" Session("Final")=False Session("menuVoreCistella")=false CarroObj.cap ColorFCP,vmtop,vmesq CarroObj.VoreCarro CarroBuit CarroObj.Peu ELSEIF varAccio="cc" THEN Session("EsperaCarro")=FALSE Session("menuVoreCistella")=true Session("Final") =false Response.Redirect Session("url") ELSEIF varAccio="vc" THEN Session("voreCistella") = true Session("menuVoreCistella")=false Session("menusOFF")=false CarroObj.cap ColorFCP,vmtop,vmesq If Session("Final") then CarroObj.VoreCarro comanda If not Session("client") then CarroObj.RegistrarClient else CarroObj.SelectComPagar end if else CarroObj.VoreCarro seleccio end if CarroObj.Peu ELSEIF varAccio="fm" THEN Session("EsperaCarro")=true mudCarro=Session("Carro") missatge = false For i=LBound(Session("Carro")) to UBound(Session("Carro")) quant = Request.QueryString(CStr(i)) If IsNumeric(quant) and Len(quant) < 5 then quant=CInt(quant) If quant > 0 and quant < 10000 Then mudCarro(i,3) = quant End If Else missatge=true End If Next Session("Carro") = mudCarro mudCarro="" If missatge then Response.Write "Entrada no vàlida en el camp Quantitat" Response.Redirect ("carro.asp?accio=vc") ELSEIF varAccio="reg" THEN If CarroObj.CheckCarro then colorfons = colorFCP else colorfons = colorFCB end if Session("Final")=true Session("voreCistella")=true CarroObj.cap colorfons,vmtop,vmesq CarroObj.VoreCarro comanda If session("client") then CarroObj.SelectComPagar else CarroObj.RegistrarClient end If CarroObj.Peu ELSEIF varAccio="regMenu" THEN Session("EsperaCarro")=true Session("client")=false Session("voreCistella") = false CarroObj.cap colorFCP,vmtop,vmesq CarroObj.RegistrarClient CarroObj.Peu Session("regMenu") = true 'Session("EsperaCarro")=false ELSEIF varAccio="regSI" THEN CarroObj.cap colorFCP,vmtop,vmesq If Session("voreCistella") then CarroObj.VoreCarro comanda CarroObj.NomPassword "Quin és el teu correu i contrasenya" CarroObj.Peu ELSEIF varAccio="regNO" THEN msgreg=Request.QueryString("msg") CarroObj.cap colorFCP,vmtop,vmesq CarroObj.VoreCarro comanda CarroObj.ClientRegistrat("nouClient") CarroObj.Peu ELSEIF varAccio="regConfirma" THEN CarroObj.regIdClient Trim(Request.Form("rcorreu")),Trim(Request.Form("rpassword")) CarroObj.cap colorFCP,vmtop,vmesq If Session("client") then If not Session("regMenu") then Session("Final")=true If IsArray(Session("carro")) then CarroObj.VoreCarro comanda else CarroObj.VoreCarro carroBuit end if CarroObj.cp (Session("cp")) else Session("Final")=false Session("voreCistella")=true If IsArray(Session("carro")) then CarroObj.VoreCarro seleccio else CarroObj.VoreCarro carroBuit end if Session("regMenu")=false end if else CarroObj.NomPassword "NO HI CAP registre AMB LES DADES FACILITADES
Torna a introduir el teu correu i contrasenya?" end if CarroObj.Peu ELSEIF varAccio="dadesPersonals" THEN msgreg=Request.QueryString("msg") CarroObj.cap colorFCP,vmtop,vmesq Select case Request.QueryString("accio1") Case "registrat" quinArxiu="registrat" Case "reregistrat" quinArxiu="reregistrat" Case "regNoOK" quinArxiu="regNoOK" End Select CarroObj.clientRegistrat quinArxiu CarroObj.Peu Session("FormReg")="" ELSEIF varAccio="regNoOK" THEN msgreg=Request.QueryString("msg") CarroObj.cap colorFCP,vmtop,vmesq CarroObj.clientRegistrat "nouClientNoOK" CarroObj.Peu ELSEIF varAccio="regCanvia" THEN CarroObj.cap colorFCP,vmtop,vmesq If IsArray(Session("carro")) then CarroObj.VoreCarro seleccio else CarroObj.VoreCarro carroBuit end if nouclient = false ValidaContrasenya (nouclient) Nouclient_o_Actualitzar (nouclient) Response.redirect ("carro.asp?accio=dadesPersonals&accio1=reregistrat") CarroObj.Peu ELSEIF varAccio="regNouClient" THEN Session("EsperaCarro")=true CarroObj.cap colorFCP,vmtop,vmesq nouclient = true Session("IdClientRegistre")="" ValidaContrasenya(nouclient) Nouclient_o_Actualitzar (nouclient) CarroObj.regIdClient Trim(Request.Form("fcorreu")), Trim(Request.Form("fpassword")) 'CarroObj.cap colorFCP,vmtop,vmesq if not Session("regMenu") then Session("Final")=true If IsArray(Session("carro")) then CarroObj.VoreCarro comanda else CarroObj.VoreCarro carroBuit end if CarroObj.cp (Session("cp")) else Session("Final")=false Session("voreCistella")=true If IsArray(Session("carro")) then CarroObj.VoreCarro seleccio else CarroObj.VoreCarro carroBuit end if Session("regMenu")=false end if Response.Write ("Client registrat amb èxit.

") Response.Write ("Si voleu veure o canviar les vostres dades personals
accediu des de el menú CLIENT REGISTRAT / Accés a les dades personals.") CarroObj.Peu Session("EsperaCarro")=false ELSEIF varAccio="cp" or varAccio="pGP" or varAccio="pTR" or varAccio="pVI" or varAccio="pMA" or varAccio="pAT" THEN Session("cp") = varAccio CarroObj.cap colorFCP,vmtop,vmesq CarroObj.VoreCarro comanda CarroObj.SelectComPagar Session("Final")=true 'If Session("cp")<>"" then CarroObj.clientRegistrat "dades" CarroObj.Peu ELSEIF varAccio="regCompra" THEN ''''Obrir connexió amb evenda Set Con = Server.CreateObject ("ADODB.Connection") Con.Open "evenda" ''''Construcció instrucció strSQL strSQL = "SELECT * FROM comanda" 'strSQL = strSQL & " WHERE IdClient=" & Cint(Session("IdClientRegistre")) & ";" ''''Creació grup de registres Set Reg = Server.CreateObject ("ADODB.Recordset") Reg.CursorType = 1 Reg.LockType = 3 Reg.Open strSQL, Con Reg.AddNew Reg("IdClient") = Session("IdClientRegistre") Reg("IdComanda") = Session("refOperacio") Reg("dnom") = Trim(Request.Form("dnom")) Reg("dcognom1") = Trim(Request.Form("dcognom1")) Reg("dcognom2") = Trim(Request.Form("dcognom2")) Reg("ddireccio") = Trim(Request.Form("ddireccio")) Reg("dcp") = Trim(Request.Form("dcp")) poblacio = Trim(Request.Form("dpoblacio")) posi = instr(poblacio,"'") If posi <> 0 then poblacio= left(poblacio,posi - 1) & "," & right(poblacio,len(poblacio) - posi) Reg("dpoblacio") = poblacio Reg("dprovincia") = Request.Form("dprovincia") Reg("dtelefon") = Trim(Request.Form("dtelefon")) Reg("pagament") = Session("cp") Reg("despeses") = Session("despeses") Reg("total") = CarroObj.CalTotal Reg.Update Reg.Close FOR i = LBound(Session("Carro")) TO UBound(Session("Carro")) ''''Construcció instrucció strSQL strSQL = "SELECT * FROM detall" ''''Creació grup de registres Set Reg = Server.CreateObject ("ADODB.Recordset") Reg.CursorType = 1 Reg.LockType = 3 Reg.Open strSQL, Con Reg.AddNew Reg("IdComanda") = Session("refOperacio") Reg("producte") = Session("carro")(i,1) Reg("preu") = Session("carro")(i,2) Reg("quantitat") = Session("carro")(i,3) Reg("subtotal") = Session("carro")(i,2) * Session("carro")(i,3) Reg("descompte") = 0 Reg.Update next Reg.Close Con.Close Set Re=Nothing Set Con=Nothing Session("menusOFF")=True CarroObj.cap colorFCP,vmtop,vmesq CarroObj.VoreCarro comprafi Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Select Case Session("cp") Case "pGP" formapago="CONTRA REEMBOSAMENT" Case "pTR" formapago="TRANSFERÈNCIA BANCÀRIA" Case "pVI" formapago="TARGETA VISA" Case "pMA" formapago="TARGETA MASTERCARD" Case "pAT" formapago="ALTRES TARGETES" End Select Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) Response.Write ("" & CHR(13)) 'Response.Write ("

Total IVA inclòs
Total compra = " & CarroObj.CalTotal + 2.95 & " € (" & CarroObj.CalTotal & " € en llibres + " & Session("despeses") & " € de transport)

Termini de la tramesa
7 dies faeners

Referència de la operació
" & Session("refOperacio") & "

Opció de pagament seleccionada
" & formapago & "

Dades de facturació
" & CHR(13)) CarroObj.clientRegistrat "dadesfac" Response.Write ("

Dades de tramesa
" & CHR(13)) If Trim(Request.Form("ddireccio")) <>"" then Response.Write ("
" & CHR(13)) Response.Write (Trim(Request.Form("dnom")) & " " & Trim(Request.Form("dcognom1")) & " " & Trim(Request.Form("dcognom2")) & "
" & CHR(13)) Response.Write (Trim(Request.Form("ddireccio")) & "
" & CHR(13)) Response.Write (Trim(Request.Form("dcp")) & Trim(Request.Form("dpoblacio")) & "
" & CHR(13)) Response.Write (Request.Form("dprovincia") & "
" & CHR(13)) Response.Write (Trim(Request.Form("dtelefon")) & "

" & CHR(13)) else Response.Write ("
" & CHR(13)) Response.Write ("La comanda s'enviarà a l'adreça de facturació") End If Response.write ("
" & CHR(13)) CarroObj.Peu ''''' Creació del objecte CORREU Set Mail = Server.CreateObject("Persits.MailSender") Mail.Host = "localhost" Mail.From = "vendesWeb@bromera.com" Mail.AddAddress "xavier@bromera.com" 'Mail.AddCC "xavier@bromera.com" 'Mail.IsHTML=true Mail.Subject = "Venda web: " & Session("refOperacio") Str = "Import total: " & CarroObj.CalTotal & "euros en " & UBound(Session("Carro")) & " llibres
" Mail.Body = Str ''''' Envia el correu On Error Resume Next Mail.Send If Err <> 0 Then Response.Write "An error occurred: " & Err.Description End if '''Inicialitzar variables de control Session("refOperacio")="" Session("carro")="" Session("voreCistella")=false Session("menuVoreCistella")=false Session("cp")="" Session("client")=false Session("IdClientRegistre")="" Session("menusOFF")=false Session("despeses")="" ELSEIF varAccio="esperaCarro" then ''''''Esperar a que acabe de procesar una altra operacio sobre carro.asp temps=100000 'temps=10000000 Select case vincDE Case "nadal04" temps=1000000 url="../../especial/nadal04/index.asp" Case "llib_cos" temps=500000 url="llib_cos.asp?col=" & Request.QueryString("col") & "&num=" & Request.QueryString("num") Case "preus" temps=500000 url="preus.asp?Pagina=Actual&col=" & Request.QueryString("fcol") Case "ajudes_llista" temps=500000 url="ajudes_llista.asp?Pagina=Actual&col=" & Request.QueryString("fcol") Case "ajudescat_llista" temps=500000 url="ajudescat_llista.asp?Pagina=Actual&col=" & Request.QueryString("fcol") Case "accions" url="carro.asp" 'Case "accdades" ' Session("carro")="" ' url="carro.asp" Case "accregistreMOD" 'temps=10000000 url="carro.asp" Case "acces" Session("menuVoreCistella")=true Session("voreCistella")=false Session("client")=true Session("regMenu")=true url="carro.asp" Case "regNouClient" Session("menuVoreCistella")=true Session("voreCistella")=false Session("regMenu")=true url="carro.asp" Case "regCompra" url="carro.asp" Case "regConfirma" temps=500000 url="carro.asp" Case "" url="carro.asp" End Select Do while Session("EsperaCarro") For x =1 to temps If not Session("EsperaCarro") then exit do Next Session("EsperaCarro")=False Loop Response.Redirect (url) ELSE If CarroObj.CheckCarro then colorfons = colorFCP else colorfons = colorFCB end if CarroObj.cap colorfons,mtop,mesq CarroObj.BarraEstat(varAccio) 'Response.write Session("VincDe") CarroObj.PeuEstat END IF Sub ValidaContrasenya (nouclient) msgreg="" rCC=CarroObj.regCorreuContrasenya (Trim(Request.Form("fcorreu")),Trim(Request.Form("fpassword"))) rNC=CarroObj.regNifCif (Trim(Request.Form("fnif"))) If rCC or rNC then If rCC then msgreg="Canvieu la contrasenya. La combinació introduida ja ha sigut asignada a un altre client." If nouclient then If rNC then msgreg="No és possible registrar-te perquè ja existeix un registre amb el NIF/CIF: " & Request.Form("fnif") Redim FormReg(12) FormReg(0) = Request.Form("fcorreu") FormReg(1) = Request.Form("fpassword0") FormReg(2) = Request.Form("fpassword0") FormReg(3) = Request.Form("fnif") FormReg(4) = Request.Form("fnom") FormReg(5) = Request.Form("fcognom1") FormReg(6) = Request.Form("fcognom2") FormReg(7) = Request.Form("fdireccio") FormReg(8) = Request.Form("fcp") FormReg(9) = Request.Form("fpoblacio") FormReg(10) = Request.Form("fprovincia") FormReg(11) = Request.Form("ftelefon") Session("FormReg")=FormReg url="carro.asp?accio=dadesPersonals&msg=" & msgreg & "&accio1=regNoOK" else If rNC then msgreg="No és possible canviar el registre perquè ja existeix un registre amb el NIF/CIF: " & Request.Form("fnif") url="carro.asp?accio=dadesPersonals&msg=" & msgreg & "&accio1=registrat" End If Response.redirect (url) End If End Sub Sub Nouclient_o_Actualitzar (nouclient) Session("client")=true ''''Obrir connexió amb dades Set Con = Server.CreateObject ("ADODB.Connection") Con.Open "evenda" ''''Construcció instrucció strSQL strSQL = "SELECT * FROM clients" if not nouclient then strSQL = strSQL & " WHERE IdClient=" & Cint(Session("IdClientRegistre")) & ";" ''''Creació grup de registres Set Reg = Server.CreateObject ("ADODB.Recordset") Reg.CursorType = 1 Reg.LockType = 3 Reg.Open strSQL, Con if nouclient then Reg.AddNew Reg("fnif") = Trim(Request.Form("fnif")) Reg("fnom") = Trim(Request.Form("fnom")) Reg("fcognom1") = Trim(Request.Form("fcognom1")) Reg("fcognom2") = Trim(Request.Form("fcognom2")) Reg("fdireccio") = Trim(Request.Form("fdireccio")) Reg("fcp") = Trim(Request.Form("fcp")) poblacio = Trim(Request.Form("fpoblacio")) posi = instr(poblacio,"'") If posi <> 0 then poblacio= left(poblacio,posi - 1) & "," & right(poblacio,len(poblacio) - posi) Reg("fpoblacio") = poblacio Reg("fprovincia") = Request.Form("fprovincia") Reg("ftelefon") = Request.Form("ftelefon") Reg("fcorreu") = Trim(Request.Form("fcorreu")) Reg("fpassword") = Request.Form("fpassword") Reg.Update Reg.Close Con.Close Set Re=Nothing Set Con=Nothing End Sub %>