Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Perl script runs in Apache but not in IIS

Status
Not open for further replies.

tbrowne

IS-IT--Management
Dec 27, 2001
51
US
I have a perl script that runs in Apache on both Windows and Linux servers; however, it will not run correctly in IIS. I inherited this script and I have modified it for several years learning just enough perl to get by. The website was recently moved from a Linux server to a Windows server running IIS. The initial page generated by the script displays correctly when called; however, subsequent pages fail and the user is sent back to the home page of the site. I have changed the shebang line for the windows server, although, it apparently doesn't matter what the shebang line is on IIS. I've searched for answers regarding porting Perl from Apache to IIS without any luck.

The url for the site in question is: - click on 'Registration' to view the initial page. If the first page is filled out correctly, the user is shown page two of the registration form, otherwise the user is shown an error message describing the information that was entered incorrectly or is missing.

I would appreciate any help I can get on this problem.

Thanks!
 
IIS needs extensions built into it to run perl correctly. Have you tested a quick script and verified the permissions?

It is much easier to just have your host move you to a linux server. If your host doesn't support both find one that does as all the major ones do.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
I did run another, very simple script to verify that perl was indeed working and it ran OK. Can you tell me what extensions IIS needs to run perl correctly?
 
if it ran your other script it apparently is set up ok.

Do you have this in your script?

use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

It will send your perl errors to the web page.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
I put the Use GGI line into the script but the page goes back to the home page without issuing any warnings. There is some javascript in the code that checks for errors in user entry and that doesn't seem to be running before the page returns home. On the Linux server the cgi-bin folder was inside htdocs folder and on the Windows server cgi-bin is outside of wwwroot folder. I'm thinking that the change of location for cgi-bin has something to do with the problem. This code should resubmit the registration page and display page 2, the second section of the registration page, when it is resubmitted. I'm not sure what is going wrong.
 
I ran across this page last night looking for solutions. The author seems to talking about a similar, maybe the same, problem. None of it makes much sense to me but I think a more experienced hand might be able to figure it out.


I put this code in my script and I've tried it several different locations, but nothing is changed. The user goes back to the home page rather than to page 2.
 
why don't you post your code ? If your test script runs it has to be something with you current code.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[noevil]
Travis - Those who say it cannot be done are usually interrupted by someone else doing it; Give the wrong symptoms, get the wrong solutions;
 
The code follows:

Code:
#!c:/perl64/bin/perl.exe
#!/usr/bin/perl -w
#!c:/perl64/bin/perl.exe
#NOTE:  Change the shebang line above according to which operating system will be used to run this script!

## Added 2/05/2010 for use with IIS
our $SCRIPT_PATH;
BEGIN {
$SCRIPT_PATH = $ENV{SCRIPT_FILENAME};
if($SCRIPT_PATH) {
$SCRIPT_PATH =~ s/[\\\/][^\\\/]+$//;
push @INC,$SCRIPT_PATH;
}
else {
#$SCRIPT_PATH = ".";
$SCRIPT_PATH = "[URL unfurl="true"]https://www.ayresats.com/cgi-bin/register.pl"[/URL]
}
}


use CGI qw/:standard :html3/;
#use CGI::Carp qw(fatalsToBrowser carpout); # for testing
use CGI::Carp qw(fatalsToBrowser warningsToBrowser);

## Added 2/05/2010 for use with IIS
#our $SCRIPT_PATH;
#BEGIN {
#$SCRIPT_PATH = $ENV{SCRIPT_FILENAME};
#if($SCRIPT_PATH) {
#$SCRIPT_PATH =~ s/[\\\/][^\\\/]+$//;
#push @INC,$SCRIPT_PATH;
#}
#else {
#$SCRIPT_PATH = ".";
#}
#}

&init;
&start_page;
print startform("post",url() );
&loadvars; &varchecks;
#print '<font face="Verdana, Arial, Helvetica, sans-serif">';

if (param('page') eq "page 1" || !param('page') ) {
      #**************************************************************************************************
      # page 1  Initial Form/Page
      #**************************************************************************************************
        print
        '<p align="center"> 
        <p align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="5" color="#000099">On-Line Seminar
          Registration Form</font></b></p>
        <p align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>You
          can now register up to (20) of your company\'s staff at one time.<br>
          <font color="#CC0000">Three or more registering from the same company
          are entitled to a $20.00<br>
          discount off the stated registration fee.</font></b></font></p>
        <p align="left"></p> ',
        table({-border=>'0',-width=>'100%'}, td([
          table({-border=>'0',-width=>'100%'},
            Tr({-align=>'right',-valign=>'center'},[
                td({-colspan=>2,-align=>'center'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif" color="#CC0000">(use tab key to move down the page)</font>'),
                th({-colspan=>'2',-align=>'center'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Company Details and Contact Person:'),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Company:').td({-align=>'left'},textfield(-maxlength=>50,-name=>'co',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Contact:').td({-align=>'left'},textfield(-maxlength=>50,-name=>'contact',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Address 1:').td({-align=>'left'},textfield(-maxlength=>30,-name=>'add1',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Address 2:').td({-align=>'left'},textfield(-maxlength=>30,-name=>'add2',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">City:').td({-align=>'left'},textfield(-maxlength=>30,-name=>'cty',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">State:').td({-align=>'left'},textfield(-maxlength=>30,-name=>'st',-size=>2)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Zip:').td({-align=>'left'},textfield(-maxlength=>5,-name=>'zip1',-size=>5)." - ".
                        textfield(-maxlength=>4,-name=>'zip2',-size=>4).'<font size=1 face="Verdana, Arial, Helvetica, sans-serif"> (include last 4 digits)'),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Company Phone:').td({-align=>'left'},textfield(-maxlength=>12,-name=>'phone',-size=>12).
                "<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> Ext. ".textfield(-maxlength=>5,-name=>'phonex',-size=>5)),
                td({-align=>'right'},"<font size=1 face='Verdana, Arial, Helvetica, sans-serif'> ").td({-align=>'left'},"<font size=1 face='Verdana, Arial, Helvetica, sans-serif' color='#CC0000'>i.e. 937-845-1939"),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Fax:').td({-align=>'left'},textfield(-maxlength=>12,-name=>'fax',-size=>12)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Email:').td({-align=>'left'},textfield(-maxlength=>40,-name=>'email',-size=>28)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Comments:').td({-align=>'left'},textarea(-rows=>3,-name=>'comments',-columns=>24)),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">ATS Use Code: ').td({-align=>'left'},[
                popup_menu(-name=>'conf3', -size=>'1', -values=>[
                  'Choose one...',
                  '1,1F',
                  '1,1F,2',
                  'Unknown'])
                  .'<font size=1 face="Verdana, Arial, Helvetica, sans-serif">']),
                td({-align=>'top'}).td({-align=>'left'},'<font size=1 face="Verdana, Arial, Helvetica, sans-serif" color="#CC0000">Lower left "ATS USE ONLY"<br />on the Registration Form in your mailer. '),
               # td({-align=>'top'}).td({-align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif"> '),
                th('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Seminar: ').td({-align=>'left'},[
                popup_menu(-name=>'seminar', -size=>'1', -values=>[
                  'Choose one...',
                  'Ada - Nov 10',
                  'Chillicothe - Nov 13',
                  'Toledo - Nov 16',
                  'Sandusky - Nov 17',
                  'Cleveland (E) - Nov 23',
                  'Youngstown - Nov 30',
                  'Canton - Dec 1',
                  'Cambridge - Dec 4',
                  'Cleveland (W) - Dec 7',
                  'Columbus - Dec 8',
                  'Mansfield - Dec 11',
                  'Cincinnati - Dec 14',
                  'Dayton - Dec 15',
                  'Books/Tables Only'])
                ]),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*How many are <BR> you registering?').td({-align=>'left'},popup_menu(-name=>'attendees', -size=>'1', -values=>[
                        0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 ]).'<font size=1 face="Verdana, Arial, Helvetica, sans-serif"> (Enter 0 if ordering books only)'),
                td({-width=>180}),
                td({-width=>230}),
                td({-width=>10}),
                td(reset). td({-align=>'center'},"*Required Fields"). td(submit(-name=>"page",-value=>"page 2"))
              ]
            ),
          ),
        ])),
    ;

} elsif (param('page') eq "page 2") {
      #**************************************************************************************************
      # page 2  Attendee Registration Form/Page
      #**************************************************************************************************
        print '<table border=0>' . Tr([td(' '),th({-colspan=>2},'<font face="Verdana, Arial, Helvetica, sans-serif" size="4">Registration Form(s)</font>'),td(' ')]);
        for($i=1;$i<=param('attendees');$i++) {
            print Tr([
                '<input type="hidden" name="separator'.$i.'" value="------------------------------">',
                td({-align=>'right'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Attendee ($i)   *First Name:").td({-align=>'left'},textfield(-maxlength=>20,-name=>"fname$i",-size=>28)),
                td({-align=>'right'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Middle Initial:").td({-align=>'left'},textfield(-maxlength=>2,-name=>"mi$i",-size=>2)),
                td({-align=>'right'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>*Last Name:").td({-align=>'left'},textfield(-maxlength=>30,-name=>"lname$i",-size=>28)),
                td({-align=>'right',-valign=>'top'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>*Status:").td({-align=>'left'},
                        table({-border=>'0'}, Tr({-align=>'right',-valign=>'center'},[
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>CPA:").td({-align=>'left'},checkbox(-name=>"CPA$i",-value=>'YES',-label=>')).
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> PA:").td({-align=>'left'},checkbox(-name=>"PA$i",-value=>'YES',-label=>')),
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>EA:").td({-align=>'left'},checkbox(-name=>"EA$i",-value=>'YES',-label=>')).
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>TP:").td({-align=>'left'},checkbox(-name=>"TP$i",-value=>'YES',-label=>')).
                                #td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> CFP:").td({-align=>'left'},checkbox(-name=>"CFP$i",-value=>'YES',-label=>')),
                                td({-align=>'left',-colspan=>3},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Tax Practitioner:").td({-align=>'left'},checkbox(-name=>"Tax$i",-value=>'YES',-label=>')),
                                td({-align=>'left',-colspan=>1},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Other:").td({-align=>'left'},checkbox(-name=>"other$i",-value=>'YES',-label=>')),
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Attorney:").td({-align=>'left',-colspan=>3},checkbox(-name=>"Atty$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"AttyNo$i",-size=>7)),
                                td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Aty-CPA:").td({-align=>'left',-colspan=>3},checkbox(-name=>"Aty-CPA$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"Aty-CPANo$i",-size=>7)),
                        		td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Aty-CFP:").td({-align=>'left',-colspan=>3},checkbox(-name=>"Aty-CFP$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"Aty-CFPNo$i",-size=>7)),
                        		td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>CFP:").td({-align=>'left',-colspan=>3},checkbox(-name=>"CFP$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"CFPNo$i",-size=>7)),
                        		td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>CPA-CFP:").td({-align=>'left',-colspan=>3},checkbox(-name=>"CPA-CFP$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"CPA-CFPNo$i",-size=>7)),
                        		td({-align=>'left'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>EA-CFP:").td({-align=>'left',-colspan=>3},checkbox(-name=>"EA-CFP$i",-value=>'YES',-label=>')."<font size=2 face='Verdana, Arial, Helvetica, sans-serif'> No: ".textfield(-maxlength=>7,-name=>"EA-CFPNo$i",-size=>7)),
                        ])),
                ),
                td({-align=>'right'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>Evening Phone:").td({-align=>'left'},textfield(-maxlength=>12,-name=>"co_ph$i",-size=>12).'<font size=1 face="Verdana, Arial, Helvetica, sans-serif" color="#CC0000">  i.e. 937-845-1939'),
                td({-align=>'right'},"<font size=1 face='Verdana, Arial, Helvetica, sans-serif'> ").td({-align=>'left'},"<font size=1 face='Verdana, Arial, Helvetica, sans-serif'>** ATS Use Only **"),
                #**********************************************************************************************************************************************************
                #* added 08/19/2003 to allow for email address on each registrant
                #**********************************************************************************************************************************************************
                td({-align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Attendee Email:').td({-align=>'left'},textfield(-maxlength=>40,-name=>"AttendeeMail$i",-size=>28)),
                td({-align=>'right'},'<font size=1 face="Verdana, Arial, Helvetica, sans-serif"> ').td({-align=>'center'},'<font size=1 face="Verdana, Arial, Helvetica, sans-serif">** Needed to receive updates **'),
                #* end added  *********************************************************************************************************************************************
                #td({-align=>'right'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>*No. of prior seminars attended:").td({-align=>'left'},textfield(-maxlength=>2,-name=>"No_sem$i",-size=>2)),
                td({-colspan=>2},'<hr height="1" size="1">'),
            ])
        }

            #*******************************************************************
            # added 12/14/2003                                                 *
            # If customer is ordering books only - then display a message to   *
            # continue on page 3.  Otherwise show "* Required Fields"          *
            #*******************************************************************
            if (param('attendees') > 0) {
              print '</table><table width=100% border=0>' . Tr([
                td({align=>'center',colspan=>4},"* Required Fields")]);
            }
            else {
              print '</table><table width=100% border=0>' . Tr([
                td({align=>'center',colspan=>4},"*** Continue to Page 3 ***")]);
            }
            #* end added 12/14/2003 ********************************************

            print '</table><table width=100% border=0>' . Tr([
                td({align=>'center'},submit(-name=>"page",-value=>"page 1")) .
                td({align=>'center',colspan=>2},reset).
                td({align=>'center'},submit(-name=>"page",-value=>"page 3"))
            ]);
            print '</table>';

} elsif (param('page') eq "page 3") {
      #**************************************************************************************************
      # page 3  Select Products/Fees Form/Page
      #**************************************************************************************************
        print '
                <table border=0 cellpadding=0 cellspacing=0 width="570">
                  <tbody>
                  <tr><td> </td></tr>
                  <tr>
                    <td colspan=5 height="13"> <b><font face="Verdana, Arial, Helvetica, sans-serif" size="4">Fees:
                      </font></b></td>
                  </tr>
                  <tr>
                    <td colspan=2> </td>
                    <td width="32">
                      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Qty</font></b></div>
                    </td>
                    <td width="88">
                      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Price
                        Each</font></b></div>
                    </td>
                    <td width="105">
                      <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Total</font></b></div>
                    </td>
                  </tr>

<!-- REGISTRATION FEE -->

                  <tr>
                    <td colspan=2>
                      <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Registration
                        Fee</b> (Workbook included): </font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT READONLY onchange="fees(this.form); totalFees(this.form)"'
                          . "VALUE=".param('attendees') . ' name=reg_qty size=3>
                          </font></div>
                    </td>
                    <td width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b> $249.00 =</font></div>
                    </td>
                    <td width="105"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                      <input TYPE=TEXT READONLY VALUE="'
                        .sprintf("%.2f", (param('attendees') * 249.00)).'" name=reg_tl size=7 onfocus="form.wkbk_qty.focus();">
                        </font></td>
                   </tr>

<!-- GROUP REGISTRATION DISCOUNT -->

                  <tr>
                    <td colspan="2">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#CC0000">Group
                        Registration Discount </font></b>(if applicable): </font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT READONLY VALUE="'
                          .(param('attendees') * ( param('attendees') >= 3 ) )
                          .'" name=regdisc_qty size=3>
                        </font></div>
                    </td>
                    <td align=right width="88"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b> ($20.00)=</font></td>
                    <td align=right width="105">
                      <div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">$
                        <input TYPE=TEXT READONLY VALUE="'
                          .sprintf("%.2f", ( 20.00 * param('attendees') * ( param('attendees') >= 3 ) ) )
                          .'" name=regdisc_tl size=7>
                        </font></div>
                    </td>
                  </tr>

<!-- EXTRA COPIES OF WORKBOOKS -->

                  <tr>
                    <td colspan="2">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Extra
                        Copies of Workbook:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=wkbk_qty size=3 onfocus="form.wkbk_qty.select()">
                        </font></div>
                    </td>
                    <td align=right width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b>   $80.25 =</font></div>
                    </td>
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=wkbk_tl size=7 onfocus="form.qfitfp_qty.focus();">
                        </font></div>
                    </td>
                  </tr>

<!-- 1040 QUICKFINDER Handbook -->

                  <tr>
                    <td colspan=2>
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">1040 Quickfinder Handbook:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=qfitfp_qty size=3 onfocus="form.qfitfp_qty.select()">
                        </font></div>
                    </td>
                    <td width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b><font color=#ff0000>
                        <b>*</b></font>$46.00 =</font></div>
                    </td>
                    <td width="105"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                      <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfitfp_tl size=7 onfocus="form.qfsb_qty.focus()">
                      </font></td>
                  </tr>

<!-- SMALL BUSINESS QUICKFINDER HANDBOOK -->

                  <tr>
                    <td colspan="2">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Small Business Quickfinder
                        Handbook:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=qfsb_qty size=3 onfocus="form.qfsb_qty.select()">
                        </font></div>
                    </td>
                    <td align=right width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b> <font color=#ff0000><b>*</b></font>$46.00 =</font></div>
                    </td>
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfsb_tl size=7 onfocus="form.qfcd_qty.focus()">
                        </font></div>
                    </td>
                  </tr>

<!-- QUICKFINDER CD-ROM -->

                  <tr>
                    <td colspan=2>
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">(Not available this year) Quickfinder CD-ROM:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=qfcd_qty size=3 onfocus="form.qfcd_qty.select()">
                        </font></div>
                    </td>
                    <td width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b>
                           $0.00 =</font></div>
                    </td>
                    <td width="105"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                      <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfcd_tl size=7 onfocus="form.ttind_qty.focus()">
                      </font></td>
                  </tr>

<!-- Tax Tables - Individual -->  <!-- (Added 08/28/2009) -->

                  <tr>
                    <td colspan=2>
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tax Tables - Individual:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=ttind_qty size=3 onfocus="form.ttind_qty.select()">
                        </font></div>
                    </td>
                    <td width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b><font color=#ff0000>
                        <b>*</b></font>$12.84 =</font></div>
                    </td>
                    <td width="105"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                      <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=ttind_tl size=7 onfocus="form.ttbus_qty.focus()">
                      </font></td>
                  </tr>

<!-- Tax Tables - Business -->  <!-- (Added 08/28/2009) -->

                  <tr>
                    <td colspan=2>
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Tax Tables - Business :</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT onchange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=ttbus_qty size=3 onfocus="formt.ttbus_qty.select()">
                        </font></div>
                    </td>
                    <td width="88">
                      <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b><font color=#ff0000>
                        <b>*</b></font>$12.84 =</font></div>
                    </td>
                    <td width="105"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                      <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=ttbus_tl size=7 onfocus="form.qfas_qty.focus()">
                      </font></td>
                  </tr>

<!-- Shipping & Handling -->

                  <tr>
                    <td colspan="2">
                      <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Shipping & Handling (regardless of quantity):</font></div>
                    </td>
                    <td width="32">  </td>
                    <td align=right width="88"> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                          $7.00 =</font></td>
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfsh_tl size=7 onfocus="form.qfas_qty.focus()">
                        </font></div>
                    </td>
                  </tr>

<!-- ALL STATES QUICKFINDER HANDBOOK -->

                  <tr>
                    <td colspan="2" valign="middle">
                      <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">All States Quickfinder
                        Handbook:</font></div>
                    </td>
                    <td width="32">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                        <input TYPE=TEXT  onChange="fees(this.form); totalFees(this.form)" VALUE=0 maxlength=2 name=qfas_qty size=3 onfocus="form.qfas_qty.select()">
                        </font></div>
                    </td>
                    <td align=right width="88"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>X</b>
                       <font color=#ff0000><b>*</b></font>$77.00 =</font></td>
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfas_tl size=7 onfocus="form.total.focus()">
                        </font></div>
                    </td>
                  </tr>

<!-- ALL STATES INDIVIDUAL HANDBOOK S+H -->

                  <tr>
                    <td colspan="2">
                      <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">All
                        States Individual Handbook S+H:</font></div>
                    </td>
                    <td width="32">  </td>
                    <td align=right width="88"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                          $8.00 =</font></td> <!-- // Shipping updated 09/03/2005 -->
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input TYPE=TEXT READONLY VALUE="0.00" maxlength=7 name=qfassh_tl size=7 onfocus="form.submit.focus()">
                        </font></div>
                    </td>
                  </tr>

<!-- TOTAL -->

                  <tr>
                    <td colspan="4">
                      <div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>TOTAL AMOUNT DUE </b></font>
                      <font size="2" face="Verdana, Arial, Helvetica, sans-serif">: = </font></div>
                    </td>
                    <td align=right width="105">
                      <div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">$
                        <input VALUE="'
                          .sprintf("%.2f", ( param('attendees') * 249 -
                          ( 20.00 * param('attendees') * ( param('attendees') >= 3 ) )
                          ) )
                          .'" name=total size=7>
                        </font></div>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="4"> </td>
                    <td align=right width="105"> </td>
                  </tr>
                  <tr>
                    <td colspan=5>
                        <div align=center><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                    	If Tax Tables are ordered with Quickfinders, shipping is free.<br>Otherwise, shipping is $4.00
                    	</font></div>
                    </td>
                  </tr>
                  <tr>
                     <td colspan=5> </td>
                  </tr>
                  <tr>
                    <td colspan="5" height="18"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ff0000"><b><a name="DISCOUNT"></a>*</b></font>
                      <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#ff0000">
                      ATS discounted prices include sales tax.</font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"> Note: Cut-off date for ordering<br>
   Quickfinder Handbooks and other products is December 11th and are shipped<br>by December 31st. All-State handbook orders are shipped mid-February.
</font></td>
                  </tr>
                  <tr>
                    <td height="2" colspan="2"></td>
                    <td align=middle width="32" height="2"></td>
                    <td align=middle height="2" colspan="2"></td>
                  </tr>

<!-- BLANK LINE -->

                  <tr>
                    <td colspan=2>  </td>
                    <td width="32">  </td>
                    <td width="88"> </td>
                    <td width="105"> </td>
                  </tr>
                  </tbody>
        ';

        print "</table><table width=100% border=0>" . Tr([
                td({align=>'center'},submit(-name=>"page",-value=>"page 2")) .
                td({align=>'center',colspan=>2},reset).
                td({align=>'center'},submit(-name=>"page",-value=>"page 4"))
        ]);
        print "</table><td>$rightsidebar</table>";

} elsif (param('page') eq "page 4") {

      #**************************************************************************************************
      # Page 4  Credit Card information is entered here.
      #**************************************************************************************************
        print table({-border=>'0'}, Tr({-align=>'right',-valign=>'center'},[
                td(' '),  #line break
                td(' '),  #line Break
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Card Type:')
                    .td({align=>"left"},radio_group(-name=>'cc',-values=>['Visa','Mastercard'])),
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Card Number:')
                    .td({align=>"left"},textfield(-maxlength=>4,-name=>"cc1",-size=>4)
                    ." - ".textfield(-maxlength=>4,-name=>"cc2",-size=>4)
                    ." - ".textfield(-maxlength=>4,-name=>"cc3",-size=>4)
                    ." - ".textfield(-maxlength=>4,-name=>"cc4",-size=>4)),
                #td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Expiration Date (MM/YY):')
                    #.td({align=>"left"},textfield(-maxlength=>5,-name=>"ccd",-size=>5))
                td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Expiration Date:')
                    .td({align=>"left"},popup_menu(-size=>'1',-name=>"ccm",-values=>[1,2,3,4,5,6,7,8,9,10,11,12])."  /  "
                    .popup_menu(-size=>'1',-name=>"ccy",-values=>[2009,2010,2011,2012,2013,2014,2015,2016]))
        ]));
        #**************************************************************************************************

        #**************************************************************************************************
        # Added 10/03/2009 - Get Card holder's name and address info
        #**************************************************************************************************
          print table({-border=>'0'}, Tr({-align=>'right',-valign=>'center'},[
                  td(' '),  #line Break
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Card holder\'s name:')
                  .td({align=>"left"},textfield(-maxlength=>40,-name=>"chname",-size=>40)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Street:')
                  .td({align=>"left"},textfield(-maxlength=>40,-name=>"chaddr1",-size=>40)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">  Street:')
                  .td({align=>"left"},textfield(-maxlength=>40,-name=>"chaddr2",-size=>40)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*City:')
                  .td({align=>"left"},textfield(-maxlength=>25,-name=>"chcity",-size=>25)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*State:')
                  .td({align=>"left"},textfield(-maxlength=>2,-name=>"chstate",-size=>2)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Zip Code:')
                  .td({align=>"left"},textfield(-maxlength=>10,-name=>"chzip",-size=>10)),
                  td('<font size=2 face="Verdana, Arial, Helvetica, sans-serif">*Phone:')
                  .td({align=>"left"},textfield(-maxlength=>14,-name=>"chphone",-size=>14).'<font size=1 face="Verdana, Arial, Helvetica, sans-serif" color="#CC0000">  i.e. 937-845-1939')
                  ]));
        # End Added ***************************************************************************************


        print '<table width=100% border=0>' . Tr([
                td({align=>'center',colspan=>4},"* Required Fields")
        ]);
        print '<table width=100% border=0>' . Tr([
                td({align=>'center'},submit(-name=>"page",-value=>"page 3")) .
                td({align=>'center',colspan=>2},reset).
                td({align=>'center'},submit(-name=>"page",-value=>"page 5"))
        ]);

        print '</table>';

} elsif (param('page') eq "page 5") {
      #**************************************************************************************************
      # page 5  Summary/Confirmation Form/Page
      #**************************************************************************************************
      #For/Next Loop - displays attendee info from pages 1 & 2.
        my(@attendees);
        for ($i=1;$i<=param('attendees');$i++) {
                my($attendee_status);
                $attendee_status = "<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>";
                #$attendee_status .= " CFP " if (param("CFP$i"));
                $attendee_status .= " CPA " if (param("CPA$i"));
                $attendee_status .= " PA " if (param("PA$i"));
                $attendee_status .= " EA " if (param("EA$i"));
                $attendee_status .= "<BR> Tax Practitioner " if (param("Tax$i"));
                $attendee_status .= "<BR> Attorney,   " if (param("Atty$i"));
                $attendee_status .= "No: " .param("AttyNo$i") if (param("AttyNo$i"));
                $attendee_status .= "<BR> Aty-CPA,   " if (param("Aty-CPA$i"));
                $attendee_status .= "No: " .param("Aty-CPANo$i") if (param("Aty=CPANo$i"));
                $attendee_status .= "<BR> Aty-CFP,   " if (param("Aty-CFP$i"));
                $attendee_status .= "No: " .param("Aty-CFPNo$i") if (param("Aty-CFPNo$i"));
                $attendee_status .= "<BR> CFP, " if (param("CFP$i"));
                $attendee_status .= "No: " .param("CFPNo$i") if (param("CFPNo$i"));
                $attendee_status .= "<BR> CPA-CFP,   " if (param("CPA-CFP$i"));
                $attendee_status .= "No: " .param("CPA-CFPNo$i") if (param("CPA-CFPNo$i"));
                $attendee_status .= "<BR> EA-CFP,   " if (param("EA-CFP$i"));
                $attendee_status .= "No: " .param("EA-CFPNo$i") if (param("EA-CFPNo$i"));
                $attendee_status .= "<BR> Other " if (param("other$i"));
                push @attendees,
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">First Name:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('fname'.$i)),
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Middle Initial:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('mi'.$i)),
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Last Name:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('lname'.$i)),
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Status:').td({align=>'left'},$attendee_status),
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Home Phone:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('co_ph'.$i)),
                        #Added 08/19/2003 to show registrant email.
                        td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Attendee Email:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('AttendeeMail'.$i)),
                        #td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Seminars Attended:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param('No_sem'.$i)),
                        td({-colspan=>2},'<hr height="1" size="1">')
        }#for

        print '<P> <P align="left"><b><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Please review your name, address, and the registering location below for accuracy.  This will insure that your continuing education certificate and name tag will be correct.</font></b>';



        print table({-border=>'0',-width=>'100%'}, Tr({-valign=>'center'},[
                td(' '),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Seminar:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("seminar")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Contact:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("contact")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Address:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("add1")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif"> ').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("add2")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">City:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("cty")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">State:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("st")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Zip:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("zip1")." - ".param("zip2")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Company Phone:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("phone")." ".param("phonex")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Fax:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("fax")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Email:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("email")),
                td({-colspan=>2},'<hr height="1" size="1">'),
                td({-align=>'center',-colspan=>2},submit(-name=>"page",-value=>"page 1")),
                td({-colspan=>2},'<hr height="1" size="1">'), @attendees,
                td({-align=>'center',-colspan=>2},submit(-name=>"page",-value=>"page 2")),
                td({-colspan=>2},'<hr height="1" size="1">'),
        ]));

        #**************************************************************************************************
        # page 3 data  (Fees Info)
        #**************************************************************************************************

        #print table({-border=>'0',-width=>'100%'}, Tr({-valign=>'center'},[
        print '<table border="0" width="100%">'.
                '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Registration Fee:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("reg_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("reg_tl")).'</tr>';
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Group Discount:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("regdisc_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("regdisc_tl")).'</tr>' if (param("regdisc_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Extra Workbooks:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("wkbk_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("wkbk_tl")).'</tr>' if (param("wkbk_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">1040 Quickfinder Handbook:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("qfitfp_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfitfp_tl")).'</tr>' if (param("qfitfp_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Small Business Quickfinder Handbook:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("qfsb_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfsb_tl")).'</tr>' if (param("qfsb_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">(Not available this year) Quickfinder CD-ROM:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("qfcd_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfcd_tl")).'</tr>' if (param("qfcd_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Tax Tables Individual:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("ttind_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("ttind_tl")).'</tr>' if (param("ttind_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Tax Tables Business:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("ttbus_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("ttbus_tl")).'</tr>' if (param("ttbus_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Shipping & Handling:').td(' ').td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfsh_tl")).'</tr>' if (param("qfsh_tl"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">All States Quickfinder Handbook:').td({align=>'center'},"<font size=2 face='Verdana, Arial, Helvetica, sans-serif'>qty ".param("qfas_qty")).td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfas_tl")).'</tr>' if (param("qfas_qty"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">All States Quickfinder Handbook S+H:').td(' ').td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("qfassh_tl")).'</tr>' if (param("qfassh_tl"));
                print '<tr>'.td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Total:').td(' ').td({align=>'right'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">$'.param("total")).'</tr>'.
                '<tr>'.td({-colspan=>3},'<hr height="1" size="1">').'</tr>'.
                '<tr>'.td({-align=>'center',-colspan=>3},submit(-name=>"page",-value=>"page 3")).'</tr>'.
                '<tr>'.td({-colspan=>3},'<hr height="1" size="1">').'</tr>';
        #]));

        print '</table>';

        #**************************************************************************************************
        # page 4 data  (Credit Card Info)
        #**************************************************************************************************

        print table({-border=>'0',-width=>'100%'}, Tr({-valign=>'center'},[
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Card Type:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("cc")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Card Number:').td({align=>'left'},param("cc1")." - ".param("cc2")." - ".param("cc3")." - ".param("cc4")),
                #td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Expiration Date:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("ccd")),
                #Next line Added 07/27/2003 to show credit card expiration date. WTB
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Expiration Date:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("ccm")." / ".param("ccy")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Card Holder\'s Name:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("chname")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Street:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("chaddr1")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Street:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("chaddr2")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">City, State, Zip:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("chcity").", ".param("chstate").", ".param("chzip")),
                td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">Phone:').td({align=>'left'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif">'.param("chphone")),
                td({-colspan=>2},'<hr height="1" size="1">'),
                td({-align=>'center',-colspan=>2},submit(-name=>"page",-value=>"page 4")),
        ]));

        print "<table border='0' width='100%'>".
                '<tr>'.td({-colspan=>4,-align=>'center'},'<hr height="1" size="1">').
                '</tr><tr>'.td({-colspan=>4,-align=>'center'},'<font size=2 face="Verdana, Arial, Helvetica, sans-serif" color="#ff0000">WARNING:  Your registration is not confirmed until the<br />        the "SUBMIT NOW" button is clicked.').
                '</tr><tr>'.td({-colspan=>4,-align=>'center'},'<font size=3 face="Verdana, Arial, Helvetica, sans-serif"><b><A HREF="javascript:window.print();">Click HERE to print this page</A></b>').
                '</tr><tr>'.td({-colspan=>4,-align=>'center'},'<hr height="1" size="1">').
                '</tr><tr><td colspan=4 align="center"></form><form method="post" action="[URL unfurl="true"]https://my.donet.com/formmail.php"[/URL] name="registration_form">'.
                #'</tr><tr><td colspan=4 align="center"></form><form method="post" action="[URL unfurl="true"]https://customer.donet.com/formmail.php"[/URL] name="registration_form">'.
                '<input type="hidden" name="recipient" value="richard@ayresats.com">
                 <input type="hidden" name="redirect" value="[URL unfurl="true"]https://secure.donet.com/ayresats/pages/registerok.htm">[/URL]
                 <input type="hidden" name="required" value="email">
                 <input type="hidden" name="subject" value="ATS Seminar Registration Form">'
                ;&loadvars; print

                submit(-name=>"SUBMIT",-value=>'SUBMIT NOW').

                '</td></tr><tr>'.td({-colspan=>4,-align=>'center'},'<hr height="1" size="1">').
                '</tr><tr>'.td({-colspan=>4,-align=>'center'},'<a href='.url().'> Start Over </a>').
                '</tr></table>'
        ;
}#End If

&end_page;
exit;

sub end_page { print endform; print $footer }

sub start_page {

print header,
'<head>
<title>Ayres Tax Seminars - Registration Form</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <link rel="Stylesheet" href="[URL unfurl="true"]https://www.ayresats.com/style.css"[/URL] type="text/css">
<!--  <base href="[URL unfurl="true"]https://www.ayresats.com/pages/">[/URL] -->
  <meta name="description" content="Ayres Tax Seminars - the Essential Tax Seminar. Tax education for professionals. Details about IRS tax changes.">
  <meta name="keywords" content="tax, taxation, irs, IRS, seminar, education, finance, financial, pension, taxpayer, government, seminar, education">

<script language="JavaScript">
<!--

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  }

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
  }

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
  }

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  }

//-->
</script>

</head>'

        ; if (param('page') eq "page 3") { &calcTotals }
        print
        "<body bgcolor='#FFFFFF' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' onLoad=\"MM_preloadImages('[URL unfurl="true"]https://www.ayresats.com/images/menubar/homeact.gif','https://www.ayresats.com/images/menubar/topicact.gif','https://www.ayresats.com/images/menubar/regact.gif','https://www.ayresats.com/images/menubar/accreditact.gif','https://www.ayresats.com/images/menubar/infoact.gif','https://www.ayresats.com/images/menubar/aboutact.gif','https://www.ayresats.com/images/menubar/updateact.gif','https://www.ayresats.com/images/menubar/contactact.gif','https://www.ayresats.com/images/menubar/locact.gif');";[/URL]
        # if (param('page') eq "page 3") { print "document.registration_form.wkbk_qty.focus();document.registration_form.wkbk_qty.select();" }
        print " \">",
        $tabletop,
        $leftsidebar,
        '</td>
        <td width="10" valign="top"><img src="[URL unfurl="true"]https://www.ayresats.com/images/clear.gif"[/URL] width="10" height="10"></td>
        <td width="571" valign="top" align="left">
        <div align="center">'
        ;

} # start_page

#*****************************************************************************************************************************
#*  INIT Subroutine
#*****************************************************************************************************************************
sub init {
#$camefrom = $ENV{'HTTP_REFERER'};
$tabletop = '
<table width="728" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="80" width="146" background="[URL unfurl="true"]https://www.ayresats.com/images/blue.gif">[/URL]
      <div align="center"><img src="[URL unfurl="true"]https://www.ayresats.com/images/atslogo.gif"[/URL] width="145" height="60"></div>
    </td>
    <td height="80" width="10" background="[URL unfurl="true"]https://www.ayresats.com/images/blue.gif"> </td>[/URL]
    <td height="80" width="571" background="[URL unfurl="true"]https://www.ayresats.com/images/blue.gif">[/URL]
      <div align="center"><img src="[URL unfurl="true"]https://www.ayresats.com/images/atsbanner.gif"[/URL] width="468" height="60"></div>
    </td>
    <td height="80" width="10" background="[URL unfurl="true"]https://www.ayresats.com/images/blue.gif"> </td>[/URL]
  </tr>
  <tr>
    <td width="146" valign="top" background="[URL unfurl="true"]https://www.ayresats.com/images/blue.gif">[/URL]
      <br>
      <br>
      <br>
      <br>
      <br>
';

$leftsidebar = '
      <table width="145" border="0" cellspacing="0" cellpadding="1">
        <tr>
          <td><img src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/seminars.gif"[/URL] width="144" height="21"></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/index.php"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Home\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/homeact.gif\',1)"><img[/URL] name="Home" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/homeup.gif"[/URL] width="144" height="24" alt="Home"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/topics.php"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Topics\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/topicact.gif\',1)"><img[/URL] name="Topics" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/topicup.gif"[/URL] width="144" height="24" alt="Topics"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/info.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Info\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/infoact.gif\',1)"><img[/URL] name="Info" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/infoup.gif"[/URL] width="144" height="24" alt="General Info"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/locations.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Locations\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/locact.gif\',1)"><img[/URL] name="Locations" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/locup.gif"[/URL] width="144" height="24"></a></td>
        </tr>
        <tr>
          <td><a href="#"><img name="Registration" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/regdn.gif"[/URL] width="144" height="24" alt="Registration"></a></td>
        </tr>
        <tr>
          <td><img src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/other.gif"[/URL] width="144" height="21"></td>
        </tr>
        <tr>
          <td> <a href="[URL unfurl="true"]https://www.ayresats.com/pages/acredit.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Accreditation\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/accreditact.gif\',1)"><img[/URL] name="Accreditation" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/accreditup.gif"[/URL] width="144" height="24" alt="CPE Accreditation"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/about.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'About\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/aboutact.gif\',1)"><img[/URL] name="About" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/aboutup.gif"[/URL] width="144" height="24" alt="About Us"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/testimonials.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'testimonial\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/testimonialact.gif\',1)"><img[/URL] name="testimonial" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/testimonialup.gif"[/URL] width="144" height="24" alt="Testimonials"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/updates/updates.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Updates\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/updateact.gif\',1)"><img[/URL] name="Updates" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/updateup.gif"[/URL] width="144" height="24" alt="Download Updates"></a></td>
        </tr>
        <tr>
          <td><a href="[URL unfurl="true"]https://www.ayresats.com/pages/contact.htm"[/URL] onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage(\'Contact\',\'\',\'[URL unfurl="true"]https://www.ayresats.com/images/menubar/contactact.gif\',1)"><img[/URL] name="Contact" border="0" src="[URL unfurl="true"]https://www.ayresats.com/images/menubar/contactup.gif"[/URL] width="144" height="24" alt="Contact Us!"></a></td>
        </tr>
      </table>
';

$rightsidebar = '

                <table width="150" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td> </td>
                  </tr>
                  <tr>
                    <td bgcolor="#CC0000">
                      <div align="center"><b><font color="#FFFFFF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Group
                        Discounts</font></b></div>
                    </td>
                  </tr>
                  <tr>
                    <td>
                      <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">$20.00
                        discount for all staff registering from the same company
                        when three or more register. The discount applies whether
                        or not they all attend the same location.
                        </font><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000"><b>
                        </b></font><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Full details on the <a href="[URL unfurl="true"]https://www.ayresats.com/pages/info.htm#DISCOUNT"[/URL] target="_blank">General
                        Information Page</a></font></div>
                    </td>
                  </tr>
                  <tr>
                    <td> </td>
                  </tr>
                  <tr>
                    <td bgcolor="#CC0000">
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Seminar
                        Workbooks</b></font></div>
                    </td>
                  </tr>
                  <tr>
                    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Every
                      seminar attendee receives a copy of the Ayres Tax Seminars
                      Workbook. <i>This book contains over 300 pages of valuable
                      and pertinent tax information.</i> Extra copies may be ordered
                      below. <a href="[URL unfurl="true"]https://www.ayresats.com/pages/handbooks.htm#WORKBOOK"[/URL] target="_blank">More
                      details here</a></font></td>
                  </tr>
                  <tr>
                    <td> </td>
                  </tr>
                  <tr bgcolor="#CC0000">
                    <td>
                      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF"><b>Quickfinders
                        </b></font></div>
                    </td>
                  </tr>
                  <tr>
                    <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif">A
                      valuable resource tool for the tax professional <b><font color="#CC0000">at
                      discount prices</font></b> that saves many hours of reading
                      and research. Includes cross-referenced IRS Code Sections
                      and Publications. More information about the Quickfinders
                      is <a href="[URL unfurl="true"]https://www.ayresats.com/pages/handbooks.htm#WORKBOOK"[/URL] target="_blank">here</a>.
                      <font color="#CC0000"><b>*</b></font>See below for more
                      details about the <a href="[URL unfurl="true"]https://www.ayresats.com/pages/info.htm#DISCOUNT">discounts</a>!</font></td>[/URL]
                  </tr>
                  <tr>
                    <td> </td>
                  </tr>
                </table>
';

$footer = '
      </div>
      <table width=100%><tr><td>
      <hr height="1" size="1">
      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1">
        [<a href="[URL unfurl="true"]https://www.ayresats.com/index.php">Home</a>[/URL]] | [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/topics.php">Topics</a>[/URL]]
        | [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/info.htm">General[/URL] Info</a>] | [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/locations.htm">Locations[/URL]
        & Dates</a>] | [Registration]<br>
        [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/acredit.htm">CPE[/URL] Accreditation</a>] | [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/about.htm">About[/URL]
        Us</a>] | [<a href="./testimonials.htm">Testimonials</a>] | [<a href="[URL unfurl="true"]https://www.ayresats.com/updates/updates.htm">Workbook[/URL]
        Updates</a>] | [<a href="[URL unfurl="true"]https://www.ayresats.com/pages/contact.htm">Contact[/URL] Us</a>]</font> </div>
        </td></tr></table>
        </td></tr></table>
    </td>
  </tr>
</table>
</body>
</html>
';

#*****************************************************************************************************************************
#*  Show confirmation page
#*****************************************************************************************************************************
{ # var pagelabels
        my($var,@vars);
        @vars = qw/seminar co contact add1 add2 cty st zip1 zip2 phone fax email comments conf3 attendees/;
        foreach $var (@vars) { $varpage{$var} = "page 1" }
        @vars = ();
        for ($i=1;$i<=param('attendees');$i++) { push @vars,
                "separator$i","fname$i","mi$i","lname$i","CPA$i","PA$i","EA$i","Tax$i","other$i","Atty$i","AttyNo$i","Aty-CPA$i","Aty-CPANo$i","Aty-CFP$i","Aty-CFPNo$i","CFP$i","CFPNo$i","CPA-CFP$i","CPA-CFPNo$i","EA-CFP$i","EA-CFPNo$i","co_ph$i","AttendeeMail$i",
         }
        foreach $var (@vars) { $varpage{$var} = "page 2" }
        @vars = qw/reg_qty reg_tl regdisc_qty regdisc_tl wkbk_qty wkbk_tl qfitfp_qty qfitfp_tl qfsb_qty qfsb_tl qfcd_qty qfcd_tl ttind_qty t
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top