#!/bin/sh
# @vasm: DATESET
# @level: root
# @description: set the system date
# 
# (c) Kocil, 2003
# (c) VLocity Linux, 2003


vdir=$(dirname $0)
. $vdir/vasm-functions

check_root

get_timedate()
{
    LINE=$(date +'%G %m %d %H %M %S')
    YEAR=$(echo $LINE | cut -f 1 -d ' ')
    MONTH=$(echo $LINE | cut -f 1 -d ' ')
    DAY=$(echo $LINE | cut -f 1 -d ' ')
    HOUR=$(echo $LINE | cut -f 1 -d ' ')
    MINUTE=$(echo $LINE | cut -f 1 -d ' ')
    SECOND=$(echo $LINE | cut -f 1 -d ' ')
}

set_timedate()
{
    date ${MONTH}${DAY}${HOUR}${MINUTE}${YEAR}.${SECOND}
}

###################################################
menu_date()
{
    TITLE="DATE SET"
    TEXT="\n
    Enter a new date using this calendar:"
    DIMENSION="6 50"
    [ "$CMD" ] && DIMENSION="16 50"

    $DCMD --backtitle "$BACKTITLE" --title "$TITLE" --calendar "$TEXT" $DIMENSION 2> $freply 
    result=$?

    dbug $result
    [ $result != 0 ] && return $result

    REPLY=`cat $freply`
    dbug "date_reply=$REPLY"
    YEAR=$(echo $REPLY | cut -f 3 -d '/')
    MONTH=$(echo $REPLY | cut -f 2 -d '/')
    DAY=$(echo $REPLY | cut -f 1 -d '/')

    return 0
}


###################################################
menu_time()
{
TITLE="TIME SET"
TEXT="\n
Enter a new time:"
DIMENSION="6 50"
[ "$CMD" ] && DIMENSION="14 50"

$WCMD --backtitle "$BACKTITLE" --title "$TITLE" --timebox "$TEXT" $DIMENSION 2> $freply 

result=$?
# BUG on timebox, cancel return 2 while back return 1
# So we have to swap it
case $result in
    2) return 1
    ;;
    1|255) return 3
    ;;
    0)
	REPLY=`cat $freply`
	dbug "date_reply=$REPLY"
	HOUR=$(echo $REPLY | cut -f 1 -d ':')
	MINUTE=$(echo $REPLY | cut -f 2 -d ':')
	SECOND=$(echo $REPLY | cut -f 3 -d ':')
	return 0
    ;;
esac

}


###################################################
menu_done()
{
    infobox "Setting up date and time"
    set_timedate
    sleep 2
    return 0
}


########################################################
# MAIN PROGRAM

echo "Service Configurator is starting ..."

wizard menu_date menu_time menu_done

clean_exit $?
