% include('/elements/xmlhttp.html',
              'url'  => $url_prefix.'misc/svc_acct-domains.cgi',
              'subs' => [ $opt{'prefix'}. 'get_domains' ],
           )
%>
<% include('/elements/xmlhttp.html',
              'url'  => $url_prefix.'misc/part_svc-columns.cgi',
              'subs' => [ $opt{'prefix'}. 'get_part_svc' ],
           )
%>
<% include( '/elements/selectlayers.html',
              'field'        => $opt{'prefix'}. 'pkgpart_svcpart',
              'curr_value'   => $opt{pkgpart_svcpart},
              'options'      => \@options,
              'labels'       => \%labels,
              'html_between' => '',
              #'onchange'     => $opt{'prefix'}. 'pkgpart_svcpart_changed(this,0);',
              'onchange'     => $opt{'prefix'}. 'pkgpart_svcpart_changed_too(what,0)',
              'layer_callback' => $layer_callback,
              'layermap'       => \%layermap,
          )
%>
<%init>
my %opt = @_;
foreach my $opt (qw( svc_part pkgparts saved_pkgpart saved_domsvc prefix)) {
  $opt{$_} = '' unless exists($opt{$_}) && defined($opt{$_});
}
$opt{saved_domsvc} = 0 unless $opt{saved_domsvc};
my $url_prefix = $opt{'relurls'} ? '' : $p;
my @part_pkg = @{$opt{'part_pkg'}};
my @first_svc = ( 'svc_acct', 'svc_phone' );
my %pkgpart_svcpart = ();
my %svcdb = ();
my %layermap = ();
foreach my $part_pkg ( @part_pkg ) {
  my $pkgpart = $part_pkg->pkgpart;
  my $pkgpart_svcpart         = $pkgpart. "_". $part_pkg->svcpart(\@first_svc);
  $pkgpart_svcpart{$pkgpart}  = $pkgpart_svcpart;
  $svcdb{$pkgpart}            = $part_pkg->part_svc(\@first_svc)->svcdb;
  $layermap{$pkgpart_svcpart} = $svcdb{$pkgpart};
}
my @options = ();
push @options, '' unless $opt{'disable_empty'};
push @options, map $pkgpart_svcpart{ $_->pkgpart }, @part_pkg;
my %labels = ( '' => ( $opt{'empty_label'} || '(none)' ),
               map { $pkgpart_svcpart{ $_->pkgpart } => $_->pkg_comment }
                   @part_pkg
             );
my $layer_callback = sub {
  my $layer = shift;
  #$layer_fields, $layer_values, $layer_prefix
#  my( $pkgpart, $svcpart ) = split('_', $layer);
#  my $svcdb = $svcdb{$pkgpart};
  my $svcdb = $layer;
  return '' unless $svcdb; #'
'
  #full path cause we're being slung around as a coderef (mason closures?)
  include("/edit/cust_main/first_pkg/$svcdb.html", %opt, );
};
%init>