%if ( $payby_default eq 'HIDE' ) {
%
%  $cust_main->payby('BILL') unless $cust_main->payby;
%  my $payby = $cust_main->payby;
  
  
% foreach my $field (qw( payname paycvv paystart_month paystart_year payissue payip paytype paystate )) { 
    
% } 
%  #false laziness w/elements/select-month_year.html & view/cust_main/billing.html
%  my( $mon, $year );
%  my $date = $cust_main->paydate || '12-2037';
%  if ( $date  =~ /^(\d{4})-(\d{1,2})-\d{1,2}$/ ) { #PostgreSQL date format
%    ( $mon, $year ) = ( $2, $1 );
%  } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
%    ( $mon, $year ) = ( $1, $3 );
%  } else {
%    die "unrecognized expiration date format: $date";
%  }
  
  
  
  
% } else {
%
%  my $r = qq!* !;
  
Billing information
  <% &ntable("#cccccc") %>
    
      | <%$r%>Billing type<% include('/elements/init_overlib.html') %>
%  my $payby = $cust_main->payby;
%  my $paytype = $cust_main->paytype;
%  my( $account, $aba ) = split('@', $payinfo);
%
%  my $disabled = 'DISABLED style="background-color: #dddddd"';
%  my $text_disabled = 'style="color: #999999"';
%
%  if ( $payby =~ /^(CARD|DCRD)$/ && cardtype($payinfo) =~ /^(Switch|Solo)$/ ) {
%    $disabled = 'style="background-color: #ffffff"';
%    $text_disabled = 'style="color: #000000";'
%  }
%
%  my %payby = (
%
%    'CARD' =>
%
%      '',
%
%    'CHEK' => 
%
%      '',
%
%    'LECB' =>  
%
%      '',
%
%    'BILL' =>  
%
%      '',
%
%    'COMP' =>   
%
%      '',
%
%    'CASH' =>
%
%      '',
%
%    'WEST' =>
%
%      '',
%
%    'MCRD' =>
%
%      '',
%
%  );
%
%  #this should use FS::payby
%  my @allopt = qw( CARD CHEK LECB BILL CASH WEST MCRD COMP );
%
%  my %allopt = map { $_ => FS::payby->shortname($_) } @allopt;
%
%  if ( $cust_main->custnum ) {
%    #don't offer CASH/WEST/MCRD initial payment types when editing customer
%    delete $allopt{$_} for qw(CASH WEST MCRD);
%  }
%  
%  my @options = grep exists( $allopt{$_} ), @payby;
%
%  my %payby2option = (
%    ( map { $_ => $_ } @options ),
%    'DCRD' => 'CARD',
%    'DCHK' => 'CHEK',
%  ); | <% include( '/elements/selectlayers.html',
                  'field'      => 'payby',
                  'curr_value' => $payby2option{$payby || $payby_default || $payby[0] },
                  'options'    => \@options,
                  'labels'     => \%allopt,
                  'html_between' => ' | 
',
                  'layer_callback' => sub { my $layer = shift; $payby{$layer}; },
              )
    %>
  <% &ntable("#cccccc") %>
    |  | 
%   my @exempt_groups = grep /\S/, $conf->config('tax-cust_exempt-groups');
    
      | tax eq "Y" ? 'CHECKED' : '' %>> Tax Exempt<% @exempt_groups ? ' (all taxes)' : '' %> | 
%   foreach my $exempt_group ( @exempt_groups ) {
%     #escape $exempt_group for NAME
      
        | tax_exemption($exempt_group) ? 'CHECKED' : '' %>> Tax Exempt (<% $exempt_group %> taxes) |  | 
%   }
% unless ( $conf->exists('emailinvoiceonly') ) {
    
      | > Postal mail invoice | 
    
      | > Fax invoice | 
% }
    
      | <% $conf->exists('cust_main-require_invoicing_list_email') ? $r : '' %>Email address(es) |  | 
    
      | Invoice terms |  | 
% if ( $conf->exists('voip-cust_cdr_spools') ) { 
      
       | spool_cdr eq "Y" ? 'CHECKED' : '' %>> Spool CDRs | 
% } else { 
      
% }
% if ( $conf->exists('voip-cust_cdr_squelch') ) { 
      
       | squelch_cdr eq "Y" ? 'CHECKED' : '' %>> Omit CDRs from invoices | 
% } else { 
      
% }
% if ( $conf->exists('voip-cust_email_csv_cdr') ) { 
      
       | email_csv_cdr eq "Y" ? 'CHECKED' : '' %>> Attach CDRs as CSV to emailed invoices | 
% } else { 
      
% }
% if ( $show_term || $cust_main->cdr_termination_percentage ) {
      
       | CDR termination settlement | % | 
% } else {
      
% }
  
  <% $r %> required fields
% } 
<%once>
my $paystate_label = FS::Msgcat::_gettext('paystate');
$paystate_label = 'Bank state' if $paystate_label =~/^paystate$/;
%once>
<%init>
my( $cust_main, %options ) = @_;
my @invoicing_list = @{ $options{'invoicing_list'} };
my $payinfo = $options{'payinfo'};
my $conf = new FS::Conf;
my $payby_default = $conf->config('payby-default');
my @payby = grep /\w/, $conf->config('payby');
#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP ))
@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP ))
  unless @payby;
my $show_term = '';
if ( $cust_main->custnum ) {
  #false laziness w/view/cust_main/billing.html
  my $term_sql = "SELECT COUNT(*) FROM cust_pkg LEFT JOIN part_pkg USING ( pkgpart ) WHERE custnum = ? AND plan = 'cdr_termination' LIMIT 1";
  my $term_sth = dbh->prepare($term_sql)  or die dbh->errstr;
  $term_sth->execute($cust_main->custnum) or die $term_sth->errstr;
  $show_term = $term_sth->fetchrow_arrayref->[0];
}
%init>