/// <summary>
        /// Validate the entered data and close the dialog
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void onOk(object sender, EventArgs e)
        {
            m_completion = new Completion();
            String value = "";
            String data = "";
            Int32 count = -1;
            CompletionType completionType = (CompletionType)guiTypeCbo.SelectedItem;
            m_completion.setCompletionType(completionType);
            if (guiValueTxt.Enabled)
            {
                value = guiValueTxt.Text;
            }
            if (guiDataTxt.Enabled)
            {
                data = guiDataTxt.Text;
            }
            if (guiAmountTxt.Enabled)
            {
                if (!Int32.TryParse(guiAmountTxt.Text, out count))
                {
                    count = -1;
                }
            }

            switch (completionType)
            {
                case CompletionType.Arrive_At:
                    m_completion.setValue(value);
                    break;
                case CompletionType.Nav_Message:
                    m_completion.setValue(value);
                    m_completion.setCount(count);
                    break;
                case CompletionType.Proximity_To_Space_Npc:
                    m_completion.setValue(value);
                    break;
                case CompletionType.Talk_Space_Npc:
                    m_completion.setValue(value);
                    break;
                case CompletionType.Fight_Mob:
                    m_completion.setValue(value);
                    m_completion.setCount(count);
                    break;
                case CompletionType.Give_Credits:
                    m_completion.setValue(count.ToString());
                    break;
                case CompletionType.Give_Item:
                    m_completion.setValue(value);
                    m_completion.setCount(count);
                    break;
                case CompletionType.Nearest_Nav:
                    m_completion.setValue(value);
                    break;
                case CompletionType.Obtain_Items:
                    m_completion.setValue(value);
                    break;
                /*case CompletionType.Obtain_Items_At_Location:
                    m_completion.setValue(value);
                    m_completion.setData(data);
                    break;*/
                case CompletionType.Possess_Item:
                    m_completion.setValue(value);
                    m_completion.setCount(count);
                    break;
                case CompletionType.Receive_Item:
                    m_completion.setValue(count.ToString());
                    break;
                case CompletionType.Current_Sector:
                    m_completion.setValue(value);
                    break;
                /*case CompletionType.Take_Item_To_Location:
                    m_completion.setValue(value);
                    m_completion.setData(data);
                    break;*/
                case CompletionType.Talk_To_Npc:
                    m_completion.setValue(value);
                    break;
                case CompletionType.Use_Skill_On_Mob_Type:
                    m_completion.setValue(value);
                    m_completion.setData(data);
                    break;
                case CompletionType.Use_Skill_On_Object:
                    m_completion.setValue(value);
                    m_completion.setData(data);
                    break;
            }

            String error;
            m_completion.addValidations();
            if (Database.DataConfiguration.validate(out error))
                //&& MissionEditor.Program.m_frmMission.isMissionValid(out error))
            {
                m_madeSelection = true;
                this.Close();
            }
            else
            {
                MessageBox.Show(error);
            }
        }