#!/usr/bin/perl

#use utf8;
use strict;
use CGI;
use JSON;

use Opals::Context;
use Opals::Date qw( 
    date_getDeadLineDate
);
use Opals::Circulation qw(
    circ_getRecInfo
    circ_placeReqRsv
);

use Time::localtime;
my $tm = localtime;
my $todayStr = sprintf("%04d-%02d-%02d", $tm->year+1900, ($tm->mon)+1, $tm->mday);

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

my $cgi = CGI->new;
my $input = $cgi->Vars();
    my ($rid,$uid,$email,$phone,$noticeType,$numCopyReserve)=($input->{'rid'},$input->{'uid'},$input->{'email'},
                                                       $input->{'phone'},$input->{'noticeType'},$input->{'numCopy'});
    if(defined $noticeType && $noticeType eq 'email' && $email eq '' && $phone ne''){
        $noticeType ='phone';
    }
    elsif(defined $noticeType && $noticeType eq 'phone' && $phone eq '' && $email ne''){
        $noticeType ='email';
    }
    
    my $dateExpiry =$input->{'dateExpiry'};
    if(!defined $dateExpiry || $dateExpiry eq ""){
        my $recInfo  = circ_getRecInfo($dbh, $rid, $uid);
        if($recInfo->{'reservePeriod'}>0){
            $dateExpiry=date_getDeadLineDate($recInfo->{'reservePeriod'}, $todayStr);
        }
   }

    my $idReq=circ_placeReqRsv($dbh, $uid,$rid,$numCopyReserve,$dateExpiry,$email,$phone,$noticeType);


    print "Content-type: text/plain\n\n";
    print  to_json({idReq=>$idReq});




