 					}
 					break;
 
-			case 2: break;
-
-			case 3:	TimeElements	t_n;
-					time_t			timeVal;
-					t_n.Second	= 0;
-					t_n.Hour	= input_int_number("Input hour", 0, 23);
-					t_n.Minute	= input_int_number("Input minutes", 0, 59);
-					t_n.Day		= input_int_number("Input day", 1, 31);
-					t_n.Month	= input_int_number("Input month", 1, 12);
-					t_n.Year	= input_int_number("Input year", 15, 20) + 30;
-					timeVal		= makeTime(t_n);
-					RTC.set(timeVal);
-					setTime(timeVal);
+			case 2: if (!changes) changes	= light_settings();
+					else light_settings();
+					break;
+
+			case 3:	if (!changes) changes	= time_settings();
+					else time_settings();
 					break;
 
 			case 4: about();
 					break;
 
-			case 5: return;
-					break;
+			default:	system_mode	= MENU_MODE;
+						break;
 		}
 	}
 

						} else {
							same_num++;
						}
						break;

		case BUT_DOWN:	if (same_num == min_num) {

						} else {
							same_num--;
						}
						return true;
						break;

		case BUT_OK:	return false;
						break;
	}

	return true;
}

void registerWrite(int whichPin, int whichState) {
