summaryrefslogtreecommitdiff
path: root/fs_selfservice/FS-SelfService/cgi/change_pay.html
blob: 9633e8920de739d6b14c4c41627d930f04c75f44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<%= $url = "$selfurl?session=$session_id;action="; ''; %>
<%= include('header', 'Change payment information') %>

<%= if ( $error ) { 
  $OUT .= qq!<FONT SIZE="+1" COLOR="#ff0000">Error: $error</FONT><BR><BR>!;
  }  ''; %>

<FORM NAME="OneTrueForm" METHOD="POST" ACTION="<%=$selfurl%>" onSubmit="document.OneTrueForm.process.disabled=true">
<%=
  use Tie::IxHash;
  use HTML::Widgets::SelectLayers;

  my $preauto = '<TR><TD COLSPAN=3><INPUT TYPE="checkbox" NAME="auto" VALUE="1"';
  my $postauto = '>Charge future payments to this card automatically</TD></TR>';

  my $tail = qq(</TABLE><INPUT TYPE="hidden" NAME="session" VALUE="$session_id">). 
             qq(<INPUT TYPE="hidden" NAME="action" VALUE="process_change_pay">).
             qq(<BR>).
             qq(<INPUT TYPE="submit" NAME="process" ).
             qq(VALUE="Save payment information"> ).
             qq(<!-- onClick="this.disabled=true"> -->);


  my %paybychecked = (
    'BILL' => include('bill'),
    'CARD' => include('card')."$preauto CHECKED $postauto",
    'DCRD' => include('card')."$preauto $postauto",
    'CHEK' => include('check')."$preauto CHECKED $postauto",
    'DCHK' => include('check')."$preauto $postauto",
  );
  my %payby_index = ( 'CARD'   => qq/Credit Card/,
                      'DCRD'   => qq/Credit Card/,
                      'CHEK'   => qq/Check/,
                      'DCHK'   => qq/Check/,
                      'LECB'   => qq/Phone Bill Billing/,
                      'BILL'   => qq/Billing/,
                      'COMP'   => qq/Complimentary/,
                      'PREP'   => qq/Prepaid Card/,
                      'PREPAY' => qq/Prepaid Card/,
                    );
  tie my %options, 'Tie::IxHash', ();
  foreach my $payby_option ( grep { exists( $payby_index{$_} ) } @paybys ) {
    $options{$payby_option} = $payby_index{$payby_option};
  }
  $options{$payby} = $payby_index{$payby}
    unless exists($options{$payby});

  #don't want to show multiple "Credit card" or "Check" options
  my %paybyremove = (
    'CARD' => 'DCRD',
    'DCRD' => 'CARD',
    'CHEK' => 'DCHK',
    'DCHK' => 'CHEK',
  );
  delete( $options{ $paybyremove{$payby} } );
  delete $options{'DCRD'} unless $payby eq 'DCRD' || ! exists $options{'CARD'};
  delete $options{'DCHK'} unless $payby eq 'DCHK' || ! exists $options{'CHEK'};

  HTML::Widgets::SelectLayers->new(
    options => \%options,
    selected_layer => $payby,
#    form_name => 'dummy',
#    form_action => 'dummy.cgi',
    layer_callback => sub { my $layer = shift; return '<TABLE BGCOLOR="#cccccc">'.$paybychecked{$layer}.qq!<INPUT TYPE="hidden" NAME="payby" VALUE="$layer">$tail!; },
  )->html;

%>

<%= include('footer') %>