//
//  PriceChangerViewController.m
//  DUREX Vendor Control
//
//  Created by Imanol Barba on 9/3/14.
//  Copyright (c) 2014 Emmoco. All rights reserved.
//

#import "PriceChangerViewController.h"

@interface PriceChangerViewController ()

@end

@implementation PriceChangerViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void) parentViewControllerDidRotateWithOrientation: (UIDeviceOrientation) orientation
{
    NSLog(@"[PriceChangerViewController.m]: Screen did rotate");
}

- (void) parentViewControllerWillRotateToInterfaceOrientation: (UIInterfaceOrientation)toInterfaceOrientation duration: (NSTimeInterval)duration
{
    NSLog(@"[PriceChangerViewController.m]: Screen will rotate");
}

- (void)viewDidLoad
{
    self.priceChangerView.layer.cornerRadius = 5;
    self.priceChangerView.layer.shadowOpacity = 0.8;
    self.priceChangerView.layer.shadowOffset = CGSizeMake(0.0f, 0.0f);
    
    self.code.delegate = self;
    self.channel.delegate = self;
    self.price.delegate = self;
    
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self
                                   action:@selector(dismissKeyboard)];
    
    [self.view addGestureRecognizer:tap];
    
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

-(void)dismissKeyboard
{
    [self.code resignFirstResponder];
    [self.price resignFirstResponder];
    [self.channel resignFirstResponder];
}

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (void)showAnimate
{
    self.view.transform = CGAffineTransformMakeScale(1.3, 1.3);
    self.view.alpha = 0;
    [UIView animateWithDuration:.25 animations:^{
        self.view.alpha = 1;
        self.view.transform = CGAffineTransformMakeScale(1, 1);
    }];
}

- (void)removeAnimate
{
    [UIView animateWithDuration:.25 animations:^{
        self.view.transform = CGAffineTransformMakeScale(1.3, 1.3);
        self.view.alpha = 0.0;
    } completion:^(BOOL finished) {
        if (finished) {
            [self.view removeFromSuperview];
        }
    }];
}

- (void) formatPrice
{
    NSMutableString *priceText = [NSMutableString stringWithString:[[self price] text]];
    [priceText replaceOccurrencesOfString:@"," withString:@"." options:NSLiteralSearch range:NSMakeRange(0, [priceText length])];
    NSUInteger commaPos = [priceText rangeOfString:@"."].location;
    if(commaPos == NSNotFound)
    {
        [priceText appendString:@".00"];
    }
    else if(commaPos == [priceText length] - 2)
    {
        [priceText appendString:@"0"];
    }
    [[self price] setText:priceText];
}

- (IBAction)closePopup:(id)sender
{
    [self formatPrice];
    NSArray *data = [[NSArray alloc] initWithObjects:[[self channel] text],[[self code] text],[[self price] text], nil];
    [self.delegate passPriceViewController:self didFinishEnteringItem:data];
    [self.childDelegate removeChildFromParentController:self];
    [self removeAnimate];
}

- (void)showInView:(UIView *)aView animated:(BOOL)animated
{
    [aView addSubview:self.view];
    if (animated) {
        [self showAnimate];
    }
}


@end
