%
Zid = Request("ZoneID")
Dim BlockAction : BlockAction = "False"
Dim strSQL, objRS
Dim strZoneActive, maxBanner
strSQL = "SELECT ZoneID, zStatus, zNoOfBanners FROM JBS_Zones WHERE ZoneID = " & Zid & " "
Set objRS = Conn.Execute(strSQL)
IF Not objRS.EOF THEN
If objRS("zStatus") = "True" Then
strZoneActive = "True"
maxBanner = CInt(objRS("zNoOfBanners"))
Else
strZoneActive = "False"
End if
ELSE
strZoneActive = "False"
END IF
objRS.Close : Set objRS = Nothing
IF strZoneActive = "True" THEN
strSQL = ""
strSQL = "SELECT JBS_Banners.BannerID, JBS_Banners.bZoneID, JBS_Banners.bAdvertiserID, JBS_Banners.bStartDate, JBS_Banners.bEndDate, "
strSQL = strSQL & "JBS_Banners.bStatus, JBS_Banners.bWeight, JBS_Banners.bTargetWindow, JBS_Banners.bTextLinkAd, JBS_Banners.bIsImageAd, "
strSQL = strSQL & "JBS_Banners.bImageAdUrl, JBS_Banners.bImageAdAlt, JBS_Banners.bImageAdWidth, JBS_Banners.bImageAdHeight, JBS_Banners.bImageAdBorder, "
strSQL = strSQL & "JBS_Banners.bAlignment, JBS_Banners.bPaymentType, JBS_Banners.bUnitCost, JBS_Banners.bQuantityPurchased, "
strSQL = strSQL & "JBS_Zones.ZoneID, JBS_Zones.zNoOfBanners, JBS_Zones.zNoOfBannerHoriPos, "
strSQL = strSQL & "JBS_Advertiser.AdvertiserID, JBS_Advertiser.aStatus "
strSQL = strSQL & "FROM ((JBS_Banners "
strSQL = strSQL & "INNER JOIN JBS_Zones ON JBS_Banners.bZoneID = JBS_Zones.ZoneID) "
strSQL = strSQL & "INNER JOIN JBS_Advertiser ON JBS_Banners.bAdvertiserID = JBS_Advertiser.AdvertiserID) "
strSQL = strSQL & "WHERE (((JBS_Banners.bStatus = 'Active') AND JBS_Advertiser.aStatus = 'Active') AND JBS_Banners.bZoneID = " & Zid & ") "
Set objRS = Conn.Execute(strSQL)
If Not objRS.EOF Then
Dim arr : arr = objRS.getrows()
objRS.Close : Set objRS = Nothing
Items = ubound(arr,2) + 1
If Items < maxBanner then maxBanner = Items
Dim sumWeight : sumWeight = 0
for i = 0 to ubound(arr,2)
sumWeight = sumWeight + arr(6,i)
next
cnt = 0
Dim strUsed, arrUsed
strUsed = ","
Do Until cnt = maxBanner
Randomize
Dim nWeight
nWeight = Int((sumWeight * Rnd) + 1)
Dim nValue : nValue = 0
for i = 0 to ubound(arr,2)
if nValue + arr(6,i) >= nWeight then exit for
nValue = nValue + arr(6,i)
Next
Dim bUsed : bUsed = "False"
Dim u
arrUsed = Split(strUsed,",")
For u = 0 To ubound(arrUsed)
if arrUsed(u) = Cstr(arr(0,i)) then
bUsed = "True"
exit For
End if
Next
IF bUsed = "False" Then
strUsed = strUsed & arr(0,i) & ","
If arr(9,i) = "True" Then
Response.Write "
"
ElseIf arr(9,i) = "False" Then
Response.Write Replace(arr(8,i),"[JBS_URL]", ChkLink(Application("JBSX_sSettings_SiteUrl")) & "/JBSX/files/redirect.asp?b=" & arr(0,i))
End If
If Clng(arr(20,i)) <> Clng(1) Then
cHoriPos = cHoriPos + 1
if Clng(arr(21,i)) = Clng(cHoriPos) then
Response.Write "
"
cHoriPos = 0
end if
End If
cnt = cnt + 1
If BlockAction <> "NoTrack" Then
Call UpdateBannerImp(arr(0,i))
Call SetBannerStatus(arr(0,i))
if Application("JBSX_sSettings_TrackBannerIsEnable") = "True" Then
Call UpdateBannerStatImp(arr(0,i))
end if
End If
End IF
Loop
End If
END IF
Conn.Close : Set Conn = Nothing
%>