fix silly problem in H:W:SelectLayers with moving SELECTs to the real form
[freeside.git] / fs_signup / FS-SignupClient / cgi / signup-alternate.html
1 <HTML><HEAD><TITLE>ISP Signup form</TITLE></HEAD>
2 <BODY BGCOLOR="#e8e8e8"><FONT SIZE=7>ISP Signup form</FONT><BR><BR>
3 <FONT SIZE="+1" COLOR="#ff0000"><%= $error %></FONT>
4 <FORM NAME="dummy">
5 <INPUT TYPE="hidden" NAME="magic" VALUE="process">
6 <INPUT TYPE="hidden" NAME="ref" VALUE="<%= $referral_custnum %>">
7 <INPUT TYPE="hidden" NAME="ss" VALUE="">
8 <INPUT TYPE="hidden" NAME="agentnum" VALUE="3">
9 Contact Information
10 <TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0 WIDTH="100%">
11 <TR>
12   <TH ALIGN="right"><font color="#ff0000">*</font>Contact name<BR>(last, first)</TH>
13   <TD COLSPAN=5><INPUT TYPE="text" NAME="last" VALUE="<%= $last %>">,
14                 <INPUT TYPE="text" NAME="first" VALUE="<%= $first %>"></TD>
15 </TR>
16 <TR>
17   <TD ALIGN="right">Company</TD>
18   <TD COLSPAN=5><INPUT TYPE="text" NAME="company" SIZE=70 VALUE="<%= $company %>"></TD>
19 </TR>
20 <TR>
21   <TH ALIGN="right"><font color="#ff0000">*</font>Address</TH>
22   <TD COLSPAN=5><INPUT TYPE="text" NAME="address1" SIZE=70 VALUE="<%= $address1 %>"></TD>
23 </TR>
24 <TR>
25   <TD ALIGN="right">&nbsp;</TD>
26   <TD COLSPAN=5><INPUT TYPE="text" NAME="address2" SIZE=70 VALUE="<%= $address2 %>"></TD>
27 </TR>
28 <TR>
29   <TH ALIGN="right"><font color="#ff0000">*</font>City</TH>
30   <TD><INPUT TYPE="text" NAME="city" VALUE="<%= $city %>"></TD>
31   <TH ALIGN="right"><font color="#ff0000">*</font>State/Country</TH>
32   <TD><SELECT NAME="state" SIZE="1">
33
34   <%=
35     foreach ( @{$locales} ) {
36       $OUT .= '<OPTION';
37       $OUT .= ' SELECTED' if ( $state eq $_->{'state'}
38                                && $county eq $_->{'county'}
39                                && $country eq $_->{'country'}
40                              );
41       $OUT .= '>'. $_->{'state'};
42       $OUT .= ' ('. $_->{'county'}. ')' if $_->{'county'};
43       $OUT .= ' / '. $_->{'country'};
44     }
45   %>
46
47   </SELECT></TD>
48   <TH><font color="#ff0000">*</font>Zip</TH>
49   <TD><INPUT TYPE="text" NAME="zip" SIZE=10 VALUE="<%= $zip %>"></TD>
50 </TR>
51 <TR>
52   <TD ALIGN="right">Day Phone</TD>
53   <TD COLSPAN=5><INPUT TYPE="text" NAME="daytime" VALUE="<%= $daytime %>" SIZE=18></TD>
54 </TR>
55 <TR>
56   <TD ALIGN="right">Night Phone</TD>
57   <TD COLSPAN=5><INPUT TYPE="text" NAME="night" VALUE="<%= $night %>" SIZE=18></TD>
58 </TR>
59 <TR>
60   <TD ALIGN="right">Fax</TD>
61   <TD COLSPAN=5><INPUT TYPE="text" NAME="fax" VALUE="<%= $fax %>" SIZE=12></TD>
62 </TR>
63 </TABLE><font color="#ff0000">*</font> required fields<BR>
64
65 <BR><BR>First package
66
67   <%= use Tie::IxHash;
68       my %pkgpart2payby = map { $_->{pkgpart} => $_->{payby}[0] } @{$packages};
69       tie my %options, 'Tie::IxHash',
70         '' => '(none)',
71         map { $_->{pkgpart} => $_->{pkg} } @{$packages} 
72       ;
73
74       use HTML::Widgets::SelectLayers 0.02;
75       my $widget = new HTML::Widgets::SelectLayers(
76         options => \%options,
77         selected_layer => $pkgpart,
78         form_name => 'dummy',
79         form_action => $self_url,
80         form_text => [qw( magic ref ss agentnum
81                           last first company address1 address2
82                           city zip daytime night fax )],
83         form_select => [qw( state )], #county country
84         layer_callback => sub {
85           my $layer = shift;
86           my $html = <<ENDOUT;
87 <INPUT TYPE="hidden" NAME="pkgpart" VALUE="$layer">
88 <TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0>
89 <TR>
90   <TH ALIGN="right"><font color="#ff0000">*</font>Username</TH>
91   <TD><INPUT TYPE="text" NAME="username" VALUE="$username"></TD>
92 </TR>
93 <TR>
94   <TH ALIGN="right"><font color="#ff0000">*</font>Password</TH>
95   <TD><INPUT TYPE="password" NAME="_password" VALUE="$password"></TD>
96 </TR>
97 <TR>
98   <TH ALIGN="right"><font color="#ff0000">*</font>Re-enter Password</TH>
99   <TD><INPUT TYPE="password" NAME="_password2" VALUE="$password2"></TD>
100 </TR>
101 ENDOUT
102           if ( $init_data->{'security_phrase'} ) {
103             $html .= <<ENDOUT;
104 <TR>
105   <TD ALIGN="right">Security Phrase</TD>
106   <TD><INPUT TYPE="text" NAME="sec_phrase" VALUE="$sec_phrase">
107   </TD>
108 </TR>
109 ENDOUT
110           } else {
111             $html .= '<INPUT TYPE="hidden" NAME="sec_phrase" VALUE="">';
112           }
113
114           if ( scalar(@$pops) ) {
115             $html .= '<TR><TD ALIGN="right">Access number</TD><TD>'.
116                      popselector($popnum). '</TD></TR>';
117           } else {
118             $html .= popselector($popnum);
119           }
120
121           $html .= '</TABLE><font color="#ff0000">*</font> required fields';
122
123           if ( $pkgpart2payby{$layer} eq 'BILL' ) {
124             $html .= <<ENDOUT;
125 <INPUT TYPE="hidden" NAME="payby" VALUE="BILL">
126 <INPUT TYPE="hidden" NAME="invoicing_list_POST" VALUE="">
127 <INPUT TYPE="hidden" NAME="BILL_payinfo" VALUE="">
128 <INPUT TYPE="hidden" NAME="BILL_month" VALUE="12">
129 <INPUT TYPE="hidden" NAME="BILL_year" VALUE="2037">
130 <INPUT TYPE="hidden" NAME="BILL_payname" VALUE="">
131 <BR><BR><INPUT TYPE="submit" VALUE="Signup">
132 ENDOUT
133           } elsif ( $pkgpart2payby{$layer} eq 'CARD' ) {
134             my $postal_checked = '';
135             my @invoicing_list = split(', ', $invoicing_list );
136             $postal_checked = 'CHECKED'
137               if ! @invoicing_list || grep { $_ eq 'POST' } @invoicing_list;
138
139             $invoicing_list= join(', ', grep { $_ ne 'POST' } @invoicing_list );
140
141             my $expselect = expselect("CARD", $paydate);
142
143             my $cardselect = '<SELECT NAME="CARD_type"><OPTION></OPTION>';
144             my %types = (
145                           'VISA' => 'VISA card',
146                           'MasterCard' => 'MasterCard',
147                           'Discover' => 'Discover card',
148                           'American Express' => 'American Express card',
149                         );
150             foreach ( keys %types ) {
151               $selected =
152                 $cgi->param('CARD_type') eq $types{$_} ? 'SELECTED' : '';
153               $cardselect .=
154                 qq!<OPTION $selected VALUE="$types{$_}">$_</OPTION>!;
155             }
156             $cardselect .= '</SELECT>';
157
158             $html .= <<ENDOUT;
159 <INPUT TYPE="hidden" NAME="payby" VALUE="CARD">
160 <BR><BR>Billing information
161 <TABLE BGCOLOR="#c0c0c0" BORDER=0 CELLSPACING=0>
162 <INPUT TYPE="hidden" NAME="invoicing_list_POST" VALUE="">
163 <TR>
164   <TD ALIGN="right">Email statement to </TD>
165   <TD><INPUT TYPE="text" NAME="invoicing_list" VALUE="$invoicing_list"></TD>
166 </TR>
167 <TR>
168   <TH ALIGN="right"><font color="#ff0000">*</font>Credit card type</TH>
169   <TD>$cardselect</TD>
170 </TR>
171 <TR>
172   <TH ALIGN="right"><font color="#ff0000">*</font>Card number</TH>
173   <TD><INPUT TYPE="text" NAME="CARD_payinfo" VALUE="$payinfo" MAXLENGTH=19></TD>
174 </TR>
175 <TR>
176   <TH ALIGN="right"><font color="#ff0000">*</font>*</font>Exp</TH>
177   <TD>$expselect</TD>
178 </TR>
179 <TR>
180   <TH ALIGN="right"><font color="#ff0000">*</font>Name on card</TH>
181   <TD><INPUT TYPE="text" NAME="CARD_payname" VALUE="$payname"></TD>
182 </TR>
183 </TABLE>
184 <font color="#ff0000">*</font> required fields
185 <BR><BR><INPUT TYPE="submit" VALUE="Signup">
186 ENDOUT
187           } else {
188             $html = <<ENDOUT;
189 <BR>Please select a package.<BR>
190 ENDOUT
191
192           }
193
194           $html;
195
196         },
197       );
198
199       $widget->html;
200
201
202  %>
203 </BODY></HTML>