instPath = SystemPath( "ScriptPath" )

If (FileExists("\Windows\StartUp\Mortscript.lnk"))
	Delete("\Windows\StartUp\MortScript.lnk")
EndIf
If (FileExists(instPath&"\ATPluginInstaller.exe"))
	Move(instPath&"\ATPluginInstaller.exe",instPath&"\plgFiles")
	Delete(instPath&"\default.plg")
EndIf

Call MainMenu
Exit

###### Main menu 
Sub MainMenu

	code = RegRead("HKLM", "Software\TitaniumWeather","Code")

SetChoiceEntryFormat(28,14)

title[1] = "1) Запустить обновление и выйти"
title[2] = "2) Zip или Location Code ("&code&")"
title[3] = "3) Прогноз Опции/Настройки"

While (1)
	Choice("TitaniumWeather","Выберите опцию и нажмите OK.^CR^Нажмие Отмена для выхода.",title)

	Case(0)
		Vibrate(25)
		Exit
	Case(1)
		RegWriteDWord("HKLM","Software\TitaniumWeather","forceupdate",1)
		RegWriteDWord("HKLM","Software\TitaniumWeather","fupdate",1)
		CallScript("TitaniumWeather.mscr")
		Vibrate(25)
		Exit
		
	# Location or zip
	Case(2)
		Vibrate(25)
		zip = Input("Укажите Zip или Location Code:", "Zip или Location Code ("&code&")")

		If (zip ne "")
			zip=toupper(zip)
			RegWriteString("HKLM", "Software\TitaniumWeather","Code",zip)
			RegWriteDWord("HKLM","Software\TitaniumWeather","fupdate",1)
		EndIf
		Vibrate(25)
		
	Case(3)
		Vibrate(25)
		Call AdvancedOptions
	EndChoice
EndWhile

EndSub


#####################
###### Forecast Options/Setup
Sub AdvancedOptions

While(1)
	units = RegRead("HKLM", "Software\TitaniumWeather","Units")
	usertime = RegRead("HKLM", "Software\TitaniumWeather","usertime")
	startconn = RegRead("HKLM", "Software\TitaniumWeather","Connect")
	ontime = RegRead("HKLM", "Software\TitaniumWeather","ONtime")
	offtime = RegRead("HKLM", "Software\TitaniumWeather","OFFtime")
	nextupdate = RegRead("HKLM", "Software\TitaniumWeather","nextupdate")

	units=toupper(units)

	If ( (ontime >= 0) AND (offtime >= 0) )
		ontime = ontime & " to " & offtime
	Else
		ontime = "Always"
	EndIf
	
	If (startconn)
		startconn = "Y"
	Else
		startconn = "N"
	EndIf

	Choice("Setup","Выберите опцию, затем нажмите OK.Нажмите Отмена для выхода в главное меню.","1) Установить авто. Включение/Выключение ("&ontime&")","2) Интервал обовления погоды ("&usertime&" min)","3) Соединение с интернет ("&startconn&")","4) Единицы измерения температуры ("&units&")")
	
	# exit options
	Case(0)
		Vibrate(25)
		Call MainMenu

	# Set ON/OFF update periods
	Case(1)
		Vibrate(25)
		If(Question("Вы хотите ввести время Включения/Выключения обновления?^CR^Нажмите Нет для постоянного включния.","Время Включения/Выключения обновления","YesNo"))
			offtime = Input("В какое время отключить автоматические обновления?^CR^Вводите время только в 24-х часовом формате^CR^Пример: для 10 PM = 22","Время выключения",TRUE)
			ontime  = Input("Когда вы желаете продолжить автоматические обновления?^CR^Вводите время только в 24-х часовом формате^CR^Пример: для 6 AM = 6","Время включения",TRUE)
		Else
			offtime = -1
			ontime  = -1
		EndIf
		Vibrate(25)
		
		RegWriteDWord("HKLM", "Software\TitaniumWeather","OFFtime",offtime)
		RegWriteDword("HKLM", "Software\TitaniumWeather","ONtime",ontime)
		
		# schedule an update in case previously schedule to run at next ON time
		RemoveNotifications(instPath&"\TitaniumWeather.exe")
		RunAt(TimeStamp()+60, instPath&"\TitaniumWeather.exe")

	# Update interval
	Case(2)
		Vibrate(25)
		If(Question("Вы хотите настроить автоматические обновления?","Автоматические обновления","YesNo"))
			usertime = Input("Укажите интервал для автоматического обновления в минутах:", "Интевал обновления ("&usertime&" min)",TRUE)
			
			# check if next update has been scheduled further ahead before
			If ((TimeStamp()+usertime*60) < nextupdate)
				RemoveNotifications(instPath&"\TitaniumWeather.exe")
				RunAt(TimeStamp()+usertime*60, instPath&"\TitaniumWeather.exe")
			EndIf
		Else
			usertime = 0
		EndIf
		Vibrate(25)
		RegWriteDWord("HKLM","Software\TitaniumWeather", "usertime", usertime)

	# Attempt to connect to internet
	Case(3)
		startconn = Question("Попытаться установить интернет соединение для обновления?", "Интернет настройки", "YesNo")
		Vibrate(25)
		RegWriteDWord("HKLM","Software\TitaniumWeather", "Connect", startconn)

	# Units - English or metric
	Case(4)
		Vibrate(25)
		If(Question("Отображать температуру в градусах Цельсия? Выберите 'Нет' для отображения в градусах по Фаренгейту", "Единицы измерения температуры", "YesNo"))
			RegWriteString("HKLM","Software\TitaniumWeather", "Units", "C")
			copy (instPath&"\digits\c.png",instPath&"\panelicons\degree.png", TRUE)
		Else
			RegWriteString("HKLM","Software\TitaniumWeather", "Units", "F")
			copy (instPath&"\digits\f.png",instPath&"\panelicons\degree.png", TRUE)
		EndIf
		
		Vibrate(25)
		RegWriteDWord("HKLM","Software\TitaniumWeather","fupdate",1)
	EndChoice
EndWhile
EndSub

