#!/afs/athena/contrib/perl/p

if($ARGV[0] eq '-p'){
	$get = 1;
	print("Look at entries with index:  ");
	$search = (<STDIN>);
	chop($search);
}
elsif($ARGV[0] eq '-s'){
	$get = 1;
	$search = join(' ', @ARGV[1..$#ARGV]);

}
elsif($ARGV[0]){
    $get = 1;
    $search= join(' ', @ARGV);
}

$jdir = $ENV{'HOME'}.'/journal/' unless ($jdir = $ENV{'JOURNALDIR'});

open(JI, "$jdir"."journal.index");

$i = 0;
while(<JI>){
	split(':');
	$ind = $_[2];
	@inds = split(';', $ind);
	if(@inds){
	chop($inds[$#inds]);
	$date[$i]=int($_[0]);
	$wrds[$i]=int($_[1]);
	for $ix (@inds){
		$index{$ix} .= $i.';';
		$ni{$ix}++;
	}
	$i++;}
}
close(JI);

@iname = sort keys %index;

if(!$get){
	for $inm (@iname){
	    $fill = ' 'x(30-length($inm)); 
	    print("$inm:$fill$ni{$inm}\n");
	}	
}

else{
    $/ = '---___---';
    open(JT, "$jdir"."journal.text");
    $i=0;
    while(<JT>){
	$entry[$i]=$_;
	$i++;
    }
    $/="\n";
    shift(@entry);
    if($index{$search}){
	@entries = split(';', $index{$search});	
    }
    else{
	for $inm (@iname){
	    if($inm =~ /$search/){
		
		@entries = split(';', $index{$inm});
		if($gotone){
		    $list .= "$inm\n";
		    $nomatch = 1;
		}
		else{
		    $gotone=1;
		    $list .= "$inm\n";
		}
	    }
	}
    }
    
    if(!@entries){
	print("No indeces matched $search.  Try again.\n");
    }
    if($nomatch){
	print("There were no exact matches for $search.  Try one of these:\n");
	print($list);
	exit(0);
    }
    for $e (@entries){
	print(`clear`); 
	print("Journal Entry #".$e."\n");
	    print($entry[$e]);
	print("\nPress return to continue...");
	$bluh = (<STDIN>);
    }
    print("\n");
}


