function opt(what,href,text) {
        var optionName = new Option(text, href, false, false)
        var length = what.length;
        what.options[length] = optionName;
      }
      function popstate_changed(what) {
        state = what.options[what.selectedIndex].text;
        what.form.popnum.options.length = 0;
        what.form.popnum.options[0] = new Option("", "", false, true);
END
    foreach my $popstate ( sort { $a cmp $b } keys %pop ) {
      $text .= "\nif ( state == \"$popstate\" ) {\n";
      foreach my $pop ( @{$pop{$popstate}}) {
        my $o_popnum = $pop->{popnum};
        my $poptext =  $pop->{city}. ', '. $pop->{state}.
                       ' ('. $pop->{ac}. ')/'. $pop->{exch}. '-'. $pop->{loc};
        $text .= "opt(what.form.popnum, \"$o_popnum\", \"$poptext\");\n"
      }
      $text .= "}\n";
    }
    $text .= "}\n\n";
    $text .=
      qq!'; #callback? return 3 html pieces?  #'| ';
  }
  $text .= qq!';
  $text;
}
sub expselect {
  my $prefix = shift;
  my $date = shift || '';
  my( $m, $y ) = ( 0, 0 );
  if ( $date  =~ /^(\d{4})-(\d{2})-\d{2}$/ ) { #PostgreSQL date format
    ( $m, $y ) = ( $2, $1 );
  } elsif ( $date =~ /^(\d{1,2})-(\d{1,2}-)?(\d{4}$)/ ) {
    ( $m, $y ) = ( $1, $3 );
  }
  my $return = qq! |