//
//  KWMBlogDetailVC.m
//  iCemarose
//
//  Created by 陈荣科 on 2016/10/28.
//  Copyright © 2016年 kollway. All rights reserved.
//

#import "KWMBlogDetailVC.h"

@interface KWMBlogDetailVC ()<UIWebViewDelegate>

@end

@implementation KWMBlogDetailVC

+ (NSString *)kwmTag{
    return @"KWMBlogDetailVC";
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view
    if(!self.title) self.title = @"正文";
    self.automaticallyAdjustsScrollViewInsets = NO;
    if (!self.handle) {
        [self initData];
    }else{
        [self requestData];
    }
}

- (void) requestData {
    [self showLoading];
    void(^cacheCallback)(id) = ^(id result) {
        [self hideLoading];
        if (self.type == KWMContentTypePage) {
            self.article = [[result pages] firstObject];
        }else{
            self.article = [[result blogs] firstObject];
        }
        [self initData];
    };
    void(^success)(NSURLSessionDataTask *,id) = ^(NSURLSessionDataTask *task, id result) {
        [self hideLoading];
        if (self.type == KWMContentTypePage) {
            self.article = [[result pages] firstObject];
        }else{
            self.article = [[result blogs] firstObject];
        }
        [self initData];
    };
    void(^failure)(NSURLSessionDataTask *,NSError *) = ^(NSURLSessionDataTask *task, NSError *error) {
        [self showError:error];
        NSLog(@"error:%@",error);
        self.view.hidden = NO;
    };
    id param = @{
                 @"handle":self.handle
                 };
    if (self.type == KWMContentTypePage) {
        [self.api getAllPage:param success:success failure:failure];
    }else{
        [self.api getAllBlog:param cacheCallback:nil success:success failure:failure];
    }
}

- (void) initData {
    self.flagImg.hidden = NO;
    self.wbArticle.delegate = self;
    self.wbArticle.scrollView.scrollEnabled = NO;
    self.lbTitle.text = _article.title;
    
    self.publishTime.text = [self returnTimeStr:_article.published_at];
    self.tbvArticle.backgroundColor = [UIColor clearColor];
    self.tbvArticle.separatorStyle = UITableViewCellSeparatorStyleNone;
    
    [self initWebView];
}

//2016-08-10T03:04:16-04:00
//初始化 时间格式 2016-10-28  09:32

- (NSString *)returnTimeStr:(NSString *)timeStr{
    timeStr = [timeStr substringWithRange:NSMakeRange(0, timeStr.length-6)];
    
    NSInteger fromMark=0,toMark=0;
    
    for (int i = 0; i < timeStr.length; ++i) {
        
        unichar aChar = [timeStr characterAtIndex:i];
        NSString *aStr = [NSString stringWithFormat:@"%c",aChar];
        if ([aStr isEqualToString:@"T"]) {
            fromMark= i;
        }
        if ([aStr isEqualToString:@":"]) {
            toMark = i;
            break;
        }
    }
    if (fromMark < toMark) {
        NSString *tempStr = [timeStr substringWithRange:NSMakeRange(fromMark, toMark-fromMark+1)];
        timeStr = [timeStr stringByReplacingOccurrencesOfString:tempStr withString:@"  "];
    }
    return timeStr;
}

- (void)initWebView{
    
    NSString *htmlString = [NSString stringWithFormat:@"%@",_article.body_html];
    
    NSString *searchStr = @"src=\"";
    NSString *replaceStr = @"src=\"https:";
    
    htmlString = [_article.body_html stringByReplacingOccurrencesOfString:searchStr withString:replaceStr];
    
    NSString *BookStr = [NSString stringWithFormat:@"<html> \n"
                         "<head> \n"
                         "<style type=\"text/css\"> \n"
                         "body {margin:20;marginTop:11;font-size: %d;color:#4C5966}\n"
                         "</style> \n"
                         "</head> \n"
                         "<body>%@</body> \n"
                         "</html>",18,htmlString];
    [self.wbArticle loadHTMLString:BookStr baseURL:nil];
}
- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [self.navigationController setNavigationBarHidden:NO];
}


- (void)webViewDidFinishLoad:(UIWebView *)webView{
    
    CGFloat t = UI_SCREEN_WIDTH - 40;
    NSString *js = [NSString stringWithFormat:@"var script = document.createElement('script');"
                    "script.type = 'text/javascript';"
                    "script.text = \"function ResizeImages() { "
                    "var myimg,oldwidth;"
                    "var maxwidth = %@;" // UIWebView中显示的图片宽度
                    "for(i=0;i <document.images.length;i++){"
                    "myimg = document.images[i];"
                    "if(myimg.width > maxwidth){"//大于屏幕宽度减去边距时缩小
                    "oldwidth = myimg.width;"
                    "myimg.width = maxwidth;"
                    "}"
                    "}"
                    "}\";"
                    "document.getElementsByTagName('head')[0].appendChild(script);",@(t).stringValue];

    [webView stringByEvaluatingJavaScriptFromString:js];
    [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];

    [self getWebViewHeight];//根据网页内容设置webView高度
}

- (void)getWebViewHeight{
    
    //获取到webview的高度
    CGFloat height = [[self.wbArticle stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue] +10;
    //10是网页的margin
    self.wbArticle.frame = CGRectMake(self.wbArticle.frame.origin.x,self.wbArticle.frame.origin.y, UI_SCREEN_WIDTH, height);
    
    height = height + 150;//加上本来的高度
    self.vHeader.frame = CGRectMake(0, 0, UI_SCREEN_WIDTH, height);
    self.tbvArticle.tableHeaderView = self.vHeader;
    self.tbvArticle.tableHeaderView.frame = CGRectMake(0, 0, UI_SCREEN_WIDTH, height);
    [self.tbvArticle reloadData];
}
@end