%@ language="VBScript" %>
<% Option Explicit %>
<%
%>
<%
function makeemail(webaddress)
tempemail = mid(webaddress,5)
tempemail = "info@" & tempemail
makeemail = tempemail
end function
Function stripintrostring(introstring)
templen = len(introstring)
dim tempintrostring
counter = 1
do
if Mid(introstring,counter,1) = chr(10) then
tempintrostring = tempintrostring & "
"
elseif Mid(introstring,counter,1) = chr(32) then
tempintrostring = tempintrostring & " "
else
tempintrostring = tempintrostring & Mid(introstring,counter,1)
end if
counter = counter + 1
loop until templen < counter
stripintrostring = response.write(tempintrostring)
end function
'--------------------------------------------------------------------
' Microsoft ADO
'
' (c) 1996 Microsoft Corporation. All Rights Reserved.
'
'
'
' ADO constants include file for VBScript
'
'--------------------------------------------------------------------
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'---- CursorOptionEnum Values ----
Const adHoldRecords = &H00000100
Const adMovePrevious = &H00000200
Const adAddNew = &H01000400
Const adDelete = &H01000800
Const adUpdate = &H01008000
Const adBookmark = &H00002000
Const adApproxPosition = &H00004000
Const adUpdateBatch = &H00010000
Const adResync = &H00020000
'---- LockTypeEnum Values ----
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4
'---- CursorLocationEnum Values ----
Const adUseClient = 1
Const adUseServer = 2
Const adUseClientBatch = 3
'---- DataTypeEnum Values ----
Const adEmpty = 0
Const adTinyInt = 16
Const adSmallInt = 2
Const adInteger = 3
Const adBigInt = 20
Const adUnsignedTinyInt = 17
Const adUnsignedSmallInt = 18
Const adUnsignedInt = 19
Const adUnsignedBigInt = 21
Const adSingle = 4
Const adDouble = 5
Const adCurrency = 6
Const adDecimal = 14
Const adNumeric = 131
Const adBoolean = 11
Const adError = 10
Const adUserDefined = 132
Const adVariant = 12
Const adIDispatch = 9
Const adIUnknown = 13
Const adGUID = 72
Const adDate = 7
Const adDBDate = 133
Const adDBTime = 134
Const adDBTimeStamp = 135
Const adBSTR = 8
Const adChar = 129
Const adVarChar = 200
Const adLongVarChar = 201
Const adWChar = 130
Const adVarWChar = 202
Const adLongVarWChar = 203
Const adBinary = 128
Const adVarBinary = 204
Const adLongVarBinary = 205
'---- ConnectPromptEnum Values ----
Const adPromptAlways = 1
Const adPromptComplete = 2
Const adPromptCompleteRequired = 3
Const adPromptNever = 4
'---- ConnectModeEnum Values ----
Const adModeUnknown = 0
Const adModeRead = 1
Const adModeWrite = 2
Const adModeReadWrite = 3
Const adModeShareDenyRead = 4
Const adModeShareDenyWrite = 8
Const adModeShareExclusive = &Hc
Const adModeShareDenyNone = &H10
'---- IsolationLevelEnum Values ----
Const adXactUnspecified = &Hffffffff
Const adXactChaos = &H00000010
Const adXactReadUncommitted = &H00000100
Const adXactBrowse = &H00000100
Const adXactCursorStability = &H00001000
Const adXactReadCommitted = &H00001000
Const adXactRepeatableRead = &H00010000
Const adXactSerializable = &H00100000
Const adXactIsolated = &H00100000
'---- XactAttributeEnum Values ----
Const adXactPollAsync = 2
Const adXactPollSyncPhaseOne = 4
Const adXactCommitRetaining = &H00020000
Const adXactAbortRetaining = &H00040000
Const adXactAbortAsync = &H00080000
'---- FieldAttributeEnum Values ----
Const adFldBookmark = &H00000001
Const adFldMayDefer = &H00000002
Const adFldUpdatable = &H00000004
Const adFldUnknownUpdatable = &H00000008
Const adFldFixed = &H00000010
Const adFldIsNullable = &H00000020
Const adFldMayBeNull = &H00000040
Const adFldLong = &H00000080
Const adFldRowID = &H00000100
Const adFldRowVersion = &H00000200
Const adFldCacheDeferred = &H00001000
'---- EditModeEnum Values ----
Const adEditNone = &H0000
Const adEditInProgress = &H0001
Const adEditAdd = &H0002
'---- RecordStatusEnum Values ----
Const adRecOK = &H0000000
Const adRecNew = &H0000001
Const adRecModified = &H0000002
Const adRecDeleted = &H0000004
Const adRecUnmodified = &H0000008
Const adRecInvalid = &H0000010
Const adRecMultipleChanges = &H0000040
Const adRecPendingChanges = &H0000080
Const adRecCanceled = &H0000100
Const adRecCantRelease = &H0000400
Const adRecConcurrencyViolation = &H0000800
Const adRecIntegrityViolation = &H0001000
Const adRecMaxChangesExceeded = &H0002000
Const adRecObjectOpen = &H0004000
Const adRecOutOfMemory = &H0008000
Const adRecPermissionDenied = &H0010000
Const adRecSchemaViolation = &H0020000
Const adRecDBDeleted = &H0040000
'---- GetRowsOptionEnum Values ----
Const adGetRowsRest = -1
'---- PositionEnum Values ----
Const adPosUnknown = -1
Const adPosBOF = -2
Const adPosEOF = -3
'---- AffectEnum Values ----
Const adAffectCurrent = 1
Const adAffectGroup = 2
Const adAffectAll = 3
'---- FilterGroupEnum Values ----
Const adFilterNone = 0
Const adFilterPendingRecords = 1
Const adFilterAffectedRecords = 2
Const adFilterFetchedRecords = 3
'---- PropertyAttributesEnum Values ----
Const adPropNotSupported = &H0000
Const adPropRequired = &H0001
Const adPropOptional = &H0002
Const adPropRead = &H0200
Const adPropWrite = &H0400
'---- ErrorValueEnum Values ----
Const adErrInvalidArgument = &Hbb9
Const adErrNoCurrentRecord = &Hbcd
Const adErrIllegalOperation = &Hc93
Const adErrInTransaction = &Hcae
Const adErrFeatureNotAvailable = &Hcb3
Const adErrItemNotFound = &Hcc1
Const adErrObjectNotSet = &Hd5c
Const adErrDataConversion = &Hd5d
Const adErrObjectClosed = &He78
Const adErrObjectOpen = &He79
Const adErrProviderNotFound = &He7a
Const adErrBoundToCommand = &He7b
'---- ParameterAttributesEnum Values ----
Const adParamSigned = &H0010
Const adParamNullable = &H0040
Const adParamLong = &H0080
'---- ParameterDirectionEnum Values ----
Const adParamUnknown = &H0000
Const adParamInput = &H0001
Const adParamOutput = &H0002
Const adParamInputOutput = &H0003
Const adParamReturnValue = &H0004
'---- CommandTypeEnum Values ----
Const adCmdUnknown = 0
Const adCmdText = &H0001
Const adCmdTable = &H0002
Const adCmdStoredProc = &H0004
%>
<%
' Global Constants
Const ENG = 0
Const ESP = 1
'**************************************************
' Global Routines
'**************************************************
Sub ConnectToSql(ByRef oConn,ByVal iMode)
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Mode = iMode
oConn.cursorlocation = adUseClient
'Response.Write("ConnectionString: " & Application("ConnectionString"))
' Response.End()
oConn.ConnectionString = Application("connectionString")
oConn.Open
End Sub
Function TranslateText(ByRef oTranslatorDict)
'***************************************************
' Translate Text using translator dictionary.
'***************************************************
Dim returnValue
Select Case Application("appLanguage")
Case "SP"
returnValue = oTranslatorDict.Item("SP")
Case "EN"
returnValue = oTranslatorDict.Item("EN")
Case Else
' Default to ENGLISH
returnValue = oTranslatorDict.Item("EN")
End Select
TranslateText = returnValue
End Function
Function IIf(vExpression,vTruePart,vFalsePart)
If CBool(vExpression) = True Then
IIf = vTruePart
Else
IIf = vFalsePart
End If
End Function
Dim oGlobalDict
Dim oPageDict
Set oGlobalDict = Server.CreateObject("Scripting.Dictionary")
With oGlobalDict
.Add "_Mileage",array("mileage","millaje")
.Add "_VIN",array("VIN","Identificación (VIN)")
.Add "_Price",array("price","precio")
.Add "_Distance",array("distance","distancia")
.Add "_PriceRange",array("price range","Gama de precio")
.Add "_Year",array("year","Año") ' TODO: Translate ESP
.Add "_Make",array("make","marca")
.Add "_Model",array("model","modelo")
.Add "_PricedToSell",array("priced to sell","precio de venta")
.Add "_PaymentMethod",array("payment method","método de pago")
.Add "_StillDeciding",array("still deciding","todavia decidiendo")
.Add "_Cash",array("cash","efectivo")
.Add "_Lease",array("lease","arriendo")
.Add "_Finance",array("finance","finanzas")
.Add "_Other",array("other","otro")
.Add "_Vehicle",array("vehicle","Vehículo") ' TODO: Translate ESP
.Add "_BodyType",array("body type","body type") ' TODO: Translate ESP
.Add "_Color",array("color","color") ' TODO: Translate ESP
.Add "_Dealer",array("dealer","dealer") ' TODO: Translate ESP
.Add "_Free",array("free","gratis") ' TODO: Confirm ESP Translation.
.Add "_CarfaxCheck",array("CARFAX Check","CARFAX Check") ' TODO: Translate ESP.
.Add "_Insurance",array("insurance","seguro")
End With
Function pp(iVal)
pp = iVal + 1
End Function
Function Tran(sLabel)
Dim sReturn
sReturn = ""
If IsObject(oPageDict) And Not(IsEmpty(oPageDict))Then
If oPageDict.Exists(sLabel) Then
sReturn = oPageDict.Item(sLabel)(Application("LANG"))
End If
Else
If IsObject(oGlobalDict) Then
If oGlobalDict.Exists(sLabel) Then
sReturn = oGlobalDict.Item(sLabel)(Application("LANG"))
End If
End If
End If
Tran = sReturn
End Function
%>
<%
'****************************************************
' Page scope variables
'****************************************************
Dim mStrMake ' Selected Auto Make.
Dim mStrModel ' Selected Auto Model.
Dim mStrTrim ' Selected Auto Trim Level.
Dim mStrYearRangeStart ' Selected Year Range Start.
Dim mStrYearRangeEnd ' Selected Year Range End.
Dim mStrPriceRangeStart ' Selected Price Range Start.
Dim mCurPriceRangeStartPoint ' Price Range start point.
Dim mCurPriceRangeEndPoint ' Price Range end point.
Dim mStrPriceRangeEnd ' Selected Price Range End.
Dim mCurPriceRangeIncrement ' Price range increment.
Dim mStrDistance ' Selected Distance.
Dim mStrZipCode ' Specified ZipCode.
Dim mStrKeyword ' Specified KeyWord.
Dim mIntDistanceMin ' Minimum Distance for select control.
Dim mIntDistanceMax ' Maximum Distance for select control.
Dim mIntDistance ' Selected Distance.
Dim mIntDistanceIncrement ' Distance increment for select control.
Dim mStrNewUsed ' New(1), Used(2) or All(0) enum.
' set default values.
mStrMake = ""
mStrModel = ""
mStrTrim = ""
mStrYearRangeStart = ""
mStrYearRangeEnd = ""
mStrPriceRangeStart = ""
mStrPriceRangeEnd = ""
mCurPriceRangeStartPoint = CCur(1000)
mCurPriceRangeEndPoint = CCur(150000)
mCurPriceRangeIncrement = CCur(1000)
mStrDistance = ""
mStrZipCode = ""
mStrKeyword = ""
mIntDistanceMin = 10
mIntDistanceMax = 200
mIntDistanceIncrement = 10
mStrDistance = ""
mStrNewUsed = "0"
Sub MakeList()
'****************************************************
' Auto Make drop down list
'****************************************************
Dim oConn
Dim oRs
Dim strSql
Dim strSelectHTML
Call ConnectToSql(oConn,adModeRead)
strSql = "SELECT RowId,ProviderId,InfoType,InfoValue FROM AutoInfo WHERE InfoType='Make' ORDER BY InfoValue Asc;"
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open strSql,oConn,adOpenForwardOnly,adLockReadOnly
Do While Not oRs.EOF
strSelectHTML = strSelectHTML & "" & vbCrLf
oRs.MoveNext
Loop
oRs.Close
Set oRs = Nothing
Response.Write strSelectHTML
End Sub
Function setSelected(sCurrentValue,sComparisonValue,sControlType)
'*********************************************************
' Set selected option based on user's selection..
'*********************************************************
Dim returnValue
returnValue = ""
If sCurrentValue=sComparisonValue Then
Select Case sControlType
Case "Checkbox"
returnValue = " checked"
Case "Radio"
returnValue = " checked"
Case "Option"
returnValue = " selected"
Case Else
Response.Write ""
End Select
Else
returnValue = ""
End If
setSelected = returnValue
End Function
Sub ModelList(strMake,strModel)
'****************************************************
' Auto Model drop down list
'****************************************************
Dim oConn
Dim oRs
Dim strSql
Dim strSelectHTML
Call ConnectToSql(oConn,adModeRead)
strSql = "SELECT ModelName FROM MakeModel WHERE MakeName='" & strMake & "' ORDER BY ModelName Asc;"
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open strSql,oConn
strSelectHTML = ""
If oRs.EOF Then
Response.Write ""
End If
Do While Not oRs.EOF
strSelectHTML = strSelectHTML & "" & vbCrLf
oRs.MoveNext
Loop
oRs.Close
Set oRs = Nothing
Response.Write strSelectHTML
End Sub
Sub TrimList(sMake,sModel,sTrimLevel)
'****************************************************
' Auto Trim drop down list
'****************************************************
If sMake="" Or sModel="" Then
Exit Sub
End If
Dim oConn
Dim oRs
Dim strSql
Dim strSelectHTML
Call ConnectToSql(oConn,adModeRead)
strSelectHTML = ""
strSql = ("SELECT RowId,MakeModelId,TrimName FROM ModelTrim WHERE MakeModelId=(SELECT RowId " & _
"FROM MakeModel WHERE makename='" & sMake & "' AND modelName='" & sModel & "') ORDER BY TrimName Asc;")
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open strSql,oConn,adOpenForwardOnly,adLockReadOnly
Do While Not oRs.EOF
strSelectHTML = strSelectHTML & "" & vbCrLf
oRs.MoveNext
Loop
oRs.Close
Set oRs = Nothing
Response.Write strSelectHTML
End Sub
Sub YearRange(sStartOrEnd,sCurrentValue)
'****************************************************
' Year Range Start drop down list
'****************************************************
Dim oRs
Dim strSql
Dim strSelectHTML
Dim intYearRange
Dim intYearRangeSelected
If sStartOrEnd="Start" Then
If mStrYearRangeStart ="" Then
' Assign default value.
intYearRangeSelected = 1980
Else
' Load selected value.
intYearRangeSelected = CInt(mStrYearRangeStart)
End If
ElseIf sStartOrEnd = "End" Then
If mStrYearRangeEnd="" Then
' Assign default value.
intYearRangeSelected = CInt(Year(Date())+1)
Else
' Load selected value.
intYearRangeSelected = CInt(mStrYearRangeEnd)
End If
Else
' Invalid parameters
Exit Sub
End If
intYearRange = 1980
strSelectHTML = ""
Do While intYearRange<=CInt(Year(Date())+1)
strSelectHTML = strSelectHTML & "" & vbCrLf
intYearRange = intYearRange + 1
Loop
Response.Write strSelectHTML
End Sub
Sub PriceRange(strStartOrEnd,curPriceRangeStart,curPriceRangeEnd,curIncrement,curPriceSelected)
'*****************************************************
' Price Range
'*****************************************************
Dim curPrice
Dim strSelectHTML
strSelectHTML = ""
If curPriceSelected <> "" And IsNumeric(curPriceSelected) Then
curPriceSelected = CCur(curPriceSelected)
Else
If strStartOrEnd = "Start" Then
curPriceSelected = "NOMIN"
ElseIf strStartOrEnd = "End" Then
curPriceSelected = "NOMAX"
End If
End If
curPrice = CLng(curPriceRangeStart)
Do While curPrice <= curPriceRangeEnd
strSelectHTML = strSelectHTML & "" & vbCrLf
curPrice = curPrice + curIncrement
Loop
Response.Write strSelectHTML
End Sub
Sub Distance(intDistanceMin,intDistanceMax,intIncrement,strDistanceSelected)
'******************************************************
' Distance List
'******************************************************
Dim intDistance
Dim intDistanceSelected
Dim strSelectHTML
If strDistanceSelected<>"" And IsNumeric(strDistanceSelected) Then
intDistanceSelected = CInt(strDistanceSelected)
Else
intDistanceSelected = intDistanceMin
End If
intDistance= intDistanceMin
Do While intDistance<=intDistanceMax
strSelectHTML = strSelectHTML & "" & vbCrLf
intDistance = intDistance + intIncrement
Loop
Response.Write strSelectHTML
End Sub
Sub postback()
'*****************************************************
' Process PostBack
'*****************************************************
If Session("debug") = "debugon" Then
Response.Write Request.Form()
End If
If Request.Form("pb")="1" Then
' is postback.
' Check to see if any coordinate was passed by image submit button.
' A coordinate value should only be passed if the button is clicked or
' if the form is submitted by clicking {enter}. If the form is submitted
' by this method a coordinate value of '0' will be passed, whereas if the
' form is submitted by a postback even from the listmenus, no values are passed.
' This is detected by checking the length of the x coordinate.
' 0=Non-Submission Postback, 1...N=Submission Postback
mStrNewUsed = Request.Form("optNewUsed")
mStrMake = Request.Form("lstMake")
mStrModel = Request.Form("lstModel")
mStrTrim = Request.Form("lstTrimLevel")
mStrZipCode = Request.Form("txtZipCode")
mStrDistance = Request.Form("lstDistance")
mStrKeyword = Request.Form("txtKeyword")
mStrYearRangeStart = Request.Form("lstYearRangeStart")
mStrYearRangeEnd = Request.Form("lstYearRangeEnd")
mStrPriceRangeStart = Request.form("lstPriceRangeStart")
mStrPriceRangeEnd = Request.Form("lstPriceRangeEnd")
Call savePostForSession()
If (Len(Request.Form("btnSubmit.x")))>=1 Then
Server.Transfer("frmSearchResults.asp")
End If
Response.Write ""
Else
Response.Write ""
' NewUsed type may be sent from New/Used links in top nav.
If Request.QueryString("type") <> "" Then
mStrNewUsed = Request.QueryString("type")
Else
mStrNewUsed = Session("NewUsed")
End If
mStrMake = Session("make")
mStrModel = Session("model")
mStrTrim = Session("trimLevel")
mStrZipCode = Session("zipCode")
mStrDistance = Session("distance")
mStrKeyword = Session("keyword")
mStrYearRangeStart = Session("yearRangeStart")
mStrYearRangeEnd = Session("yearRangeEnd")
mStrPriceRangeStart = Session("priceRangeStart")
mStrPriceRangeEnd = Session("priceRangeEnd")
End If
End Sub
Sub savePostForSession()
'****************************************************
' Save post for session.
'****************************************************
Session("make") = mStrMake
Session("model") = mStrModel
Session("trimLevel") = mStrTrim
Session("yearRangeStart") = mStrYearRangeStart
Session("yearRangeEnd") = mStrYearRangeEnd
Session("priceRangeStart") = mStrPriceRangeStart
Session("priceRangeEnd") = mStrPriceRangeEnd
Session("distance") = mStrDistance
Session("zipCode") = mStrZipCode
Session("keyword") = mStrKeyword
Session("NewUsed") = mStrNewUsed
End Sub
%>
<%
Response.Write ""
Call postback()
%>