<% 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 = "
  • " & strAddInfoDet(i) & "
  • " & 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
    <%else%>  <%end if%>
    <%if not atHome then%> Click for Home Page
    Home       Search       View Cart       Index        LOW PRICE GUARANTEE!      
    <%=strBreadCrumbsHeader%>

    <%if not isNull(prodPIC300) then 'if 300px pic exists%> <%if not isNull(zoomPic) then 'if zoom pic exists link the 300px to it %>  <%else%> <%=prodDESC%> <%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 "
    • " response.write strBullets(BulletCounter) response.write "
    • " & vbCRLF next response.write "
    " end if %>

    go to product details

     

      Quantity  



    BBBOnLine Reliability Seal      
    <% 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%>

    <%=strP%> Go To <%=UCase(prodSims(i))%>
    <%=strSimDesc_SH%>
    Our Price: <%=FormatCurrency(curSimPrice,2)%>

    <%end if next 'i end if%>
    Contact Us


    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 "" Response.write "" & vbCRLF Next Response.write "
    " & prodSpecLabel(LoopNo)& "" & prodSpecDetail(LoopNo) & "
    " & 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 %>
    Home ] [ Product Catalog ] [ Index ] [ Contact Us ] [ View Cart ]

    BBBOnLine Reliability Seal      

    THE MICROSCOPE DEPOT © 2008 - TERMS & CONDITIONS
    All Rights Reserved Toll Free: 1-888-SCOPES-8
    QorS Mode
    <% 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 %>