#!/usr/bin/env perl

use strict;
use warnings;
use FindBin qw($RealBin);
use lib "$RealBin/../../lib";
use IMu::Module;
use IMu::Session;
use IMu::Terms;
use CGI;
use CGI::Carp qw(fatalsToBrowser);

my $cgi = CGI->new();
my $name = $cgi->param('name');
if (! defined($name) || $name eq '')
{
    print($cgi->header('text/html','400 Bad Request'));
    die("missing 'name' parameter\n");
}
my $terms = IMu::Terms->new();
$terms->add('NamLast', $name);

my $session = IMu::Session->new('imu.mel.kesoftware.com', 40136);
my $parties = IMu::Module->new('eparties', $session);
my $hits = $parties->findTerms($terms);

my $columns =
[
    'NamFirst',
    'NamLast'
];
my $results = $parties->fetch('start', 0, -1, $columns);

print($cgi->header());
print($cgi->start_html(-title => 'IMu Perl API - A Simple Example'));       
print($cgi->p("Number of matches: $hits"));
print($cgi->start_table());

foreach my $row (@{$results->{'rows'}})
{
    my $rowNum = $row->{'rownum'};
    my $firstName = $row->{'NamFirst'};
    my $lastName = $row->{'NamLast'};

    print($cgi->start_Tr()); 
    print($cgi->start_td(), "$rowNum.", $cgi->end_td());
    print($cgi->start_td(), "$lastName, $firstName", $cgi->end_td());
    print($cgi->end_Tr());
}

print($cgi->end_table(), "\n");
print($cgi->end_html());
exit(0);
