#if !defined(AFX_CFileManagerDlg_H__82D63FF6_BFB5_40EB_900C_BC54BF22F78F__INCLUDED_)
#define AFX_CFileManagerDlg_H__82D63FF6_BFB5_40EB_900C_BC54BF22F78F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CFileManagerDlg.h : header file
//


#include "afxinet.h"
#include "AttribEditDlg.h"
#include "FileEditDlg.h"
#include "DashboardDlg.h"
#include "Label.h"
class CDashboardRecipient;
class CAttribEdit;
class CFileEdit;

/////////////////////////////////////////////////////////////////////////////
// CFileManagerDlg dialog

class CFileManagerDlg : public CDialog
{
// Construction
public:
	CFileManagerDlg(CWnd* pParent = NULL);   // standard constructor
	
	~CFileManagerDlg();

	void ConfigureFTP(char * address1, BOOL connection1, char * address2, BOOL connection2);

	void setDashboadDlg(CDashboardDlg *dd)
	{ m_dd = dd; };

	void setRecipient(CDashboardRecipient *recipient);

	void setUsername(CString un);
	void setPasswd(CString pw);
	void setMissionDir(CString md);
	int getNumMissions();
	CString getMissionName(int i);
	void setHomeDir(CString hd)
		{ m_homeDir = hd; };

	void DeleteAttribEdit();
	void DeleteFileEdit();

// Dialog Data
	//{{AFX_DATA(CFileManagerDlg)
	enum { IDD = IDD_FILEMANAGER_DIALOG };
	CStatic	m_normalStatic;
	CButton	m_setNormalButton;
	CStatic	m_abortStatic;
	CButton	m_vehicleReloadButton;
	CButton	m_attribEditButton;
	CButton	m_jumpAbortMission;
	CButton	m_jumpMissionButton;
	CButton	m_setAbortButton;
	CButton	m_startButton;
	CListBox	m_RemoteFileControl;
	CListBox	m_LocalFileControl;
	CTabCtrl	m_Tab1Ctrl;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFileManagerDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:

	// MMRecipient
	CDashboardRecipient* m_recipient;
	CDashboardDlg *m_dd;
	char m_IP[32];
	CString m_homeDir;
	CInternetSession * m_inet;
	CFtpConnection * m_ftpc;
	int m_TabSel;
	CString m_title;

	CAttribEditDlg* attribEditDlg;
	CFileEditDlg* fileEditDlg;

	CString m_username;
	CString m_passwd;
	CString m_missionDir;
	CString m_configDir;
	CString m_abortName;
	CString m_defaultAbort;
	CString m_normalName;

	CLabel m_normalMisLabel;
	CLabel m_abortMisLabel;

	CArray<CString*, CString*> m_missionList;
	CArray<CString*, CString*> m_configList;

	void loadConfiguration();
	void storeConfiguration();
	virtual BOOL OnInitDialog();
	void LoadLocalMissionFiles();
	bool LoadRemoteMissionFiles(); 
	void LoadLocalConfigFiles(); 
	bool LoadRemoteConfigFiles(); 
	void DisplayMissions();
	void ShowMissionAttrib(CString normal, CString abort);
	void OpenFTP(int x);
	void UpdateIP();


	// Generated message map functions
	//{{AFX_MSG(CFileManagerDlg)
	afx_msg void OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnDelbuttonl();
	afx_msg void OnDelbuttonr();
	afx_msg void OnAddbuttonl();
	afx_msg void OnLtor();
	afx_msg void OnRtol();
	afx_msg void OnSelchangeLocalfilelist();
	afx_msg void OnSelchangeRemotefilelist();
	afx_msg void OnDblclkLocalfilelist();
	afx_msg void OnRawedit();
	afx_msg void OnAttribedit();
	afx_msg void OnStartmission();
	afx_msg void OnJumpmission();
	afx_msg void OnSetconnection();
	afx_msg void OnReloadremote();
	afx_msg void OnJumpabort();
	afx_msg void OnReloadlocal();
	afx_msg void OnSetabort();
	afx_msg void OnClose();
	afx_msg void OnVehicleReload();
	afx_msg void OnSetnormal();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CFileManagerDlg_H__82D63FF6_BFB5_40EB_900C_BC54BF22F78F__INCLUDED_)
