public CreateGroup (Group group, bool isCreate)
		{
			_dataManager = new DataManager ();
			InitializeComponent ();
			newGroup = group;
			if (isCreate) {
				cancelButton.IsVisible = false;
				newGroup.GroupId = "0";
			}
			else {
				setEditEvent();
			}

			title.TextChanged += (sender, e) => { newGroup.Name = title.Text; };
			description.TextChanged += (sender, e) => { newGroup.Description = description.Text; };

			// Here's the visibility of the group selected
			visibilityPicker.SelectedIndexChanged += (sender, e) =>
			{
				if (visibilityPicker.SelectedIndex == 0) { newGroup.Visibility = GroupVisibility.Public; }
				if (visibilityPicker.SelectedIndex == 1) { newGroup.Visibility = GroupVisibility.Closed; }
				if (visibilityPicker.SelectedIndex == 2) { newGroup.Visibility = GroupVisibility.Private; }
				visibilityString.Text = visibilityPicker.Items[visibilityPicker.SelectedIndex];
			};
			visibilityString.Text = visibilityPicker.Title;

			var pictureImage = new TapGestureRecognizer();
			pictureImage.Tapped += async (sender, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.PictureFromAlbum(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			takePictureButton.GestureRecognizers.Add(pictureImage);

			var albumImage = new TapGestureRecognizer();
			albumImage.Tapped += async (SenderOfEvent, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.PictureFromAlbum(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			albumPictureButton.GestureRecognizers.Add(albumImage);

			selectBannerButton.Clicked += (sender, e) => {
				SelectBannerView selectBannerView = new SelectBannerView();
				selectBannerView.createGroupView = this;
				App.coreView.setContentViewWithQueue(selectBannerView);
			};



			launchButton.Clicked += (sender, e) => {
				if (isCreate && !Launching)
				{
					LaunchGroup(newGroup);
					Launching = true;
				}
				else if (!isCreate && !Launching)
				{
					LaunchGroup(newGroup);
				}
			};

			cancelButton.Clicked += (sender, e) => {
				DeleteGroup(group);
			};
		}
		private void setCreateView(Event givenEvent, bool isCreate)
		{
			newEvent = givenEvent;
			this.isCreate = isCreate;

			if (isCreate)
			{
				setNewEvent();
			}
			else {
				setEditEvent();
			}
			mapView = new MapsView(App.lastKnownPosition);

			title.TextChanged += (sender, e) => { newEvent.Title = title.Text; };
			description.TextChanged += (sender, e) => { newEvent.Description = description.Text; };

			EventCategory.ManageCategories(eventTypeGrid, newEvent.EventTypes, true);

			/// set time and date
			startDate.MinimumDate = DateTime.Now;
			endDate.MinimumDate = DateTime.Now;
			startDate.PropertyChanged += (sender, e) => { checkValidDate(); };
			startTime.PropertyChanged += (sender, e) => { checkValidDate(); };
			endDate.PropertyChanged += (sender, e) => { checkValidDate(); };
			endTime.PropertyChanged += (sender, e) => { checkValidDate(); };

			/// set location
			locationButton.Clicked += (sender, e) =>
			{
				if (newEvent.Latitude == 0 && newEvent.Longitude == 0)
				{
					mapView = new MapsView(App.lastKnownPosition);
				}
				else {
					mapView = new MapsView(new Position(newEvent.Latitude, newEvent.Longitude));
				}
				mapView.createEventView = this;
				App.coreView.setContentViewWithQueue(mapView);

			};

			visibilityPicker.SelectedIndexChanged += (sender, e) =>
			{
				//visibilityPicker.Items[1] = "Group";
				//newEvent.GroupSpecific = null;
				System.Diagnostics.Debug.WriteLine(visibilityPicker.SelectedIndex);
				if (visibilityPicker.SelectedIndex == 0) { newEvent.Visibility = EventVisibility.Public; }
				if (visibilityPicker.SelectedIndex == 1) { newEvent.Visibility = EventVisibility.Private; }
				visibilityString.Text = visibilityPicker.Items[visibilityPicker.SelectedIndex];
			};
			visibilityString.Text = visibilityPicker.Title;

			NumberAttendendeesEntry.TextChanged += (sender, e) =>
			{
				string t = NumberAttendendeesEntry.Text;
				if (t.Contains(","))
				{
					t = t.Remove(t.Length - 1);

				}

				if (!string.IsNullOrWhiteSpace(t))
				{
					try
					{
						newEvent.MaxSize = int.Parse(t);
						validAttendingAmount = true;
					}
					catch (Exception ex)
					{
						validAttendingAmount = false;
					}
				}
				NumberAttendendeesEntry.Text = t;
			};

			var pictureImage = new TapGestureRecognizer();
			pictureImage.Tapped += async (sender, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.TakePicture(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			takePictureButton.GestureRecognizers.Add(pictureImage);

			var albumImage = new TapGestureRecognizer();
			albumImage.Tapped += async (SenderOfEvent, e) =>
			{
				try
				{
					imageStreams = await _dataManager.UtilityManager.PictureFromAlbum(SelectedBannerImage.Source);
				}
				catch (Exception ex) { }
			};
			albumPictureButton.GestureRecognizers.Add(albumImage);

			selectBannerButton.Clicked += (sender, e) =>
			{
				SelectBannerView selectBannerView = new SelectBannerView();
				selectBannerView.createEventView = this;
				App.coreView.setContentViewWithQueue(selectBannerView);
			};

			launchButton.Clicked += async (sender, e) =>
			{
				if (isCreate && !Launching)
				{
					bool continueCreating = await App.coreView.otherFunctions.SenderOfEvent(SelectSenderLayout, newEvent);
					if (continueCreating)
					{
						LaunchEvent(newEvent);
						Launching = true;
					}
				}
				else if (!isCreate && !Launching)
				{
					LaunchEvent(newEvent);
					Launching = true;
				}
			};

			cancelButton.Clicked += (sender, e) => { CancelTheEvent(); };
		}