XML 46 R35.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans Receivable and Allowance for Loan Losses (Composition of Loans Receivable) (Details) (USD $)
In Thousands, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Dec. 31, 2013
Loans receivable and allowance for loan losses        
30-59 Days $ 68,334us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue $ 82,526us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue    
60-89 Days 18,892us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 25,313us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue    
90 Days or More 55,504us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue 62,834us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue    
Total Past Due 142,730us-gaap_FinancingReceivableRecordedInvestmentPastDue 170,673us-gaap_FinancingReceivableRecordedInvestmentPastDue    
Current 11,633,110us-gaap_FinancingReceivableRecordedInvestmentCurrent 11,739,049us-gaap_FinancingReceivableRecordedInvestmentCurrent    
Total 11,775,840af_LoansReceivableGrossCarryingAmount 11,909,722af_LoansReceivableGrossCarryingAmount    
Net unamortized premiums and deferred loan origination costs 46,027us-gaap_UnamortizedLoanCommitmentAndOriginationFeesAndUnamortizedDiscountsOrPremiums 47,726us-gaap_UnamortizedLoanCommitmentAndOriginationFeesAndUnamortizedDiscountsOrPremiums    
Loans receivable 11,821,867us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 11,957,448us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome    
Allowance for loan losses (110,500)us-gaap_LoansAndLeasesReceivableAllowance (111,600)us-gaap_LoansAndLeasesReceivableAllowance (134,000)us-gaap_LoansAndLeasesReceivableAllowance (139,000)us-gaap_LoansAndLeasesReceivableAllowance
Loans receivable, net 11,711,367us-gaap_LoansAndLeasesReceivableNetReportedAmount 11,845,848us-gaap_LoansAndLeasesReceivableNetReportedAmount    
Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 61,865us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
77,097us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 17,940us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
22,852us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,093us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 79,805us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
104,042us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 11,577,156us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,681,961us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 11,656,961af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,786,003af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 6,469us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,429us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 952us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,461us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 55,504us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
58,741us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 62,925us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
66,631us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 55,954us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
57,088us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 118,879af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
123,719af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and Other Loans        
Loans receivable and allowance for loan losses        
30-59 Days 1,168us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
60-89 Days 767us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
90 Days or More 6,691us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total Past Due 8,626us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
9,432us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Current 244,459us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
239,936us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 253,085af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
249,368af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Allowance for loan losses (9,819)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(8,825)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(10,007)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(8,824)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
Consumer and Other Loans | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 1,168us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 767us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 1,935us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,392us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 244,314us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
239,936us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 246,249af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
243,328af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Consumer and Other Loans | Non-accrual loans:        
Loans receivable and allowance for loan losses        
90 Days or More 6,691us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 6,691us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 145us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 6,836af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and Other Loans | Home equity and other consumer        
Loans receivable and allowance for loan losses        
30-59 Days 1,168us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
60-89 Days 767us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
90 Days or More 6,691us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total Past Due 8,626us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
9,432us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Current 169,565us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
175,121us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 178,191af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
184,553af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Consumer and Other Loans | Home equity and other consumer | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 1,168us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 767us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 1,935us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,392us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 169,420us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
175,121us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 171,355af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
178,513af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Consumer and Other Loans | Home equity and other consumer | Non-accrual loans:        
Loans receivable and allowance for loan losses        
90 Days or More 6,691us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 6,691us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 145us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 6,836af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,040af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and Other Loans | Commercial and industrial        
Loans receivable and allowance for loan losses        
30-59 Days 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
60-89 Days 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
90 Days or More 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Current 74,894us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
64,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 74,894af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
64,815af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Consumer and Other Loans | Commercial and industrial | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 74,894us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
64,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 74,894af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
64,815af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Consumer and Other Loans | Commercial and industrial | Non-accrual loans:        
Loans receivable and allowance for loan losses        
90 Days or More 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
0us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 0af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
0af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross)        
Loans receivable and allowance for loan losses        
30-59 Days 67,166us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
80,096us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
60-89 Days 18,125us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
24,351us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
90 Days or More 48,813us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
56,794us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Total Past Due 134,104us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
161,241us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Current 11,388,651us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
11,499,113us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Total 11,522,755af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
11,660,354af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Mortgage loans (gross) | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 60,697us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
74,667us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 17,173us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
21,890us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,093us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 77,870us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
100,650us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 11,332,842us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,442,025us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 11,410,712af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,542,675af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 6,469us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,429us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 952us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,461us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 48,813us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
52,701us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 56,234us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
60,591us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 55,809us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
57,088us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 112,043af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
117,679af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential        
Loans receivable and allowance for loan losses        
30-59 Days 58,611us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
73,326us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
60-89 Days 17,208us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
21,290us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
90 Days or More 46,749us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
44,989us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total Past Due 122,568us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
139,605us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 6,538,332us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
6,733,931us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 6,660,900af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
6,873,536af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Allowance for loan losses (43,481)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
(46,283)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
(74,717)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
(80,337)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
Mortgage loans (gross) | Residential | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 53,220us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
69,335us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 16,659us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
19,175us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More   144us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 69,879us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
88,654us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 6,491,891us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
6,684,871us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 6,561,770af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
6,773,525af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 5,391us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
3,991us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 549us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,115us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 46,749us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
44,845us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 52,689us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
50,951us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 46,441us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
49,060us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 99,130af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
100,011af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Full documentation interest-only        
Loans receivable and allowance for loan losses        
30-59 Days 8,227us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
16,314us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
60-89 Days 3,796us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
7,690us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
90 Days or More 11,278us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
11,502us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total Past Due 23,301us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
35,506us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 732,359us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
818,676us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 755,660af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
854,182af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential | Full documentation interest-only | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 7,894us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
13,943us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 3,796us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
7,332us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 11,690us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
21,275us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 719,237us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
804,880us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 730,927af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
826,155af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Full documentation interest-only | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 333us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,371us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 0us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
358us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 11,278us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
11,502us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 11,611us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
14,231us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 13,122us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
13,796us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 24,733af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
28,027af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Full documentation amortizing        
Loans receivable and allowance for loan losses        
30-59 Days 28,633us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
26,082us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
60-89 Days 6,895us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
7,849us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
90 Days or More 16,478us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
14,355us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total Past Due 52,006us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
48,286us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 4,865,886us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
4,955,407us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 4,917,892af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
5,003,693af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential | Full documentation amortizing | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 25,321us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
25,878us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 6,707us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
7,611us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More   144us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 32,028us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
33,633us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 4,858,702us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,948,391us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 4,890,730af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,982,024af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Full documentation amortizing | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 3,312us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
204us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 188us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
238us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 16,478us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
14,211us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 19,978us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
14,653us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 7,184us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
7,016us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 27,162af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
21,669af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Reduced documentation interest-only        
Loans receivable and allowance for loan losses        
30-59 Days 11,899us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
19,310us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
60-89 Days 3,619us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
3,037us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
90 Days or More 14,231us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
16,289us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total Past Due 29,749us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
38,636us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 536,840us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
572,372us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 566,589af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
611,008af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential | Reduced documentation interest-only | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 10,885us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
18,490us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 3,355us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
2,584us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 14,240us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
21,074us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 512,426us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
547,350us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 526,666af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
568,424af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Reduced documentation interest-only | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 1,014us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
820us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 264us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
453us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 14,231us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
16,289us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 15,509us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
17,562us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 24,414us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
25,022us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 39,923af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
42,584af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Reduced documentation amortizing        
Loans receivable and allowance for loan losses        
30-59 Days 9,852us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
11,620us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
60-89 Days 2,898us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
2,714us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
90 Days or More 4,762us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
2,843us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total Past Due 17,512us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
17,177us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 403,247us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
387,476us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 420,759af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
404,653af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential | Reduced documentation amortizing | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 9,120us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,024us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 2,801us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,648us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 11,921us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
12,672us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 401,526us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
384,250us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 413,447af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
396,922af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential | Reduced documentation amortizing | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 732us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
596us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 97us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
1,066us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 4,762us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,843us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 5,591us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
4,505us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 1,721us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
3,226us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 7,312af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
7,731af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Multi-family        
Loans receivable and allowance for loan losses        
30-59 Days 7,094us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
4,294us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
60-89 Days 737us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
2,568us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
90 Days or More 2,064us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
8,917us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Total Past Due 9,895us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
15,779us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Current 3,981,011us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
3,897,274us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Total 3,990,906af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
3,913,053af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Allowance for loan losses (40,082)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
(39,250)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
(34,578)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
(36,703)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
Mortgage loans (gross) | Multi-family | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 6,796us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,646us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 334us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
2,222us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More 0us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,790us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 7,130us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
7,658us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 3,977,772us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,893,539us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 3,984,902af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,901,197af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Multi-family | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 298us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
648us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
60-89 Days 403us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
346us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More 2,064us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
7,127us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 2,765us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
8,121us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 3,239us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
3,735us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 6,004af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
11,856af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Commercial real estate        
Loans receivable and allowance for loan losses        
30-59 Days 1,461us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
2,476us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
60-89 Days 180us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
493us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
90 Days or More   2,888us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Total Past Due 1,641us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
5,857us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Current 869,308us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
867,908us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Total 870,949af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
873,765af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Allowance for loan losses (17,118)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
(17,242)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
(14,698)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
(13,136)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
Mortgage loans (gross) | Commercial real estate | Accruing loans:        
Loans receivable and allowance for loan losses        
30-59 Days 681us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,686us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
60-89 Days 180us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
493us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
90 Days or More   2,159us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total Past Due 861us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,338us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 863,179us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
863,615us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 864,040af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
867,953af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Commercial real estate | Non-accrual loans:        
Loans receivable and allowance for loan losses        
30-59 Days 780us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
790us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
90 Days or More   729us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total Past Due 780us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
1,519us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 6,129us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
4,293us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total $ 6,909af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
$ 5,812af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember