#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

use Opals::Context;
use Date::Calc qw(Day_of_Week Week_Number Day_of_Year);
use Date::Calc::Object qw(
    :all
);
use Time::localtime;

use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_preference
);

use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use Opals::Date qw(
    date_parse
    date_today
    date_text
    date_f005

);
use Opals::User qw(
    user_getInformationById
);


use Opals::HTMLComponents qw(
    hc_getQuickUserEntryFormHTML
);


################################################################################
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        => 'circ/booking.tmpl',
            reqPermission   => 'circ_rsrv_self|circ_rsrv',
        }
);
    my $dateToday = date_f005();
    $dateToday =~ s/([\d]{4})([\d]{2})([\d]{2})[\d]+\.(0|1)/$1-$2-$3/;
my $syspref          = tmpl_preference($dbh);


my @cookieList  = (@$cookie);
my $tm          = localtime;
my $todayStr    = sprintf("%04d-%02d-%02d", $tm->year+1900, ($tm->mon)+1, $tm->mday);
my $dFirst      = Opals::Context->preference('dateFirst');
my $dLast       = Opals::Context->preference('dateLast');
my $qeUserForm =hc_getQuickUserEntryFormHTML($dbh);
    $template->param(qeUserForm=>$qeUserForm);


my $loginuid    = $template->param('curUserId');
my ($userInfo, $guardian) =user_getInformationById($dbh, $loginuid);

my $selBid  = $input->{'selBid'};
my $op      = $input->{'op'};

if ($permission && ($permission->{'circ_rsrv_self'}|| $permission->{'circ_rsrv'})){   
    if($permission->{'circ_rsrv'}){
        $template->param(hasCircRight =>1);
    }
    if($userInfo->{'categorycode'}==10){#teacher
        $template->param(isTeacher =>1);
    }
    if($userInfo->{'categorycode'} !=10 && !$permission->{'circ_rsrv'}){
        $template->param(isPatron =>1);
    }
    if($selBid && $selBid ne ''){
        $template->param(selBid => $selBid);
    }
    if($op && $op ne ''){
        $template->param(op => $op);
    }
    elsif($userInfo && !$permission->{'circ_rsrv'}){
        push @cookieList, $cgi->cookie(
            -name   => 'borrower',
            -value  => $userInfo->{'uid'}
        );
        $template->param(
            req_uid             => $userInfo->{'uid'},
            reqFirstname        => $userInfo->{'firstname'},
            reqLastname         => $userInfo->{'lastname'},
        );
    }


         
}#if ($permission && $permission->{'circ_loan'})


my $msgMap            =loc_getMsgFile('circ/booking.msg');
my $userqeMsgMap      =loc_getMsgFile('circ/quickUserAjaxFrm.msg');
my $userSelPanMsgMap  =loc_getMsgFile('circ/userSelPan.msg');
loc_write($template,$msgMap);
loc_write($template,$userqeMsgMap);
loc_write($template,$userSelPanMsgMap);

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

################################################################################


