//
//  UniversalViewController.h
//  Allzic
//
//  Created by Alia Bourouis on 13/03/14.
//  Copyright (c) 2014 Alia Bourouis. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "GAI.h"
#import "IconDownloader.h"
@class AppDelegate;


@interface UniversalViewController : GAITrackedViewController <UITableViewDataSource, UITableViewDelegate,IconDownloaderDelegate, UITextFieldDelegate> {
    
    AppDelegate *appDelegate;
    UIView *navigationView;
    UILabel *navigationTitle;
    UIImageView *navTitleImage;
    UIView *backView;
    
    UIView *searchView;
    UIView *searchBackground;
    UITextField *searchTextField;
    
    UIView *nowPlayingView;
    UILabel *nowPlayingTitle;
    UIImageView *nowPlayingPlayStopImage;
    UIButton *nowPlayingPlayStopButton;
    UIImageView *nowPlayingLikeImage;
    UIButton *nowPlayingLikeButton;
    
    UIView *footerTabView;
    
    UIView *allzicView;
    UIImageView *tabAllzicImage;
    UILabel *tabAllzicTitle;
    UIButton *tabAllzicButton;
    
    UIView *categoriesView;
    UIImageView *tabCategoriesImage;
    UILabel *tabCategoriesTitle;
    UIButton *tabCategoriesButton;
    
    UIView *exploreView;
    UIImageView *tabExploreImage;
    UILabel *tabExploreTitle;
    UIButton *tabExploreButton;
    
    UIView *favoritesView;
    UIImageView *tabFavoritesImage;
    UILabel *tabFavoritesTitle;
    UIButton *tabFavoritesButton;
    
    UIView *plusView;
    UIImageView *tabPlusImage;
    UILabel *tabPlusTitle;
    UIButton *tabPlusButton;
    
    int currentTabIndex;
    NSString *navigationTitleString;
    UITableView *dataTable;
    NSArray *dataArray;
    NSMutableDictionary *iconDownloaderDictionary;
    NSMutableArray *infiniteDataArray;
    
    
    
    UIView *loadingTableView;
    UILabel *noResultTableLabel;
}

@property(nonatomic,strong) AppDelegate *appDelegate;
@property(nonatomic,strong) UITableView *dataTable;
@property(nonatomic,strong) NSArray *dataArray;
@property(nonatomic,strong) UITextField *searchTextField;
@property(nonatomic,strong) UIView *navigationView;
@property(nonatomic,strong) UIImageView *navTitleImage;



@property(nonatomic,strong) UIView *loadingTableView;
@property(nonatomic,strong) UILabel *noResultTableLabel;



- (void)setNavigationTitle:(NSString *)title;
- (void)setCurrentTabIndex:(int)index;
- (void)refreshNowPlayingViewWithTitle:(NSString *)title;
- (void)refreshNowPlayingViewWithFavorite:(BOOL)isFavorite;
- (void)startMiniPlayer;
- (void)stopMiniPlayer;
- (void)likeRadioButtonPressed;
- (void)unlikeRadioButtonPressed;
- (void)refreshTableWithData:(NSArray *)data;
- (void)selectRadioAtIndex:(id)sender;
- (void)nowPlayingHeaderPressed;
- (void)displayBackView;
- (void)hideBackView;
- (void)backToParentView;
- (void)stopButtonPressed;
- (void)textFieldDidChange:(UITextField *)textField;

@end
