public void initAuthTools()
        {
            double toolBoxHeight = artModeWin.Main.ActualHeight * .8;
            double boxPartition = .06;
            double buttonHeight = .7 * toolBoxHeight * boxPartition;
            double buttonWidth = artModeWin.Main.ActualWidth * .15;

            Label addNewLabel = new Label();
            Label editLabel = new Label();
            successfulSaveLabel = new Label();
            newMediaButton = new SurfaceButton();
            newAudioButton = new SurfaceButton();
            newDrawingButton = new SurfaceButton();
            newHighlightButton = new SurfaceButton();
            doneButton = artModeWin.tourAuthoringDoneButton;
            saveButton = artModeWin.tourAuthoringSaveButton;
            undoButton = new SurfaceButton();
            redoButton = new SurfaceButton();
            deleteButton = artModeWin.tourAuthoringDeleteButton;
            removeComponentButton = new SurfaceButton();
            removeEventButton = new SurfaceButton();
            eraseButton = new SurfaceButton();
            opacityLabel = new Label();
            opacitySlider = new SurfaceSlider();
            timelineSlider = new SurfaceSlider();
            timeLineLabel = new Label();
            renameTimelineButton = new SurfaceButton();

            setButtonEnabled(removeComponentButton, false);
            setButtonEnabled(removeEventButton, false);
            setButtonEnabled(eraseButton, false);
            setButtonEnabled(renameTimelineButton, false);
            opacitySlider.IsEnabled = false;

            addNewLabel.Content = "Add New Component...";
            editLabel.Content = "Edit...";
            successfulSaveLabel.Content = "Save Successful";
            newMediaButton.Content = "Asset";
            newAudioButton.Content = "Audio";
            newDrawingButton.Content = "Drawing";
            newHighlightButton.Content = "Mask";
            doneButton.Content = "Done";
            undoButton.Content = "Undo";
            redoButton.Content = "Redo";
            saveButton.Content = "Save";
            deleteButton.Content = "Delete";
            removeComponentButton.Content = "Remove Component";
            removeEventButton.Content = "Remove Event";
            opacityLabel.Content = "Mask Opacity";
            eraseButton.Content = "Erase";
            timeLineLabel.Content = "Scrub through tour";
            renameTimelineButton.Content = "Rename Component";

            doneButton.Visibility = Visibility.Visible;
            saveButton.Visibility = Visibility.Visible;
            deleteButton.Visibility = Visibility.Visible;
            artModeWin.Main.Children.Add(successfulSaveLabel);

            artModeWin.AuthTools.Children.Add(addNewLabel);
            artModeWin.AuthTools.Children.Add(newMediaButton);
            artModeWin.AuthTools.Children.Add(newAudioButton);
            artModeWin.AuthTools.Children.Add(newDrawingButton);
            artModeWin.AuthTools.Children.Add(newHighlightButton);
            artModeWin.AuthTools.Children.Add(removeComponentButton);
            artModeWin.AuthTools.Children.Add(removeEventButton);
            artModeWin.AuthTools.Children.Add(undoButton);
            artModeWin.AuthTools.Children.Add(redoButton);
            artModeWin.AuthTools.Children.Add(editLabel);
            artModeWin.AuthTools.Children.Add(eraseButton);
            artModeWin.AuthTools.Children.Add(opacityLabel);
            artModeWin.AuthTools.Children.Add(opacitySlider);
            artModeWin.AuthTools.Children.Add(renameTimelineButton);
            artModeWin.AuthTools.Children.Add(timelineSlider);
            artModeWin.AuthTools.Children.Add(timeLineLabel);

            //Canvas.SetTop(saveButton, 0);
            Canvas.SetTop(successfulSaveLabel, saveButton.Height+10);
            //Canvas.SetTop(doneButton, 0);
            //Canvas.SetTop(deleteButton, 0);
            Canvas.SetTop(undoButton, toolBoxHeight * boxPartition);
            Canvas.SetTop(redoButton, toolBoxHeight * boxPartition);
            Canvas.SetTop(addNewLabel, 2.3 * toolBoxHeight * boxPartition);
            Canvas.SetTop(newMediaButton, 3.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(newAudioButton, 4.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(newDrawingButton, 5.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(newHighlightButton, 6.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(editLabel, 7.3 * toolBoxHeight * boxPartition);
            Canvas.SetTop(removeEventButton, 8.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(removeComponentButton, 9.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(renameTimelineButton, 10.0 * toolBoxHeight * boxPartition);
            Canvas.SetTop(eraseButton, 11.5 * toolBoxHeight * boxPartition);
            Canvas.SetTop(opacityLabel, 12.9 * toolBoxHeight * boxPartition);
            Canvas.SetTop(opacitySlider, 13.5 * toolBoxHeight * boxPartition);
            Canvas.SetTop(timeLineLabel, 14.9 * toolBoxHeight * boxPartition);
            Canvas.SetTop(timelineSlider, 15.5 * toolBoxHeight * boxPartition);

            Canvas.SetRight(successfulSaveLabel, 45);
            /*Canvas.SetRight(doneButton, 75);
            Canvas.SetRight(saveButton, 140);
            Canvas.SetRight(deleteButton, 200);*/
            Canvas.SetLeft(newMediaButton, 20);
            Canvas.SetLeft(newAudioButton, 20);
            Canvas.SetLeft(newDrawingButton, 20);
            Canvas.SetLeft(newHighlightButton, 20);
            Canvas.SetLeft(removeComponentButton, 20);
            Canvas.SetLeft(removeEventButton, 20);
            Canvas.SetLeft(undoButton, 20);
            Canvas.SetLeft(redoButton, 85);
            Canvas.SetLeft(opacityLabel, 20);
            Canvas.SetLeft(opacitySlider, 20);
            Canvas.SetLeft(eraseButton, 20);
            Canvas.SetLeft(timeLineLabel, 20);
            Canvas.SetLeft(timelineSlider, 20);
            Canvas.SetLeft(renameTimelineButton, 20);
            successfulSaveLabel.Opacity = 0.0;

            opacitySlider.Height = 23;
            opacitySlider.Width = 200;
            opacitySlider.Minimum = 0;
            opacitySlider.Maximum = 1;
            opacitySlider.IsSnapToTickEnabled = true;
            opacitySlider.Value = .6;
            opacitySlider.ValueChanged += sliderOpacity_ValueChanged;
            opacitySlider.TickFrequency = .1;

            timelineSlider.Height = 23;
            timelineSlider.Width = 200;
            timelineSlider.Minimum = 0;
            timelineSlider.Maximum = 1;
            timelineSlider.IsSnapToTickEnabled = false;
            timelineSlider.Value = .6;
            Canvas.SetZIndex(timelineSlider, 500);
            timelineSlider.ValueChanged += timeLineSlider_ValueChanged;
            timelineSlider.ManipulationCompleted += timeLineSlider_Completed;
            timelineSlider.TickFrequency = .1;

            newMediaButton.Width = buttonWidth;
            newAudioButton.Width = buttonWidth;
            newDrawingButton.Width = buttonWidth;
            newHighlightButton.Width = buttonWidth;
            removeComponentButton.Width = buttonWidth;
            removeEventButton.Width = buttonWidth;
            eraseButton.Width = buttonWidth;
            renameTimelineButton.Width = buttonWidth;

            newMediaButton.Height = buttonHeight;
            newAudioButton.Height = buttonHeight;
            newDrawingButton.Height = buttonHeight;
            newHighlightButton.Height = buttonHeight;
            removeComponentButton.Height = buttonHeight;
            removeEventButton.Height = buttonHeight;
            eraseButton.Height = buttonHeight;
            renameTimelineButton.Height = buttonHeight;

            saveButton.Click += artModeWin.TourAuthoringSaveButton_Click;
            doneButton.Click += tourSystem.TourAuthoringDoneButton_Click;
            deleteButton.Click += tourSystem.TourAuthoringDeleteButton_Click;
            undoButton.Click += undoButton_Click;
            redoButton.Click += redoButton_Click;
            removeEventButton.Click += removeHighlightedAnimation;
            removeComponentButton.Click += removeHighlightedTimeline;
            newMediaButton.Click += addMetadata_Clicked;
            newAudioButton.Click += tourSystem.grabSound;
            newDrawingButton.Click += tourSystem.drawPaths_Click;
            newHighlightButton.Click += tourSystem.drawHighlight_Click;
            eraseButton.Click += erase_Click;
            renameTimelineButton.Click += renameTimelineButton_Click;

            artModeWin.applyRenameTimelineButton.Click += applyRenameTimelineButton_Click;
            artModeWin.cancelRenameTimelineButton.Click += cancelRenameTimelineButton_Click;
        }
        double windowW = 0; // width of parent canvas/window

        #endregion Fields

        #region Constructors

        public TourAuthoringUI(ArtworkModeWindow artModeWinParam, TourSystem tourSystemParam)
        {
            artModeWin = artModeWinParam;
            tourSystem = tourSystemParam;
            canvasWrapper = artModeWin.tourAuthoringUICanvas;
            opacitySlider = new SurfaceSlider();

            w = artModeWin.Width;
            timelineHeight = 40; // 40 px is a good guideline to follow for touchability -- borrowed from Microsoft's touch guidelines

            windowW = w;
            centerX = w / 2;

            timelineLength = 0;
            timelineCount = 0;

            tourSeekBarTimerCount = new Label();
            tourSeekBarLength = new Label();
            backgroundMoved = false;
        }