#!/bin/ksh

basedir=`dirname $0`/..
LIBDIR=$basedir/lib

STARSUITE_HOME=/opt/starsuite8
STAROFFICE_HOME=/opt/staroffice8
OPENOFFICE_HOME=/opt/openoffice.org2.0

if [[ -d $STARSUITE_HOME/program/classes ]] then
    OFFICE_HOME=$STARSUITE_HOME
fi
if [[ -z $OFFICE_HOME ]] && [[ -d $STAROFFICE_HOME/program/classes ]] then
    OFFICE_HOME=$STAROFFICE_HOME
fi
if [[ -z $OFFICE_HOME ]] && [[ -d $OPENOFFICE_HOME/program/classes ]] then
    OFFICE_HOME=$OPENOFFICE_HOME
fi    

getoffice=0
getxkbsym=0
usecalc=0
for arg in $@
do
    if (( getoffice == 1 )) && [[ -d $arg/program/classes ]] then
	OFFICE_HOME=$arg
	(( getoffice = 0 ))
    elif (( getxkbsym == 1 )) && [[ -d $arg ]] then
	XKBSYM_DIR=$arg
	(( getxkbsym = 0 ))
    fi	

    case $arg in
	"-officedir")
	    getoffice=1;;
	"-xkbsym")
	    getxkbsym=1;;
	"-calcview")
	    usecalc=1;;
    esac

done	

if [[ -z $XKBSYM_DIR ]] then
    XKBSYM="-xkbsym $LIBDIR/symbols"
fi
    
if (( usecalc == 1 )) && [[ -z $OFFICE_HOME ]] then
    print "StarOffice8 or StarSuite8 is not found. You need to use -officedir option to locate StarOffice8 or StarSuite8 install directory to use -calcview option."
    exit 1
fi

LIBS=.:$LIBDIR/KLDHandler.jar
if (( usecalc == 1 )) then
    for jar_file in $OFFICE_HOME/program/classes/*
    do
        LIBS=$LIBS:$jar_file
    done
fi

java -cp $LIBS kldhandler.Main $XKBSYM $*
