#!/bin/sh

#[ "$BUTTON" = "default" ] || exit 0

logger "Button $BUTTON was $ACTION"

case "$BUTTON" in
		default)
case "$ACTION" in
    pressed)
			    date +%s > /tmp/default_button_time
			    /etc/led-control.sh default &
    	;;

    released)
			    START=$(cat /tmp/default_button_time)
			    END=$(date +%s)
			    DIFF=$(($END - $START))
			    if [ "$DIFF" -ge "5" ]; then
			        logger "press default button more than 5 seconds --> do factory default...	"
			         rm -rf /tmp/default_button_time
			       	 rm -rf /jffs/*
			       	 reboot -d 3 <&- >&- &
			    else
			    	rm -rf /tmp/default_button_time
			    fi
    	;;
esac
		;;

		wifi)
			case "$ACTION" in
				    pressed)
				    logger "wifi button was pressed..."
				    ;;
				    
				    released)
						if [ -f /tmp/wifi_button_time ]; then
							START=$(cat /tmp/wifi_button_time)
			    		END=$(date +%s)
			    		DIFF=$(($END - $START))
							if [ "$DIFF" -le "5" ]; then
			    			logger "wifi button is processing, press again later..."
			    			return
							fi
						fi

				    # log the released time of wifi button
				    date +%s > /tmp/wifi_button_time
				    logger "wifi button was released..."
				    #WLANON=$(cat /etc/config/wireless | grep "option radio     1")
				    CFG_FILE=/etc/config/wireless
				    WLANON=$(grep -E '^[[:space:]]option[[:space:]]+radio[[:space:]]+1$' $CFG_FILE)
				    logger "grep from config: $WLANON"
				    if [ "$WLANON" != "" ]; then
						  logger "wlanon: on --> off"
						  #sed 's/'"option radio     1"'/'"option radio     0"'/' $CFG_FILE > /tmp/wirelesscfg.dat
						  sed 's/\(.*option.*radio.*\)1/\10/' $CFG_FILE > /tmp/wirelesscfg.dat
							cp /tmp/wirelesscfg.dat $CFG_FILE
							wifi up
				    	return
						fi
						
						WLANOFF=$(grep -E '^[[:space:]]option[[:space:]]+radio[[:space:]]+0$' $CFG_FILE)
						logger "grep from config: $WLANOFF"
						if [ "$WLANOFF" != "" ]; then
				    	logger "wlanon: off --> on"
							#sed 's/'"option radio     0"'/'"option radio     1"'/' $CFG_FILE > /tmp/wirelesscfg.dat
							sed 's/\(.*option.*radio.*\)0/\11/' $CFG_FILE > /tmp/wirelesscfg.dat
							cp /tmp/wirelesscfg.dat $CFG_FILE
							wifi up
			    		return
				    fi				    
				    ;;
			esac
		;;
		
		wps)
			case "$ACTION" in
				    pressed)
				    logger "wps was pressed..."
					radio=$(uci get wireless.ra0.radio)
					if [ $radio == "0" ]; then
						return
					fi
					wps=$(uci get wireless.@wifi-iface[0].encryption)
					if [ $wps = "wps" ]; then
						iwpriv ra0 set WscConfMode=7
						iwpriv ra0 set WscMode=2
						iwpriv ra0 set WscGetConf=1
						/etc/led-control.sh wps &
					else
						logger "wps is not enable..."
					fi
				    ;;
			esac
		;;
esac