/*****************************************************************************
* Copyright (c) 1990-2000 Digi International Inc., All Rights Reserved
* 
* This software contains proprietary and confidential information of Digi
* International Inc.  By accepting transfer of this copy, Recipient agrees
* to retain this software in confidence, to prevent disclosure to others,
* and to make no use of this software other than that for which it was
* delivered.  This is an unpublished copyrighted work of Digi International
* Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
* prohibited.
* 
* Restricted Rights Legend
*
* Use, duplication, or disclosure by the Government is subject to
* restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
* Technical Data and Computer Software clause at DFARS 252.227-7031 or
* subparagraphs (c)(1) and (2) of the Commercial Computer Software -
* Restricted Rights at 48 CFR 52.227-19, as applicable.
*
* Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
*
*****************************************************************************/

// PropPageFracT1.cpp : implementation file
//

#include "stdafx.h"
#include "linecsu.h"
#include "PropPageFracT1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPropPageFracT1 dialog

IMPLEMENT_DYNCREATE(CPropPageFracT1, CConfigWizPage)

CPropPageFracT1::CPropPageFracT1(CConfigObject const * const pOwner /* = NULL */, int const nState /* = -1 */, CString const & strTitle /* = TEXT("") */, CString const & strInstruction /* = TEXT("") */) : CConfigWizPage()
{
	//{{AFX_DATA_INIT(CPropPageFracT1)
	m_fTs1 = FALSE;
	m_fTs10 = FALSE;
	m_fTs11 = FALSE;
	m_fTs12 = FALSE;
	m_fTs13 = FALSE;
	m_fTs14 = FALSE;
	m_fTs15 = FALSE;
	m_fTs16 = FALSE;
	m_fTs17 = FALSE;
	m_fTs18 = FALSE;
	m_fTs19 = FALSE;
	m_fTs2 = FALSE;
	m_fTs20 = FALSE;
	m_fTs21 = FALSE;
	m_fTs22 = FALSE;
	m_fTs23 = FALSE;
	m_fTs24 = FALSE;
	m_fTs3 = FALSE;
	m_fTs4 = FALSE;
	m_fTs5 = FALSE;
	m_fTs6 = FALSE;
	m_fTs7 = FALSE;
	m_fTs8 = FALSE;
	m_fTs9 = FALSE;
	m_fSpd1 = -1;
	m_fSpd11 = -1;
	m_fSpd10 = -1;
	m_fSpd12 = -1;
	m_fSpd13 = -1;
	m_fSpd14 = -1;
	m_fSpd15 = -1;
	m_fSpd16 = -1;
	m_fSpd17 = -1;
	m_fSpd18 = -1;
	m_fSpd19 = -1;
	m_fSpd2 = -1;
	m_fSpd20 = -1;
	m_fSpd21 = -1;
	m_fSpd22 = -1;
	m_fSpd23 = -1;
	m_fSpd24 = -1;
	m_fSpd3 = -1;
	m_fSpd4 = -1;
	m_fSpd5 = -1;
	m_fSpd6 = -1;
	m_fSpd7 = -1;
	m_fSpd8 = -1;
	m_fSpd9 = -1;
	//}}AFX_DATA_INIT

   Construct(pOwner, nState, strTitle, strInstruction);
}

void CPropPageFracT1::Construct(CConfigObject const * const pOwner /* = NULL */, int const nState /* = -1 */, CString const & strTitle /* = TEXT("") */, CString const & strInstruction /* = TEXT("") */)
{
   if (!strTitle.IsEmpty())
   {
      CConfigWizPage::Construct(CPropPageFracT1::IDD, 0, pOwner, nState);
      CConfigWizPage::SetTitle(strTitle);
   }
   else
   {
      CConfigWizPage::Construct(CPropPageFracT1::IDD, IDS_Title_FracT1, pOwner, nState);
   }
}

BOOL CPropPageFracT1::OnInitDialog() 
{
	CDialog::OnInitDialog();

   UpdateData(FALSE); // To the controls....

   OnCheckTs1();
   OnCheckTs2();
   OnCheckTs3();
   OnCheckTs4();
   OnCheckTs5();
   OnCheckTs6();
   OnCheckTs7();
   OnCheckTs8();
   OnCheckTs9();
   OnCheckTs10();
   OnCheckTs11();
   OnCheckTs12();
   OnCheckTs13();
   OnCheckTs14();
   OnCheckTs15();
   OnCheckTs16();
   OnCheckTs17();
   OnCheckTs18();
   OnCheckTs19();
   OnCheckTs20();
   OnCheckTs21();
   OnCheckTs22();
   OnCheckTs23();
   OnCheckTs24();

   return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPropPageFracT1::SetBitMaskValues(unsigned long const bmTimeSlots, unsigned long const bmSpeeds)
{
   m_bmTimeSlots = bmTimeSlots;
   m_bmSpeeds = bmSpeeds;
   ConvertBitmasksToCtlData(); // Init the dialog data

   TRACE("CPropPageFracT1::SetBitMaskValues: TimeSlots 0x%x\n", m_bmTimeSlots);
   TRACE("CPropPageFracT1::SetBitMaskValues: Speeds 0x%x\n", m_bmSpeeds);

}

void CPropPageFracT1::ConvertBitmasksToCtlData(void)
{
   unsigned long Bit = 0x1;

   m_fTs1 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs2 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs3 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs4 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs5 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs6 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs7 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs8 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs9 = (0 ==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs10 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs11 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs12 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs13 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs14 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs15 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs16 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs17 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs18 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs19 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs20 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs21 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs22 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs23 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   m_fTs24 = (0==(Bit & m_bmTimeSlots) ? 0 : 1); Bit <<= 1;
   
   // For the speed bitmask, a set bit indicates 64K, clear is 56K

   Bit = 0x1; // Reset to bit 0
   m_fSpd1  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd2  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd3  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd4  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd5  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd6  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd7  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd8  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd9  = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd10 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd11 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd12 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd13 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd14 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd15 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd16 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd17 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd18 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd19 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd20 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd21 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd22 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd23 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;
   m_fSpd24 = (0 == (Bit & m_bmSpeeds)) ? SPEED_INDEX_64K:SPEED_INDEX_56K; Bit <<= 1;

}

void CPropPageFracT1::GetBitMaskValues(unsigned long * const pbmTimeSlots, unsigned long * const pbmSpeeds)
{
   ConvertCtlDataToBitmasks();
   *pbmTimeSlots = m_bmTimeSlots;
   *pbmSpeeds = m_bmSpeeds;

   TRACE("CPropPageFracT1::GetBitMaskValues: TimeSlots 0x%x\n", m_bmTimeSlots);
   TRACE("CPropPageFracT1::GetBitMaskValues: Speeds 0x%x\n", m_bmSpeeds);
}

void CPropPageFracT1::ConvertCtlDataToBitmasks(void)
{
   unsigned long BitMask = 0x0;
   unsigned long Bit = 0x1;

   // Time slots
   BitMask |= (m_fTs1  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs2  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs3  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs4  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs5  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs6  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs7  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs8  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs9  ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs10 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs11 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs12 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs13 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs14 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs15 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs16 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs17 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs18 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs19 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs20 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs21 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs22 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs23 ? Bit : 0 ); Bit <<= 1;
   BitMask |= (m_fTs24 ? Bit : 0 ); Bit <<= 1;
   m_bmTimeSlots = BitMask;

   // Speeds
   BitMask = 0x0;
   Bit = 0x1;
   // For the speed bitmask, a set bit indicates 64K, clear is 56K
   BitMask |= ((SPEED_INDEX_64K == m_fSpd1 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd2 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd3 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd4 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd5 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd6 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd7 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd8 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd9 ) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd10) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd11) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd12) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd13) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd14) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd15) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd16) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd17) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd18) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd19) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd20) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd21) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd22) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd23) ? 0 : Bit); Bit <<= 1;
   BitMask |= ((SPEED_INDEX_64K == m_fSpd24) ? 0 : Bit); Bit <<= 1;

   m_bmSpeeds = BitMask;;

}

void CPropPageFracT1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPropPageFracT1)
	DDX_Control(pDX, IDC_RADIO_SPD64_9, m_cbSpd9);
	DDX_Control(pDX, IDC_RADIO_SPD64_8, m_cbSpd8);
	DDX_Control(pDX, IDC_RADIO_SPD64_7, m_cbSpd7);
	DDX_Control(pDX, IDC_RADIO_SPD64_6, m_cbSpd6);
	DDX_Control(pDX, IDC_RADIO_SPD64_5, m_cbSpd5);
	DDX_Control(pDX, IDC_RADIO_SPD64_4, m_cbSpd4);
	DDX_Control(pDX, IDC_RADIO_SPD64_3, m_cbSpd3);
	DDX_Control(pDX, IDC_RADIO_SPD64_24, m_cbSpd24);
	DDX_Control(pDX, IDC_RADIO_SPD64_23, m_cbSpd23);
	DDX_Control(pDX, IDC_RADIO_SPD64_22, m_cbSpd22);
	DDX_Control(pDX, IDC_RADIO_SPD64_21, m_cbSpd21);
	DDX_Control(pDX, IDC_RADIO_SPD64_20, m_cbSpd20);
	DDX_Control(pDX, IDC_RADIO_SPD64_2, m_cbSpd2);
	DDX_Control(pDX, IDC_RADIO_SPD64_19, m_cbSpd19);
	DDX_Control(pDX, IDC_RADIO_SPD64_18, m_cbSpd18);
	DDX_Control(pDX, IDC_RADIO_SPD64_17, m_cbSpd17);
	DDX_Control(pDX, IDC_RADIO_SPD64_16, m_cbSpd16);
	DDX_Control(pDX, IDC_RADIO_SPD64_15, m_cbSpd15);
	DDX_Control(pDX, IDC_RADIO_SPD64_14, m_cbSpd14);
	DDX_Control(pDX, IDC_RADIO_SPD64_13, m_cbSpd13);
	DDX_Control(pDX, IDC_RADIO_SPD64_12, m_cbSpd12);
	DDX_Control(pDX, IDC_RADIO_SPD64_11, m_cbSpd11);
	DDX_Control(pDX, IDC_RADIO_SPD64_10, m_cbSpd10);
	DDX_Control(pDX, IDC_RADIO_SPD64_1, m_cbSpd1);
	DDX_Control(pDX, IDC_CHECK_TS9, m_cbTs9);
	DDX_Control(pDX, IDC_CHECK_TS8, m_cbTs8);
	DDX_Control(pDX, IDC_CHECK_TS7, m_cbTs7);
	DDX_Control(pDX, IDC_CHECK_TS6, m_cbTs6);
	DDX_Control(pDX, IDC_CHECK_TS5, m_cbTs5);
	DDX_Control(pDX, IDC_CHECK_TS4, m_cbTs4);
	DDX_Control(pDX, IDC_CHECK_TS3, m_cbTs3);
	DDX_Control(pDX, IDC_CHECK_TS24, m_cbTs24);
	DDX_Control(pDX, IDC_CHECK_TS23, m_cbTs23);
	DDX_Control(pDX, IDC_CHECK_TS22, m_cbTs22);
	DDX_Control(pDX, IDC_CHECK_TS21, m_cbTs21);
	DDX_Control(pDX, IDC_CHECK_TS20, m_cbTs20);
	DDX_Control(pDX, IDC_CHECK_TS2, m_cbTs2);
	DDX_Control(pDX, IDC_CHECK_TS19, m_cbTs19);
	DDX_Control(pDX, IDC_CHECK_TS18, m_cbTs18);
	DDX_Control(pDX, IDC_CHECK_TS17, m_cbTs17);
	DDX_Control(pDX, IDC_CHECK_TS16, m_cbTs16);
	DDX_Control(pDX, IDC_CHECK_TS15, m_cbTs15);
	DDX_Control(pDX, IDC_CHECK_TS14, m_cbTs14);
	DDX_Control(pDX, IDC_CHECK_TS13, m_cbTs13);
	DDX_Control(pDX, IDC_CHECK_TS12, m_cbTs12);
	DDX_Control(pDX, IDC_CHECK_TS11, m_cbTs11);
	DDX_Control(pDX, IDC_CHECK_TS10, m_cbTs10);
	DDX_Control(pDX, IDC_CHECK_TS1, m_cbTs1);
	DDX_Check(pDX, IDC_CHECK_TS1, m_fTs1);
	DDX_Check(pDX, IDC_CHECK_TS10, m_fTs10);
	DDX_Check(pDX, IDC_CHECK_TS11, m_fTs11);
	DDX_Check(pDX, IDC_CHECK_TS12, m_fTs12);
	DDX_Check(pDX, IDC_CHECK_TS13, m_fTs13);
	DDX_Check(pDX, IDC_CHECK_TS14, m_fTs14);
	DDX_Check(pDX, IDC_CHECK_TS15, m_fTs15);
	DDX_Check(pDX, IDC_CHECK_TS16, m_fTs16);
	DDX_Check(pDX, IDC_CHECK_TS17, m_fTs17);
	DDX_Check(pDX, IDC_CHECK_TS18, m_fTs18);
	DDX_Check(pDX, IDC_CHECK_TS19, m_fTs19);
	DDX_Check(pDX, IDC_CHECK_TS2, m_fTs2);
	DDX_Check(pDX, IDC_CHECK_TS20, m_fTs20);
	DDX_Check(pDX, IDC_CHECK_TS21, m_fTs21);
	DDX_Check(pDX, IDC_CHECK_TS22, m_fTs22);
	DDX_Check(pDX, IDC_CHECK_TS23, m_fTs23);
	DDX_Check(pDX, IDC_CHECK_TS24, m_fTs24);
	DDX_Check(pDX, IDC_CHECK_TS3, m_fTs3);
	DDX_Check(pDX, IDC_CHECK_TS4, m_fTs4);
	DDX_Check(pDX, IDC_CHECK_TS5, m_fTs5);
	DDX_Check(pDX, IDC_CHECK_TS6, m_fTs6);
	DDX_Check(pDX, IDC_CHECK_TS7, m_fTs7);
	DDX_Check(pDX, IDC_CHECK_TS8, m_fTs8);
	DDX_Check(pDX, IDC_CHECK_TS9, m_fTs9);
	DDX_Radio(pDX, IDC_RADIO_SPD64_1, m_fSpd1);
	DDX_Radio(pDX, IDC_RADIO_SPD64_11, m_fSpd11);
	DDX_Radio(pDX, IDC_RADIO_SPD64_10, m_fSpd10);
	DDX_Radio(pDX, IDC_RADIO_SPD64_12, m_fSpd12);
	DDX_Radio(pDX, IDC_RADIO_SPD64_13, m_fSpd13);
	DDX_Radio(pDX, IDC_RADIO_SPD64_14, m_fSpd14);
	DDX_Radio(pDX, IDC_RADIO_SPD64_15, m_fSpd15);
	DDX_Radio(pDX, IDC_RADIO_SPD64_16, m_fSpd16);
	DDX_Radio(pDX, IDC_RADIO_SPD64_17, m_fSpd17);
	DDX_Radio(pDX, IDC_RADIO_SPD64_18, m_fSpd18);
	DDX_Radio(pDX, IDC_RADIO_SPD64_19, m_fSpd19);
	DDX_Radio(pDX, IDC_RADIO_SPD64_2, m_fSpd2);
	DDX_Radio(pDX, IDC_RADIO_SPD64_20, m_fSpd20);
	DDX_Radio(pDX, IDC_RADIO_SPD64_21, m_fSpd21);
	DDX_Radio(pDX, IDC_RADIO_SPD64_22, m_fSpd22);
	DDX_Radio(pDX, IDC_RADIO_SPD64_23, m_fSpd23);
	DDX_Radio(pDX, IDC_RADIO_SPD64_24, m_fSpd24);
	DDX_Radio(pDX, IDC_RADIO_SPD64_3, m_fSpd3);
	DDX_Radio(pDX, IDC_RADIO_SPD64_4, m_fSpd4);
	DDX_Radio(pDX, IDC_RADIO_SPD64_5, m_fSpd5);
	DDX_Radio(pDX, IDC_RADIO_SPD64_6, m_fSpd6);
	DDX_Radio(pDX, IDC_RADIO_SPD64_7, m_fSpd7);
	DDX_Radio(pDX, IDC_RADIO_SPD64_8, m_fSpd8);
	DDX_Radio(pDX, IDC_RADIO_SPD64_9, m_fSpd9);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPropPageFracT1, CDialog)
	//{{AFX_MSG_MAP(CPropPageFracT1)
	ON_BN_CLICKED(IDC_CHECK_TS1, OnCheckTs1)
	ON_BN_CLICKED(IDC_CHECK_TS2, OnCheckTs2)
	ON_BN_CLICKED(IDC_CHECK_TS3, OnCheckTs3)
	ON_BN_CLICKED(IDC_CHECK_TS4, OnCheckTs4)
	ON_BN_CLICKED(IDC_CHECK_TS5, OnCheckTs5)
	ON_BN_CLICKED(IDC_CHECK_TS6, OnCheckTs6)
	ON_BN_CLICKED(IDC_CHECK_TS7, OnCheckTs7)
	ON_BN_CLICKED(IDC_CHECK_TS8, OnCheckTs8)
	ON_BN_CLICKED(IDC_CHECK_TS9, OnCheckTs9)
	ON_BN_CLICKED(IDC_CHECK_TS10, OnCheckTs10)
	ON_BN_CLICKED(IDC_CHECK_TS11, OnCheckTs11)
	ON_BN_CLICKED(IDC_CHECK_TS12, OnCheckTs12)
	ON_BN_CLICKED(IDC_CHECK_TS13, OnCheckTs13)
	ON_BN_CLICKED(IDC_CHECK_TS14, OnCheckTs14)
	ON_BN_CLICKED(IDC_CHECK_TS15, OnCheckTs15)
	ON_BN_CLICKED(IDC_CHECK_TS16, OnCheckTs16)
	ON_BN_CLICKED(IDC_CHECK_TS17, OnCheckTs17)
	ON_BN_CLICKED(IDC_CHECK_TS18, OnCheckTs18)
	ON_BN_CLICKED(IDC_CHECK_TS19, OnCheckTs19)
	ON_BN_CLICKED(IDC_CHECK_TS20, OnCheckTs20)
	ON_BN_CLICKED(IDC_CHECK_TS21, OnCheckTs21)
	ON_BN_CLICKED(IDC_CHECK_TS22, OnCheckTs22)
	ON_BN_CLICKED(IDC_CHECK_TS23, OnCheckTs23)
	ON_BN_CLICKED(IDC_CHECK_TS24, OnCheckTs24)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPropPageFracT1 message handlers

void CPropPageFracT1::OnCheckTs1() 
{
   BOOL fEnable = m_cbTs1.GetCheck();
   m_cbSpd1.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_1 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs2() 
{
   BOOL fEnable = m_cbTs2.GetCheck();
   m_cbSpd2.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_2 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs3() 
{
   BOOL fEnable = m_cbTs3.GetCheck();
   m_cbSpd3.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_3 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs4() 
{
   BOOL fEnable = m_cbTs4.GetCheck();
   m_cbSpd4.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_4 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs5() 
{
   BOOL fEnable = m_cbTs5.GetCheck();
   m_cbSpd5.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_5 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs6() 
{
   BOOL fEnable = m_cbTs6.GetCheck();
   m_cbSpd6.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_6 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs7() 
{
   BOOL fEnable = m_cbTs7.GetCheck();
   m_cbSpd7.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_7 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs8() 
{
   BOOL fEnable = m_cbTs8.GetCheck();
   m_cbSpd8.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_8 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs9() 
{
   BOOL fEnable = m_cbTs9.GetCheck();
   m_cbSpd9.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_9 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs10() 
{
   BOOL fEnable = m_cbTs10.GetCheck();
   m_cbSpd10.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_10 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs11() 
{
   BOOL fEnable = m_cbTs11.GetCheck();
   m_cbSpd11.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_11 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs12() 
{
   BOOL fEnable = m_cbTs12.GetCheck();
   m_cbSpd12.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_12 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs13() 
{
   BOOL fEnable = m_cbTs13.GetCheck();
   m_cbSpd13.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_13 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs14() 
{
   BOOL fEnable = m_cbTs14.GetCheck();
   m_cbSpd14.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_14 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs15() 
{
   BOOL fEnable = m_cbTs15.GetCheck();
   m_cbSpd15.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_15 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs16() 
{
   BOOL fEnable = m_cbTs16.GetCheck();
   m_cbSpd16.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_16 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs17() 
{
   BOOL fEnable = m_cbTs17.GetCheck();
   m_cbSpd17.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_17 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs18() 
{
   BOOL fEnable = m_cbTs18.GetCheck();
   m_cbSpd18.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_18 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs19() 
{
   BOOL fEnable = m_cbTs19.GetCheck();
   m_cbSpd19.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_19 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs20() 
{
   BOOL fEnable = m_cbTs20.GetCheck();
   m_cbSpd20.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_20 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs21() 
{
   BOOL fEnable = m_cbTs21.GetCheck();
   m_cbSpd21.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_21 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs22() 
{
   BOOL fEnable = m_cbTs22.GetCheck();
   m_cbSpd22.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_22 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs23() 
{
   BOOL fEnable = m_cbTs23.GetCheck();
   m_cbSpd23.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_23 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

void CPropPageFracT1::OnCheckTs24() 
{
   BOOL fEnable = m_cbTs24.GetCheck();
   m_cbSpd24.EnableWindow(fEnable);

   CWnd* pWnd = GetDlgItem( IDC_RADIO_SPD56_24 );
   if (NULL != pWnd)
      pWnd->EnableWindow(fEnable);
}

