protected override void OnPageDestroy(int new_windowId)
 {
   SaveSettings();
   base.OnPageDestroy(new_windowId);
   _geochronGenerator = null;
   GUIImage clockImage = (GUIImage)GetControl((int)Controls.CONTROL_IMAGE_SUNCLOCK);
   clockImage.RemoveMemoryImageTexture();
 }
    protected override void OnPageLoad()
    {
      base.OnPageLoad();
      _currentMode = Mode.Weather;
      _selectedDayName = "All";
      _dayNum = -2;
      LoadSettings();

      //do image id to control stuff so we can use them later
      //do image id to control stuff so we can use them later
      _nowImage = (GUIImage)GetControl((int)Controls.CONTROL_IMAGENOWICON);
      RefreshNewMode();

      int i = 0;
      int selected = 0;
      //					GUIControl.ClearControl(GetID,(int)Controls.CONTROL_LOCATIONSELECT);
      foreach (LocationInfo loc in _listLocations)
      {
        string city = loc.City;
        int pos = city.IndexOf(",");
        //						if (pos>0) city=city.Substring(0,pos);
        //							GUIControl.AddItemLabelControl(GetID,(int)Controls.CONTROL_LOCATIONSELECT,city);
        if (_locationCode == loc.CityCode)
        {
          _nowLabelLocation = loc.City;
          _urlSatellite = loc.UrlSattelite;
          _urlTemperature = loc.UrlTemperature;
          _urlUvIndex = loc.UrlUvIndex;
          _urlWinds = loc.UrlWinds;
          _urlHumidity = loc.UrlHumidity;
          _urlPreciptation = loc.UrlPrecip;
          selected = i;
        }
        i++;
      }
      //GUIControl.SelectItemControl(GetID,(int)Controls.CONTROL_LOCATIONSELECT,selected);

      // Init Daylight clock _geochronGenerator
      _geochronGenerator = new Geochron(GUIGraphicsContext.Skin + @"\Media");
      int width, height;
      GUIImage clockImage = (GUIImage)GetControl((int)Controls.CONTROL_IMAGE_SUNCLOCK);
      _geochronGenerator.getWidthHeight(out width, out height);
      clockImage.SetMemoryImageSize(width, height);
      clockImage.FileName = "[weatherImage]";

      TimeSpan ts = DateTime.Now - _lastRefreshTime;
      if (ts.TotalMinutes >= _refreshIntercal && _locationCode != string.Empty && !IsRefreshing)
      {
        BackgroundUpdate(false);
      }
    }