<?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.2.0.25</Version>
  <ReportType />
  <MyReports>
    <Report>
      <IsDefault>true</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>010000 - Document - Risk/Return Summary {Unlabeled}</LongName>
      <ShortName>Risk/Return Summary</ShortName>
      <Role>http://johnhancock.com/role/RiskReturnSummary</Role>
      <ContainEmbeddedReports>true</ContainEmbeddedReports>
      <XmlFileName>R1.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Sheet</ReportType>
      <LongName>040000 - Disclosure - Risk/Return Detail Data {Elements}</LongName>
      <ShortName>Risk/Return Detail Data</ShortName>
      <Role>http://xbrl.sec.gov/rr/role/RiskReturnDetailData</Role>
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName>R14.xml</XmlFileName>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <ReportType>Book</ReportType>
      <LongName>All Reports</LongName>
      <ShortName>All Reports</ShortName>
      <Role />
      <ContainEmbeddedReports>false</ContainEmbeddedReports>
      <XmlFileName />
    </Report>
  </MyReports>
  <EntityCount>1</EntityCount>
  <ContextCount>25</ContextCount>
  <SegmentCount>24</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <UnitCount>2</UnitCount>
  <ElementCount>41</ElementCount>
  <FootnotesReported>true</FootnotesReported>
  <TuplesReported>false</TuplesReported>
  <ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032003_Member_C000099619_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032003_Member_C000099617_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032004_Member_C000099620_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032004_Member_C000099622_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032002_Member_C000099614_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_C000099626_Member_S000032006_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032007_Member_C000099630_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032005_Member</ContextName>
      <ElementCount>23</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032007_Member_C000099631_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032002_Member_C000099615_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032005_Member_C000099623_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032004_Member</ContextName>
      <ElementCount>23</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_C000099627_Member_S000032006_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032006_Member</ContextName>
      <ElementCount>23</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032007_Member_C000099629_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032002_Member</ContextName>
      <ElementCount>22</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032005_Member_C000099625_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032003_Member_C000099618_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032007_Member</ContextName>
      <ElementCount>23</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032003_Member</ContextName>
      <ElementCount>22</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032004_Member_C000099621_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032002_Member_C000099616_Member</ContextName>
      <ElementCount>8</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_C000099628_Member_S000032006_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
    <ContextSummary>
      <ContextName>TwelveMonthsEnded_02May2011_S000032005_Member_C000099624_Member</ContextName>
      <ElementCount>9</ElementCount>
    </ContextSummary>
  </ContextSummary>
  <BaseTaxonomies />
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
