%@ LANGUAGE="VBSCRIPT" %>
<% option explicit %>
<%
Dim objConn
Dim objRcdSet
Dim strSql
Dim objCDO
Dim x
Const MAXNonParticipants=12
Dim dictErrors
Dim Item
Dim TotalFees
Dim MsgBody
Dim objFSO
Dim strUA
Dim EventID
Dim ParticipantID
Dim ParticipantFee
Dim NonParticipantFee
Dim NonParticipantCount
Dim EventName
Dim TDEmail
Dim TDName
Dim EventStartDate
Dim EventEndDate
Dim RegistrationEndDate
Dim PayeeName
Dim PayeeAddress1
Dim PayeeAddress2
Dim PayeeCityStateZip
Dim MinimumBoatLength
EventID=Session("EventID")
'------------------------
Sub BuildCountrySelection
'------------------------
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
strSQL="Select * FROM Countries ORDER BY CountryName"
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockReadOnly, adCmdText
While Not objRcdSet.EOF
if objRcdSet.Fields("CountryID")="us" THEN
Response.Write (vbTab&""&vbCrLF)
ELSE
Response.Write (vbTab&""&vbCrLF)
END if
objRcdSet.MoveNext
Wend
objRcdSet.Close
Set objRcdSet = Nothing
End Sub
'----------------------
Sub BuildStateSelection
'----------------------
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
strSQL="Select * FROM States ORDER BY StateName"
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockReadOnly, adCmdText
While Not objRcdSet.EOF
Response.Write (vbTab&""&vbCrLF)
objRcdSet.MoveNext
Wend
objRcdSet.Close
Set objRcdSet = Nothing
End Sub
'----------------
Sub DisplayErrors
'----------------
%>
Oops!
<% =dictErrors.count %> errors found!
Please correct these errors and then resubmit your request.
<%
For Each Item in dictErrors
%>
<% = Item %>
<%
Next
%>
<%
Response.End
End Sub
Select Case Request("Action")
' --------------------
' Get Participant Data
' --------------------
Case ""
strUA = Request.ServerVariables("HTTP_USER_AGENT")
strSQL="Select * From EventDirectors WHERE EventID="&Session("EventID")
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockReadOnly, adCmdText
If Not objRcdSet.EOF Then
ParticipantFee=objRcdSet.Fields("ParticipantFee")
NonParticipantFee=objRcdSet.Fields("NonParticipantFee")
EventName=objRcdSet.Fields("EventName")
TDEmail=objRcdSet.Fields("TDEmail")
TDName=objRcdSet.Fields("TDName")
EventStartDate=objRcdSet.Fields("EventStartDate")
EventEndDate=objRcdSet.Fields("EventEndDate")
RegistrationEndDate=objRcdSet.Fields("RegistrationEndDate")
PayeeName=objRcdSet.Fields("PayeeName")
PayeeAddress1=objRcdSet.Fields("PayeeAddress1")
PayeeAddress2=objRcdSet.Fields("PayeeAddress2")
PayeeCityStateZip=objRcdSet.Fields("PayeeCity")&", "&objRcdSet.Fields("PayeeState")&" "&objRcdSet.Fields("PayeeZip")
MinimumBoatLength=objRcdSet.Fields("MinimumBoatLength")
End If
objRcdSet.Close
' Get Tournament Name
%>
<%
' -------------------
Case "Validate"
' -------------------
Set dictErrors=Server.CreateObject("Scripting.Dictionary")
if Trim(Request("FirstName")) = "" THEN dictErrors.Add "Participant first name is required.", True
if Trim(Request("LastName")) = "" THEN dictErrors.Add "Participant last name is required.", True
if Len(trim(Request("Handle"))) >20 THEN dictErrors.Add "Handle length cannot exceed 20 characters.", True
if trim(Request("Address1")) = "" THEN dictErrors.Add "Participant address is required.", True
if trim(Request("City")) = "" THEN dictErrors.Add "Participant city is required.", True
if trim(Request("ZipCode")) = "" THEN dictErrors.Add "Participant zip/postal code is required.", True
if trim(Request("HomePhone")) = "" THEN dictErrors.Add "Participant home phone is required.", True
if trim(Request("EmailAddress")) = "" THEN dictErrors.Add "Participant email address is required.", True
if (InStr(Request("EmailAddress"), "@")=0 or InStr(Request("EmailAddress"), ".")=0) THEN dictErrors.Add "Email Address is not a valid email address.", True
For x=1 TO MAXNonParticipants
if (request("NonPartFirst"&x) <>"" and request("NonPartLast"&x) ="") Then
dictErrors.Add "Non-Participant #"&x &" last name required.", True
End If
if (request("NonPartFirst"&x) ="" and request("NonPartLast"&x) <>"") Then
dictErrors.Add "Non-Participant #"&x &" first name required.", True
End If
Next
If dictErrors.count>0 Then DisplayErrors()
' Calculate total fees
NonParticipantCount=0
TotalFees=Request("ParticipantFee")
For x=1 TO MAXNonParticipants
if (request("NonPartFirst"&x) <>"" and request("NonPartLast"&x) <>"") Then
NonParticipantCount=NonParticipantCount+1
End If
Next
TotalFees=Request("ParticipantFee")+(Request("NonParticipantFee")*NonParticipantCount)
' ---------------
' Post data to DB
' ---------------
strSQL="Select * From Participants WHERE 0=1"
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
objRcdSet.AddNew
objRcdSet.Fields("EventID")=Session("EventID")
objRcdSet.Fields("PFirstName")=Request("FirstName")
objRcdSet.Fields("PLastName")=Request("LastName")
objRcdSet.Fields("Handle")=Request("Handle")
objRcdSet.Fields("Address1")=Request("Address1")
objRcdSet.Fields("Address2")=Request("Address2")
objRcdSet.Fields("City")=Request("City")
objRcdSet.Fields("State")=Request("State")
objRcdSet.Fields("Country")=Request("Country")
objRcdSet.Fields("ZipCode")=Request("ZipCode")
objRcdSet.Fields("HomePhone")=Request("HomePhone")
objRcdSet.Fields("CellPhone")=Request("CellPhone")
objRcdSet.Fields("EmailAddress")=Request("EMailAddress")
If request("LodgingAssistance")<>"" Then objRcdSet.Fields("LodgingAssistance")=Request("LodgingAssistance")
If request("LodgingLocation")<>"" Then objRcdSet.Fields("LodgingLocation")=Request("LodgingLocation")
objRcdSet.Fields("Boater")=Request("Boater")
objRcdSet.Fields("Draw")=Request("Draw")
objRcdSet.Fields("ShareARide")=Request("ShareARide")
objRcdSet.Fields("Comments")=Request("Comments")
objRcdSet.Fields("TotalRegistrationDue")=CCur(TotalFees)
objRcdSet.Fields("TotalDue")=CCur(TotalFees)
objRcdSet.Fields("ISP")=Request.ServerVariables("REMOTE_ADDR")
objRcdSet.Update
objRcdSet.Close
If NonParticipantCount>0 Then
' Get participantID from record just written to the DB
strSQL="Select * From Participants Where EventID=2 and PFirstName ='"& Request("FirstName") & "' and PLastName ='"& Request("LastName") & "' ORDER BY ParticipantID DESC"
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
ParticipantID=objRcdSet.Fields("ParticipantID")
objRcdSet.Close
' Write NonParticipants to DB
strSQL="Select * From NonParticipants Where 0=1"
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockPessimistic, adCmdText
response.Write Request("NonPartFirst"&x)
For x=1 TO MAXNonParticipants
If Request("NonPartFirst"&x)<>"" Then
objRcdSet.AddNew
objRcdSet.Fields("EventID")=EventID
objRcdSet.Fields("ParticipantID")=ParticipantID
objRcdSet.Fields("NFirstName")=Request("NonPartFirst"&x)
objRcdSet.Fields("NLastName")=Request("NonPartLast"&x)
objRcdSet.Update
End If
Next
End If
' Send Email to participant and tournament Director
%><%
Set objCDO= Server.CreateObject("CDO.message")
if not isobject(objCDO) Then Response.Write ("Email Error")
objCDO.TO=Request("EMailAddress")
objCDO.BCC=Request("TDEMail")
objCDO.FROM="Registration@TexasRally.net "
objCDO.SUBJECT=Request("EventName")&" Registration Confirmation"
MsgBody=FormatDateTime(Now(), vbLongDate)&vbCrLF&vbCrLF
MsgBody=MsgBody&"Dear "&Request("FirstName")&","&vbCrLF&vbCrLF
MsgBody=MsgBody&"This email is to confirm that your registration has been received by the " &Request("EventName") &" committee." &vbCrLF&vbCrLF
MsgBody=MsgBody&"Below is your tournament registration information as recorded:"&vbCrLF&vbCrLF
MsgBody=MsgBody&"Participant: "&vbCrLf
MsgBody=MsgBody&"Participant Name: "&Request("FirstName")&" "&Request("LastName")&vbCrLf
MsgBody=MsgBody&"Address1: "&Request("Address1")&vbCrLF
MsgBody=MsgBody&"Address2: "&Request("Address2")&vbCrLF
MsgBody=MsgBody&"City, State Zip Code: "&Request("City")&", "&Request("State")&" "&Request("ZipCode")&vbCrLF
Set objRcdSet = Server.CreateObject("ADODB.Recordset")
strSQL="Select CountryName From Countries WHERE CountryID='"&Request("Country")&"'"
objRcdSet.Open strSQL, objConn, adOpenKeyset, adLockReadOnly, adCmdText
MsgBody=MsgBody&"Country: "&objRcdSet.Fields("CountryName")&vbCrLF
objRcdSet.Close
MsgBody=MsgBody&"Home Phone: "&Request("HomePhone")&vbCrLF
MsgBody=MsgBody&"Email Address: "&Request("EmailAddress")&vbCrLF
If Request("LodgingAssistance") Then
MsgBody=MsgBody&"LodgingAssistance: Yes"&vbCrLF
Else
MsgBody=MsgBody&"LodgingAssistance: No"&vbCrLF
End If
MsgBody=MsgBody&"Lodging Location: "&Request("LodgingLocation")&vbCrLF
If Request("Boater") Then
MsgBody=MsgBody&"Boater: Yes"&vbCrLF
Else
MsgBody=MsgBody&"Boater: No"&vbCrLF
End If
If Request("Draw") Then
MsgBody=MsgBody&"Draw: Yes"&vbCrLF
Else
MsgBody=MsgBody&"Draw: No"&vbCrLF
End If
If Request("ShareARide") Then
MsgBody=MsgBody&"ShareARide: Yes"&vbCrLF
Else
MsgBody=MsgBody&"ShareARide: No"&vbCrLF
End If
MsgBody=MsgBody&"Comments: "&Request("Comments")&vbCrLF
MsgBody=MsgBody&vbCrLF&vbCrLf
If NonParticipantCount > 0 Then
MsgBody=MsgBody&"Non-Participants:"&vbCrLf
For x=1 TO MAXNonParticipants
if Request("NonPartFirst"&x)<>"" Then
MsgBody=MsgBody&" "&Request("NonPartFirst"&x)&" "&Request("NonPartLast"&x)&vbCrLF
End If
Next
Else
MsgBody=MsgBody&"Non-Participants: None"&vbCrLf
End If
MsgBody=MsgBody&vbCrLf&vbCrLf&"Your registration fees total: "&FormatCurrency(TotalFees,2)&vbCrLF&vbCrLf
MsgBody=MsgBody&"Please remit payment to:"&vbCrLF
MsgBody=MsgBody&" "&Request("PayeeName")&vbCrLF
MsgBody=MsgBody&" "&Request("PayeeAddress1")&vbCrLF
If Request("PayeeAddress2")<>"" Then
MsgBody=MsgBody&" "&Request("PayeeAddress2")&vbCrLF
End If
MsgBody=MsgBody&" "&Request("PayeeCityStateZip")&vbCRLF&vbCrLf
MsgBody=MsgBody&"If you have questions or need to make modifications regarding your registration, please contact the tournament director " &Request("TDName")&" at "&Request("TDEmail")&"."&vbCrLF&vbCrLf
MsgBody=MsgBody&"This message is generated automatically by the "& Request("EventName")&" registration processing software. Please do not use this email address to contact "&Request("EventName")&" as the committee has no method of receiving emails directed to this account."&vbCrLF&vbCrLf&vbCrLF&vbCrLf
objCDO.TextBody =MsgBody
'objCDO.AttachFile Server.MapPath("file.asp")
' objCDO.AttachFile Server.MapPath("Rally@Texas2003Agenda.pdf")
' objCDO.AttachFile Server.MapPath("Rally@Texas2003FishingRules.pdf")
' objCDO.AttachFile Server.MapPath("Rally@Texas2003LiabilityRelease.pdf")
objCDO.AttachFile Server.MapPath("../Rally@Texas2003RegistrationForm.pdf")
objCDO.send
Set objCDO = Nothing
Response.Redirect("http://www.rallytexas.net/td/index.asp")
End Select
%>
This page is designed to work with Microsoft Internet Explorer