#!/bin/bash

cat << endt
Adzan program (c) Rosandi
endt

PERIOD=60
SCHDIR=$HOME/adzan
SCHFILE=$SCHDIR/`date +"%m.%Y"`   
ADZAN=$SCHDIR/Makkah.mp3
PLAYER="mplayer -quiet"

[[ ! -z $1 ]] && PERIOD=$1

if [[ ! -f $SCHFILE ]]; then
	echo "can not find schedule file $SCHFILE"
	exit
fi

AdzanPrg() {
	DAY=$(date +"%d")
	NOW=$(date +"%H %M" | awk '{print 60*$1+$2}')
	LOGFILE=/tmp/adzan.log

	prayercall=`awk '
	$1=='$DAY'{
		n='$NOW'
		# 5 minutes tollerance
		if      (n>=$2 && n<($2+5)) print "subuh"
		else if (n>=$3 && n<($3+5)) print "duhur"
		else if (n>=$4 && n<($4+5)) print "ashar"
		else if (n>=$5 && n<($5+5)) print "magrib"
		else if (n>=$6 && n<($6+5)) print "isya"
	}
	' $SCHFILE`

	[[ -z $prayercall ]] && return
	[[ ! -f $LOGFILE ]] && echo assalamualaikum > $LOGFILE

	if [ ! "$prayercall" = "`cat $LOGFILE`" ]; then
    	msg="calling for $prayercall prayer"
	    echo $prayercall > $LOGFILE
		$PLAYER $ADZAN &
		PLAYID=$!
		Xdialog --title "Call for pray" --yesno "$msg\n`date +%H:%M`" 7 50
		[ $? -eq 1 ] && kill $PLAYID
	fi
}


while true; do
	AdzanPrg
	sleep $PERIOD
done