public void ShowForm() {
			Application.EnableVisualStyles();
			var form = new LoginForm(new Settings());
			form.ShowDialog();
		}
		public void Connect(bool prompt)
		{
			if (_connected)
			{
				throw new InvalidOperationException("Already connected");
			}
			var settings = Settings.Default;
			if (prompt || settings.HasCredentials == false)
			{
				var form = new LoginForm(settings);
				if (_env.ShowDialog(form) == DialogResult.OK)
				{
					if (ServicePointManager.ServerCertificateValidationCallback == null)
						ServicePointManager.ServerCertificateValidationCallback +=
							delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
								{
									var webRequest = sender as HttpWebRequest;
									if (webRequest != null)
									{
										return webRequest.Address.Host == settings.Uri.Host;
									}
									return false;
								};
					_webServices = _webServicesFactory.CreateWebServices(settings);
					if (!settings.SaveLogin)
					{
						settings.Login = null;
						settings.DecryptedPassword = null;
					}
					settings.Save();
					CompleteConnect(settings);
				}
			}
			else
			{
				_webServices = _webServicesFactory.CreateWebServices(settings);
				CompleteConnect(settings);
			}
		}