<?xml version="1.0" encoding="utf-8"?>
<FilingSummary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.3.0.11</Version>
  <ProcessingTime />
  <ReportFormat>Html</ReportFormat>
  <ReportType />
  <ContextCount>565</ContextCount>
  <ElementCount>83</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>453</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>2</UnitCount>
  <MyReports>
    <Report>
      <IsDefault>true</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>010000 - Document - Risk/Return Summary {Unlabeled}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/RiskReturnSummary</Role>
      <ShortName>Risk/Return Summary</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>02002001 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesFiveHundredIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>02002002 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesFiveHundredIndexTrustB</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>02002003 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesActiveBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>02002004 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAllCapCoreTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>02002005 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAllCapValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>02002006 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAlphaOpportunitiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>02002007 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanAssetAllocationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>02002008 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanBlueChipIncomeAndGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>02002009 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>02002010 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanFundamentalHoldingsTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>02002011 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalDiversificationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>02002012 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>02002013 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalSmallCapitalizationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>02002014 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>02002015 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGrowthIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>02002016 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanHighIncomeBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>02002017 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanInternationalTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>02002018 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanNewWorldTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>02002019 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesBalancedTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>02002020 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesBlueChipGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>02002021 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>02002022 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCapitalAppreciationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>02002023 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCapitalAppreciationValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>02002024 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreAllocationPlusTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>02002025 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreAllocationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>02002026 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBalancedStrategyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>02002027 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBalancedTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>02002028 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>02002029 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreDisciplinedDiversificationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>02002030 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreDiversifiedGrowthAndIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>02002031 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreFundamentalHoldingsTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>02002032 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreGlobalDiversificationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>02002033 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCoreStrategyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>02002034 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesCurrencyStrategiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>02002035 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesDisciplinedDiversificationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>02002036 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesEmergingMarketsValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>02002037 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesEquityIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>02002038 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesFinancialServicesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>02002039 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesFranklinTempletonFoundingAllocationTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>02002040 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesFundamentalValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>02002041 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesGlobalTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>02002042 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesGlobalBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>02002043 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesGrowthEquityTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>02002044 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesHealthSciencesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>02002045 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesHeritageTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>02002046 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesHighIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>02002047 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesHighYieldTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>02002048 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>02002049 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalCoreTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>02002050 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalEquityIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>02002051 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalEquityIndexTrustB</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>02002052 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalGrowthStockTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>02002053 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>02002054 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalOpportunitiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>02002055 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalSmallCompanyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>02002056 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>02002057 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesInvestmentQualityBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>02002058 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLargeCapTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>02002059 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLargeCapValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>02002060 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTenTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>02002061 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFifteenTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>02002062 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTwentyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>02002063 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTwentyFiveTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>02002064 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandThirtyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>02002065 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandThirtyFiveTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>02002066 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFourtyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>02002067 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFourtyFiveTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>02002068 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFiftyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>02002069 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleAggressiveTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>02002070 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleBalancedTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>02002071 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleConservativeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>02002072 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>02002073 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleModerateTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>02002074 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>02002075 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapStockTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>02002076 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapValueEquityTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>02002077 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMidValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>02002078 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMoneyMarketTrustB</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>02002079 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMoneyMarketTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>02002080 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesMutualSharesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>02002081 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesNaturalResourcesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>02002082 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesNewIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>02002083 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesOptimizedAllCapTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>02002084 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesOptimizedValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>02002085 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesRealEstateSecuritiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>02002086 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesRealReturnBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>02002087 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesScienceAndTechnologyTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>02002088 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesShortTermGovernmentIncomeTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>02002089 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>02002090 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>02002091 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapOpportunitiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>02002092 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>02002093 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCompanyGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>02002094 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCompanyValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>02002095 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesSmallerCompanyGrowthTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>02002096 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesStrategicIncomeOpportunitiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>02002097 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesTotalBondMarketTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>02002098 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesTotalBondMarketTrustB</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>02002099 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesTotalReturnTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>02002100 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesTotalStockMarketIndexTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R102.htm</HtmlFileName>
      <LongName>02002101 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesUSMultiSectorTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R103.htm</HtmlFileName>
      <LongName>02002102 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesUltraShortTermBondTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R104.htm</HtmlFileName>
      <LongName>02002103 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesUtilitiesTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R105.htm</HtmlFileName>
      <LongName>02002104 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesValueTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R106.htm</HtmlFileName>
      <LongName>02002105 - Schedule - Annual Fund Operating Expenses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualFundOperatingExpensesValueAndRestructuringTrust</Role>
      <ShortName>Annual Fund Operating Expenses</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R107.htm</HtmlFileName>
      <LongName>02003001 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleFiveHundredIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R108.htm</HtmlFileName>
      <LongName>02003002 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleFiveHundredIndexTrustB</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R109.htm</HtmlFileName>
      <LongName>02003003 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleActiveBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R110.htm</HtmlFileName>
      <LongName>02003004 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAllCapCoreTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R111.htm</HtmlFileName>
      <LongName>02003005 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAllCapValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R112.htm</HtmlFileName>
      <LongName>02003006 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAlphaOpportunitiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R113.htm</HtmlFileName>
      <LongName>02003007 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanAssetAllocationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R114.htm</HtmlFileName>
      <LongName>02003008 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanBlueChipIncomeAndGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R115.htm</HtmlFileName>
      <LongName>02003009 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R116.htm</HtmlFileName>
      <LongName>02003010 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanFundamentalHoldingsTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R117.htm</HtmlFileName>
      <LongName>02003011 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanGlobalDiversificationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R118.htm</HtmlFileName>
      <LongName>02003012 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanGlobalGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R119.htm</HtmlFileName>
      <LongName>02003013 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanGlobalSmallCapitalizationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R120.htm</HtmlFileName>
      <LongName>02003014 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R121.htm</HtmlFileName>
      <LongName>02003015 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanGrowthIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R122.htm</HtmlFileName>
      <LongName>02003016 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanHighIncomeBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R123.htm</HtmlFileName>
      <LongName>02003017 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanInternationalTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R124.htm</HtmlFileName>
      <LongName>02003018 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleAmericanNewWorldTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R125.htm</HtmlFileName>
      <LongName>02003019 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleBalancedTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R126.htm</HtmlFileName>
      <LongName>02003020 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleBlueChipGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R127.htm</HtmlFileName>
      <LongName>02003021 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R128.htm</HtmlFileName>
      <LongName>02003022 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCapitalAppreciationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R129.htm</HtmlFileName>
      <LongName>02003023 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCapitalAppreciationValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R130.htm</HtmlFileName>
      <LongName>02003024 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreAllocationPlusTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R131.htm</HtmlFileName>
      <LongName>02003025 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreAllocationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R132.htm</HtmlFileName>
      <LongName>02003026 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreBalancedStrategyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R133.htm</HtmlFileName>
      <LongName>02003027 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreBalancedTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R134.htm</HtmlFileName>
      <LongName>02003028 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R135.htm</HtmlFileName>
      <LongName>02003029 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreDisciplinedDiversificationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R136.htm</HtmlFileName>
      <LongName>02003030 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreDiversifiedGrowthAndIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R137.htm</HtmlFileName>
      <LongName>02003031 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreFundamentalHoldingsTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R138.htm</HtmlFileName>
      <LongName>02003032 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreGlobalDiversificationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R139.htm</HtmlFileName>
      <LongName>02003033 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCoreStrategyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R140.htm</HtmlFileName>
      <LongName>02003034 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleCurrencyStrategiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R141.htm</HtmlFileName>
      <LongName>02003035 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleDisciplinedDiversificationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R142.htm</HtmlFileName>
      <LongName>02003036 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleEmergingMarketsValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R143.htm</HtmlFileName>
      <LongName>02003037 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleEquityIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R144.htm</HtmlFileName>
      <LongName>02003038 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleFinancialServicesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R145.htm</HtmlFileName>
      <LongName>02003039 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleFranklinTempletonFoundingAllocationTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R146.htm</HtmlFileName>
      <LongName>02003040 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleFundamentalValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R147.htm</HtmlFileName>
      <LongName>02003041 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleGlobalTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R148.htm</HtmlFileName>
      <LongName>02003042 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleGlobalBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R149.htm</HtmlFileName>
      <LongName>02003043 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleGrowthEquityTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R150.htm</HtmlFileName>
      <LongName>02003044 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleHealthSciencesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R151.htm</HtmlFileName>
      <LongName>02003045 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleHeritageTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R152.htm</HtmlFileName>
      <LongName>02003046 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleHighIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R153.htm</HtmlFileName>
      <LongName>02003047 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleHighYieldTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R154.htm</HtmlFileName>
      <LongName>02003048 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R155.htm</HtmlFileName>
      <LongName>02003049 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalCoreTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R156.htm</HtmlFileName>
      <LongName>02003050 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalEquityIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R157.htm</HtmlFileName>
      <LongName>02003051 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalEquityIndexTrustB</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R158.htm</HtmlFileName>
      <LongName>02003052 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalGrowthStockTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R159.htm</HtmlFileName>
      <LongName>02003053 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R160.htm</HtmlFileName>
      <LongName>02003054 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalOpportunitiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R161.htm</HtmlFileName>
      <LongName>02003055 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalSmallCompanyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R162.htm</HtmlFileName>
      <LongName>02003056 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInternationalValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R163.htm</HtmlFileName>
      <LongName>02003057 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleInvestmentQualityBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R164.htm</HtmlFileName>
      <LongName>02003058 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLargeCapTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R165.htm</HtmlFileName>
      <LongName>02003059 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLargeCapValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R166.htm</HtmlFileName>
      <LongName>02003060 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTenTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R167.htm</HtmlFileName>
      <LongName>02003061 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFifteenTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R168.htm</HtmlFileName>
      <LongName>02003062 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTwentyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R169.htm</HtmlFileName>
      <LongName>02003063 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTwentyFiveTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R170.htm</HtmlFileName>
      <LongName>02003064 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandThirtyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R171.htm</HtmlFileName>
      <LongName>02003065 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandThirtyFiveTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R172.htm</HtmlFileName>
      <LongName>02003066 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFourtyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R173.htm</HtmlFileName>
      <LongName>02003067 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFourtyFiveTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R174.htm</HtmlFileName>
      <LongName>02003068 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFiftyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R175.htm</HtmlFileName>
      <LongName>02003069 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifestyleAggressiveTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R176.htm</HtmlFileName>
      <LongName>02003070 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifestyleBalancedTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R177.htm</HtmlFileName>
      <LongName>02003071 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifestyleConservativeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R178.htm</HtmlFileName>
      <LongName>02003072 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifestyleGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R179.htm</HtmlFileName>
      <LongName>02003073 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleLifestyleModerateTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R180.htm</HtmlFileName>
      <LongName>02003074 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMidCapIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R181.htm</HtmlFileName>
      <LongName>02003075 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMidCapStockTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R182.htm</HtmlFileName>
      <LongName>02003076 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMidCapValueEquityTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R183.htm</HtmlFileName>
      <LongName>02003077 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMidValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R184.htm</HtmlFileName>
      <LongName>02003078 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMoneyMarketTrustB</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R185.htm</HtmlFileName>
      <LongName>02003079 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMoneyMarketTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R186.htm</HtmlFileName>
      <LongName>02003080 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleMutualSharesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R187.htm</HtmlFileName>
      <LongName>02003081 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleNaturalResourcesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R188.htm</HtmlFileName>
      <LongName>02003082 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleNewIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R189.htm</HtmlFileName>
      <LongName>02003083 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleOptimizedAllCapTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R190.htm</HtmlFileName>
      <LongName>02003084 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleOptimizedValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R191.htm</HtmlFileName>
      <LongName>02003085 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleRealEstateSecuritiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R192.htm</HtmlFileName>
      <LongName>02003086 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleRealReturnBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R193.htm</HtmlFileName>
      <LongName>02003087 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleScienceAndTechnologyTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R194.htm</HtmlFileName>
      <LongName>02003088 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleShortTermGovernmentIncomeTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R195.htm</HtmlFileName>
      <LongName>02003089 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCapGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R196.htm</HtmlFileName>
      <LongName>02003090 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCapIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R197.htm</HtmlFileName>
      <LongName>02003091 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCapOpportunitiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R198.htm</HtmlFileName>
      <LongName>02003092 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCapValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R199.htm</HtmlFileName>
      <LongName>02003093 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCompanyGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R200.htm</HtmlFileName>
      <LongName>02003094 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallCompanyValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R201.htm</HtmlFileName>
      <LongName>02003095 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleSmallerCompanyGrowthTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R202.htm</HtmlFileName>
      <LongName>02003096 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleStrategicIncomeOpportunitiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R203.htm</HtmlFileName>
      <LongName>02003097 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleTotalBondMarketTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R204.htm</HtmlFileName>
      <LongName>02003098 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleTotalBondMarketTrustB</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R205.htm</HtmlFileName>
      <LongName>02003099 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleTotalReturnTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R206.htm</HtmlFileName>
      <LongName>02003100 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleTotalStockMarketIndexTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R207.htm</HtmlFileName>
      <LongName>02003101 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleUSMultiSectorTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R208.htm</HtmlFileName>
      <LongName>02003102 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleUltraShortTermBondTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R209.htm</HtmlFileName>
      <LongName>02003103 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleUtilitiesTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R210.htm</HtmlFileName>
      <LongName>02003104 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleValueTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R211.htm</HtmlFileName>
      <LongName>02003105 - Schedule - Expense Example {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/ExpenseExampleValueAndRestructuringTrust</Role>
      <ShortName>Expense Example</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R212.htm</HtmlFileName>
      <LongName>02005001 - Schedule - Annual Total Returns (Bar Chart) - 500 Index Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartFiveHundredIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - 500 Index Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R213.htm</HtmlFileName>
      <LongName>02005002 - Schedule - Annual Total Returns (Bar Chart) - 500 Index Trust B</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartFiveHundredIndexTrustB</Role>
      <ShortName>Annual Total Returns (Bar Chart) - 500 Index Trust B</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R214.htm</HtmlFileName>
      <LongName>02005003 - Schedule - Annual Total Returns (Bar Chart) - Active Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartActiveBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Active Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R215.htm</HtmlFileName>
      <LongName>02005004 - Schedule - Annual Total Returns (Bar Chart) - All Cap Core Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAllCapCoreTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - All Cap Core Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R216.htm</HtmlFileName>
      <LongName>02005005 - Schedule - Annual Total Returns (Bar Chart) - All Cap Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAllCapValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - All Cap Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R217.htm</HtmlFileName>
      <LongName>02005006 - Schedule - Annual Total Returns (Bar Chart) - Alpha Opportunities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAlphaOpportunitiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Alpha Opportunities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R218.htm</HtmlFileName>
      <LongName>02005007 - Schedule - Annual Total Returns (Bar Chart) - American Asset Allocation Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanAssetAllocationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Asset Allocation Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R219.htm</HtmlFileName>
      <LongName>02005008 - Schedule - Annual Total Returns (Bar Chart) - American Blue Chip Income and Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanBlueChipIncomeAndGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Blue Chip Income and Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R220.htm</HtmlFileName>
      <LongName>02005009 - Schedule - Annual Total Returns (Bar Chart) - American Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R221.htm</HtmlFileName>
      <LongName>02005010 - Schedule - Annual Total Returns (Bar Chart) - American Fundamental Holdings Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanFundamentalHoldingsTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Fundamental Holdings Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R222.htm</HtmlFileName>
      <LongName>02005011 - Schedule - Annual Total Returns (Bar Chart) - American Global Diversification Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalDiversificationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Global Diversification Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R223.htm</HtmlFileName>
      <LongName>02005012 - Schedule - Annual Total Returns (Bar Chart) - American Global Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Global Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R224.htm</HtmlFileName>
      <LongName>02005013 - Schedule - Annual Total Returns (Bar Chart) - American Global Small Capitalization Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalSmallCapitalizationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Global Small Capitalization Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R225.htm</HtmlFileName>
      <LongName>02005014 - Schedule - Annual Total Returns (Bar Chart) - American Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R226.htm</HtmlFileName>
      <LongName>02005015 - Schedule - Annual Total Returns (Bar Chart) - American Growth-Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGrowthIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American Growth-Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R227.htm</HtmlFileName>
      <LongName>02005016 - Schedule - Annual Total Returns (Bar Chart) - American High-Income Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanHighIncomeBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American High-Income Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R228.htm</HtmlFileName>
      <LongName>02005017 - Schedule - Annual Total Returns (Bar Chart) - American International Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanInternationalTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American International Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R229.htm</HtmlFileName>
      <LongName>02005018 - Schedule - Annual Total Returns (Bar Chart) - American New World Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanNewWorldTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - American New World Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R230.htm</HtmlFileName>
      <LongName>02005019 - Schedule - Annual Total Returns (Bar Chart) - Balanced Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartBalancedTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Balanced Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R231.htm</HtmlFileName>
      <LongName>02005020 - Schedule - Annual Total Returns (Bar Chart) - Blue Chip Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartBlueChipGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Blue Chip Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R232.htm</HtmlFileName>
      <LongName>02005021 - Schedule - Annual Total Returns (Bar Chart) - Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R233.htm</HtmlFileName>
      <LongName>02005022 - Schedule - Annual Total Returns (Bar Chart) - Capital Appreciation Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCapitalAppreciationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Capital Appreciation Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R234.htm</HtmlFileName>
      <LongName>02005023 - Schedule - Annual Total Returns (Bar Chart) - Capital Appreciation Value Trust {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCapitalAppreciationValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Capital Appreciation Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R235.htm</HtmlFileName>
      <LongName>02005024 - Schedule - Annual Total Returns (Bar Chart) - Core Allocation Plus Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreAllocationPlusTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Allocation Plus Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R236.htm</HtmlFileName>
      <LongName>02005025 - Schedule - Annual Total Returns (Bar Chart) - Core Allocation Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreAllocationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Allocation Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R237.htm</HtmlFileName>
      <LongName>02005026 - Schedule - Annual Total Returns (Bar Chart) - Core Balanced Strategy Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBalancedStrategyTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Balanced Strategy Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R238.htm</HtmlFileName>
      <LongName>02005027 - Schedule - Annual Total Returns (Bar Chart) - Core Balanced Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBalancedTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Balanced Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R239.htm</HtmlFileName>
      <LongName>02005028 - Schedule - Annual Total Returns (Bar Chart) - Core Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R240.htm</HtmlFileName>
      <LongName>02005029 - Schedule - Annual Total Returns (Bar Chart) - Core Disciplined Diversification Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreDisciplinedDiversificationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Disciplined Diversification Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R241.htm</HtmlFileName>
      <LongName>02005030 - Schedule - Annual Total Returns (Bar Chart) - Core Diversified Growth &amp; Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreDiversifiedGrowthAndIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Diversified Growth &amp; Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R242.htm</HtmlFileName>
      <LongName>02005031 - Schedule - Annual Total Returns (Bar Chart) - Core Fundamental Holdings Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreFundamentalHoldingsTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Fundamental Holdings Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R243.htm</HtmlFileName>
      <LongName>02005032 - Schedule - Annual Total Returns (Bar Chart) - Core Global Diversification Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreGlobalDiversificationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Global Diversification Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R244.htm</HtmlFileName>
      <LongName>02005033 - Schedule - Annual Total Returns (Bar Chart) - Core Strategy Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreStrategyTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Core Strategy Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R245.htm</HtmlFileName>
      <LongName>02005035 - Schedule - Annual Total Returns (Bar Chart) - Disciplined Diversification Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartDisciplinedDiversificationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Disciplined Diversification Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R246.htm</HtmlFileName>
      <LongName>02005036 - Schedule - Annual Total Returns (Bar Chart) - Emerging Markets Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartEmergingMarketsValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Emerging Markets Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R247.htm</HtmlFileName>
      <LongName>02005037 - Schedule - Annual Total Returns (Bar Chart) - Equity-Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartEquityIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Equity-Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R248.htm</HtmlFileName>
      <LongName>02005038 - Schedule - Annual Total Returns (Bar Chart) - Financial Services Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartFinancialServicesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Financial Services Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R249.htm</HtmlFileName>
      <LongName>02005039 - Schedule - Annual Total Returns (Bar Chart) - Franklin Templeton Founding Allocation Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartFranklinTempletonFoundingAllocationTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Franklin Templeton Founding Allocation Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R250.htm</HtmlFileName>
      <LongName>02005040 - Schedule - Annual Total Returns (Bar Chart) - Fundamental Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartFundamentalValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Fundamental Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R251.htm</HtmlFileName>
      <LongName>02005041 - Schedule - Annual Total Returns (Bar Chart) - Global Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartGlobalTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Global Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R252.htm</HtmlFileName>
      <LongName>02005042 - Schedule - Annual Total Returns (Bar Chart) - Global Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartGlobalBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Global Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R253.htm</HtmlFileName>
      <LongName>02005043 - Schedule - Annual Total Returns (Bar Chart) - Growth Equity Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartGrowthEquityTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Growth Equity Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R254.htm</HtmlFileName>
      <LongName>02005044 - Schedule - Annual Total Returns (Bar Chart) - Health Sciences Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartHealthSciencesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Health Sciences Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R255.htm</HtmlFileName>
      <LongName>02005045 - Schedule - Annual Total Returns (Bar Chart) - Heritage Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartHeritageTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Heritage Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R256.htm</HtmlFileName>
      <LongName>02005046 - Schedule - Annual Total Returns (Bar Chart) - High Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartHighIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - High Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R257.htm</HtmlFileName>
      <LongName>02005047 - Schedule - Annual Total Returns (Bar Chart) - High Yield Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartHighYieldTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - High Yield Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R258.htm</HtmlFileName>
      <LongName>02005048 - Schedule - Annual Total Returns (Bar Chart) - Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R259.htm</HtmlFileName>
      <LongName>02005049 - Schedule - Annual Total Returns (Bar Chart) - International Core Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalCoreTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Core Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R260.htm</HtmlFileName>
      <LongName>02005050 - Schedule - Annual Total Returns (Bar Chart) - International Equity Index Trust A</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalEquityIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Equity Index Trust A</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R261.htm</HtmlFileName>
      <LongName>02005051 - Schedule - Annual Total Returns (Bar Chart) - International Equity Index Trust B</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalEquityIndexTrustB</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Equity Index Trust B</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R262.htm</HtmlFileName>
      <LongName>02005053 - Schedule - Annual Total Returns (Bar Chart) - International Index Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Index Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R263.htm</HtmlFileName>
      <LongName>02005054 - Schedule - Annual Total Returns (Bar Chart) - International Opportunities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalOpportunitiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Opportunities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R264.htm</HtmlFileName>
      <LongName>02005055 - Schedule - Annual Total Returns (Bar Chart) - International Small Company Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalSmallCompanyTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Small Company Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R265.htm</HtmlFileName>
      <LongName>02005056 - Schedule - Annual Total Returns (Bar Chart) - International Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - International Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R266.htm</HtmlFileName>
      <LongName>02005057 - Schedule - Annual Total Returns (Bar Chart) - Investment Quality Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartInvestmentQualityBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Investment Quality Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R267.htm</HtmlFileName>
      <LongName>02005058 - Schedule - Annual Total Returns (Bar Chart) - Large Cap Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLargeCapTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Large Cap Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R268.htm</HtmlFileName>
      <LongName>02005059 - Schedule - Annual Total Returns (Bar Chart) - Large Cap Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLargeCapValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Large Cap Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R269.htm</HtmlFileName>
      <LongName>02005069 - Schedule - Annual Total Returns (Bar Chart) - Lifestyle Aggressive Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleAggressiveTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Lifestyle Aggressive Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R270.htm</HtmlFileName>
      <LongName>02005070 - Schedule - Annual Total Returns (Bar Chart) - Lifestyle Balanced Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleBalancedTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Lifestyle Balanced Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R271.htm</HtmlFileName>
      <LongName>02005071 - Schedule - Annual Total Returns (Bar Chart) - Lifestyle Conservative Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleConservativeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Lifestyle Conservative Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R272.htm</HtmlFileName>
      <LongName>02005072 - Schedule - Annual Total Returns (Bar Chart) - Lifestyle Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Lifestyle Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R273.htm</HtmlFileName>
      <LongName>02005073 - Schedule - Annual Total Returns (Bar Chart) - Lifestyle Moderate Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleModerateTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Lifestyle Moderate Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R274.htm</HtmlFileName>
      <LongName>02005074 - Schedule - Annual Total Returns (Bar Chart) - Mid Cap Index Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Mid Cap Index Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R275.htm</HtmlFileName>
      <LongName>02005075 - Schedule - Annual Total Returns (Bar Chart) - Mid Cap Stock Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapStockTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Mid Cap Stock Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R276.htm</HtmlFileName>
      <LongName>02005076 - Schedule - Annual Total Returns (Bar Chart) - Mid Cap Value Equity Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapValueEquityTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Mid Cap Value Equity Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R277.htm</HtmlFileName>
      <LongName>02005077 - Schedule - Annual Total Returns (Bar Chart) - Mid Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMidValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Mid Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R278.htm</HtmlFileName>
      <LongName>02005078 - Schedule - Annual Total Returns (Bar Chart) - Money Market Trust B</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMoneyMarketTrustB</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Money Market Trust B</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R279.htm</HtmlFileName>
      <LongName>02005079 - Schedule - Annual Total Returns (Bar Chart) - Money Market Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMoneyMarketTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Money Market Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R280.htm</HtmlFileName>
      <LongName>02005080 - Schedule - Annual Total Returns (Bar Chart) - Mutual Shares Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartMutualSharesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Mutual Shares Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R281.htm</HtmlFileName>
      <LongName>02005081 - Schedule - Annual Total Returns (Bar Chart) - Natural Resources Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartNaturalResourcesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Natural Resources Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R282.htm</HtmlFileName>
      <LongName>02005082 - Schedule - Annual Total Returns (Bar Chart) - New Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartNewIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - New Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R283.htm</HtmlFileName>
      <LongName>02005083 - Schedule - Annual Total Returns (Bar Chart) - Optimized All Cap Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartOptimizedAllCapTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Optimized All Cap Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R284.htm</HtmlFileName>
      <LongName>02005084 - Schedule - Annual Total Returns (Bar Chart) - Optimized Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartOptimizedValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Optimized Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R285.htm</HtmlFileName>
      <LongName>02005085 - Schedule - Annual Total Returns (Bar Chart) - Real Estate Securities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartRealEstateSecuritiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Real Estate Securities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R286.htm</HtmlFileName>
      <LongName>02005086 - Schedule - Annual Total Returns (Bar Chart) - Real Return Bond Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartRealReturnBondTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Real Return Bond Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R287.htm</HtmlFileName>
      <LongName>02005087 - Schedule - Annual Total Returns (Bar Chart) - Science &amp; Technology Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartScienceAndTechnologyTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Science &amp; Technology Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R288.htm</HtmlFileName>
      <LongName>02005088 - Schedule - Annual Total Returns (Bar Chart) - Short Term Government Income Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartShortTermGovernmentIncomeTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Short Term Government Income Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R289.htm</HtmlFileName>
      <LongName>02005089 - Schedule - Annual Total Returns (Bar Chart) - Small Cap Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Cap Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R290.htm</HtmlFileName>
      <LongName>02005090 - Schedule - Annual Total Returns (Bar Chart) - Small Cap Index Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Cap Index Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R291.htm</HtmlFileName>
      <LongName>02005091 - Schedule - Annual Total Returns (Bar Chart) - Small Cap Opportunities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapOpportunitiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Cap Opportunities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R292.htm</HtmlFileName>
      <LongName>02005092 - Schedule - Annual Total Returns (Bar Chart) - Small Cap Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Cap Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R293.htm</HtmlFileName>
      <LongName>02005093 - Schedule - Annual Total Returns (Bar Chart) - Small Company Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCompanyGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Company Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R294.htm</HtmlFileName>
      <LongName>02005094 - Schedule - Annual Total Returns (Bar Chart) - Small Company Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCompanyValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Small Company Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R295.htm</HtmlFileName>
      <LongName>02005095 - Schedule - Annual Total Returns (Bar Chart) - Smaller Company Growth Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallerCompanyGrowthTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Smaller Company Growth Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R296.htm</HtmlFileName>
      <LongName>02005096 - Schedule - Annual Total Returns (Bar Chart) - Strategic Income Opportunities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartStrategicIncomeOpportunitiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Strategic Income Opportunities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R297.htm</HtmlFileName>
      <LongName>02005097 - Schedule - Annual Total Returns (Bar Chart) - Total Bond Market Trust A</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalBondMarketTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Total Bond Market Trust A</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R298.htm</HtmlFileName>
      <LongName>02005098 - Schedule - Annual Total Returns (Bar Chart) - Total Bond Market Trust B</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalBondMarketTrustB</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Total Bond Market Trust B</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R299.htm</HtmlFileName>
      <LongName>02005099 - Schedule - Annual Total Returns (Bar Chart) - Total Return Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalReturnTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Total Return Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R300.htm</HtmlFileName>
      <LongName>02005100 - Schedule - Annual Total Returns (Bar Chart) - Total Stock Market Index Trust {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalStockMarketIndexTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Total Stock Market Index Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R301.htm</HtmlFileName>
      <LongName>02005101 - Schedule - Annual Total Returns (Bar Chart) - U.S.Multi Sector Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartUSMultiSectorTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - U.S.Multi Sector Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R302.htm</HtmlFileName>
      <LongName>02005103 - Schedule - Annual Total Returns (Bar Chart) - Utilities Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartUtilitiesTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Utilities Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R303.htm</HtmlFileName>
      <LongName>02005104 - Schedule - Annual Total Returns (Bar Chart) - Value Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartValueTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Value Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R304.htm</HtmlFileName>
      <LongName>02005105 - Schedule - Annual Total Returns (Bar Chart) - Value &amp; Restructuring Trust</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AnnualTotalReturnsBarChartValueAndRestructuringTrust</Role>
      <ShortName>Annual Total Returns (Bar Chart) - Value &amp; Restructuring Trust</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R305.htm</HtmlFileName>
      <LongName>02006001 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsFiveHundredIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R306.htm</HtmlFileName>
      <LongName>02006002 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsFiveHundredIndexTrustB</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R307.htm</HtmlFileName>
      <LongName>02006003 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsActiveBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R308.htm</HtmlFileName>
      <LongName>02006004 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAllCapCoreTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R309.htm</HtmlFileName>
      <LongName>02006005 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAllCapValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R310.htm</HtmlFileName>
      <LongName>02006006 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAlphaOpportunitiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R311.htm</HtmlFileName>
      <LongName>02006007 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanAssetAllocationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R312.htm</HtmlFileName>
      <LongName>02006008 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanBlueChipIncomeAndGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R313.htm</HtmlFileName>
      <LongName>02006009 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R314.htm</HtmlFileName>
      <LongName>02006010 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanFundamentalHoldingsTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R315.htm</HtmlFileName>
      <LongName>02006011 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalDiversificationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R316.htm</HtmlFileName>
      <LongName>02006012 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R317.htm</HtmlFileName>
      <LongName>02006013 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalSmallCapitalizationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R318.htm</HtmlFileName>
      <LongName>02006014 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R319.htm</HtmlFileName>
      <LongName>02006015 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGrowthIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R320.htm</HtmlFileName>
      <LongName>02006016 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanHighIncomeBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R321.htm</HtmlFileName>
      <LongName>02006017 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanInternationalTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R322.htm</HtmlFileName>
      <LongName>02006018 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanNewWorldTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R323.htm</HtmlFileName>
      <LongName>02006019 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsBalancedTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R324.htm</HtmlFileName>
      <LongName>02006020 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsBlueChipGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R325.htm</HtmlFileName>
      <LongName>02006021 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R326.htm</HtmlFileName>
      <LongName>02006022 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCapitalAppreciationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R327.htm</HtmlFileName>
      <LongName>02006023 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCapitalAppreciationValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R328.htm</HtmlFileName>
      <LongName>02006024 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreAllocationPlusTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R329.htm</HtmlFileName>
      <LongName>02006025 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreAllocationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R330.htm</HtmlFileName>
      <LongName>02006026 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBalancedStrategyTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R331.htm</HtmlFileName>
      <LongName>02006027 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBalancedTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R332.htm</HtmlFileName>
      <LongName>02006028 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R333.htm</HtmlFileName>
      <LongName>02006029 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreDisciplinedDiversificationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R334.htm</HtmlFileName>
      <LongName>02006030 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreDiversifiedGrowthAndIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R335.htm</HtmlFileName>
      <LongName>02006031 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreFundamentalHoldingsTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R336.htm</HtmlFileName>
      <LongName>02006032 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreGlobalDiversificationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R337.htm</HtmlFileName>
      <LongName>02006033 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsCoreStrategyTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R338.htm</HtmlFileName>
      <LongName>02006035 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsDisciplinedDiversificationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R339.htm</HtmlFileName>
      <LongName>02006036 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsEmergingMarketsValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R340.htm</HtmlFileName>
      <LongName>02006037 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsEquityIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R341.htm</HtmlFileName>
      <LongName>02006038 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsFinancialServicesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R342.htm</HtmlFileName>
      <LongName>02006039 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsFranklinTempletonFoundingAllocationTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R343.htm</HtmlFileName>
      <LongName>02006040 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsFundamentalValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R344.htm</HtmlFileName>
      <LongName>02006041 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsGlobalTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R345.htm</HtmlFileName>
      <LongName>02006042 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsGlobalBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R346.htm</HtmlFileName>
      <LongName>02006043 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsGrowthEquityTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R347.htm</HtmlFileName>
      <LongName>02006044 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsHealthSciencesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R348.htm</HtmlFileName>
      <LongName>02006045 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsHeritageTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R349.htm</HtmlFileName>
      <LongName>02006046 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsHighIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R350.htm</HtmlFileName>
      <LongName>02006047 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsHighYieldTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R351.htm</HtmlFileName>
      <LongName>02006048 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R352.htm</HtmlFileName>
      <LongName>02006049 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalCoreTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R353.htm</HtmlFileName>
      <LongName>02006050 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalEquityIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R354.htm</HtmlFileName>
      <LongName>02006051 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalEquityIndexTrustB</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R355.htm</HtmlFileName>
      <LongName>02006053 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R356.htm</HtmlFileName>
      <LongName>02006054 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalOpportunitiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R357.htm</HtmlFileName>
      <LongName>02006055 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalSmallCompanyTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R358.htm</HtmlFileName>
      <LongName>02006056 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R359.htm</HtmlFileName>
      <LongName>02006057 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsInvestmentQualityBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R360.htm</HtmlFileName>
      <LongName>02006058 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLargeCapTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R361.htm</HtmlFileName>
      <LongName>02006059 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLargeCapValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R362.htm</HtmlFileName>
      <LongName>02006069 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleAggressiveTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R363.htm</HtmlFileName>
      <LongName>02006070 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleBalancedTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R364.htm</HtmlFileName>
      <LongName>02006071 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleConservativeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R365.htm</HtmlFileName>
      <LongName>02006072 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R366.htm</HtmlFileName>
      <LongName>02006073 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleModerateTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R367.htm</HtmlFileName>
      <LongName>02006074 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R368.htm</HtmlFileName>
      <LongName>02006075 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapStockTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R369.htm</HtmlFileName>
      <LongName>02006076 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapValueEquityTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R370.htm</HtmlFileName>
      <LongName>02006077 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMidValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R371.htm</HtmlFileName>
      <LongName>02006078 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMoneyMarketTrustB</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R372.htm</HtmlFileName>
      <LongName>02006079 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMoneyMarketTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R373.htm</HtmlFileName>
      <LongName>02006080 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsMutualSharesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R374.htm</HtmlFileName>
      <LongName>02006081 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsNaturalResourcesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R375.htm</HtmlFileName>
      <LongName>02006082 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsNewIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R376.htm</HtmlFileName>
      <LongName>02006083 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsOptimizedAllCapTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R377.htm</HtmlFileName>
      <LongName>02006084 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsOptimizedValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R378.htm</HtmlFileName>
      <LongName>02006085 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsRealEstateSecuritiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R379.htm</HtmlFileName>
      <LongName>02006086 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsRealReturnBondTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R380.htm</HtmlFileName>
      <LongName>02006087 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsScienceAndTechnologyTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R381.htm</HtmlFileName>
      <LongName>02006088 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsShortTermGovernmentIncomeTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R382.htm</HtmlFileName>
      <LongName>02006089 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R383.htm</HtmlFileName>
      <LongName>02006090 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R384.htm</HtmlFileName>
      <LongName>02006091 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapOpportunitiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R385.htm</HtmlFileName>
      <LongName>02006092 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R386.htm</HtmlFileName>
      <LongName>02006093 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCompanyGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R387.htm</HtmlFileName>
      <LongName>02006094 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCompanyValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R388.htm</HtmlFileName>
      <LongName>02006095 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsSmallerCompanyGrowthTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R389.htm</HtmlFileName>
      <LongName>02006096 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsStrategicIncomeOpportunitiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R390.htm</HtmlFileName>
      <LongName>02006097 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsTotalBondMarketTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R391.htm</HtmlFileName>
      <LongName>02006098 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsTotalBondMarketTrustB</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R392.htm</HtmlFileName>
      <LongName>02006099 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsTotalReturnTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R393.htm</HtmlFileName>
      <LongName>02006100 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsTotalStockMarketIndexTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R394.htm</HtmlFileName>
      <LongName>02006101 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsUSMultiSectorTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R395.htm</HtmlFileName>
      <LongName>02006103 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsUtilitiesTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R396.htm</HtmlFileName>
      <LongName>02006104 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsValueTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R397.htm</HtmlFileName>
      <LongName>02006105 - Schedule - Average Annual Total Returns {Transposed}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://jhfunds.com/role/AverageAnnualTotalReturnsValueAndRestructuringTrust</Role>
      <ShortName>Average Annual Total Returns</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <HtmlFileName>R398.htm</HtmlFileName>
      <LongName>040000 - Disclosure - Risk/Return Detail Data {Elements}</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://xbrl.sec.gov/rr/role/RiskReturnDetailData</Role>
      <ShortName>Risk/Return Detail Data</ShortName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesFiveHundredIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008218_Member * row dei_LegalEntityAxis  compact jht756913_S000008218_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesFiveHundredIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008219_Member * row dei_LegalEntityAxis  compact jht756913_S000008219_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesActiveBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008236_Member * row dei_LegalEntityAxis  compact jht756913_S000008236_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAllCapCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008242_Member * row dei_LegalEntityAxis  compact jht756913_S000008242_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAllCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008244_Member * row dei_LegalEntityAxis  compact jht756913_S000008244_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAlphaOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023550_Member * row dei_LegalEntityAxis  compact jht756913_S000023550_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanAssetAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017250_Member * row dei_LegalEntityAxis  compact jht756913_S000017250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanBlueChipIncomeandGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008245_Member * row dei_LegalEntityAxis  compact jht756913_S000008245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008246_Member * row dei_LegalEntityAxis  compact jht756913_S000008246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019301_Member * row dei_LegalEntityAxis  compact jht756913_S000019301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019302_Member * row dei_LegalEntityAxis  compact jht756913_S000019302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017256_Member * row dei_LegalEntityAxis  compact jht756913_S000017256_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGlobalSmallCapitalizationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017249_Member * row dei_LegalEntityAxis  compact jht756913_S000017249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008215_Member * row dei_LegalEntityAxis  compact jht756913_S000008215_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanGrowthIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008247_Member * row dei_LegalEntityAxis  compact jht756913_S000008247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanHighIncomeBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017257_Member * row dei_LegalEntityAxis  compact jht756913_S000017257_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanInternationalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008216_Member * row dei_LegalEntityAxis  compact jht756913_S000008216_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesAmericanNewWorldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017258_Member * row dei_LegalEntityAxis  compact jht756913_S000017258_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025518_Member * row dei_LegalEntityAxis  compact jht756913_S000025518_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesBlueChipGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008217_Member * row dei_LegalEntityAxis  compact jht756913_S000008217_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026132_Member * row dei_LegalEntityAxis  compact jht756913_S000026132_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCapitalAppreciationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008220_Member * row dei_LegalEntityAxis  compact jht756913_S000008220_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCapitalAppreciationValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021933_Member * row dei_LegalEntityAxis  compact jht756913_S000021933_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreAllocationPlusTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020243_Member * row dei_LegalEntityAxis  compact jht756913_S000020243_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025522_Member * row dei_LegalEntityAxis  compact jht756913_S000025522_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBalancedStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026131_Member * row dei_LegalEntityAxis  compact jht756913_S000026131_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025524_Member * row dei_LegalEntityAxis  compact jht756913_S000025524_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008222_Member * row dei_LegalEntityAxis  compact jht756913_S000008222_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025523_Member * row dei_LegalEntityAxis  compact jht756913_S000025523_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreDiversifiedGrowthAndIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000022608_Member * row dei_LegalEntityAxis  compact jht756913_S000022608_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025520_Member * row dei_LegalEntityAxis  compact jht756913_S000025520_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025521_Member * row dei_LegalEntityAxis  compact jht756913_S000025521_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCoreStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008271_Member * row dei_LegalEntityAxis  compact jht756913_S000008271_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesCurrencyStrategiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029540_Member * row dei_LegalEntityAxis  compact jht756913_S000029540_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021934_Member * row dei_LegalEntityAxis  compact jht756913_S000021934_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesEmergingMarketsValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017255_Member * row dei_LegalEntityAxis  compact jht756913_S000017255_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesEquityIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008228_Member * row dei_LegalEntityAxis  compact jht756913_S000008228_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesFinancialServicesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008229_Member * row dei_LegalEntityAxis  compact jht756913_S000008229_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesFranklinTempletonFoundingAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017251_Member * row dei_LegalEntityAxis  compact jht756913_S000017251_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesFundamentalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008230_Member * row dei_LegalEntityAxis  compact jht756913_S000008230_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesGlobalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008231_Member * row dei_LegalEntityAxis  compact jht756913_S000008231_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesGlobalBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008233_Member * row dei_LegalEntityAxis  compact jht756913_S000008233_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesGrowthEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021935_Member * row dei_LegalEntityAxis  compact jht756913_S000021935_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesHealthSciencesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008239_Member * row dei_LegalEntityAxis  compact jht756913_S000008239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesHeritageTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008337_Member * row dei_LegalEntityAxis  compact jht756913_S000008337_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesHighIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000011295_Member * row dei_LegalEntityAxis  compact jht756913_S000011295_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesHighYieldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008240_Member * row dei_LegalEntityAxis  compact jht756913_S000008240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017252_Member * row dei_LegalEntityAxis  compact jht756913_S000017252_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008872_Member * row dei_LegalEntityAxis  compact jht756913_S000008872_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalEquityIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008293_Member * row dei_LegalEntityAxis  compact jht756913_S000008293_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalEquityIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008297_Member * row dei_LegalEntityAxis  compact jht756913_S000008297_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalGrowthStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029541_Member * row dei_LegalEntityAxis  compact jht756913_S000029541_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025519_Member * row dei_LegalEntityAxis  compact jht756913_S000025519_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008299_Member * row dei_LegalEntityAxis  compact jht756913_S000008299_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalSmallCompanyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008301_Member * row dei_LegalEntityAxis  compact jht756913_S000008301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInternationalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008302_Member * row dei_LegalEntityAxis  compact jht756913_S000008302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesInvestmentQualityBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008273_Member * row dei_LegalEntityAxis  compact jht756913_S000008273_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLargeCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008274_Member * row dei_LegalEntityAxis  compact jht756913_S000008274_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLargeCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008276_Member * row dei_LegalEntityAxis  compact jht756913_S000008276_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTenTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020245_Member * row dei_LegalEntityAxis  compact jht756913_S000020245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFifteenTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020246_Member * row dei_LegalEntityAxis  compact jht756913_S000020246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTwentyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020247_Member * row dei_LegalEntityAxis  compact jht756913_S000020247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandTwentyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020248_Member * row dei_LegalEntityAxis  compact jht756913_S000020248_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandThirtyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020249_Member * row dei_LegalEntityAxis  compact jht756913_S000020249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandThirtyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020250_Member * row dei_LegalEntityAxis  compact jht756913_S000020250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFourtyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020239_Member * row dei_LegalEntityAxis  compact jht756913_S000020239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFourtyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020240_Member * row dei_LegalEntityAxis  compact jht756913_S000020240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifecycleTwoThousandFiftyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020241_Member * row dei_LegalEntityAxis  compact jht756913_S000020241_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleAggressiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008277_Member * row dei_LegalEntityAxis  compact jht756913_S000008277_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008279_Member * row dei_LegalEntityAxis  compact jht756913_S000008279_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleConservativeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008281_Member * row dei_LegalEntityAxis  compact jht756913_S000008281_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008278_Member * row dei_LegalEntityAxis  compact jht756913_S000008278_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesLifestyleModerateTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008280_Member * row dei_LegalEntityAxis  compact jht756913_S000008280_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008285_Member * row dei_LegalEntityAxis  compact jht756913_S000008285_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008286_Member * row dei_LegalEntityAxis  compact jht756913_S000008286_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMidCapValueEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008288_Member * row dei_LegalEntityAxis  compact jht756913_S000008288_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMidValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008289_Member * row dei_LegalEntityAxis  compact jht756913_S000008289_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMoneyMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008291_Member * row dei_LegalEntityAxis  compact jht756913_S000008291_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMoneyMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008290_Member * row dei_LegalEntityAxis  compact jht756913_S000008290_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesMutualSharesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017253_Member * row dei_LegalEntityAxis  compact jht756913_S000017253_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesNaturalResourcesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008292_Member * row dei_LegalEntityAxis  compact jht756913_S000008292_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesNewIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008318_Member * row dei_LegalEntityAxis  compact jht756913_S000008318_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesOptimizedAllCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008296_Member * row dei_LegalEntityAxis  compact jht756913_S000008296_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesOptimizedValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008321_Member * row dei_LegalEntityAxis  compact jht756913_S000008321_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesRealEstateSecuritiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008338_Member * row dei_LegalEntityAxis  compact jht756913_S000008338_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesRealReturnBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008339_Member * row dei_LegalEntityAxis  compact jht756913_S000008339_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesScienceAndTechnologyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008340_Member * row dei_LegalEntityAxis  compact jht756913_S000008340_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesShortTermGovernmentIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000024662_Member * row dei_LegalEntityAxis  compact jht756913_S000024662_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008343_Member * row dei_LegalEntityAxis  compact jht756913_S000008343_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008311_Member * row dei_LegalEntityAxis  compact jht756913_S000008311_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008312_Member * row dei_LegalEntityAxis  compact jht756913_S000008312_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008313_Member * row dei_LegalEntityAxis  compact jht756913_S000008313_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008315_Member * row dei_LegalEntityAxis  compact jht756913_S000008315_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallCompanyValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008316_Member * row dei_LegalEntityAxis  compact jht756913_S000008316_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesSmallerCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023551_Member * row dei_LegalEntityAxis  compact jht756913_S000023551_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesStrategicIncomeOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008320_Member * row dei_LegalEntityAxis  compact jht756913_S000008320_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesTotalBondMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000010083_Member * row dei_LegalEntityAxis  compact jht756913_S000010083_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesTotalBondMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008214_Member * row dei_LegalEntityAxis  compact jht756913_S000008214_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesTotalReturnTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008324_Member * row dei_LegalEntityAxis  compact jht756913_S000008324_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesTotalStockMarketIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008325_Member * row dei_LegalEntityAxis  compact jht756913_S000008325_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesUSMultiSectorTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008331_Member * row dei_LegalEntityAxis  compact jht756913_S000008331_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesUltraShortTermBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029542_Member * row dei_LegalEntityAxis  compact jht756913_S000029542_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesUtilitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008333_Member * row dei_LegalEntityAxis  compact jht756913_S000008333_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008334_Member * row dei_LegalEntityAxis  compact jht756913_S000008334_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualFundOperatingExpensesValueAndRestructuringTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008335_Member * row dei_LegalEntityAxis  compact jht756913_S000008335_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleFiveHundredIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008218_Member * row dei_LegalEntityAxis  compact jht756913_S000008218_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleFiveHundredIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008219_Member * row dei_LegalEntityAxis  compact jht756913_S000008219_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleActiveBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008236_Member * row dei_LegalEntityAxis  compact jht756913_S000008236_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAllCapCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008242_Member * row dei_LegalEntityAxis  compact jht756913_S000008242_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAllCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008244_Member * row dei_LegalEntityAxis  compact jht756913_S000008244_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAlphaOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023550_Member * row dei_LegalEntityAxis  compact jht756913_S000023550_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanAssetAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017250_Member * row dei_LegalEntityAxis  compact jht756913_S000017250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanBlueChipIncomeandGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008245_Member * row dei_LegalEntityAxis  compact jht756913_S000008245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008246_Member * row dei_LegalEntityAxis  compact jht756913_S000008246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019301_Member * row dei_LegalEntityAxis  compact jht756913_S000019301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019302_Member * row dei_LegalEntityAxis  compact jht756913_S000019302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanGlobalGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017256_Member * row dei_LegalEntityAxis  compact jht756913_S000017256_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanGlobalSmallCapitalizationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017249_Member * row dei_LegalEntityAxis  compact jht756913_S000017249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008215_Member * row dei_LegalEntityAxis  compact jht756913_S000008215_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanGrowthIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008247_Member * row dei_LegalEntityAxis  compact jht756913_S000008247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanHighIncomeBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017257_Member * row dei_LegalEntityAxis  compact jht756913_S000017257_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanInternationalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008216_Member * row dei_LegalEntityAxis  compact jht756913_S000008216_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleAmericanNewWorldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017258_Member * row dei_LegalEntityAxis  compact jht756913_S000017258_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025518_Member * row dei_LegalEntityAxis  compact jht756913_S000025518_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleBlueChipGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008217_Member * row dei_LegalEntityAxis  compact jht756913_S000008217_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026132_Member * row dei_LegalEntityAxis  compact jht756913_S000026132_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCapitalAppreciationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008220_Member * row dei_LegalEntityAxis  compact jht756913_S000008220_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCapitalAppreciationValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021933_Member * row dei_LegalEntityAxis  compact jht756913_S000021933_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreAllocationPlusTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020243_Member * row dei_LegalEntityAxis  compact jht756913_S000020243_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025522_Member * row dei_LegalEntityAxis  compact jht756913_S000025522_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreBalancedStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026131_Member * row dei_LegalEntityAxis  compact jht756913_S000026131_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025524_Member * row dei_LegalEntityAxis  compact jht756913_S000025524_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008222_Member * row dei_LegalEntityAxis  compact jht756913_S000008222_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025523_Member * row dei_LegalEntityAxis  compact jht756913_S000025523_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreDiversifiedGrowthAndIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000022608_Member * row dei_LegalEntityAxis  compact jht756913_S000022608_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025520_Member * row dei_LegalEntityAxis  compact jht756913_S000025520_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025521_Member * row dei_LegalEntityAxis  compact jht756913_S000025521_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCoreStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008271_Member * row dei_LegalEntityAxis  compact jht756913_S000008271_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleCurrencyStrategiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029540_Member * row dei_LegalEntityAxis  compact jht756913_S000029540_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021934_Member * row dei_LegalEntityAxis  compact jht756913_S000021934_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleEmergingMarketsValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017255_Member * row dei_LegalEntityAxis  compact jht756913_S000017255_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleEquityIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008228_Member * row dei_LegalEntityAxis  compact jht756913_S000008228_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleFinancialServicesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008229_Member * row dei_LegalEntityAxis  compact jht756913_S000008229_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleFranklinTempletonFoundingAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017251_Member * row dei_LegalEntityAxis  compact jht756913_S000017251_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleFundamentalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008230_Member * row dei_LegalEntityAxis  compact jht756913_S000008230_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleGlobalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008231_Member * row dei_LegalEntityAxis  compact jht756913_S000008231_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleGlobalBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008233_Member * row dei_LegalEntityAxis  compact jht756913_S000008233_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleGrowthEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021935_Member * row dei_LegalEntityAxis  compact jht756913_S000021935_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleHealthSciencesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008239_Member * row dei_LegalEntityAxis  compact jht756913_S000008239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleHeritageTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008337_Member * row dei_LegalEntityAxis  compact jht756913_S000008337_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleHighIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000011295_Member * row dei_LegalEntityAxis  compact jht756913_S000011295_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleHighYieldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008240_Member * row dei_LegalEntityAxis  compact jht756913_S000008240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017252_Member * row dei_LegalEntityAxis  compact jht756913_S000017252_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008872_Member * row dei_LegalEntityAxis  compact jht756913_S000008872_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalEquityIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008293_Member * row dei_LegalEntityAxis  compact jht756913_S000008293_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalEquityIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008297_Member * row dei_LegalEntityAxis  compact jht756913_S000008297_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalGrowthStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029541_Member * row dei_LegalEntityAxis  compact jht756913_S000029541_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008297_Member * row dei_LegalEntityAxis  compact jht756913_S000008297_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008299_Member * row dei_LegalEntityAxis  compact jht756913_S000008299_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalSmallCompanyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008301_Member * row dei_LegalEntityAxis  compact jht756913_S000008301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInternationalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008302_Member * row dei_LegalEntityAxis  compact jht756913_S000008302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleInvestmentQualityBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008273_Member * row dei_LegalEntityAxis  compact jht756913_S000008273_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLargeCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008274_Member * row dei_LegalEntityAxis  compact jht756913_S000008274_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLargeCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008276_Member * row dei_LegalEntityAxis  compact jht756913_S000008276_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTenTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020245_Member * row dei_LegalEntityAxis  compact jht756913_S000020245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFifteenTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020246_Member * row dei_LegalEntityAxis  compact jht756913_S000020246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTwentyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020247_Member * row dei_LegalEntityAxis  compact jht756913_S000020247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandTwentyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020248_Member * row dei_LegalEntityAxis  compact jht756913_S000020248_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandThirtyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020249_Member * row dei_LegalEntityAxis  compact jht756913_S000020249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandThirtyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020250_Member * row dei_LegalEntityAxis  compact jht756913_S000020250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFourtyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020239_Member * row dei_LegalEntityAxis  compact jht756913_S000020239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFourtyFiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020240_Member * row dei_LegalEntityAxis  compact jht756913_S000020240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifecycleTwoThousandFiftyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020241_Member * row dei_LegalEntityAxis  compact jht756913_S000020241_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifestyleAggressiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008277_Member * row dei_LegalEntityAxis  compact jht756913_S000008277_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifestyleBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008279_Member * row dei_LegalEntityAxis  compact jht756913_S000008279_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifestyleConservativeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008281_Member * row dei_LegalEntityAxis  compact jht756913_S000008281_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifestyleGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008278_Member * row dei_LegalEntityAxis  compact jht756913_S000008278_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleLifestyleModerateTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008280_Member * row dei_LegalEntityAxis  compact jht756913_S000008280_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMidCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008285_Member * row dei_LegalEntityAxis  compact jht756913_S000008285_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMidCapStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008286_Member * row dei_LegalEntityAxis  compact jht756913_S000008286_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMidCapValueEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008288_Member * row dei_LegalEntityAxis  compact jht756913_S000008288_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMidValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008289_Member * row dei_LegalEntityAxis  compact jht756913_S000008289_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMoneyMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008291_Member * row dei_LegalEntityAxis  compact jht756913_S000008291_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMoneyMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008290_Member * row dei_LegalEntityAxis  compact jht756913_S000008290_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleMutualSharesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017253_Member * row dei_LegalEntityAxis  compact jht756913_S000017253_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleNaturalResourcesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008292_Member * row dei_LegalEntityAxis  compact jht756913_S000008292_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleNewIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008318_Member * row dei_LegalEntityAxis  compact jht756913_S000008318_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleOptimizedAllCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008296_Member * row dei_LegalEntityAxis  compact jht756913_S000008296_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleOptimizedValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008321_Member * row dei_LegalEntityAxis  compact jht756913_S000008321_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleRealEstateSecuritiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008338_Member * row dei_LegalEntityAxis  compact jht756913_S000008338_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleRealReturnBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008339_Member * row dei_LegalEntityAxis  compact jht756913_S000008339_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleScienceAndTechnologyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008340_Member * row dei_LegalEntityAxis  compact jht756913_S000008340_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleShortTermGovernmentIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000024662_Member * row dei_LegalEntityAxis  compact jht756913_S000024662_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCapGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008343_Member * row dei_LegalEntityAxis  compact jht756913_S000008343_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008311_Member * row dei_LegalEntityAxis  compact jht756913_S000008311_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCapOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008312_Member * row dei_LegalEntityAxis  compact jht756913_S000008312_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008313_Member * row dei_LegalEntityAxis  compact jht756913_S000008313_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008315_Member * row dei_LegalEntityAxis  compact jht756913_S000008315_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallCompanyValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008316_Member * row dei_LegalEntityAxis  compact jht756913_S000008316_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleSmallerCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023551_Member * row dei_LegalEntityAxis  compact jht756913_S000023551_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleStrategicIncomeOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008320_Member * row dei_LegalEntityAxis  compact jht756913_S000008320_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleTotalBondMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000010083_Member * row dei_LegalEntityAxis  compact jht756913_S000010083_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleTotalBondMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008214_Member * row dei_LegalEntityAxis  compact jht756913_S000008214_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleTotalReturnTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008324_Member * row dei_LegalEntityAxis  compact jht756913_S000008324_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleTotalStockMarketIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008325_Member * row dei_LegalEntityAxis  compact jht756913_S000008325_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleUSMultiSectorTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008331_Member * row dei_LegalEntityAxis  compact jht756913_S000008331_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleUltraShortTermBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000029542_Member * row dei_LegalEntityAxis  compact jht756913_S000029542_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleUtilitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008333_Member * row dei_LegalEntityAxis  compact jht756913_S000008333_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008334_Member * row dei_LegalEntityAxis  compact jht756913_S000008334_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/ExpenseExampleValueAndRestructuringTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008335_Member * row dei_LegalEntityAxis  compact jht756913_S000008335_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartFiveHundredIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008218_Member * row dei_LegalEntityAxis  compact jht756913_S000008218_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartFiveHundredIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008219_Member * row dei_LegalEntityAxis  compact jht756913_S000008219_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartActiveBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008236_Member * row dei_LegalEntityAxis  compact jht756913_S000008236_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAllCapCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008242_Member * row dei_LegalEntityAxis  compact jht756913_S000008242_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAllCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008244_Member * row dei_LegalEntityAxis  compact jht756913_S000008244_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAlphaOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023550_Member * row dei_LegalEntityAxis  compact jht756913_S000023550_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanAssetAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017250_Member * row dei_LegalEntityAxis  compact jht756913_S000017250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanBlueChipIncomeandGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008245_Member * row dei_LegalEntityAxis  compact jht756913_S000008245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008246_Member * row dei_LegalEntityAxis  compact jht756913_S000008246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019301_Member * row dei_LegalEntityAxis  compact jht756913_S000019301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019302_Member * row dei_LegalEntityAxis  compact jht756913_S000019302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017256_Member * row dei_LegalEntityAxis  compact jht756913_S000017256_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGlobalSmallCapitalizationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017249_Member * row dei_LegalEntityAxis  compact jht756913_S000017249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008215_Member * row dei_LegalEntityAxis  compact jht756913_S000008215_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanGrowthIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008247_Member * row dei_LegalEntityAxis  compact jht756913_S000008247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanHighIncomeBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017257_Member * row dei_LegalEntityAxis  compact jht756913_S000017257_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanInternationalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008216_Member * row dei_LegalEntityAxis  compact jht756913_S000008216_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartAmericanNewWorldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017258_Member * row dei_LegalEntityAxis  compact jht756913_S000017258_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025518_Member * row dei_LegalEntityAxis  compact jht756913_S000025518_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartBlueChipGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008217_Member * row dei_LegalEntityAxis  compact jht756913_S000008217_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026132_Member * row dei_LegalEntityAxis  compact jht756913_S000026132_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCapitalAppreciationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008220_Member * row dei_LegalEntityAxis  compact jht756913_S000008220_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCapitalAppreciationValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021933_Member * row dei_LegalEntityAxis  compact jht756913_S000021933_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreAllocationPlusTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020243_Member * row dei_LegalEntityAxis  compact jht756913_S000020243_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025522_Member * row dei_LegalEntityAxis  compact jht756913_S000025522_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBalancedStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026131_Member * row dei_LegalEntityAxis  compact jht756913_S000026131_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025524_Member * row dei_LegalEntityAxis  compact jht756913_S000025524_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008222_Member * row dei_LegalEntityAxis  compact jht756913_S000008222_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025523_Member * row dei_LegalEntityAxis  compact jht756913_S000025523_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreDiversifiedGrowthAndIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000022608_Member * row dei_LegalEntityAxis  compact jht756913_S000022608_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025520_Member * row dei_LegalEntityAxis  compact jht756913_S000025520_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025521_Member * row dei_LegalEntityAxis  compact jht756913_S000025521_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartCoreStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008271_Member * row dei_LegalEntityAxis  compact jht756913_S000008271_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021934_Member * row dei_LegalEntityAxis  compact jht756913_S000021934_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartEmergingMarketsValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017255_Member * row dei_LegalEntityAxis  compact jht756913_S000017255_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartEquityIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008228_Member * row dei_LegalEntityAxis  compact jht756913_S000008228_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartFinancialServicesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008229_Member * row dei_LegalEntityAxis  compact jht756913_S000008229_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartFranklinTempletonFoundingAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017251_Member * row dei_LegalEntityAxis  compact jht756913_S000017251_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartFundamentalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008230_Member * row dei_LegalEntityAxis  compact jht756913_S000008230_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartGlobalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008231_Member * row dei_LegalEntityAxis  compact jht756913_S000008231_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartGlobalBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008233_Member * row dei_LegalEntityAxis  compact jht756913_S000008233_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartGrowthEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021935_Member * row dei_LegalEntityAxis  compact jht756913_S000021935_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartHealthSciencesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008239_Member * row dei_LegalEntityAxis  compact jht756913_S000008239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartHeritageTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008337_Member * row dei_LegalEntityAxis  compact jht756913_S000008337_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartHighIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000011295_Member * row dei_LegalEntityAxis  compact jht756913_S000011295_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartHighYieldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008240_Member * row dei_LegalEntityAxis  compact jht756913_S000008240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_ S000017252_Member * row dei_LegalEntityAxis  compact jht756913_ S000017252_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008872_Member * row dei_LegalEntityAxis  compact jht756913_S000008872_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalEquityIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008293_Member * row dei_LegalEntityAxis  compact jht756913_S000008293_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalEquityIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_ S000008297_Member * row dei_LegalEntityAxis  compact jht756913_ S000008297_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025519_Member * row dei_LegalEntityAxis  compact jht756913_S000025519_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008299_Member * row dei_LegalEntityAxis  compact jht756913_S000008299_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalSmallCompanyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008301_Member * row dei_LegalEntityAxis  compact jht756913_S000008301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInternationalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008302_Member * row dei_LegalEntityAxis  compact jht756913_S000008302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartInvestmentQualityBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008273_Member * row dei_LegalEntityAxis  compact jht756913_S000008273_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLargeCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008274_Member * row dei_LegalEntityAxis  compact jht756913_S000008274_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLargeCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008276_Member * row dei_LegalEntityAxis  compact jht756913_S000008276_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleAggressiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008277_Member * row dei_LegalEntityAxis  compact jht756913_S000008277_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008279_Member * row dei_LegalEntityAxis  compact jht756913_S000008279_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleConservativeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008281_Member * row dei_LegalEntityAxis  compact jht756913_S000008281_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008278_Member * row dei_LegalEntityAxis  compact jht756913_S000008278_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartLifestyleModerateTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008280_Member * row dei_LegalEntityAxis  compact jht756913_S000008280_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008285_Member * row dei_LegalEntityAxis  compact jht756913_S000008285_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008286_Member * row dei_LegalEntityAxis  compact jht756913_S000008286_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMidCapValueEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008288_Member * row dei_LegalEntityAxis  compact jht756913_S000008288_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMidValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008289_Member * row dei_LegalEntityAxis  compact jht756913_S000008289_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMoneyMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008291_Member * row dei_LegalEntityAxis  compact jht756913_S000008291_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMoneyMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008290_Member * row dei_LegalEntityAxis  compact jht756913_S000008290_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartMutualSharesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017253_Member * row dei_LegalEntityAxis  compact jht756913_S000017253_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartNaturalResourcesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008292_Member * row dei_LegalEntityAxis  compact jht756913_S000008292_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartNewIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008318_Member * row dei_LegalEntityAxis  compact jht756913_S000008318_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartOptimizedAllCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008296_Member * row dei_LegalEntityAxis  compact jht756913_S000008296_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartOptimizedValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008321_Member * row dei_LegalEntityAxis  compact jht756913_S000008321_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartRealEstateSecuritiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008338_Member * row dei_LegalEntityAxis  compact jht756913_S000008338_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartRealReturnBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008339_Member * row dei_LegalEntityAxis  compact jht756913_S000008339_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartScienceAndTechnologyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008340_Member * row dei_LegalEntityAxis  compact jht756913_S000008340_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartShortTermGovernmentIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000024662_Member * row dei_LegalEntityAxis  compact jht756913_S000024662_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008343_Member * row dei_LegalEntityAxis  compact jht756913_S000008343_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008311_Member * row dei_LegalEntityAxis  compact jht756913_S000008311_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008312_Member * row dei_LegalEntityAxis  compact jht756913_S000008312_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008313_Member * row dei_LegalEntityAxis  compact jht756913_S000008313_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008315_Member * row dei_LegalEntityAxis  compact jht756913_S000008315_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallCompanyValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008316_Member * row dei_LegalEntityAxis  compact jht756913_S000008316_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartSmallerCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023551_Member * row dei_LegalEntityAxis  compact jht756913_S000023551_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartStrategicIncomeOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008320_Member * row dei_LegalEntityAxis  compact jht756913_S000008320_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalBondMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000010083_Member * row dei_LegalEntityAxis  compact jht756913_S000010083_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalBondMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008214_Member * row dei_LegalEntityAxis  compact jht756913_S000008214_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalReturnTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008324_Member * row dei_LegalEntityAxis  compact jht756913_S000008324_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartTotalStockMarketIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008325_Member * row dei_LegalEntityAxis  compact jht756913_S000008325_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartUSMultiSectorTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008331_Member * row dei_LegalEntityAxis  compact jht756913_S000008331_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartUtilitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008333_Member * row dei_LegalEntityAxis  compact jht756913_S000008333_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008334_Member * row dei_LegalEntityAxis  compact jht756913_S000008334_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AnnualTotalReturnsBarChartValueAndRestructuringTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008335_Member * row dei_LegalEntityAxis  compact jht756913_S000008335_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsFiveHundredIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008218_Member * row dei_LegalEntityAxis  compact jht756913_S000008218_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsFiveHundredIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008219_Member * row dei_LegalEntityAxis  compact jht756913_S000008219_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsActiveBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008236_Member * row dei_LegalEntityAxis  compact jht756913_S000008236_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAllCapCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008242_Member * row dei_LegalEntityAxis  compact jht756913_S000008242_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAllCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008244_Member * row dei_LegalEntityAxis  compact jht756913_S000008244_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAlphaOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023550_Member * row dei_LegalEntityAxis  compact jht756913_S000023550_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanAssetAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017250_Member * row dei_LegalEntityAxis  compact jht756913_S000017250_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanBlueChipIncomeandGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008245_Member * row dei_LegalEntityAxis  compact jht756913_S000008245_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008246_Member * row dei_LegalEntityAxis  compact jht756913_S000008246_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019301_Member * row dei_LegalEntityAxis  compact jht756913_S000019301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000019302_Member * row dei_LegalEntityAxis  compact jht756913_S000019302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017256_Member * row dei_LegalEntityAxis  compact jht756913_S000017256_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGlobalSmallCapitalizationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017249_Member * row dei_LegalEntityAxis  compact jht756913_S000017249_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008215_Member * row dei_LegalEntityAxis  compact jht756913_S000008215_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanGrowthIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008247_Member * row dei_LegalEntityAxis  compact jht756913_S000008247_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanHighIncomeBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017257_Member * row dei_LegalEntityAxis  compact jht756913_S000017257_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanInternationalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008216_Member * row dei_LegalEntityAxis  compact jht756913_S000008216_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsAmericanNewWorldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017258_Member * row dei_LegalEntityAxis  compact jht756913_S000017258_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025518_Member * row dei_LegalEntityAxis  compact jht756913_S000025518_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsBlueChipGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008217_Member * row dei_LegalEntityAxis  compact jht756913_S000008217_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026132_Member * row dei_LegalEntityAxis  compact jht756913_S000026132_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCapitalAppreciationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008220_Member * row dei_LegalEntityAxis  compact jht756913_S000008220_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCapitalAppreciationValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021933_Member * row dei_LegalEntityAxis  compact jht756913_S000021933_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreAllocationPlusTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000020243_Member * row dei_LegalEntityAxis  compact jht756913_S000020243_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025522_Member * row dei_LegalEntityAxis  compact jht756913_S000025522_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBalancedStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000026131_Member * row dei_LegalEntityAxis  compact jht756913_S000026131_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025524_Member * row dei_LegalEntityAxis  compact jht756913_S000025524_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008222_Member * row dei_LegalEntityAxis  compact jht756913_S000008222_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025523_Member * row dei_LegalEntityAxis  compact jht756913_S000025523_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreDiversifiedGrowthAndIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000022608_Member * row dei_LegalEntityAxis  compact jht756913_S000022608_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreFundamentalHoldingsTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025520_Member * row dei_LegalEntityAxis  compact jht756913_S000025520_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreGlobalDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025521_Member * row dei_LegalEntityAxis  compact jht756913_S000025521_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsCoreStrategyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008271_Member * row dei_LegalEntityAxis  compact jht756913_S000008271_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsDisciplinedDiversificationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021934_Member * row dei_LegalEntityAxis  compact jht756913_S000021934_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsEmergingMarketsValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017255_Member * row dei_LegalEntityAxis  compact jht756913_S000017255_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsEquityIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008228_Member * row dei_LegalEntityAxis  compact jht756913_S000008228_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsFinancialServicesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008229_Member * row dei_LegalEntityAxis  compact jht756913_S000008229_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsFranklinTempletonFoundingAllocationTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017251_Member * row dei_LegalEntityAxis  compact jht756913_S000017251_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsFundamentalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008230_Member * row dei_LegalEntityAxis  compact jht756913_S000008230_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsGlobalTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008231_Member * row dei_LegalEntityAxis  compact jht756913_S000008231_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsGlobalBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008233_Member * row dei_LegalEntityAxis  compact jht756913_S000008233_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsGrowthEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000021935_Member * row dei_LegalEntityAxis  compact jht756913_S000021935_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsHealthSciencesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008239_Member * row dei_LegalEntityAxis  compact jht756913_S000008239_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsHeritageTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008337_Member * row dei_LegalEntityAxis  compact jht756913_S000008337_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsHighIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000011295_Member * row dei_LegalEntityAxis  compact jht756913_S000011295_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsHighYieldTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008240_Member * row dei_LegalEntityAxis  compact jht756913_S000008240_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017252_Member * row dei_LegalEntityAxis  compact jht756913_S000017252_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalCoreTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008872_Member * row dei_LegalEntityAxis  compact jht756913_S000008872_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalEquityIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008293_Member * row dei_LegalEntityAxis  compact jht756913_S000008293_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalEquityIndexTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008297_Member * row dei_LegalEntityAxis  compact jht756913_S000008297_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000025519_Member * row dei_LegalEntityAxis  compact jht756913_S000025519_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008299_Member * row dei_LegalEntityAxis  compact jht756913_S000008299_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalSmallCompanyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008301_Member * row dei_LegalEntityAxis  compact jht756913_S000008301_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInternationalValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008302_Member * row dei_LegalEntityAxis  compact jht756913_S000008302_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsInvestmentQualityBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008273_Member * row dei_LegalEntityAxis  compact jht756913_S000008273_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLargeCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008274_Member * row dei_LegalEntityAxis  compact jht756913_S000008274_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLargeCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008276_Member * row dei_LegalEntityAxis  compact jht756913_S000008276_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleAggressiveTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008277_Member * row dei_LegalEntityAxis  compact jht756913_S000008277_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleBalancedTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008279_Member * row dei_LegalEntityAxis  compact jht756913_S000008279_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleConservativeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008281_Member * row dei_LegalEntityAxis  compact jht756913_S000008281_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008278_Member * row dei_LegalEntityAxis  compact jht756913_S000008278_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsLifestyleModerateTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008280_Member * row dei_LegalEntityAxis  compact jht756913_S000008280_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008285_Member * row dei_LegalEntityAxis  compact jht756913_S000008285_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapStockTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008286_Member * row dei_LegalEntityAxis  compact jht756913_S000008286_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMidCapValueEquityTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008288_Member * row dei_LegalEntityAxis  compact jht756913_S000008288_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMidValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008289_Member * row dei_LegalEntityAxis  compact jht756913_S000008289_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMoneyMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008291_Member * row dei_LegalEntityAxis  compact jht756913_S000008291_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMoneyMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008290_Member * row dei_LegalEntityAxis  compact jht756913_S000008290_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsMutualSharesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000017253_Member * row dei_LegalEntityAxis  compact jht756913_S000017253_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsNaturalResourcesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008292_Member * row dei_LegalEntityAxis  compact jht756913_S000008292_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsNewIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008318_Member * row dei_LegalEntityAxis  compact jht756913_S000008318_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsOptimizedAllCapTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008296_Member * row dei_LegalEntityAxis  compact jht756913_S000008296_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsOptimizedValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008321_Member * row dei_LegalEntityAxis  compact jht756913_S000008321_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsRealEstateSecuritiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008338_Member * row dei_LegalEntityAxis  compact jht756913_S000008338_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsRealReturnBondTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008339_Member * row dei_LegalEntityAxis  compact jht756913_S000008339_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsScienceAndTechnologyTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008340_Member * row dei_LegalEntityAxis  compact jht756913_S000008340_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsShortTermGovernmentIncomeTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000024662_Member * row dei_LegalEntityAxis  compact jht756913_S000024662_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008343_Member * row dei_LegalEntityAxis  compact jht756913_S000008343_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008311_Member * row dei_LegalEntityAxis  compact jht756913_S000008311_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008312_Member * row dei_LegalEntityAxis  compact jht756913_S000008312_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCapValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008313_Member * row dei_LegalEntityAxis  compact jht756913_S000008313_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008315_Member * row dei_LegalEntityAxis  compact jht756913_S000008315_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallCompanyValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008316_Member * row dei_LegalEntityAxis  compact jht756913_S000008316_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsSmallerCompanyGrowthTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000023551_Member * row dei_LegalEntityAxis  compact jht756913_S000023551_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsStrategicIncomeOpportunitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008320_Member * row dei_LegalEntityAxis  compact jht756913_S000008320_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsTotalBondMarketTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000010083_Member * row dei_LegalEntityAxis  compact jht756913_S000010083_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsTotalBondMarketTrustB column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008214_Member * row dei_LegalEntityAxis  compact jht756913_S000008214_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsTotalReturnTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008324_Member * row dei_LegalEntityAxis  compact jht756913_S000008324_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsTotalStockMarketIndexTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008325_Member * row dei_LegalEntityAxis  compact jht756913_S000008325_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsUSMultiSectorTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008331_Member * row dei_LegalEntityAxis  compact jht756913_S000008331_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsUtilitiesTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008333_Member * row dei_LegalEntityAxis  compact jht756913_S000008333_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsValueTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008334_Member * row dei_LegalEntityAxis  compact jht756913_S000008334_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
    <Log type="Warning">Warning: The following embed command is incorrectly formatted.
&lt;div&gt; &amp;lt;div style="display:none;"&amp;gt;~ http://jhfunds.com/role/AverageAnnualTotalReturnsValueAndRestructuringTrust column period compact * column rr_ProspectusShareClassAxis compact * row primary compact * row dei_DocumentInformationDocumentAxis compact jht756913_S000008335_Member * row dei_LegalEntityAxis  compact jht756913_S000008335_Member * ~&amp;lt;/div&amp;gt; &lt;/div&gt;</Log>
  </Logs>
  <InputFiles>
    <File>jht756913-20110501.xml</File>
    <File>jht756913-20110501.xsd</File>
    <File>jht756913-20110501_cal.xml</File>
    <File>jht756913-20110501_def.xml</File>
    <File>jht756913-20110501_lab.xml</File>
    <File>jht756913-20110501_pre.xml</File>
  </InputFiles>
  <SupplementalFiles />
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
