% Option Explicit%>
<%
'dimension database variables
dim strSQL, objRS
'dimension database field reassignment variables
dim prodPN, prodTITLE, prodDESC, prodDESC_SH, prodPRICE, prodLIST, prodWEIGHT, prodSHIPSEP, prodADDAIR, prodSims
dim prodADDAIRAMT, prodPICTHUMBSM, prodPICTHUMB, prodPICMED, prodPIC300, prodPIC125, prodPICLG, prodDETAILPG, prodPgTitle2,prodDetailsSubHd
dim prodItemDesc, prodDetails, prodZoom, prodRelatedProds, prodWarrantyCode, prodReturnCode, zoomPic
dim isWarranty, isReturn, WarOrRetCode, gotWRText, RetWarText, WarrantyText, ReturnText
dim prodMANUF, prodMANUF_PN, prodPrintMFG, prodAct, ig_act, ig_Act_URL, referingPage
'dimension cart html variables
dim strCARTINFO, strGOBACKTO, strNVADD
'dimension others
dim prodNum, prodCat, cat_bar, thisPage
'dimension bullet variables
dim strBullets, bulletCounter, gotBullets
'dimension Breadcrumb var's
dim prodBCParent, intBCID(), strBC_Name(), strBC_Page_Add(), intBC_Parent_No(), LoopNo, intProdBCParent(), strBreadCrumbsHeader, i, intTempID, intHome
dim strBR
'dimension sendmail variables
Dim Mailer, strEmailSubject, strEmailBody, strEmailRecipient
'dimension product specification variables, arrays have maximum number of 40
Dim prodSpecLabel(), prodSpecDetail(), hasSpecRecs, shadeCell
'dimension accessory information
Dim yesAccys, strP1AccyPN2(), strP1AccyLink2(), strP1AccyCatHeading2(), strCatHeadings()
'dimension Additional Information var's
Dim prodAddInfo, yesAddInfo, strAddInfoDet(), strInfoLink(), strInfoPic(), strFormatAddInfo
'dimension similar products variables
Dim bolHasSims, bolHasProdSimDet, strSimDesc_Sh, strSimDetailPg, curSimPrice, strSimTitle, strSimWeight, strSimShipSep, strSimAddAir, strSimAddAirAmt, strSimPic125, strP, i2
'code from header include file
dim atHome
if request.servervariables("PATH_INFO") = "/home.asp" then
atHome = True
else
atHome = False
end if
prodNum = Request.Querystring("pn")
prodCat = Request.Querystring("cat")
ig_act = lcase(Request.Querystring("ignore_active"))
referingPage = Request.Querystring("HTTP_REFERER")
if ig_act = "yes" then
ig_Act_URL = "&ignore_active=yes"
else
ig_Act_URL = ""
end if
thisPage = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("URL")
prodCat = "1"
cat_bar = "cat_bar1.gif"
call getProductsInfo
call getprodDetail
call getProdSpecs
call format_cart_html
call getBullets
call getBreadcrumbs
'call getAccys
call addInfo
sub getProductsInfo
'open and get accessory info from Products table thru P1_Prod_Qry query
strSQL = "SELECT * FROM P1_Prod_Qry WHERE PN='" & prodNum & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
if objRS.EOF then
Response.Write "Sorry, no product was found with this part number. If you believe this is an error "
Response.Write "please tell us so we can correct it by emailing us at: " & ""
Response.Write "
Please be sure and tell us the item number of the product you were looking for."
Response.Write "BACK"
'if this happends, send someone an email w/details
strEmailRecipient = "rco2@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP. Invalid PN specified"
strEmailBody = "Error on P1.ASP. Invalid PN (not even inactive) specified in querystring. What was specified is: " & ProdNum & ". Refering page is: " & referingPage 'body of email
call sendEmail 'notify someone that this happened
call shutdown
Response.End
end if
'check to see if active product or not, and if not, whether "ig_act" variable is set to override and display anyway
prodAct = objRS("prodActive")
if prodAct <> "1" then
if ig_act <> "yes" then
Response.Write "Sorry, no product was found with this part number. If you believe this is an error "
Response.Write "please tell us so we can correct it by emailing us at: " & ""
Response.Write "Please be sure and tell us the item number of the product you were looking for."
Response.Write "BACK"
'if this happends, send someone an email w/details
strEmailRecipient = "rco2@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP. Inactive PN specified"
strEmailBody = "Error on P1.ASP. Inactive PN (valid, but inactive) specified in querystring. What was specified is: " & ProdNum & ". Refering page is: " & referingPage 'body of email
call sendEmail 'notify someone that this happened
call shutdown
Response.End
end if
end if
'xfer values to working variables
prodPN = UCase(objRS("PN"))
prodMANUF = UCase(objRS("Manuf"))
prodMANUF_PN = UCase(objRS("Manuf_PN"))
prodPrintMFG = objRS("PrintMFG")
prodTITLE = objRS("TITLE")
prodDESC = objRS("DESC")
prodDESC_SH = objRS("DESC_SH")
prodPRICE = objRS("PRICE")
prodLIST = objRS("LIST")
prodWEIGHT = objRS("WEIGHT")
prodSHIPSEP = objRS("SHIPSEP")
prodADDAIR = objRS("ADDAIR")
prodADDAIRAMT = objRS("ADDAIRAMT")
prodPICTHUMBSM = objRS("PICTHUMBSM")
prodPICTHUMB = objRS("PICTHUMB")
prodPICMED = objRS("PICMED")
prodPIC300 = objRS("PIC300")
prodPIC125 = objRS("PIC125")
prodPICLG = objRS("PICLG")
prodDETAILPG = objRS("DETAILPG")
prodBCParent = split(objRS("BC_Parent"),"_")
if not isNull(objRS("simProds")) then
prodSims = split(objRS("simProds"),"_")
bolHasSims = true
else
bolHasSims = false
end if
objRS.Close
end sub
sub getBreadcrumbs
if prodBCParent(0) = "999" then 'it reads 999 from the Products Table which means this PN has no breadcrumbs, so get out.
Set ProdBCParent(0) = Nothing
exit sub
end if
'open and get breadcrumb info
dim qtyBCRecords
strSQL = "SELECT * FROM Breadcrumbs"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn, adOpenKeySet
qtyBCRecords = objRS.RecordCount
redim intBCID(qtyBCRecords) 'redimension BC variables to number of records in Breadcrumbs table
redim strBC_Name(qtyBCRecords)
redim strBC_Page_Add(qtyBCRecords)
redim intBC_Parent_No(qtyBCRecords)
LoopNo = 0
Do While Not objRS.EOF 'read all records in Breadcrumbs table into memory
intBCID(LoopNo) = objRS("ID")
strBC_Name(LoopNo) = UCase(objRS("BC_Name"))
strBC_Page_Add(LoopNo) = objRS("BC_Page_Add")
intBC_Parent_No(LoopNo) = objRS("BC_Parent_No")
LoopNo = LoopNo + 1
objRS.movenext
Loop
objRS.Close
LoopNo = LoopNo - 1
redim intProdBCParent(uBound(prodBCParent)) 'convert however many parents there are to integer
for i = 0 to uBound(prodBCParent)
if not isNumeric(prodBCParent(i)) then 'check to make sure there's no garbage in the DB (meaning non-numeric data)
' If this loop fires send an email to tell someone there's garbage in the DB
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP BC Routine" 'subject line of email
strEmailBody = "Error on P1.ASP. Garbage was found in the prodBCParent record of PN: " & ProdPN & " in getBreadcrumbs subroutine" 'body of email
call sendEmail
exit sub 'get out, garbage in the DB
else 'apparently no garbage in the DB, all clear
intProdBCParent(i) = cInt(prodBCParent(i))
end if
next
dim p 'safety net var in case intHome never equates to true for whatever reason. Probably garbage in the DB.
dim intParentCounter 'counter for number of parents for this part number
strBR = "" 'variable that will equate to if HOME is reached in the breadcrumbs heirarchy and there is more than one parent for this PN.
dim strLead
for intParentCounter = 0 to UBound(intProdBCParent) 'loop through and process all the parents for this PN
if intParentCounter > 0 then 'if > 0 then this must be at least the second loop thru
strBR = " " & vbCRLF 'add a line break so it puts the next set of breadcrumbs on a new line, vbCRLF just for code readability
end if
intTempID = intProdBCParent(intParentCounter) 'temp variable used to select which record from the breadcrumbs table we're looking for this time
intHome = False 'set to false to indicate we haven't hit the HOME level yet
i = 0
Do While Not intHome 'keep looping through until we hit the HOME record
if intTempID = intBCID(i) then 'if we find the record we want, then continue building the string to display on the page
intTempID = intBC_Parent_No(i)
if intBC_Parent_No(i) = -1 then 'this loop is the HOME record in the breadcrumbs table
intHome = True
strLead = " "
else
strLead = ""
end if
strBreadCrumbsHeader = strLead +"" + strBC_Name(i) + "" + strBR + strBreadCrumbsHeader
i = -1
strBR = ""
end if
i = i + 1
p = p + 1
if p => 1500 then 'safety net in case of runaway do loop. This must be larger than all the records in the breadcrumbs
' table times all the links in the breadcrumbs for whatever PN has the most number of BC parents.
' If this fires send an email to someone that something is wrong
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP BC Routine" 'subject line of the email
strEmailBody = "Error on P1.ASP. Maximum number of loops exceeded (" & p & ") on getBreadcrumbs subroutine for PN: " & ProdPN 'body of the email
call sendEmail
exit do
end if
Loop
next
' strBreadCrumbsHeader = strBreadCrumbsHeader + " " 'put an extra line at the bottom of this string
set p = nothing
set intParentCounter = nothing
set qtyBCRecords = nothing
set strLead = Nothing
end sub
sub getprodDetail
'open and get product detail info for the item description
strSQL = "SELECT * FROM P1_Prod_Details WHERE prodPN='" & prodNum & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
if objRS.EOF then
prodDetails = "No additional information available"
else
prodDetails = objRS("prod_details")
if isNull(prodDetails) then
prodDetails = "No additional information available"
end if
prodPgTitle2 = objRS("prodPgTitle")
prodDetailsSubHd = objRS("prodDetailSubHd")
zoomPic = objRS("Prod_Zoom_Pic")
prodAddInfo = split(objRS("Prod_Add_Info"),"_")
end if
objRS.Close
end sub
sub getProdSpecs
'open and get product specifications info that prints in the table below Product Details
ReDim prodSpecLabel(40), prodSpecDetail(40) ' redim to the maximum number of spec records allowed per pn
strSQL = "SELECT * FROM P1_Prod_Details_specs WHERE specPN='" & prodNum & "' ORDER BY specSort, specPN;" 'get all spec records for this part number sorted by specSort
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
If Not objRS.EOF Then 'there's at least one record in this db
hasSpecRecs = True
else
hasSpecRecs = False
end if
LoopNo = 0
Do While Not objRS.EOF
if LoopNo = 40 then 'just in case someone sticks more than 40 records in the db, send email, bail out (LoopNo = 40 means there's 41 records)
objRS.Close
'send an email to someone that something is wrong
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP getProdSpecs Routine" 'subject line of the email
strEmailBody = "Error on P1.ASP. Maximum number of loops exceeded (" & LoopNo & ") on getProdSpecs subroutine for PN: " & ProdPN 'body of the email
call sendEmail
ReDim Preserve prodSpecLabel(LoopNo-1), prodSpecDetail(LoopNo-1) 'redim from 40 back down to actual number of records before bailing
exit sub
end if
prodSpecLabel(LoopNo) = objRS("specLabel")
prodSpecDetail(LoopNo) = objRS("specDetail")
LoopNo = LoopNo + 1
objRS.movenext
Loop
objRS.Close
ReDim Preserve prodSpecLabel(LoopNo-1), prodSpecDetail(LoopNo-1) 'redim from 40 back down to actual number of records
LoopNo = 0 'reset to zero just in case this variable is used again somewhere else
end sub
sub getRetWarDetail
'open and get warranty & return detail info
strSQL = "SELECT * FROM Warranty_Return_Policies WHERE War_Ret_Code='" & WarOrRetCode & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
if objRS.EOF then
gotWRText = False
exit sub
else
gotWRText = True
RetWarText = objRS("Policy")
end if
objRS.Close
end sub
sub format_cart_html
strCARTINFO = ""
strGOBACKTO = ""
strNVADD = ""
end sub
sub getBullets
'open and get feature bullets if any
strSQL = "SELECT * FROM P1_Prod_Details WHERE ProdPN='" & ProdNum & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
if objRS.EOF then
gotBullets = False
objRS.Close
exit sub
else
if not isNull(objRS("P1_Bullets")) then
gotBullets = True
strBullets = split(objRS("P1_Bullets"),"_")
else
gotbullets = False
objRS.Close
exit sub
end if
end if
objRS.Close
end sub
sub sendEmail
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.RemoteHost = "mail.cti-sys.com"
Mailer.FromName = "P1.ASP Page"
Mailer.FromAddress = "Page_Notify@m-depot.com"
Mailer.AddRecipient "Page Error", strEmailRecipient
Mailer.Subject = strEmailSubject
Mailer.BodyText = strEmailBody
if not Mailer.SendMail then
Response.Write " "
end if
end sub
sub getAccys
'open and get accessories for this pn if any
Dim intTempAccyVar1, intTempAccyVar2, strP1GrpNum(14), x, y, numRecs, numDimRecs, hasGroups, tempSwap1, tempSwap2, tempSwap3, strCat, isSame
Dim strP1AccyPN(), strP1AccyLink(), strP1AccyCatHeading()
yesAccys = False
hasGroups = False
intTempAccyVar1 = CInt(0)
intTempAccyVar2 = CInt(0)
strSQL = "SELECT * FROM p1_accyQry WHERE p1PN='" & ProdPN & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn, adOpenKeySet
if objRS.EOF then 'must not be any accy records so clear local var's and leave
for x = 0 to UBound(strP1GrpNum)
set strP1GrpNum(x) = nothing
next 'x
Erase strP1AccyPN
Erase strP1AccyLink
Erase strP1AccyCatHeading
set intTempAccyVar1 = nothing
set intTempAccyVar2 = nothing
set numRecs = nothing
set numDimRecs = nothing
set hasGroups = nothing
set tempSwap1 = nothing
set tempSwap2 = nothing
set tempSwap3 = nothing
set x = nothing
set y = nothing
exit sub
end if
numRecs = CInt(objRS.Recordcount)
ReDim strP1AccyPN(numRecs -1), strP1AccyLink(numRecs -1), strP1AccyCatHeading(numRecs -1)
Do While Not objRS.EOF
If left(UCase(objRS("P1AccyPN")),4) = "GRP-" then 'if this is a group number, store it in a separate array for later processing
hasGroups = True
strP1GrpNum(intTempAccyVar2) = UCase(objRS("P1AccyPN"))
intTempAccyVar2 = intTempAccyVar2 + 1
else
strP1AccyPN(intTempAccyVar1) = UCase(objRS("P1AccyPN"))
strP1AccyLink(intTempAccyVar1) = objRS("P1AccyLink")
strP1AccyCatHeading(intTempAccyVar1) = objRS("P1AccyCatHeading")
intTempAccyVar1 = intTempAccyVar1 + 1
end if
objRS.Movenext
Loop
ReDim Preserve strP1AccyPN(intTempAccyVar1 -1), strP1AccyLink(intTempAccyVar1 -1), strP1AccyCatHeading(intTempAccyVar1 -1)
objRS.Close
if hasGroups then 'if there are groups for the part number get details
For x = 0 to intTempAccyVar2 - 1
strSQL = "SELECT * FROM p1_accyGroupsQry WHERE p1AccyGrpPN='" & strP1GrpNum(x) & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn, adOpenKeySet
If not objRS.EOF then 'check in case the group was deleted and the PN hadn't been updated
numRecs = CInt(objRS.RecordCount)
numDimRecs = UBound(strP1AccyPN) + numRecs
ReDim Preserve strP1AccyPN(numDimRecs), strP1AccyLink(numDimRecs), strP1AccyCatHeading(numDimRecs)
For y = 0 to numRecs -1
strP1AccyPN(intTempAccyVar1) = UCase(objRS("p1AccyPN"))
strP1AccyLink(intTempAccyVar1) = objRS("P1AccyLink")
strP1AccyCatHeading(intTempAccyVar1) = objRS("P1AccyCatHeading")
intTempAccyVar1 = intTempAccyVar1 + 1
yesAccys = True
objRS.Movenext
next 'y
objRS.Movefirst
end if
objRS.Close
next 'x
end if
'Routine to sort by accy part number
For x = 0 To UBound(strP1AccyPN) - 1
For y = x To UBound(strP1AccyPN)
If strP1AccyPN(x) > strP1AccyPN(y) Then
tempSwap1 = strP1AccyPN(x)
tempSwap2 = strP1AccyLink(x)
tempSwap3 = strP1AccyCatHeading(x)
strP1AccyPN(x) = strP1AccyPN(y)
strP1AccyLink(x) = strP1AccyLink(y)
strP1AccyCatHeading(x) = strP1AccyCatHeading(y)
strP1AccyPN(y) = tempSwap1
strP1AccyLink(y) = tempSwap2
strP1AccyCatHeading(y) = tempSwap3
End if
Next 'y
Next 'x
'now eliminate any duplicates by checking if array value is same as array's next value. If it is don't xfer it.
numRecs = UBound(strP1AccyPN)
ReDim strP1AccyPN2(numRecs), strP1AccyLink2(numRecs), strP1AccyCatHeading2(numRecs)
y = 0
For x = 0 to UBound(strP1AccyPN)
If x < UBound(strP1AccyPN) then 'don't execute if it's the last value in array. If so, don't check if same as next value (since there isn't any), just xfer values
If strP1AccyPN(x) <> strP1AccyPN(x+1) then
strP1AccyPN2(y) = strP1AccyPN(x)
strP1AccyLink2(y) = strP1AccyLink(x)
strP1AccyCatHeading2(y) = strP1AccyCatHeading(x)
y = y + 1
end if
else
strP1AccyPN2(y) = strP1AccyPN(x)
strP1AccyLink2(y) = strP1AccyLink(x)
strP1AccyCatHeading2(y) = strP1AccyCatHeading(x)
end if
next 'x
if y <> UBound(strP1AccyPN2) then 'if duplicates were removed, redim the variable down to correct number of values
ReDim Preserve strP1AccyPN2(y), strP1AccyLink2(y), strP1AccyCatHeading2(y)
end if
if y >=25 then 'if more than 25 accessories found strip off extra and send email that something is wrong
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Over 25 accessories found for product " & ProdPN 'subject line of the email
strEmailBody = "Over 25 PN's were found when gathering accessory details for product number " & ProdPN & " so the following accessory PN's were stripped: "'body of the email
for i = 25 to uBound(strP1AccyPN2)
if i >25 then
strEmailBody = strEmailBody & ", " & strP1AccyPN2(i)
else
strEmailBody = strEmailBody & " " & strP1AccyPN2(i)
end if
next 'i
ReDim Preserve strP1AccyPN2(24), strP1AccyLink2(24), strP1AccyCatHeading2(24) 'strip off excess values
call sendEmail 'send email that something is wrong
end if
'now suck out unique category headings and assign to array
ReDim strCatHeadings(0)
strCatHeadings(0) = strP1AccyCatHeading(0)
i = -1
For x = 0 to UBound(strP1AccyPN2)
strCat = strP1AccyCatHeading(x)
isSame = False
For y = 0 to UBound(strCatHeadings)
If strCat = strCatHeadings(y) then
isSame = True
end if
next 'y
If not isSame then
i = i + 1
ReDim Preserve strCatHeadings(i)
strCatHeadings(i) = strcat
end if
next 'x
'clear local variables
set intTempAccyVar1 = nothing
set intTempAccyVar2 = nothing
set y = nothing
set numRecs = nothing
set numDimRecs = nothing
set hasGroups = nothing
for x = 0 to UBound(strP1GrpNum)
set strP1GrpNum(x) = nothing
next 'x
set tempSwap1 = nothing
set tempSwap2 = nothing
set tempSwap3 = nothing
erase strP1AccyPN
erase strP1AccyLink
erase strP1AccyCatHeading
set x = nothing
set y = nothing
end sub
sub addInfo
'get additional info items for this PN
Dim intProdAddInfo(), numRecs, x, y
'check if additional info records exist, and that there's no garbage
if not isArray(prodAddInfo) then 'see if records exist. If not, clear var's and leave
yesAddInfo = false
Erase intProdAddInfo
exit sub
else
yesAddInfo = true
end if
redim intProdAddInfo(uBound(prodAddInfo)) 'convert however many records there are to integer
for i = 0 to uBound(prodAddInfo)
if not isNumeric(prodAddInfo(i)) then 'check to make sure there's no garbage in the DB (meaning non-numeric data)
' If this loop fires send an email to tell someone there's garbage in the DB
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP addInfo Routine" 'subject line of email
strEmailBody = "Error on P1.ASP. Garbage was found in the prodAddInfo record of PN: " & ProdPN & " in addInfo subroutine" 'body of email
yesAddInfo = false
call sendEmail
exit sub 'get out, garbage in the DB
else 'apparently no garbage in the DB, all clear
intProdAddInfo(i) = cInt(prodAddInfo(i))
end if
next
'get additional info records
strSQL = "SELECT * FROM p1_addInfo"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn, adOpenKeySet
'read info recs into array
numRecs = CInt(objRS.Recordcount)
ReDim strAddInfoDet(UBound(intProdAddInfo)), strInfoLink(UBound(intProdAddInfo)), strInfoPic(UBound(intProdAddInfo))
i = -1 'counter for actual number of matches found
For x = 0 to UBound(intProdAddInfo)
For y = 0 to numRecs -1
If intProdAddInfo(x) = objRS("ID") then
If not isEmpty(objRS("info_details")) then
i = i + 1
strAddInfoDet(i) = objRS("info_details")
strInfoLink(i) = objRS("info_link")
strInfoPic(i) = objRS("info_pic")
end if
end if
objRS.Movenext
next 'y
objRS.Movefirst
next 'x
objRS.Close
If i >=0 then 'if there is at least one match found
ReDim Preserve strAddInfoDet(i), strInfoLink(i), strInfoPic(i) 'redim to actual number found
else
' If this loop fires send an email to tell someone there's no add. info records even though it's in the PN's DB record
strEmailRecipient = "fromweb@m-depot.com" 'who gets the email
strEmailSubject = "Error was generated on P1.ASP addInfo Routine" 'subject line of email
strEmailBody = "Error on P1.ASP. 'Additional Info' record not found in the prodAddInfo record of PN: " & ProdPN & " in addInfo subroutine even though there's a record in the P1_prod_details table" 'body of email
yesAddInfo = false
call sendEmail
exit sub 'get out, nothing found
end if
'clear local var's
Erase intProdAddInfo
Set numRecs = nothing
Set x = nothing
Set y = nothing
end sub
sub addInfoDetail 'format the additional info list item lines
if not isNull(strInfoLink(i)) then 'if there's data in the link field
if not isNull(strInfoPic(i)) then 'and there's data in the picture field
strFormatAddInfo = "
" & vbCrLf 'format with a linked picture
else
strFormatAddInfo = "
" & vbCrLf 'otherwise format with a linked text line
end if
else 'if there's no link or pic info
strFormatAddInfo = "
" & strAddInfoDet(i) & "
" & vbCrLf 'format just the text line
end if
end sub
sub getProdSims 'get similar products info
strSQL = "SELECT * FROM P1_Prod_Qry WHERE PN='" & prodSims(i) & "'"
Set objRS = Server.CreateObject ("ADODB.Recordset")
objRS.Open strSQL, objConn
if objRS.EOF then
bolHasProdSimDet = False
exit sub
else
bolHasProdSimDet = True
end if
strSimDesc_Sh = objRS("Desc_SH")
strSimDetailPg = objRS("DetailPg")
curSimPrice = CCur(objRS("PRICE"))
strSimPic125 = objRS("PIC125")
objRS.Close
end sub
%>
The Microscope Depot www.Microscope-Depot.com Item Number <%=ProdPN%>
Product Page
<%if not isNull(prodPIC300) then 'if 300px pic exists%>
<%if not isNull(zoomPic) then 'if zoom pic exists link the 300px to it %>
<%else%>
<%end if%>
<%if not isNull(zoomPic) then 'see if zoom pic exists and link text below it if yes%>
<%end if%>
<%end if%>
<%=prodPgTITLE2%> M-Depot Item No: <%= prodPN %>
<% if not isNull(prodLIST) and prodLIST <> 0 then%>
List Price: <%= FormatCurrency(prodLIST,2) %> Our Price: <%= FormatCurrency(prodPRICE,2) %>
<% else %>
Price: <%= FormatCurrency(prodPRICE,2) %>
<% end if %>
<% if gotBullets then 'check for bullets and print if yes
response.write "
"
for BulletCounter = 0 to uBound(strBullets)
response.write "
<%
If bolHasSims then
i2 = 0
For i = 0 to UBound(prodSims)
call getProdSims 'get similar products info
If bolHasProdSimDet then 'make sure it found some
If i2 = 0 then 'if this is the first product, add a to space down from the top line
strP = "Similar Products"
i2 = i2 + 1
else
strP = ""
end if%>
Sales & Customer Service Assistance:
Monday - Friday
8:00 AM - 5:00 PM PT
1-888-SCOPES-8
(1-888-726-7378)
Email Us
<%=prodPgTitle2%>
<%
if not isNull(prodDetailsSubHd) then
response.write " " & prodDetailsSubHd
end if
%>
<%=prodDetails%>
<%
If hasSpecRecs then ' this part has records in the specifications db
Response.write vbCRLF & "
" & vbCRLF 'create table to display spec records
For LoopNo = 0 to UBound(prodSpecLabel) 'generate rows for all spec records
If ((LoopNo+1) Mod 2) = 1 then 'if odd number shade the cell
shadeCell = " bgcolor=""#F0F0F0"""
else
shadeCell = " bgcolor=""#FFFFFF"""
end if
Response.write "
" & prodSpecLabel(LoopNo)& "
"
Response.write "
" & prodSpecDetail(LoopNo) & "
" & vbCRLF
Next
Response.write "
" & vbCRLF
End If
%>
<% If yesAddInfo then
Response.write "Additional Product Information
" & vbCrLf
For i = 0 to UBound(strAddInfoDet)
call addInfoDetail
Response.write strFormatAddInfo
next
Response.write "
" & vbCrLf
end if
%>
<%
call shutdown
sub shutdown
Set strSQL = Nothing
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
Set prodPN = Nothing
Set prodTITLE = Nothing
Set prodDESC = Nothing
Set prodDESC_SH = Nothing
Set prodPRICE = Nothing
Set prodLIST = Nothing
Set prodWEIGHT = Nothing
Set prodSHIPSEP = Nothing
Set prodADDAIR = Nothing
Set prodADDAIRAMT = Nothing
Set prodPICTHUMBSM = Nothing
Set prodPICTHUMB = Nothing
Set prodPICMED = Nothing
Set prodPIC300 = Nothing
Set prodPICLG = Nothing
Set prodDETAILPG = Nothing
Set prodItemDesc = Nothing
Set prodDetails = Nothing
Set prodMANUF = Nothing
Set prodMANUF_PN = Nothing
Set prodPrintMFG = Nothing
Set prodZoom = Nothing
Set prodRelatedProds = Nothing
Set prodAct = Nothing
Set strCARTINFO = Nothing
Set strGOBACKTO = Nothing
Set prodNum = Nothing
Set prodCat = Nothing
Set strNVADD = Nothing
Set cat_bar = Nothing
Set thisPage = Nothing
Set prodWarrantyCode = Nothing
Set prodReturnCode = Nothing
Set isWarranty = Nothing
Set isReturn = Nothing
Set WarOrRetCode = Nothing
Set gotWRText = Nothing
Set RetWarText = Nothing
Set WarrantyText = Nothing
Set ReturnText = Nothing
Set ig_Act = Nothing
Set ig_Act_URL = Nothing
Set strBullets = Nothing
Set bulletCounter = Nothing
Set gotBullets = Nothing
Set intTempID = Nothing
Set intHome = Nothing
Set strBR = Nothing
Set Mailer = Nothing
Set strEmailSubject = Nothing
Set strEmailBody = Nothing
Set strEmailRecipient = Nothing
Set referingPage = Nothing
Set LoopNo = Nothing
Set strBreadCrumbsHeader = Nothing
Set yesAccys = Nothing
Erase strP1AccyPN2
Erase strP1AccyLink2
Erase strP1AccyCatHeading2
Erase intBCID
Erase strBC_Name
Erase strBC_Page_Add
Erase intBC_Parent_No
Erase intProdBCParent
Erase strCatHeadings
if isArray(prodAddInfo) then
erase prodAddInfo
end if
Erase strAddInfoDet
Erase strInfoLink
Erase strInfoPic
Set strFormatAddInfo = Nothing
if isArray(prodSims) then
erase prodSims
end if
Set i = Nothing
end sub
%>