#!/usr/bin/perl
## minimalversion.pl - translates a given versification system into a Sword minimal version number. 
## The programme searches for relevant tags and creates the GlobalOptionFilter entries and other relevant conf entries

## Licensed under the standard BSD license:

# Copyright (c) 2002-2009 CrossWire Bible Society <http://www.crosswire.org/>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#        notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above copyright
#       notice, this list of conditions and the following disclaimer in
#       the documentation and/or other materials provided with the
#       distribution.
#     * Neither the name of the CrossWire Bible Society nor the names of
#       its contributors may be used to endorse or promote products
#       derived from this software without specific prior written
#       permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
# IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

## For general inquiries, comments, suggestions, bug reports, etc. email:
## sword-support@crosswire.org

use strict;

my %version	 = (  KJV     		=> '1.5.9',
                      KJVA    		=> '1.6.0',
                      NRSV    		=> '1.6.0',
                      NRSVA		=> '1.6.0',
                      MT		=> '1.6.0',
                      Leningrad		=> '1.6.0',
                      Synodal		=> '1.6.1',
                      Vulg		=> '1.6.1',
                      Luther		=> '1.6.1',
                      German		=> '1.6.1',
                      Catholic		=> '1.6.2',
                      Catholic2		=> '1.6.2',
                      LXX		=> '1.7.2',
                      Orthodox		=> '1.7.2',
                      SynodalProt	=> '1.7.2',
                      DarbyFr		=> '1.8.0',
                      Segond		=> '1.8.0',
                      Calvin		=> '1.8.0'
                   );

my @av11n	= ( 'KJV', 'KJVA', 'NRSV', 'NRSVA', 'MT', 'Leningrad', 'Synodal', 'Vulg', 
                    'Luther', 'German', 'Catholic', 'Catholic2', 'LXX', 'Orthodox', 
                    'SynodalProt', 'DarbyFR', 'Segond', 'Calvin' 
                  );
                  
## Obtain arguments
if ((scalar(@ARGV) < 1) or (scalar(@ARGV)>1)) {
        print "minimalversion.pl <av11n string> \n";
        print "This small utility translates a given versification system into a minimum Sword version number\n";
        exit(-1)
  }

my $v11n = $ARGV[0];

if (exists $version{$v11n}) {
    print $version{$v11n}
  }

else {
    print "This versification does not exist (yet) \n";
    print "Valid versfication systems are\n\t";
    my $notmorethan4 = 1;
    foreach (@av11n) {
      $notmorethan4++;
      if ($notmorethan4 <= 5) {
        print "$_ ";
      }
      else {
        print "\n\t$_ ";
        $notmorethan4 = 2;
      }
    }
    print "\n";
    exit(-1);
  }
 
                     