//
//  KWMMainVC.m
//  iToYoung
//
//  Created by jason on 16/5/9.
//  Copyright © 2016年 kollway. All rights reserved.
//

#import "KWMMainVC.h"
#import "UIColor+SAMAdditions.h"
#import "AppDelegate.h"
#import "KWMUserDao.h"
#import "MBProgressHUD.h"
#import "PSPDFAlertView.h"
#import "KWMWebViewVC.h"
#import "KWMStringUtil.h"
#import "KWMSplashView.h"
#import "KWMUserModel.h"
#import "KWMLoginVC.h"
#import "KWMShoppingCart.h"

@interface KWMMainVC ()

@property (nonatomic) KWMSplashView *splashView;

@end

@implementation KWMMainVC{
    BOOL isInApp;
    NSInteger tabBarHeight;
}

- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
}

- (void)viewDidLoad {
    [super viewDidLoad];
    [self requestExchangeRateApi];
//    [self initSplash];
    [self loadTabBar];
    NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
    BOOL registerSuccess = [defaults boolForKey:KEY_USER_REGISTER];

    if(registerSuccess){
        MBProgressHUD *toastHUD = [MBProgressHUD showHUDAddedTo:self.view animated:YES];
        toastHUD.userInteractionEnabled = NO;
        toastHUD.mode = MBProgressHUDModeText;
        toastHUD.labelText = @"欢迎来到Cemarose";
        toastHUD.removeFromSuperViewOnHide = YES;
        [toastHUD hide:YES afterDelay:2];
        [defaults setBool:NO forKey:KEY_USER_REGISTER];
        [defaults synchronize];
    }
//    [[KWMAPIManager sharedManager] loginWebSuccess:nil failure:nil];
    [[KWMUserDao shareDao] login];
    [[KWMUserDao shareDao] requestTags];
    [[KWMShoppingCart sharedInstance] allItemsWithCallback:^(NSError *error, KWMCartResult *cart) {
        
    }];
    
}

- (void)initSplash{

    
    [self hiddenTheTabBar];
    [[UITabBar appearance] setBackgroundColor:[UIColor whiteColor]];

    for (UIView *v in [self.view subviews]) {
        if ([v isKindOfClass:[UITabBar class]]) {
            CGRect frame = v.frame;
            tabBarHeight = frame.size.height;
        }
    }
    
    CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame];
    NSInteger statusHeight = rectStatus.size.height;

    self.splashView=[[KWMSplashView alloc] initWithFrame:CGRectMake(0,statusHeight,
                                                                         UI_SCREEN_WIDTH, UI_SCREEN_HEITHT-tabBarHeight-statusHeight)];
    
    
    [self.view addSubview:self.splashView];
    [self performSelector:@selector(showTheTabBar) withObject:nil afterDelay:3.0f];
}



//隐藏标签栏
- (void)hiddenTheTabBar
{
    //隐藏是不需要动画的
//    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"isHiddenTabBar"]) {
        for (UIView *v in [self.view subviews]) {
            if ([v isKindOfClass:[UITabBar class]]) {
                //[UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){
                    CGRect frame = v.frame;
                    frame.origin.y += 49.0f;
                    v.frame = frame;
                //} completion:nil];
            } else {
                //[UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){
                    CGRect frame = v.frame;
                    frame.size.height += 49.0f;
                    v.frame = frame;
                //} completion:nil];
            }
        }
//        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isHiddenTabBar"];

//    }
}







//显示标签栏
- (void)showTheTabBar
{

//    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isHiddenTabBar"]) {
        for (UIView *v in [self.view subviews]) {
            if ([v isKindOfClass:[UITabBar class]]) {
                [UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){
                    CGRect frame = v.frame;
                    frame.origin.y -= 49.0f;
                    v.frame = frame;
                } completion:^(BOOL finished){
                    [self.splashView hide];
                }];
            } else {
                [UIView animateWithDuration:0.5f delay:0.0f options:UIViewAnimationOptionCurveEaseOut animations:^(){
                    CGRect frame = v.frame;
                    frame.size.height -= 49.0f;
                    v.frame = frame;
                } completion:nil];
            }
        }
//        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"isHiddenTabBar"];
//    }
}



-(void)showTabBar{
    [self.tabBarController.tabBar setHidden:NO];
}

- (void)loadTabBar {
    
    
    //UITabBar样式
    UITabBar *tabBar = self.tabBar;
    
    [UITabBarItem.appearance setTitleTextAttributes:@{
                                                      NSForegroundColorAttributeName : [UIColor sam_colorWithHex:@"#F1929A"], NSFontAttributeName :[UIFont systemFontOfSize:11.0f]} forState:UIControlStateSelected];
    
    [UITabBarItem.appearance setTitleTextAttributes:@{
                                                      NSForegroundColorAttributeName : [UIColor sam_colorWithHex:@"#666666"],
                                                      NSFontAttributeName :[UIFont systemFontOfSize:11.0f]} forState:UIControlStateNormal];
    
    
    
    
    UITabBarItem *tabBarItem1 = (tabBar.items)[0];
    UITabBarItem *tabBarItem2 = (tabBar.items)[1];
    UITabBarItem *tabBarItem3 = (tabBar.items)[2];
    UITabBarItem *tabBarItem4 = (tabBar.items)[3];
    
    UIImage *image1 = [[UIImage imageNamed:@"ic_tab_home_nor"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem1.image = image1;
    image1 = [[UIImage imageNamed:@"bttn_tab_home_sel"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem1.selectedImage = image1;
    
    
    UIImage *image2 = [[UIImage imageNamed:@"btn_tab_store"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem2.image = image2;
    image2 = [[UIImage imageNamed:@"btn_tab_store_pre"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem2.selectedImage = image2;
    tabBarItem2.tag = 101;
    
    
    UIImage *image3 = [[UIImage imageNamed:@"btn_tab_ brand"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem3.image = image3;
    image3 = [[UIImage imageNamed:@"btn_tab_ brand_pre"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem3.selectedImage = image3;
    
    UIImage *image4 = [[UIImage imageNamed:@"btn_tab_mine"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem4.image = image4;
    image4 = [[UIImage imageNamed:@"ic_tab_mine_sel"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
    tabBarItem4.selectedImage = image4;
    //缩小文字与图标的距离
    for(UITabBarItem *item in tabBar.items){
        [item setTitlePositionAdjustment:UIOffsetMake(0, 0)];
    }
    
}


-(void)requestExchangeRateApi{
    
    void(^failure)(NSURLSessionDataTask *,NSError *) = ^(NSURLSessionDataTask *task,NSError *error){
        NSLog(@"%@",error);
    };
    void(^success)(NSURLSessionDataTask *,KWMExchangeRateResult *) = ^(NSURLSessionDataTask *task,KWMExchangeRateResult *result){
        if(result){
//            NSNumber *exchangeRate = result.exchangeRate;
            [[KWMUserDao shareDao] saveExchangeRate:result.exchange_rate];
        }
    };
    [[KWMAPIManager sharedManager] getExchangeRate:nil success:success failure:failure];
    
    
}

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
    // 这里不需要调用super,因为父类没有实现这个代理方法
    //[super tabBar:tabBar didSelectItem:item];
    if(item.tag == 101){
        [[NSNotificationCenter defaultCenter] postNotificationName:@"didSelectCategoryTab" object:nil];
    }
}

@end