#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

use Opals::Context;
use Opals::Template qw(
    tmpl_read
    tmpl_write
);
use Opals::Search qw(
    srch_searchRecord
);
use Opals::Marc21 qw(
    mc21_parseRecord
);

my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi = CGI->new;
my $input = $cgi->Vars();
my ($permission, $cookie, $template) = tmpl_read(
        {
            dbh             => $dbh,
            cgi             => $cgi,
            tmplFile        => 'marc21/preview.tmpl',
        }
);

#my $zid = $input->{'zid'};
#($zid && $zid >= 0) || ($zid = 0);
#
my $rid = $input->{'rid'};

if ($rid) {
    # See Search.pm for more info on use attribute.
    my $pqf = "\@attr 1=12 $rid";
    #my ($resultSize, $marcxml) = srch_searchRecord($dbh, $zid, 'f', $pqf, 1, 1);
    my ($resultSize, $marcxml) = srch_searchRecord($dbh, 0, 'f', $pqf, $ENV{'Z_INDEX_BASE'}, 1);
    my @rec = mc21_parseRecord($marcxml->[0]);
#open vvv, ">:utf8", "/tmp/vvv";
#print vvv $marcxml->[0];
#print vvv "####################################\n\n";
#foreach my $f (@rec) {
#    if ($f->{'subfield'}) {
#        foreach my $sf (@{$f->{'subfield'}}) {
#            print vvv "$sf->{'code'} $sf->{'data'}\n";
#        }
#    }
#}
#close vvv;
    $template->param(
        rec => \@rec,
    );
}
else {
    $template->param(
        error => 1,
    );
}


tmpl_write($dbh, $cgi, $cookie, $template);
