#!/usr/bin/perl

use strict;
use CGI;

use Opals::Context;
use Opals::Constant;
use Opals::Template qw(
    tmpl_read
    tmpl_write
    tmpl_redirect
);

use Opals::Locale qw(
    loc_getMsgFile
    loc_write
);
use Opals::Date qw(
    date_f005
    date_text
);
use JSON;
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        => 'util/genreList.tmpl',
    }
);
 
      
   my $grpBy      = $input->{'grpBy'};
   my $genreList  = getGenreList($dbh);
   my $genreListJson=to_json($genreList,{pretty=>1});
   $template->param(genreList=> $genreListJson ,
                    genreCount=> scalar(@$genreList)
                    );             
  
 
#Tue, Jan 12, 2010 @ 10:31:41 EST
my $msgValMap ={};
my $msgMap            =loc_getMsgFile('util/reserveShelf.msg',$msgValMap);
loc_write($template,$msgMap);

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

#====================================================================================
sub getGenreList{
    my($dbh)=@_;
    my $sth= $dbh->prepare("select g.*,count(i.id) numItem from opl_genre g left outer join opl_genreItems i using(gId) group by gId order by title ");
    $sth->execute();
    my @genreList=();
    while(my $g =$sth->fetchrow_hashref){
        push @genreList,$g;
    }
    return \@genreList;
}

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

