//
//  Utilities.h
//  Verif-y
//
//  Created by MTN on 17/09/20.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface Utilities : NSObject

typedef enum
{
  FailedCase = 0,
  SelfieCase = 1
} comeFromView;

typedef enum
{
  Default = 0,
  Directly = 1,
  InDirectly = 2
} componentCallDirectly;

typedef enum
{
  IDFailedGuideWrapper = 0,
  IDGuideWrapper = 1,
  IDSuccessWrapper = 2,
  IDFailedGuideWrapperClose = 3,
  IDSuccessComplete = 4,
  CardSuccessComplete = 5,
  CardSuccessClose = 6,
  SelfieGuideWrapperClose = 7,
  SelfieGuideWrapperComplete = 8
} comeFromViewController;

typedef enum
{
  DefaultCall=0,
  IDExtract = 1,
  IDContinue = 2,
  CardExtract = 3,
  CardContinue = 4
} popupCallFromMethod;

typedef enum
{
  OriginalName = 567,
  SuggestedName = 568,
  ScnSuggestedName = 569
} popupRadioButton;

typedef enum
{
  Upload = 0,
  Camera = 1
} optionSelected;

typedef enum
{
  FirstName = 901,
  LastName = 902,
  Gender = 903,
  DocumentNumber = 904,
  DocumentType = 905,
  DateOfBirth = 906,
  DateOfExpiration = 907,
  Nationality = 908,
  Issuer = 909,
  Address = 910
} successFieldNames;

typedef enum
{
  CardNumber = 1081,
  CardName = 1082,
  CardValidThru = 1083,
  CardCvv = 1084
} cardSuccessFieldNames;

/**
   Common method class all the method are class method.
 */

+ (BOOL)checkInternetConnection;

+ (BOOL)checkWhiteSpaces:(NSString *)aStr;

+ (NSString *)encodeToBase64String:(UIImage *)image;

+ (UIImage *)decodeBase64ToImage:(NSString *)strEncodeData;

+ (NSString*)encodeStringTo64:(NSString*)fromString;

+ (NSData *)compressForUpload:(UIImage *)originalImg;

+ (UIColor*)colorFromColorString:(NSString*)colorString;

+ (void) customTitleImage: (UINavigationItem*) navigationItem Logo:(NSString*) base64;

+ (void) customTitleText:(UINavigationItem *)navigationItem TitleText:(NSString *)titleText FontColor:(NSString*)fontColor;

+ (NSString*) setOSLanguage:(NSString*) language;

+ (NSString*) extractLanguage:(NSString*) language;

+ (NSString*) getGeoLanguage:(NSString*) countryName;

+ (NSString*) checkLanguageSupported:(NSString*) language;

+ (NSString*) getLanguageString:(NSString*) Language;

+ (NSString *) compressPNGBase64:(UIImage *) img;

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize;

+ (NSString *)stringFromTimeInterval:(NSTimeInterval)timeInterval;

NSInteger getDaysInYear(NSDate* date);

@end
