#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

use Opals::Context;#use MARC::File::USMARC;
#use MARC::File::XML;

use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_rangedPageList
);
use Opals::Circulation qw(
    circ_getRecCircStatus_ebook
);
use Opals::BookCover qw(
    bookCover_opals
);

use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use Opals::WebServiceEbookClient qw(
    wsc_searchEbook
    wsc_searchEbook_import
);
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        => 'ebook/importEbook.tmpl',
        }
);

my @cookieList = (@$cookie);



 if( $input->{'kw0'} ne ''){
    my $searchField= $input->{'sf0'} ;
    my $pSize   = 9;
    my $curPage = $input->{'pNum'};
    ($curPage && $curPage >= 1) || ($curPage = 1);
    my $offset  = ($curPage - 1) * $pSize ;
    
    $input->{'offset'}=$offset;
    $input->{'size'}=$pSize;
    my $sortAttr =$input->{'sortAttr'};
    my $rs=undef;
        $input->{$searchField}= $input->{'kw0'};
        $rs= wsc_searchEbook_import($input);   
        my ($hits,$ebookList) = ($rs->{'hits'},$rs->{'recordList'});
        my @rangedPageList = tmpl_rangedPageList($hits, $curPage, $pSize, 10);
        bookCover_opals($ebookList);

        if($hits>0){
            foreach my $r(@$ebookList){
                my $circStatus=circ_getRecCircStatus_ebook($dbh,$r->{'bid'});
                $r->{'totalHolding'}=$circStatus->{'totalHolding'};
                $r->{'onLoan'}      =$circStatus->{'onLoan'};
                $r->{'onReserve'}   =($circStatus->{'onReserve'})?$circStatus->{'onReserve'} :0 ;
                $r->{'onHold'}      =$circStatus->{'onHold'};
                $r->{'available'}   =$circStatus->{'available'};
                $r->{'ebookLicType'} =$circStatus->{'ebookLicType'};
                if($r->{'ebookLicType'} eq 'free'){
                    $r->{'ebookReadAllow'} =1;
                }
            }

        }

        $template->param(
           hits      =>$hits,
           ebookList =>$ebookList,
           "sortAttr_$sortAttr"=>1,
           sortAttr  => $sortAttr, 
           srchTerm  =>$input->{'kw0'}, 
           rangedPageList=> \@rangedPageList          
        );
}

#=======================================================


my $stdMsgMap  =loc_getMsgFile('/ebook.msg');
loc_write($template,$stdMsgMap);



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