#!/usr/bin/perl

#use utf8;
use strict;
use CGI;

use Opals::Context;

use POSIX qw(
    ceil
);
use Opals::Template qw(
    tmpl_rangedPageList
    tmpl_read
    tmpl_write
    tmpl_preference
    tmpl_OWLSrchFieldOrder
);
use Opals::Circulation qw(
    circ_infoRecord
);
use Opals::BookCover qw(
    bookCover_getUrl
);
my $dbh = Opals::Context->dbh();
END { $dbh->disconnect(); }

my $cgi = CGI->new;
my $input = $cgi->Vars();
my $pageEdit = (defined $input->{'pageEdit'} && $input->{'pageEdit'} ==1)? 1:0;

my ($permission, $cookie, $template) = tmpl_read(
        {
            dbh             => $dbh,
            cgi             => $cgi,
            tmplFile        => 'search/bgnrSrch/srchPage.tmpl',
            reqPermission   =>($pageEdit ==1)?'pref_edit':'',
        }
);
my @cookieList = (@$cookie);
if ($permission && $permission->{'pref_edit'}) {
     $template->param(editable=>(!$pageEdit && $permission->{'pref_edit'}));
}

my  $lang = $cgi->cookie('language');
my  $screenRes = $cgi->cookie('screenRes');
if($screenRes >1024){
    $screenRes =1280;
}
else{
    $screenRes =1024;
}
if($lang !~ m/en|fr/i){
    $lang          = 'en';
}
my $pref = tmpl_preference($dbh);
my $multilingual            = $pref->{'multilingual'};
 my  $srchLoc      =Opals::Context->preference('OWLsrchLocation');
    my $locList=[];
    foreach my $loc (split(",",$srchLoc)){
        push @$locList,{location=>$loc} if($loc ne "");
    }

    # Fri, Sep 11, 2009 @ 10:32:39 EDT
    # OWLBgSrchFieldsByOrder
    my $OWLBgSrchFieldsByOrder ;
    $OWLBgSrchFieldsByOrder = tmpl_OWLSrchFieldOrder($pref->{'OWLBgSrchFields'});
    my $leafDB =getLeafDB($dbh);
 $template->param(
        OWLsf     => $OWLBgSrchFieldsByOrder,
        locList=>$locList,
        "screenRes_$screenRes" => 1,
        srch => 1,
        leafDB=>$leafDB,
        pageEdit=>$pageEdit,
    );
 tmpl_write($dbh, $cgi, \@cookieList, $template);


sub getLeafDB{
    my ($dbh)=@_;
    my $sth=$dbh->prepare("select  rank,name as title ,url,description from opl_extDatabase where page='OWL'  order by rank");
    my $rv =$sth->execute();
    my @leafList; 
    while(my $l = $sth->fetchrow_hashref){
        push @leafList, $l;
    } 
    return \@leafList;

}
