#!/bin/sh

# translations
# later....
case $LANG in
	hu*)
	  findmsg="Megfelelő Java verzió keresése, kérem várjon..."
	  findtitle="SweetHome3D"
	  foundengine="Egy működő java verzió itt:"
	  javawserr="Javaws nem található!<br><br><b>Oracle JAVA szükséges a SweetHome3D futtatásához!</b> <br><br>Kérem töltse le innen: <br><a href='http://java.com/en/download/linux_manual.jsp'>http://java.com/en/download/linux_manual.jsp</a><br>
és telepítse először a JRE rpm csomagot majd indítsa újra a számítógépet!"
	  java3derr="Java 3D vagy egy komponens nincs meg! Most telepíteni kell a program működéséhez."
	  jvhome="Java home most :"
	  jvbin="Java binary itt: "
	  restart="A művelet befejeződött. Indítsa újra a programot."
	  starting="$findtitle indítása itt: $(cat /etc/blackPanther-release | sed -e 's|).*|\)|')"
	  ;;
        *)
	  findmsg="I find compatible java version, please wait..."
	  findtitle="SweetHome3D"
	  foundengine="A working JAVA version here:"                                                                                      
	  javawserr="Javaws NOT found!<br><br><b>Oracle JAVA needed for SweetHome3D running!</b> <br><br>Please download from here: <br><a href='http://java.com/en/download/linux_manual.jsp'>http://java.com/en/download/linux_manual.jsp</a><br>
and install first a JRE rpm package then please restart your computer for usage!"
	  java3derr="Java 3D or a component NOT found! Now need install for application working."
	  jvhome="Java home now  :"
	  jvbin="Java binary here:"
	  restart="The action is succesful. Please restart application."
	  starting="$findtitle starting on $(cat /etc/blackPanther-release | sed -e 's|).*|\)|')"
	  ;;
esac      

# Retrieve Sweet Home 3D directory
PROGRAM=`readlink "$0"`
if [ "$PROGRAM" = "" ]; then
  PROGRAM=$0
fi


PROGRAM_DIR="/usr/lib/SweetHome3D"

if [ ! -x "${JAVA_HOME}/bin/java" ] ; then
    if [ ! -n "$DISPLAY" ];then
        echo "$findmsg"
     else
        #if [ -x $(which bubblemsg) ];then
	#    bubblemsg "$findtitle" "$findmsg"
	#else
	notify-send -u normal -t 3000 "$findtitle" "$findmsg"
	sleep 1
	#fi
    fi
        PREFIXES="
		/usr/java
		/usr/lib/jvm
		/usr/local
		/usr/local/java
		/opt
		/usr/share/jvm"
	FINDJAVA=`find ${PREFIXES} -type f -name java 2>/dev/null| head -n 1`
	SUNJAVA=`echo "$FINDJAVA" | sed 's|/lib/javaws.jar||'`
	echo "$foundengine $SUNJAVA "

	for PREFIX in ${PREFIXES}; do
	    if test -f "${SUNJAVA}/lib/javaws.jar"; then BIN_JAVA_DIR="${SUNJAVA}/" && break; fi
		 done

else 
    BIN_JAVA_DIR="$(echo $JAVA_HOME | grep /$ ||echo $JAVA_HOME | sed 's|$|/|')"

fi

if [ ! -x "${BIN_JAVA_DIR}bin/java" ];then
    #echo "${BIN_JAVA_DIR}bin/java"
        xmsg=`which kdialog 2>/dev/null||which pydialog 2>/dev/null|| which zenity 2>/dev/null|| echo`
           [ -n "$DISPLAY" ] && $xmsg --error "$javawserr" && exit
           [ ! -n "$DISPLAY" ] && echo -n "$javawserr" && exit
	echo ""
	echo "$javawserr"
	echo ""
	exit
    else
    		echo "$jvhome [ ${BIN_JAVA_DIR} ]"
		echo "$jvbin  [ ${BIN_JAVA_DIR}bin/java ]"

fi

extract() {
 xmsg=`which kdialog 2>/dev/null||which pydialog 2>/dev/null|| which zenity 2>/dev/null|| echo`
 [ -n "$DISPLAY" ] && $xmsg --error "$java3derr" && exit
 [ ! -n "$DISPLAY" ] && echo -n "$java3derr" && exit
 
 SU=`which gksu 2>/dev/null || which gnomesu 2>/dev/null || which gsu 2>/dev/null || which /usr/lib/kde4/libexec/kdesu 2>/dev/null || which kdesu 2>/dev/null || echo "Error1"`

if [ "$SU" = Error1 ]
then 
 if [[ -n "$KDE_FULL_SESSION" ]];then
    mess="$(which kdialog 2>/dev/null||which pydialog 2>/dev/null) --error"
  else
    mess="zenity --error --text"
 fi
    [ ! -n $DISPLAY ]&& echo "[Warning! The SU manager not found. Please check your installation]"
    [ -n $DISPLAY ]&& $mess "Please restart RPManager with root rights or install kdesu or gnomesu.."
    exit 
fi
    echo "$SU"
    $SU bunzip2 -cd $PROGRAM_DIR/j3d.tar.bz2 | tar -C  ${BIN_JAVA_DIR}lib -xf- && echo "${BIN_JAVA_DIR}" > $PROGRAM_DIR/j3dpath
     [ -n "$DISPLAY" ] && $xmsg --error "$restart" && exit
     [ ! -n "$DISPLAY" ] && echo -n "$restart" && exit

}

if [ -n "$(echo ${BIN_JAVA_DIR} | grep '/jvm/')" ];then
 if [[ -n "$KDE_FULL_SESSION" ]];then
    mess="$(which kdialog 2>/dev/null||which pydialog 2>/dev/null) --error"
  else
    mess="zenity --error --text"
 fi
    [ ! -n $DISPLAY ]&& echo "[Warning! Oracle JAVA needed for SweetHome3D. Please download from here: http://java.com/en/download/linux_manual.jsp
and install first a JRE rpm package then please restart your computer for usage ]"
    if [ -n $DISPLAY ]&&[ -x $(which `echo $mess | sed 's|--.*||'`) ];then
        $mess $javawserr
     else
        notify-send -u critical -t 3000 "SweetHome3D" "Oracle JAVA needed for SweetHome3D running. Please install first a JRE rpm package and please restart your computer"
    fi
    exit
else
    echo $starting
    exec ${BIN_JAVA_DIR}bin/java -Xmx1024m -classpath "$PROGRAM_DIR"/lib/SweetHome3D.jar:"$PROGRAM_DIR"/lib/Furniture.jar:"$PROGRAM_DIR"/lib/Textures.jar:"$PROGRAM_DIR"/lib/Help.jar:"$PROGRAM_DIR"/lib/iText-2.1.7.jar:"$PROGRAM_DIR"/lib/freehep-vectorgraphics-svg-2.1.1b.jar:"$PROGRAM_DIR"/lib/sunflow-0.07.3i.jar:"$PROGRAM_DIR"/lib/jmf.jar:"$PROGRAM_DIR"/lib/batik-svgpathparser-1.7.jar:"$PROGRAM_DIR"/lib/j3dcore.jar:"$PROGRAM_DIR"/lib/j3dutils.jar:"$PROGRAM_DIR"/lib/vecmath.jar:"${BIN_JAVA_DIR}"/lib/javaws.jar -Djava.library.path="$PROGRAM_DIR"/lib -Dcom.eteks.sweethome3d.applicationId=SweetHome3D com.eteks.sweethome3d.SweetHome3D -open "$1"
fi
