//
//  ThingsViewController.h
//  kneet
//
//  Created by Jason Lee on 3/10/15.
//  Copyright (c) 2015 ntels. All rights reserved.
//

#import "JDViewController.h"

@class DeviceModel;
@class CustomLabel;
@class CustomLabelButton;

@interface ThingsViewController : JDViewController


#pragma mark - Properties
@property (weak, nonatomic) IBOutlet CustomLabel *lblTitle;
@property (weak, nonatomic) IBOutlet CustomImageView *imgvArrow; // 화살표 아이콘
@property (weak, nonatomic) IBOutlet CustomLabel *lblCount; // 홈허브 개수
@property (weak, nonatomic) IBOutlet UIView *viewTitle; // Head Title View
@property (weak, nonatomic) IBOutlet CustomLabel *lblEditMode; // 순서 편집모드 텍스트


@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (weak, nonatomic) IBOutlet UIImageView *imgvHubAlert;
@property (weak, nonatomic) IBOutlet CustomButton *btnOption;
@property (weak, nonatomic) IBOutlet CustomButton *btnClose;
@property (weak, nonatomic) IBOutlet CustomImageView *imgvLogo; // 로고

@property (weak, nonatomic) IBOutlet UIView *viewEditMode;
@property (weak, nonatomic) IBOutlet CustomButton *btnEditClose;
@property (weak, nonatomic) IBOutlet CustomButton *btnEditSave;
@property (weak, nonatomic) IBOutlet CustomButton *btnEditRefresh;

@property (weak, nonatomic) IBOutlet UIView *viewOffline;
@property (weak, nonatomic) IBOutlet CustomLabel *lblOffline;
@property (weak, nonatomic) IBOutlet UIButton *btnOfflineMulti;

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *constraintEditModeRight;

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *viewHeight;

//add hub
@property (weak, nonatomic) IBOutlet UIView *addHubContainerView;
@property (weak, nonatomic) IBOutlet UIImageView *imgvConnectHub;
@property (weak, nonatomic) IBOutlet CustomLabel *lblConnectHub;
@property (weak, nonatomic) IBOutlet CustomLabel *lblSimpleMemberInfo;
@property (weak, nonatomic) IBOutlet CustomLabel *lblLeaveAccount;

#pragma mark - Instance Methods
- (void)prepareViewDidLoadRefreshPopup;
- (void)updateHomeHubStatusToDevices;

- (IBAction)btnOptionTouched:(id)sender;
- (void)requestPollingCommandStatusOfDeviceInBackground:(DeviceModel *)device;

-(void)requestDeviceControl;

- (void)releaseDevicesTimer;

-(void)finishDeviveDelete;

@end

@class CustomButton;
@class CustomLabel;
@class CustomImageView;
@class CustomCheckBox;

@interface ThingsCollectionViewCell : UICollectionViewCell

@property (weak, nonatomic) IBOutlet CustomButton *btnDevice;
@property (weak, nonatomic) IBOutlet CustomImageView *imgDevice;
@property (weak, nonatomic) IBOutlet CustomLabel *lblDeviceName;
@property (weak, nonatomic) IBOutlet CustomLabel *lblDeviceStatus;
@property (weak, nonatomic) IBOutlet CustomButton *btnDeviceControl; // 장치 on, off
@property (weak, nonatomic) IBOutlet CustomButton *btnDelete;   // 장치 삭제 버튼
@property (weak, nonatomic) IBOutlet CustomButton *btnChangeOrder; // 장치 목록 순서 편집 버튼

@property (weak, nonatomic) IBOutlet UIView *controlContainer;
@property (weak, nonatomic) IBOutlet UIView *pcontainerView;
@property (weak, nonatomic) IBOutlet UIImageView *imgvProgress;

@end

@interface ThingsAddCollectionCell : UICollectionViewCell
@property (weak, nonatomic) IBOutlet CustomLabelButton *btnAdd;
//@property (weak, nonatomic) IBOutlet CustomButton *btnThingsAdd;
@property (weak, nonatomic) IBOutlet CustomLabel *lblThingsAdd;

@end
