XML 52 R52.htm IDEA: XBRL DOCUMENT v2.4.1.9
Loans Receivable and Allowance for Loan Losses (Details) (USD $)
In Thousands, unless otherwise specified
Dec. 31, 2014
Dec. 31, 2013
Dec. 31, 2012
Dec. 31, 2011
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days $ 82,526us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue $ 115,982us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue    
Past due 60-89 days 25,313us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue 26,750us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue    
Past due 90 days or more 62,834us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue 250,534us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue    
Total past due 170,673us-gaap_FinancingReceivableRecordedInvestmentPastDue 393,266us-gaap_FinancingReceivableRecordedInvestmentPastDue    
Current 11,739,049us-gaap_FinancingReceivableRecordedInvestmentCurrent 11,993,112us-gaap_FinancingReceivableRecordedInvestmentCurrent    
Total 11,909,722af_LoansReceivableGrossCarryingAmount 12,386,378af_LoansReceivableGrossCarryingAmount    
Deferred loan origination costs 47,726us-gaap_UnamortizedLoanCommitmentAndOriginationFeesAndUnamortizedDiscountsOrPremiums 55,688us-gaap_UnamortizedLoanCommitmentAndOriginationFeesAndUnamortizedDiscountsOrPremiums    
Loans receivable 11,957,448us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome 12,442,066us-gaap_LoansAndLeasesReceivableNetOfDeferredIncome    
Allowance for loan losses (111,600)us-gaap_LoansAndLeasesReceivableAllowance (139,000)us-gaap_LoansAndLeasesReceivableAllowance (145,501)us-gaap_LoansAndLeasesReceivableAllowance (157,185)us-gaap_LoansAndLeasesReceivableAllowance
Loans receivable, net 11,845,848us-gaap_LoansAndLeasesReceivableNetReportedAmount 12,303,066us-gaap_LoansAndLeasesReceivableNetReportedAmount    
Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 77,097us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
107,754us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 22,852us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
24,154us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 90 days or more 4,093us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
384us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 104,042us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
132,292us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 11,681,961us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,922,468us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 11,786,003af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
12,054,760af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 5,429us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
8,228us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 2,461us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,596us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 58,741us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
250,150us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 66,631us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
260,974us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 57,088us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
70,644us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 123,719af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
331,618af_LoansReceivableGrossCarryingAmount
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and other loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
3,177us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Past due 60-89 days 962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
1,340us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Past due 90 days or more 6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
5,948us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total past due 9,432us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
10,465us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Current 239,936us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
229,216us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 249,368af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
239,681af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Allowance for loan losses (8,825)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(8,824)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(6,316)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
(3,800)us-gaap_LoansAndLeasesReceivableAllowance
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
Consumer and other loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,177us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,340us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 3,392us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,517us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 239,936us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
229,184us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 243,328af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
233,701af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Consumer and other loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 90 days or more 6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,948us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 6,040us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,948us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current   32us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 6,040af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,980af_LoansReceivableGrossCarryingAmount
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and other loans | Home equity and other consumer        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
3,177us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Past due 60-89 days 962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
1,340us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Past due 90 days or more 6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
5,948us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total past due 9,432us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
10,465us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Current 175,121us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
198,458us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 184,553af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
208,923af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Consumer and other loans | Home equity and other consumer | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 2,430us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,177us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 962us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,340us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 3,392us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
4,517us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 175,121us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
198,426us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 178,513af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
202,943af_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        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 90 days or more 6,040us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,948us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 6,040us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,948us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current   32us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 6,040af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,980af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_HomeEquityandOtherConsumerMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Consumer and other loans | Commercial and industrial        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Current 64,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
30,758us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Total 64,815af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
30,758af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
   
Consumer and other loans | Commercial and industrial | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Current 64,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
30,758us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 64,815af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
30,758af_LoansReceivableGrossCarryingAmount
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_CommercialAndIndustrialLoanMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_ConsumerAndOtherLoansMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross)        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 80,096us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
112,805us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Past due 60-89 days 24,351us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
25,410us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Past due 90 days or more 56,794us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
244,586us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Total past due 161,241us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
382,801us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Current 11,499,113us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
11,763,896us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Total 11,660,354af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
12,146,697af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
   
Mortgage loans (gross) | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 74,667us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
104,577us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 21,890us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
22,814us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 90 days or more 4,093us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
384us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 100,650us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
127,775us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 11,442,025us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,693,284us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 11,542,675af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
11,821,059af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 5,429us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
8,228us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 2,461us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,596us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 52,701us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
244,202us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 60,591us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
255,026us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 57,088us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
70,612us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 117,679af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
325,638af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential mortgage loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 73,326us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
96,302us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 60-89 days 21,290us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
22,393us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 90 days or more 44,989us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
234,378us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total past due 139,605us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
353,073us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 6,733,931us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
7,684,203us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 6,873,536af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
8,037,276af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Allowance for loan losses (46,283)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
(89,267)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
(105,991)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
Mortgage loans (gross) | Residential mortgage loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 69,335us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
90,108us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 19,175us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
20,154us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 90 days or more 144us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
151us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 88,654us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
110,413us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 6,684,871us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
7,621,388us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 6,773,525af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
7,731,801af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Residential mortgage loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 3,991us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
6,194us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 2,115us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,239us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 44,845us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
234,227us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 50,951us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
242,660us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 49,060us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
62,815us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 100,011af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
305,475af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Residential mortgage loans | Full documentation interest-only loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 16,314us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
29,476us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 60-89 days 7,690us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
5,802us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 90 days or more 11,502us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
78,271us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total past due 35,506us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
113,549us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 818,676us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
1,268,652us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 854,182af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
1,382,201af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential mortgage loans | Full documentation interest-only loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 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
27,291us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 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
5,220us-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 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
32,511us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 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
1,249,462us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 826,155af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,281,973af_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 mortgage loans | Full documentation interest-only loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 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
2,185us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 358us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
582us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 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
78,271us-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 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
81,038us-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,796us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
19,190us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 28,027af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
100,228af_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 mortgage loans | Full documentation amortizing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 26,082us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
32,516us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 60-89 days 7,849us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
8,068us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 90 days or more 14,355us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
42,085us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total past due 48,286us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
82,669us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 4,955,407us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
5,336,788us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 5,003,693af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
5,419,457af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential mortgage loans | Full documentation amortizing loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 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
31,189us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 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
7,415us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 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
151us-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 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
38,755us-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,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
5,325,944us-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,982,024af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
5,364,699af_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 mortgage loans | Full documentation amortizing loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 204us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
1,327us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 238us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
653us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 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
41,934us-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 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
43,914us-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,016us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
10,844us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 21,669af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_FullDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
54,758af_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 mortgage loans | Reduced documentation interest-only loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 19,310us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
24,700us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 60-89 days 3,037us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
5,787us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 90 days or more 16,289us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
87,910us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total past due 38,636us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
118,397us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 572,372us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
721,264us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 611,008af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
839,661af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential mortgage loans | Reduced documentation interest-only loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 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
22,635us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 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
5,208us-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 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
27,843us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 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
693,660us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 568,424af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
721,503af_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 mortgage loans | Reduced documentation interest-only loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 820us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,065us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 453us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
579us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 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
87,910us-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 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
90,554us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 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
27,604us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 42,584af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationInterestOnlyLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
118,158af_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 mortgage loans | Reduced documentation amortizing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 11,620us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
9,610us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 60-89 days 2,714us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
2,736us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Past due 90 days or more 2,843us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
26,112us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total past due 17,177us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
38,458us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Current 387,476us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
357,499us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Total 404,653af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
395,957af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
   
Mortgage loans (gross) | Residential mortgage loans | Reduced documentation amortizing loans | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 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
8,993us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 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
2,311us-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 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
11,304us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 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
352,322us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 396,922af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
363,626af_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 mortgage loans | Reduced documentation amortizing loans | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 596us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
617us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 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
425us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 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
26,112us-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 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
27,154us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 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
5,177us-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,731af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ us-gaap_FinancingReceivableRecordedInvestmentByClassOfFinancingReceivableAxis
= af_ReducedDocumentationAmortizingLoansMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
32,331af_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        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 4,294us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
13,844us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Past due 60-89 days 2,568us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
1,327us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Past due 90 days or more 8,917us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
9,054us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Total past due 15,779us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
24,225us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Current 3,897,274us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
3,272,230us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Total 3,913,053af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
3,296,455af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
   
Allowance for loan losses (39,250)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
(35,514)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
(35,422)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
Mortgage loans (gross) | Multi-family | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 3,646us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
12,740us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 2,222us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
970us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 90 days or more 1,790us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
     
Total past due 7,658us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
13,710us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 3,893,539us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,270,206us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 3,901,197af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,283,916af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Mortgage loans (gross) | Multi-family | Non-accrual loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 648us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
1,104us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 60-89 days 346us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
357us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 7,127us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
9,054us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 8,121us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
10,515us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 3,735us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
2,024us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total 11,856af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
12,539af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= af_MultiFamilyMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Mortgage loans (gross) | Commercial real estate        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 2,476us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
2,659us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Past due 60-89 days 493us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
1,690us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Past due 90 days or more 2,888us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
1,154us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Total past due 5,857us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
5,503us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Current 867,908us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
807,463us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Total 873,765af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
812,966af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
   
Allowance for loan losses (17,242)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
(14,404)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
(11,972)us-gaap_LoansAndLeasesReceivableAllowance
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
Mortgage loans (gross) | Commercial real estate | Accruing loans        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 1,686us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,729us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 60-89 days 493us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
1,690us-gaap_FinancingReceivableRecordedInvestment60To89DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Past due 90 days or more 2,159us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
233us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total past due 4,338us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
3,652us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Current 863,615us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
801,690us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
   
Total 867,953af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_AccruingFinancingReceivableMember
805,342af_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        
Accounts, Notes, Loans and Financing Receivable [Line Items]        
Past due 30-59 days 790us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
930us-gaap_FinancingReceivableRecordedInvestment30To59DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Past due 90 days or more 729us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
921us-gaap_FinancingReceivableRecordedInvestmentEqualToGreaterThan90DaysPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total past due 1,519us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
1,851us-gaap_FinancingReceivableRecordedInvestmentPastDue
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Current 4,293us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
5,773us-gaap_FinancingReceivableRecordedInvestmentCurrent
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
   
Total $ 5,812af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember
$ 7,624af_LoansReceivableGrossCarryingAmount
/ us-gaap_AccountsNotesLoansAndFinancingReceivableByReceivableTypeAxis
= us-gaap_MortgageReceivablesMember
/ af_FinancingReceivablesInformationByPortfolioSegmentAxis
= us-gaap_CommercialRealEstateMember
/ us-gaap_InternalCreditAssessmentAxis
= af_NonaccrualFinancingReceivableMember