#!/usr/bin/webif-page
<?
. /usr/lib/webif/webif.sh

uci_load "test"
config_get nvalvulas generales nvalv
config_get ngrupos generales ngrup

######################################################### 
#Lectura de estado de valvulas
#
for count in $(seq "0" "$nvalvulas"); do
config_get FORM_valvula_${count} generales valvula${count}
done

#########################################################
#Lectura de estado de Grupos
#
for count in $(seq "0" "$ngrupos"); do

config_get grupo${count}_valv $count valv 
config_get grupo${count}_tiempo $count tiempo
config_get grupo${count}_veces $count veces
config_get grupo${count}_dias $count dias

	for count1 in $(seq "0" "$ngrupos"); do
	config_get grupo${count}_h${count1} $count h${count1}
	done
done



header "Domotica" "Configuracion  Riego" "@TR<<Configuracion de Riego>>" ' onload="modechange()" ' "$SCRIPT_NAME"

###################################################################
# save settings or handle input
#
if ! empty "$FORM_submit"; then
	SAVED=1

	########################################################
	#Save changes
	#

	#########################################################
	#Save del form de valvulas
	#
	for count in $(seq "0" "$nvalvulas"); do

		eval newvalue=\$FORM_estatus"$count"	
	
		uci_set "test" "generales" "valvula${count}" "$newvalue"
	done
		

	#########################################################
	#Save de los radio de valvulas/grupos
	#


	for count in $(seq 0 $ngrupos); do
			current_grup_valvulas=""
			for valvula_counter in $(seq "0" $nvalvulas); do

				eval value="\"\$FORM_grupo_valv_${valvula_counter}\""
				if [ "$value" = "$count" ]; then
					if empty "$current_grup_valvulas" ; then
						current_grup_valvulas="$valvula_counter"
					else
						current_grup_valvulas="$current_grup_valvulas $valvula_counter"
					fi

				fi
			done
			uci_set "test" "$count" "valv" "$current_grup_valvulas"
	done

	#########################################################
        #Save de los checkbox de dias/grupos
        #


        for count in $(seq 0 $ngrupos); do
                        current_grup_dias=""
                        for dia_counter in $(seq 0 6); do

                                eval value="\"\$FORM_grupo${count}_dia${dia_counter}\""
                                if [ "$value" = "1" ]; then
                                        if empty "$current_grup_dias" ; then
                                                current_grup_dias="$dia_counter"
                                        else
                                                current_grup_dias="$current_grup_dias $dia_counter"
                                        fi

                                fi
                        done
                        uci_set "test" "$count" "dias" "$current_grup_dias"
        done

        #########################################################
        #Save de la configuracion de los grupos
        #
#	for count in $(seq 0 $ngrupos); do
	

#	done



########################################################
#remove valvula
#
		! empty "$FORM_remove_valvula" &&
		{
			uci_remove "test" "generales" "valvula$nvalvulas"
			let "nvalvulas-=1"
			uci_set "test" "generales" "nvalv" "$nvalvulas"

		}

########################################################
#add valvula
#

		! empty "$FORM_add_valvula" &&
		{
			let "nvalvulas+=1"
			uci_set "test" "generales" "valvula${nvalvulas}" "0"
			uci_set "test" "generales" "nvalv" "$nvalvulas"

		}

########################################################
#remove Grupo
#
                ! empty "$FORM_remove_grupo" &&
                {
                        uci_remove "test" "ngrupos"
                        let "ngrupos-=1"
                        uci_set "test" "generales" "ngrup" "$ngrupos"
                }

########################################################
#add Grupo
#

                ! empty "$FORM_add_grupo" &&
                {
                        let "ngrupos+=1"
                        uci_set "test" "generales" "ngrup" "$ngrupos"
			uci_add "test" "grupo" "$ngrupos"
			uci_set "test" "$ngrupo" "valv" ""
			uci_set "test" "$ngrupo" "tiempo" "10"
			uci_set "test" "$ngrupo" "veces" "1"
			uci_set "test" "$ngrupo" "dias" "1 2 3 4 5 6 7"
			uci_set "test" "$ngrupo" "h1" "0"
                }

########################################################
#start
#
                ! empty "$FORM_start" &&
                {
		`./reconf.sh SIGUSR1`
                }

########################################################
#stop
#

                ! empty "$FORM_stop" &&
                {
		`./powerdown.sh`
                }






#	//	uci_load "test"
#	//	config_get nvalvulas generales nvalv
#	//	config_get nvalvulas generales ngrup
#
	fi




##########	##########	####### 	#	#
#		#	 #	#       #	# #   # # 
#		#	 #	#        #	#  # #  #	
######		#	 #	#	#	#   #	#
#		#	 #	########	#	#
#		#	 #	#	#	#	#
#		#	 #	#	 #	#	#
#		##########	#	 #	#	#
###################################################################
#Creacion de grupo
#
dias="Lun
Mar
Mie
Jue
Vie
Sab
Dom"
for i in $(seq "0" "24"); do
horario="$horario
option|$i|@TR<<$i:00>>"
done

for count in $(seq 1 $ngrup);do
	#FORM_dias_headers="string|<tr><th>&nbsp;</th>"
	#for dia in $dias; do
	#	FORM_dias_headers="${FORM_dias_header}<th>$dia</th>"
	#	FORM_dias_headers="string|<tr><th>&nbsp;</th><th>&nbsp;</th><th>Lu&nbsp;</th><th>Ma&nbsp;</th><th>Mi&nbsp;</th><th>Ju&nbsp;</th><th>Vi&nbsp;</th><th>Sa&nbsp;</th><th>Do&nbsp;</th>"
		FORM_dias_headers="string|<tr><th>&nbsp;</th><th>&nbsp;</th><th>Lu</th><th>Ma</th><th>Mi</th><th>Ju</th><th>Vi</th><th>Sa</th><th>Do</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th>"
	#	FORM_dias_headers="string|<tr><th>&nbsp;</th><th>&nbsp;</th><th>Lu&nbsp;Ma&nbsp;Mi&nbsp;Ju&nbsp;Vi&nbsp;Sa&nbsp;Do&nbsp;</th>"
	#done
	FORM_dias_headers="${FORM_dias_headers}</tr>"

	FORM_current_dia="string|<tr><td>Dias de riego</td><th>&nbsp;</th>"

	for current_dia in $(seq "0" "6"); do
		# if port in valvula, mark checkbox
		dia_included=0
	#	eval grupodias= "\grupo$c
		echo "$grupo1_dias" | grep "$current_dia" >> "/dev/null"  2>&1
		if equal "$?" "0" ; then
			dia_included=1
		fi
		variable_name="grupo${count}_dia${current_dia}"
		checkbox_string="checkbox|$variable_name|$dia_included|1|"
		FORM_current_dia="
			$FORM_current_dia
			string|<td>
			$checkbox_string
		#	string|&nbsp;
			string|</td>"
#			string|<td>
#                       $checkbox_string
#                       string|</td>"

	done
#FORM_inicio=""
#if $count > 1 ; then
#FORM_inicio="
#display_form <<EOF
#onchange|modechange
#start_form|@TR<<Grupo $count>>"
#fi
		FORM_grupos="$FORM_grupos
#		display_form <<EOF
#		onchange|modechange
#		start_form|@TR<<Grupo 1>>
		$FORM_inicio
		$FORM_dias_headers
		$FORM_current_dia
		field|@TR<<Tiempo de Riego(minutos):>>
                select|type|$grupo1_tiempo
                option|1|@TR<<1>>
                option|2|@TR<<5>>
                option|3|@TR<<10>>
                option|4|@TR<<20>>
                option|5|@TR<<30>>
                option|6|@TR<<40>>
                option|7|@TR<<60>>
		field|@TR<<Veces al Día:>>
		select|type|$grupo1_veces
		option|1|@TR<<1>>
		option|2|@TR<<2>>
		option|3|@TR<<3>>
		option|4|@TR<<4>>
		field|@TR<<Hora de Riego:>>
		select|sdf|$grupo${count}_h1
		$horario
		end_form
		EOF"
done






####################################################################
#Creacion del form de grupos
#	

	# add headers for the port numbers
	#
	FORM_valv_headers="string|<tr><th>&nbsp;</th>"
	for current_valv in $(seq $0 $nvalvulas); do
		FORM_valv_headers="${FORM_valv_headers}<th>V$current_valv</th>"
	done
	####################################################################
	# now create the valvula rows, one for each set valvula variable, even
	#  if empty.
	#
	FORM_all_grupos="$FORM_valv_headers"		# holds valvula webif form we build
	for count in $(seq "1" "$ngrupos"); do

		FORM_current_grupo="string|<tr><th>Sector $count&nbsp;&nbsp;</th>"
		
		for current_valv in $(seq $0 $nvalvulas); do
			eval grupvalv="\$grupo${count}_valv"
                        valv_included=100

                        echo "$grupvalv" | grep "$current_valv" >> "/dev/null"  2>&1
                        if equal "$?" "0"; then
                               valv_included=$count
                        fi
                        variable_name="grupo_valv_${current_valv}"

                       radio_string="radio|$variable_name|$valv_included|$count|&nbsp;"
                      #radio_string="radio|$variable_name|3|$current_valv|&nbsp;"
                       FORM_current_grupo="$FORM_current_grupo
                               string|<td>
                               $radio_string
                               string|</td>"
		done
			
			FORM_all_grupos="$FORM_all_grupos
				$FORM_current_grupo"
	done

#			grupos_forms="start_form|@TR<<Configuracion de Sectores>>
#			$FORM_all_grupos
#			end_form"





#########################################################
#Creacion del form de valvulas
#
for count in $(seq "0" "$nvalvulas"); do
	
	eval value=\$FORM_valvula_"$count"

	activacion_valvulas="field|@TR<<V"$count">>
                       radio|estatus$count|"$value"|1|@TR<<On>>
                       radio|estatus$count|"$value"|0|@TR<<Off>><br>"		#<br> salto de linea
       append FORM_valvulas "$activacion_valvulas" "$N"
done



#########################################################
#Formularios
#

#########################
#valvulas

display_form <<EOF
onchange|modechange
start_form|@TR<<Activacion de Valvulas>>
$FORM_valvulas
helpitem|Activacion de Valvulas
helptext|HelpTexActivacion de Valvulas#Seleccione las valvulas con las que cuenta y tiene conectadas a su sistema de riego.
end_form
start_form|
submit|add_valvula|@TR<<Add New valvula>>
submit|remove_valvula|@TR<<Remove Last valvula>>
end_form
EOF

#########################
#Grupos

display_form <<EOF
onchange|modechange
start_form|@TR<<Configuracion Sectores>>
$FORM_all_grupos
helpitem|Configuracion Sectores
helptext|HelpTexConfiguracion de Sectores#Si decea usar varias valvulas para regar un sector y desea que estas tengan las mismas configuraciones, asigne las valvulas a un mismo grupo.
end_form
start_form|
submit|add_grupo|@TR<<Add New Grupo>>
submit|remove_grupo|@TR<<Eliminar ultimo Grupo>>
end_form
EOF

#display_form <<EOF
#start_form|@TR<<Regimen de Riego>>
#onchange|modechange
#field|@TR<<Regimen de tipo:>>
#select|type|$FORM_type
#option|A|@TR<<Anual>>
#option|S|@TR<<Semestral>>
#option|E|@TR<<Trimestral>>
#option|E|@TR<<Estacional>>
#option|M|@TR<<Mensual>>
#helpitem|Regimen de Riego
#helptext|HelpText Log Type# Regimen anual implica que configura el tiempo y veces al dia que se regara durante todo el año, Semestral puede configurar dos diferentes,Trimestral tres, Estacional cuatro y mensual una configuracion para cada mes. 


#display_form <<EOF
#start_form|@TR<<Sector 1>>
#field|@TR<<Seleccine nº de Sectores:>>
#select|type|$FORM_type
#option|1|@TR<<1>>
#option|2|@TR<<2>>
#option|3|@TR<<3>>
#option|4|@TR<<4>>
#option|5|@TR<<5>>
#helpitem|Configuracion Sectores
#helptext|HelpTexConfiguracion de Sectores#Si decea usar varias valvulas para regar un sector y desea que estas tengan las mismas configuraciones, asigne las valvulas a un mismo sector.
#end_form
#EOF

display_form <<EOF
onchange|modechange
start_form|@TR<<Sector 1>>
$FORM_grupos


display_form <<EOF
onchange|modechange
start_form|@TR<<Activacion Riego>>
start_form|
submit|start|@TR<<Iniciar Riego>>
submit|stop|@TR<<Detener Riego>>

helpitem|Activacion del servicio.
helptext|Permite iniciar o detener el sistema de riego.
end_form
EOF

footer ?>
<!--
##WEBIF:name:Domotica:001:Sistema riego
-->


