Community Workshop and Training Center, Inc.
         


<% Dim strSessionMsg Dim strFirstName Dim strLastName Dim strAddress1 Dim strAddress2 Dim strCity Dim strState Dim strZip Dim strEmail Dim strPhone Dim strSalutation Dim strDonationAmount Dim strInMemoryOf Dim strDonationType Dim strApplyToOther Dim bApplyToCWTCFoundation Dim bApplyToResidentialFamilySupport Dim bApplyToCommunityEmployment Dim bApplyToOther Dim strApplyToOtherText If Session("SessionExpired") = True Then strSessionMsg = "For your protection, your session expired after 20 minutes of inactivity. To complete your donation, please re-submit your information. Thank you!" Session("SessionExpired") = "" End If 'Session("DonationID") = 74 Session("CompletedDonationID") = "" '* reset this if for some reason they went back to the donations page after submitting a donation If Request.Form("DonationSubmitted") = "Yes" Then 'Response.Write "save pledge" 'REsponse.End() SavePledge If ValidatePledge Then Response.Redirect("ConfirmDonation.asp") End If End If If Session("DonationID") <> "" Then GetPledgeInfo End If Public Function GetPledgeInfo Dim strSQL strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(Session("DonationID")) rsCommon.LockType = adLockOptimistic rsCommon.Open strSQL, adoMyCon With rsCommon strSalutation = .Fields("Salutation") strFirstName = .Fields("FirstName") strLastName = .Fields("LastName") strAddress1 = .Fields("Address1") strAddress2 = .Fields("Address2") strCity = .Fields("City") strState = .Fields("State") strZip = .Fields("Zip") strEmail = .Fields("Email") strPhone = .Fields("Phone") 'If Request.Form("PledgeType") = "DONATION" Then If Nz(.Fields("DonationAmount")) <> "" Then strDonationAmount = Right(FormatCurrency(.Fields("DonationAmount")), Len(FormatCurrency(.Fields("DonationAmount"))) -1) End If strInMemoryOf = .Fields("InMemoryOf") strDonationType = .Fields("DonationType") bApplyToCWTCFoundation = .Fields("ApplyToCWTCFoundation") bApplyToResidentialFamilySupport = .Fields("ApplyToResidentialFamilySupport") bApplyToCommunityEmployment = .Fields("ApplyToCommunityEmployment") bApplyToOther = .Fields("ApplyToOther") strApplyToOtherText = .Fields("ApplyToOtherText") 'strApplyTo = .Fields("ApplyTo") strApplyToOther = "other" 'If InStr(Request.Form("ApplyTo"), "Other") > 1 Then ' .Fields("ApplyTo") = Left(.Fields("ApplyTo") + ": " + Request.Form("Other"), 200) 'End If .Close End With End Function Public Sub RequireField (strFieldName, strReadable) If Request.Form(strFieldName) = "" Then Session("ErrorMessage") = Session("ErrorMessage") + "* " + strReadable + " is a required field.
" + vbCrLf End If End Sub Public Function ValidateBillingForm Session("ErrorMessage") = "" RequireField "BillFirstName", "Billing first name" RequireField "BillLastName", "Billing last name" RequireField "BillCompanyName", "Billing company name" RequireField "BillCity", "Billing city" RequireField "BillAddress1", "Billing address 1" RequireField "BillZipCode", "Billing zip code" RequireField "BillEMail", "Billing email address" RequireField "BillPhone", "Billing phone" If Session("ErrorMessage") = "" Then ValidateBillingForm = True Else Session("ErrorMessage") = Session("ErrorMessage") + "
" ValidateBillingForm = False End If End Function Public Function ValidatePledge () Session("ErrorMessage") = "" '* to do: put various tests for form data in here RequireField "FirstName", "First name" RequireField "LastName", "Last name" RequireField "Address1", "Address 1" RequireField "City", "City" RequireField "State", "State" RequireField "Zip", "Zip code" RequireField "Email", "Email address" RequireField "Phone", "Phone number" RequireField "DonationAmount", "Donation amount" If Session("ErrorMessage") = "" Then ValidatePledge = True Else ValidatePledge = False End If ' If Request.Form("PledgeType") = "DONATION" Then ' ValidatePledge = True ' Else ' ValidatePledge = True ' End If End Function Public Function ChargeCreditCard ChargeCreditCard = True End Function Public Function SavePledge () Dim strSQL If Session("DonationID") = "" Then strSQL = "EXEC sp_NewDonation" Set rsLocal = adoMyCon.Execute(strSQL) Session("DonationID") = rsLocal(0) rsLocal.Close End If '* update new record strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(Session("DonationID")) rsCommon.LockType = adLockOptimistic rsCommon.Open strSQL, adoMyCon 'Response.Write strSQL With rsCommon .Fields("Salutation") = Request.Form("Salutation") .Fields("FirstName") = Request.Form("FirstName") .Fields("LastName") = Request.Form("LastName") .Fields("Address1") = Request.Form("Address1") .Fields("Address2") = Request.Form("Address2") .Fields("City") = Request.Form("City") .Fields("State") = Request.Form("State") .Fields("Zip") = Request.Form("Zip") .Fields("Email") = Request.Form("Email") .Fields("Phone") = Request.Form("Phone") 'If Request.Form("PledgeType") = "DONATION" Then .Fields("DonationAmount") = Request.Form("DonationAmount") '.Fields("PledgeFrequency") = "" 'Else ' .Fields("DonationAmount") = Request.Form("PledgeAmount") ' .Fields("PledgeFrequency") = Request.Form("PledgeCycle") 'End If '.Fields("ResponseCode") = "" '.Fields("CC_Masked") = Request.Form("CardNumber") '.Fields("CC_Name") = Request.Form("NameOnCard") '.Fields("CC_Expiration") = Request.Form("CardMonth") + "/" + Request.Form("CardYear") '.Fields("CC_CCV") = Request.Form("CCV") .Fields("InMemoryOf") = Request.Form("InMemoryOf") .Fields("DonationType") = Request.Form("PledgeType") .Fields("ApplyToCWTCFoundation") = GetCheckState("ApplyToCWTCFoundation") .Fields("ApplyToResidentialFamilySupport") = GetCheckState("ApplyToResidentialFamilySupport") .Fields("ApplyToCommunityEmployment") = GetCheckState("ApplyToCommunityEmployment") .Fields("ApplyToOther") = GetCheckState("ApplyToOther") .Fields("ApplyToOtherText") = Request.Form("ApplyToOtherText") If InStr(Request.Form("ApplyTo"), "Other") > 1 Then .Fields("ApplyTo") = Left(.Fields("ApplyTo") + ": " + Request.Form("Other"), 200) End If '.Fields("") = Request.Form("") '.Fields("") = Request.Form("") '.Fields("") = Request.Form("") '.Fields("") = Request.Form("") '.Fields("") = Request.Form("") '.Fields("") = Request.Form("") .Update .Close End With End Function %>
<% 'WriteBoxHeader 620 %> <% If strSessionMsg <> "" Then %> <% strSessionMessage = "" %><% End If %><% If Session("ErrorMessage") <> "" Then %> <% Session("ErrorMessage") = "" %><% End If %>
<%=strSessionMsg%>
 
Your donation information contained the following errors:

<%=Session("ErrorMessage")%>

Please correct the errors to continue.
 
Donor Information
Items with a red * (asterisk) are required fields.
Salutation: <% WriteComboField "Titles", "TitleID", "TitleID", "Salutation", strSalutation, "" %>*
First Name(s): <% WriteField "FirstName", 20, strFirstName, 100 %>*
Last Name: <% WriteField "LastName", 20, strLastName, 100 %>*
Address 1: <% WriteField "Address1", 40, strAddress1, 100 %>*
Address 2: <% WriteField "Address2", 40, strAddress2, 100 %>
City: <% WriteField "City", 20, strCity, 100 %>*
State: <% WriteComboField "State", "ID", "ID", "State", strState, "" %>*
Zip: <% WriteField "Zip", 20, strZip, 20 %>*
Email: <% WriteField "Email", 20, strEmail, 100 %>*
Phone: <% WriteField "Phone", 20, strPhone, 20 %>*
 
In Memory Of: <% WriteField "InMemoryOf", 40, strInMemoryOf, 100 %>
Please apply my contribution to the following program(s):
  <% WriteCheckBox "ApplyToCWTCFoundation", bApplyToCWTCFoundation, "", True %>CWTC Foundation
<% WriteCheckBox "ApplyToResidentialFamilySupport", bApplyToResidentialFamilySupport, "", True %>Residential/Family Support
<% WriteCheckBox "ApplyToCommunityEmployment", bApplyToCommunityEmployment, "", True %>Community Employment
<% WriteCheckBox "ApplyToOther", bApplyToOther, "", True %>Other: <%WriteField "ApplyToOtherText", 30, strApplyToOtherText, 200%>
 
Donation Amount
Amount ($): <% WriteField "DonationAmount", 6, strDonationAmount, 10 %>* (You may review this amount before finalizing your donation.)
Dontion Type: <% WriteComboField "DonationTypes", "DonationTypeID", "DonationTypeDesc", "PledgeType", strDonationType, "DONATION" %>

The protection and privacy of all personal information associated with our donors is of utmost concern to us.
CWTC will not share, lease, lend, or sell your personal information to any 3rd parties under any circumstances except as required by law.
<% 'WriteBoxFooter %>





<% 'Dim intDonationID 'Dim strFirstName 'Dim strLastName 'Dim strAddress1 'Dim strAddress2 'Dim strCity 'Dim strState 'Dim strZip 'Dim strEmail 'Dim strPhone 'Dim strInMemoryOf 'Dim strOther 'Dim strApplyTo Dim strDonationType Dim strDonationAmount Dim strPledgeFrequency Dim strCreditCardName Dim strCreditCardNumber Dim strCreditCardMonth Dim strCreditCardYear Dim strCCV Dim strError %> <% If Session("DonationID") = "" Then Session("SessionExpired") = True Response.Redirect("index.asp") End If GetDonationInfo If Request.Form("submit") = "< Back" Then SaveCCInfo Response.Redirect("Online.asp") ElseIf Request.Form("ConfirmDonation") = "Yes" Then SaveCCInfo If ValidateCC Then If AuthorizeCreditCard Then SetDonationApprovalDate 'Session("DonationID") = "" Session("CompletedDonationID") = Session("DonationID") Response.Redirect("ThankYou.asp") Else strError = "Your credit card transaction could not be completed. Reason: " + Session("ReasonDenied") End If End If ElseIf Request.Form("ConfirmPledge") = "Yes" Then SetDonationApprovalDate 'Session("DonationID") = "" Session("CompletedDonationID") = Session("DonationID") Response.Redirect("ThankYou.asp") End If Public Function ValidateCC strError = "" If Len(Request.Form("NameOnCard")) = 0 Then strError = strError + "* Credit card name is blank." End If If Not IsNumeric(Request.Form("CardNumber")) Then strError = strError + "
* Credit card may only contain numbers (0-9)." End If 'If Len(Request.Form("CardNumber")) < 15 Then ' strError = strError + "
* Credit card number must be at least 15 digits in length." 'End If 'If Len(Request.Form("CardNumber")) > 16 Then ' strError = strError + "
* Credit card number must be no more than 16 digits in length." 'End If If Len(Request.Form("CCV")) <> 3 And Len(Request.Form("CCV")) <> 4 Then strError = strError + "
* Credit card CCV is missing or invalid." End If If strError = "" Then ValidateCC = True Else ValidateCC = False End If End Function Public Function AuthorizeCreditCard Dim strSQL Dim OrderGrandTotal Dim AuthNetRqst Dim AuthNetResp Dim RespAr Dim AuthNetLogin, AuthNetPassword 'Session("OrderID") = 189 'strSQL = "UPDATE OrderHeader SET DateApproved = '" + CStr(Now) + "' WHERE OrderID = " + CStr(Session("OrderID")) 'Response.Write Session("OrderID") & "

" 'Response.Write "*************" + CStr(OrderGrandTotal) + "**********" AuthNetLogin = "9Km9UB2sy4z" AuthNetPassword = "99z5uW2U2qu7Y4mt" 'rs.fields("AuthorizeDotNet_Password") ' === Store Response Information in DB regardless of response state strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(Session("DonationID")) Set rsCommon = adoMyCon.Execute (strSQL) With rsCommon OrderGrandTotal = .Fields("DonationAmount") If OrderGrandTotal > 0 Then ' do not try to charge credit card if amount is 0 (or less than, i guess) '*ProcessRecordSet session("dbname"), "SELECT TOP 1 * FROM systemVariables", "LoadAuthNetVars" 'AuthNetRqst = AuthNET_BuildSubmissionRequest() 'Response.End() AuthNetRqst = AuthNet_AddToSubmissionRequest("x_company", Request.ServerVariables("REMOTE_ADDR"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_address", .Fields("Address1") + " " + .Fields("Address2"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_city", .Fields("City"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_state", .Fields("State"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_zip", .Fields("Zip"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_country", "USA", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_phone", .Fields("Phone"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_email", .Fields("EMail"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_version", "3.1", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_method", "CC", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_freight", "0", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_tax", "0", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_invoice_num", Session("DonationID"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_amount", CStr(.Fields("DonationAmount")), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_card_num", .Fields("CC_Masked"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_exp_date", .Fields("CC_Month") + "/" + .Fields("CC_Year"), AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_card_code", .Fields("CC_CCV"), AuthNetRqst) If Request.ServerVariables("REMOTE_ADDR") = "66.73.153.250" Then AuthNetRqst = AuthNet_AddToSubmissionRequest("x_test_request", "TRUE", AuthNetRqst) End If AuthNetRqst = AuthNet_AddToSubmissionRequest("x_delim_data", "TRUE", AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_login", AuthNetLogin, AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_password", AuthNetPassword, AuthNetRqst) AuthNetRqst = AuthNet_AddToSubmissionRequest("x_type", "AUTH_CAPTURE", AuthNetRqst) AuthNetRqst = Replace(AuthNetRqst, "|", ":") ' Clean Request of the field delimeter AuthNetResp = AuthNet_SubmitTransaction(AuthNetRqst) RespAr = AuthNet_SplitTransactionResponse(AuthNetResp, "|", "*") 'Response.Write AuthNetResp 'Response.End() IF RespAr(x_invoice_num) = "" THEN ' figure out exactly why this happens Else strSQL = "UPDATE Donations SET " & _ "x_auth_code = '" & RespAr(x_auth_code) & "', " & _ "x_trans_id = '" & RespAr(x_trans_id) & "', " & _ "x_resp_code = '" & RespAr(x_Response_code) & "', " & _ "x_resp_subCode = '" & RespAr(x_Response_subCode) & "', " & _ "x_resp_reason_code = '" & RespAr(x_Response_reason_code) & "', " & _ "x_resp_reason_text = '" & RespAr(x_Response_reason_text) & "', " & _ "x_avs_code = '" & RespAr(x_avs_code) & "', " & _ "x_amount = '" & RespAr(x_amount) & "' " & _ " WHERE DonationID = " & Session("DonationID") adoMyCon.Execute strSQL End IF If RespAr(x_Response_Code) = 1 Then 'Response.Write "Order approved" AuthorizeCreditCard = True ELSE stDeniedReason = RespAr(x_Response_reason_text) Session("ReasonDenied") = stDeniedReason 'Response.Write "order denied: " + stDeniedReason AuthorizeCreditCard = False END IF Else ' order amount was 0 or less - automatically approve AuthorizeCreditCard = True 'Session("OrderApproved") = TRUE End If End With rsCommon.Close 'ApproveOrder = False End Function 'Public Function StoreProcessorResponse (intDonationID, strResponse) ' ' Dim strSQL ' ' strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(DonationID) ' rsCommon.LockType = adLockOptimistic ' rsCommon.Open strSQL, adoMyCon ' ' 'End Function Public Function SetDonationApprovalDate Dim strSQL strSQL = "UPDATE Donations SET ApprovalDate = '" + CStr(Now) + "' WHERE DonationID = " + CStr(Session("DonationID")) adoMyCon.Execute strSQL End Function Public Function SaveCCInfo Dim strSQL strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(Session("DonationID")) rsCommon.LockType = adLockOptimistic rsCommon.Open strSQL, adoMyCon With rsCommon If .Fields("DonationType") = "PLEDGE" Then .Fields("PledgeFrequency") = Request.Form("PledgeFrequency") Else .Fields("CC_Masked") = Request.Form("CardNumber") .Fields("CC_Name") = Request.Form("NameOnCard") .Fields("CC_Month") = Request.Form("CreditCardMonth") .Fields("CC_Year") = Request.Form("CreditCardYear") .Fields("CC_CCV") = Request.Form("CCV") End If .Update .Close End With End Function Public Function GetDonationInfo Dim strSQL strSQL = "SELECT * FROM Donations WHERE DonationID = " + CStr(Session("DonationID")) rsCommon.LockType = adLockOptimistic rsCommon.Open strSQL, adoMyCon With rsCommon intDonationID = .Fields("DonationID") strDonationType = .Fields("DonationType") strDonationAmount = .Fields("DonationAmount") strPledgeFrequency = .Fields("PledgeFrequency") strCreditCardName = Nz(.Fields("CC_Name")) strCreditCardNumber = Nz(.Fields("CC_Masked")) strCreditCardMonth = Nz(.Fields("CC_Month")) strCreditCardYear = Nz(.Fields("CC_Year")) strCCV = Nz(.Fields("CC_CCV")) .Close End With End Function Public Function Nz(strData) If IsNull(strData) Then Nz = "" Else Nz = strData End If End Function Public Sub WriteMonthSelect () Dim intX Response.Write "" End Sub Public Sub WriteYearSelect () Dim intStart Dim intStop intStart = Year(Date) intStop = Year(Date) + 10 Response.Write "" End Sub Public Sub WriteField (strName, strSize, strDefaultValue, strMaxLen, strOption) Response.Write "" End Sub %>
<% If strError <> "" Then %> <% End If %><% If strDonationType = "DONATION" Then %><% Else %><% End If %>
Thank you for choosing to parter with CWTC!
If the donation amount is incorrect, please click the "Back" button to correct the error.
 
<%=strError%>

Please correct the errors to continue.
 
Credit Card Information
Amount ($): <% WriteField "DonationAmount", 6, Right(FormatCurrency(strDonationAmount), Len(FormatCurrency(strDonationAmount)) -1), 10, "readonly" %>
Name On Card: <% WriteField "NameOnCard", 30, strCreditCardName, 100, ""'Request.Form("NameOnCard") %>
Card Number: <% WriteField "CardNumber", 30, strCreditCardNumber, 20, ""'Request.Form("CardNumber") %>
Expiration: <% WriteComboField "Months", "MonthID", "MonthID", "CreditCardMonth", strCreditCardMonth, "" %>/ <% WriteComboField "Years", "YearID", "YearID", "CreditCardYear", strCreditCardYear, "" %>(MM / yyyy)
CCV: <% WriteField "CCV", 4, strCCV, 4, Request.Form("CCV") %>
Pledge Information
Amount ($): <% WriteField "DonationAmount", 6, Right(FormatCurrency(strDonationAmount), Len(FormatCurrency(strDonationAmount)) -1), 10, "readonly" %>
How Often: <% WriteComboField "PledgeFrequency", "PledgeFrequencyID", "PledgeFrequencyDesc", "PledgeFrequency", strPledgeFrequency, "ONCE" %>