const athenaConfigOptions = {
    //Athena Unique ID
    athenaUid: null,

    //Athena Customer Cookie
    customerCookie: null,

    //Customer Group ID
    customerGroupID: 0,

    //Search Form
    searchForm: null,

    //Autocomplete Container
    autocompleteContainerId: null,

    /* Content Selector */
    athenaContent: null,

    //Sidebar Selector
    athenaSidebar: null,

    //Product DOM Selector item
    productDomSelectors: {
        autocomplete: '.athena-product-item',
        search: '.product-item',
        productRecommendation: '.athena-recommendation__product-item'
    },

    //Show No Items
    showNoItemsMessage: false,

    //Search For CLick Product
    searchForClickProduct: '',

    //Track Current Request
    currentRequest: null,

    //Filter Array Query
    queryOptions: [],

    //Allow Fetch First Click
    allowFetchFirstClick: true,

    //First Click Data Object
    firstClickDataObject: {},

    //Save what filters are active
    activeFiltersArray: null,

    // Search Product Container
    searchProductContainer: null,

    // Suffix
    suffixArea: null,

    // Search Sidebar Container
    searchSidebar: null,

    // Search Toolbar Container
    searchToolbarContainer: null,

    // Search Banner Container
    searchBannerContainer: null,

    // Init Custom Event
    searchDataFetchedEvent: new Event('searchDataFetched'),

    // Scroll Status
    scrollStatus: false,

    // Infinite Scroll Next Page
    nextPage: null,

    // Infinite Scroll Prev Page
    prevPage: null,

    // Infinite Scroll Current Page
    currentPage: null,

    // Infinite Scroll Last Page
    lastPage: null,

    // Products wrapper
    productsWrapper: null,

    // Search Query
    searchQuery: null,

    // Show Spinner
    showSpinner: false,

    // Load prev container
    loadPrevContainer: null,

    // Load prev button
    loadPrevBtn: null,

    // Search title
    searchTitle: null,

    //Visual Filters Container
    visualFilters: null,

    // Active filters container
    activeFiltersContainer: null,

    // Active filters title
    activeFilterTitle: null,

    // Amount container
    searchAmount: null,

    // Pager container
    pagerContainer: null,

    // View Mode Container
    viewModeContainer: null,

    // Products Per Page
    productsPerPage: null,

    // View Mode Container
    noProductsMessage: 'Sorry, we couldn`t find any matches.',

    //Cropper Data for Visual Similarity Search
    cropper: null,

    //new instance of cropper
    cropperInstance: null,

    //Current Search Value
    currentSearchValue: '',

    //Prevent Request Search on Same Value
    preventRequestSearch: false,

    //Saved Suggested Keywords
    suggestedKeywords: [],

    //configurable image quality for downscale
    imageQuality: 0.8,

    //check image size in mb
    imageSizeCheckInMb: 30,

    //Athena Indexed DB Name
    indexedDatabaseName: 'athena',

    //Name of the Object Store
    indexedObjectStore: 'athena-vss',

    //Request animation frame id
    requestAnimationFrameId: null,

    //voice recognition
    voiceRecognition: null,

    //voice microphone class
    microphoneClass: null,

    //Value on tab before
    valueOnTabBefore: '',

    //Camera Opened Event
    cameraOpenEvent: new Event('cameraOpened'),

    //Camera Closed Event
    cameraCloseEvent: new Event('cameraClosed'),

    //Cutoff Distance
    shouldCutOff: false,

    //Populate Keywords
    populateFirstPageKeywords: ['pants', 'shirt', 'boots'],

    //Show More Button Name
    showMoreButtonName: 'Show More',

    //Show Less Button Name
    showLessButtonName: 'Show Less',

    //Cutoff place of items
    showMoreCutoffItems: 5,

    //Cutoff place of Autocomplete
    showMoreCutoffItemsAutocomplete: 3,

    //Cutoff place of Autocomplete Brands
    showMoreCutoffItemsAutocompleteBrands: 6,

    //Cutoff place of items Size
    showMoreCutoffItemsSize: 15,

    layoutThreeInfiniteScrollPager: null,
};

const athenaConfig = {
    //Price Range Unit Placement
    priceRangePlacement: 'before',

    //Price Range Unit of Price
    priceRangeUnit: '$',

    //On how many decimals we want to round
    decimals: '',

    //What we want decimal point to be
    decimalPoint: '',

    //What we want separator to be
    separator: '',

    //Voice Search Language
    voiceSearchLang: 'en-US',

    //Voice Search Status
    voiceSearchStatus: true,

    //Visual Search Paste Url
    visualSearchPasteUrl: true,

    //External Proxy for downloading image
    pasteUrlExternalProxy: 'https://api.codetabs.com/v1/proxy?quest=',

    //Visual Similarity Search Status
    visualSimilaritySearchStatus: true,

    // Pager status
    pagerStatus: false,

    //Check if Infinite Scroll is Activated on Dashboard
    InfiniteScrollStatus: true,

    //Camera Capture Status
    cameraCaptureStatus: true,

    //Layout Type
    layoutType: 'athena-l3', //You can change between 'athena-l3', 'athena-list', 'athena-grid'

    //Bottom Observed Element
    bottomObservedElement: null,

    //Check on how many elements search on filters appear
    filterSearchAppearOnElements: 10,

    //Filter Search Enable
    filterSearchEnable: true,

    //Api Url
    apiUrl: '',

    //Website Token for Analytics
    websiteToken: '',

    //Access Token
    accessToken: '',

    //Api Version
    apiVersion: 1,

    //Form URL
    formUrl: '/athena.html',

    //Did you mean separator
    didYouMeanSeparator: 'or',

    /**
     * If it is False
     * Render href tag on product link
     * Disable Product Info Sidebar
     * Remove things for demo
     */
    isDemo: true,

    sendAthenaRequest: false,

    //Should be set if the API version is 3
    proxyUrl: '',

    //If Customer is Loyalty Then Customer Loyalty Group is sent to the back-end.
    isCustomerLoyalty: false,

    //Hybrid search default model
    hybridSearchModel: null,

    //origin url
    originUrl: null,

    // Find Visual Similarity
    findVisualSimilarityEnable: true,
};

const athenaConfigDemo = {
    storyUrl: '',
    headerTopText: '<p>The Open Source data catalog from <a href="https://amazon-reviews-2023.github.io/" title="amazon-reviews-2023.github.io" target="_blank"><img src="images/amazon.svg" width="82" height="16" alt="Amazon"/></a> is used in this demo, featuring over 500,000 products from Amazon_Fashion category.</p>',
    homePageStory: [
        {
            title: 'Trendy',
            image: 'images/stories/home-1.png',
            recommenderId: '15',
            recommenderSku: 'SKU-97267'
        },
        {
            title: 'Prints',
            image: 'images/stories/home-2.png',
            recommenderId: '16',
            recommenderSku: 'SKU-97047'
        },
        {
            title: 'Novelty',
            image: 'images/stories/home-3.png',
            recommenderId: '17',
            recommenderSku: 'SKU-96605'
        },
        {
            title: 'Martial Arts',
            image: 'images/stories/home-4.png',
            recommenderId: '11',
            recommenderSku: 'SKU-96336'
        }
    ],
    homePageBanner:{
        bannerTextBig: 'New jeans wardrobe - A summer go-to!',
        bannerTextSmall: 'Carefully selected styles & Serious add-to-cart vibes!',
        bannerBtnText: 'explore',
        bannerBtnLink: 'athena.html?category=276&level=4',
        image: 'images/home-page-banner.jpeg'
    },
    homePageTabs:[
        {
            recommenderHomeId: '20',
            recommenderHomeSku: 'SKU-23713',
            buttonText: 'Dresses',
            isActive: true
        },
        {
            recommenderHomeId: '21',
            recommenderHomeSku: 'SKU-83016',
            buttonText: 'Maternity',
            isActive: false
        },
        {
            recommenderHomeId: '22',
            recommenderHomeSku: 'SKU-90018',
            buttonText: 'Men’s Tactical',
            isActive: false
        },
        {
            recommenderHomeId: '23',
            recommenderHomeSku: 'SKU-85247',
            buttonText: 'Travel',
            isActive: false
        }
    ],
    categoryPageStory: [
        {
            categoryName: 'women',
            title: 'Handbags & Wallets',
            recommenderId: '13',
            recommenderSku: 'SKU-46389',
            image: 'images/stories/women-1.png'
        },
        {
            categoryName: 'women',
            title: 'Jewelry',
            recommenderId: '14',
            recommenderSku: 'SKU-37170',
            image: 'images/stories/women-2.png'
        },
        {
            categoryName: 'men',
            title: 'Hoodies',
            recommenderId: '13',
            recommenderSku: 'SKU-54289',
            image: 'images/stories/men-1.png'
        },
        {
            categoryName: 'men',
            title: 'Watches',
            recommenderId: '14',
            recommenderSku: 'SKU-95253',
            image: 'images/stories/men-2.png'
        }
    ]
}

export {
    athenaConfig,
    athenaConfigOptions,
    athenaConfigDemo
}