#!/usr/bin/perl

use strict;
use CGI;

use Opals::Context;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_rangedPageList

);

use Opals::Equipment qw(

    eq_def_getRecordList
    eq_def_getItemList

    eq_item_find
    eq_record_find
    eq_record_delete
    srch_equipment

);

use Opals::Eq_Circulation qw(
    
    circ_infoRecord
);

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

my $cgi = CGI->new;
my $input = $cgi->Vars();

my ($permission, $cookieList, $template) = tmpl_read(
    {
        dbh             => $dbh,
        cgi             => $cgi,
        tmplFile        => 'eqmnt/searchPopUp.tmpl',
    }
);
################################################################################

my $kw = $input->{'kw'};
my $field = $input->{'field'};

my $defRecList  = eq_def_getRecordList($dbh);
my $defItemList = eq_def_getItemList($dbh);
my $pRange = 5;
my $pSize = 20;
my $curPage = $input->{'pNum'};
my $offset;
my ($resultSize, $recordList) ;

($curPage && $curPage >= 1) || ($curPage = 1);
$offset = ($curPage - 1) * $pSize;

$template->param(
    sKw     =>  $kw,
    sField  =>  $input->{'field'},
    pNum    =>  $curPage,
    sfIndex =>  ($input->{'sfIndex'})?$input->{'sfIndex'}:0 ,

);
my $params = {offset=>$offset, pSize=>$pSize, kw=>$kw, field=>$field};
if ($field && $kw){
    ($resultSize, $recordList) = srch_equipment($dbh, $field, $kw, $offset, $pSize);
}
my $result = ($resultSize > 0)? 1:0;

my @rangedPageList = tmpl_rangedPageList($resultSize, $curPage, $pSize, $pRange);
    foreach my $record(@$recordList){
        my ($numTotal, $numLoan, $numReserve, $numHold, $itemList,$totalCirc) = circ_infoRecord($dbh, $record->{'rid'});
           $record->{'numTotal'}        = $numTotal;
           $record->{'numLoan'}         = $numLoan;
           $record->{'numReserve'}      = $numReserve;
           $record->{'numHold'}         = $numHold;
           $record->{'numReserveTotal'} = $numReserve + $numHold;
           $record->{'numAvailable'}    = $numTotal - $numLoan - $numHold;
           $record->{'itemList'}        = $itemList;
    }

$template->param(
    defRecList      =>  $defRecList, 
    defItemList     =>  $defItemList,
    recordList      =>  $recordList, 
    result          =>  $result,
    resultSize      =>  $resultSize,
    rangedPageList  =>  \@rangedPageList
);


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




