XML 17 R42.htm IDEA: XBRL DOCUMENT
v2.4.1.9

Loans, Allowance For Loan Losses and OREO (Age Analysis Of Past Due Financing Receivables) (Details) (USD $) In Thousands, unless otherwise specified | Mar. 31, 2015 | Dec. 31, 2014
--- | --- | ---
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | $ 1,227 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue | $ 980 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
60 - 89 Days Past Due | 528 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue | 128 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Greater than 90 Days | 1,785 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue | 3,232 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
Total Past Due | 3,540 us-gaap_FinancingReceivableRecordedInvestmentPastDue | 4,340 us-gaap_FinancingReceivableRecordedInvestmentPastDue
Current | 404,778 us-gaap_FinancingReceivableRecordedInvestmentCurrent | 395,023 us-gaap_FinancingReceivableRecordedInvestmentCurrent
Total loans | 408,318 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount | 399,363 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Recorded Investment > 90 Days & Accruing |  |
Commercial [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 168 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember | 21 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
60 - 89 Days Past Due |  | 80 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
Greater than 90 Days | 679 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember | 1,965 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
Total Past Due | 847 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember | 2,066 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
Current | 62,549 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember | 61,193 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
Total loans | 63,396 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember | 63,259 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialLoanMember
Recorded Investment > 90 Days & Accruing |  |
Commercial Mortgages-Owner Occupied [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 19 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember | 192 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember
Greater than 90 Days |  | 212 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember
Total Past Due | 19 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember | 404 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember
Current | 79,006 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember | 77,304 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember
Total loans | 79,025 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember | 77,708 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesOwnerOccupiedMember
Recorded Investment > 90 Days & Accruing |  |
Commercial Mortgages-Non-Owner Occupied [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 229 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember | 86 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember
Greater than 90 Days | 137 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember | 70 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember
Total Past Due | 366 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember | 156 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember
Current | 121,301 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember | 119,019 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember
Total loans | 121,667 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember | 119,175 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_CommercialMortgagesNonOwnerOccupiedMember
Recorded Investment > 90 Days & Accruing |  |
Commercial Construction [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
Greater than 90 Days | 460 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember | 460 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Total Past Due | 460 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember | 460 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Current | 13,274 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember | 9,919 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Total loans | 13,734 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember | 10,379 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Recorded Investment > 90 Days & Accruing |  |
Consumer Unsecured [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due |  | 11 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember
60 - 89 Days Past Due | 23 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember |
Total Past Due | 23 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember | 11 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember
Current | 5,064 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember | 5,749 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember
Total loans | 5,087 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember | 5,760 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerUnsecuredMember
Recorded Investment > 90 Days & Accruing |  |
Consumer Secured [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 178 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember | 15 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember
60 - 89 Days Past Due | 296 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember |
Total Past Due | 474 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember | 15 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember
Current | 72,163 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember | 70,605 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember
Total loans | 72,637 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember | 70,620 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ConsumerSecuredMember
Recorded Investment > 90 Days & Accruing |  |
Residential Mortgages [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 544 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 626 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
60 - 89 Days Past Due | 209 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 48 us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
Greater than 90 Days | 509 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 525 us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
Total Past Due | 1,262 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 1,199 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
Current | 44,488 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 43,745 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
Total loans | 45,750 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember | 44,944 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = us-gaap_ResidentialMortgageMember
Recorded Investment > 90 Days & Accruing |  |
Residential Consumer Construction [Member] |  |
Financing Receivable, Recorded Investment, Past Due [Line Items] |  |
30 - 59 Days Past Due | 89 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember | 29 us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember
Total Past Due | 89 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember | 29 us-gaap_FinancingReceivableRecordedInvestmentPastDue / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember
Current | 6,933 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember | 7,489 us-gaap_FinancingReceivableRecordedInvestmentCurrent / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember
Total loans | 7,022 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember | 7,518 us-gaap_LoansAndLeasesReceivableGrossCarryingAmount / us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis = botj_ResidentialConsumerConstructionMember
Recorded Investment > 90 Days & Accruing |  |

X
- Definition Financing receivables that are less than 60 days past due but more than 29 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are less than 90 days past due but more than 59 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Recorded investment in financing receivables that are 90 days or more past due and still accruing. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7 -Subparagraph (d) -URI http://asc.fasb.org/extlink&oid=28368275&loc=d3e5111-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestment90DaysPastDueAndStillAccruing
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are current. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Financing receivables that are equal to or greater than 90 days past due. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Recorded Investment in financing receivables that are past due at the balance sheet date. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 50 -Paragraph 7A -URI http://asc.fasb.org/extlink&oid=28368275&loc=SL6953401-111524 + Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentPastDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentPastDueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount before allowance of loans and leases held in portfolio, including but not limited to, commercial and consumer loans. Includes deferred interest and fees, undisbursed portion of loan balance, unamortized costs and premiums and discounts from face amounts. Excludes loans and leases covered under loss sharing agreements. + References Reference 1: http://www.xbrl.org/2003/role/presentationRef -Publisher FASB -Name Accounting Standards Codification -Topic 310 -SubTopic 10 -Section 45 -Paragraph 2 -URI http://asc.fasb.org/extlink&oid=28367877&loc=d3e4428-111522 + Details
Name: | us-gaap_LoansAndLeasesReceivableGrossCarryingAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=botj_CommercialMortgagesNonOwnerOccupiedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=botj_CommercialMortgagesOwnerOccupiedMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=botj_ConsumerSecuredMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=botj_ConsumerUnsecuredMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=botj_ResidentialConsumerConstructionMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_CommercialLoanMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_CommercialRealEstateConstructionFinancingReceivableMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis=us-gaap_ResidentialMortgageMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |