var gtm = {
    setting: function (tagId) {
        (function (w, d, s, l, i) {
            w[l] = w[l] || [];
            w[l].push({
                'gtm.start':
                    new Date().getTime(), event: 'gtm.js'
            });
            var f = d.getElementsByTagName(s)[0],
                j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
            j.async = true;
            j.src =
                'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
            f.parentNode.insertBefore(j, f);
        })(window, document, 'script', 'dataLayer', tagId);
    },
    sendEvent: function (name, params, userId) {
        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
                ...params,
                event: name,
                user_id: userId || null
            }
        );
    },
    LOGIN: {
        name: 'login'
    },
    TRY_SIGN_UP: {
        name: 'try_sign_up',
        join_type: {
            BUSINESS: 'business',
            GLOBAL_BUSINESS: 'global_business',
            TRAINEE: 'trainee'
        }
    },
    CHANNELTALK_SIGN_UP: {
        name: 'channeltalk_sign_up',
    },
    SIGN_UP: {
        name: 'sign_up',
        join_type: {
            BUSINESS: 'business',
            GLOBAL_BUSINESS: 'global_business',
            TRAINEE: 'trainee'
        },
        user_type: {
            SELLER: 'seller',
            SUPPLIER: 'supplier',
            SELLER_SUPPLIER: 'seller_supplier'
        }
    },
    CHANNELTALK_REGISTER_FOR_SALE: {
        name: 'channeltalk_register_for_sale',
    },
    REGISTER_FOR_SALE: {
        name: 'register_for_sale',
        method: {
            ONE_BY_ONE: 'one_by_one',
            API_NAVER: 'API_naver',
            API_COUPANG: 'API_coupang',
            EXCEL: 'excel',
        },
        location: {
            DATACENTER_VIEW: 'datacenter_view',
            ONCH_VIEW: 'onch_view',
            CM_INDEX : 'cm_index',
            CM_LIST : 'cm_list',
            CM_DETAIL : 'cm_detail',
        }
    },
    IMPORT_ORDER: {
        name: 'import_order',
        method: {
            EXCEL: 'excel',
            API_NAVER: 'API_naver',
            API_COUPANG: 'API_coupang',
            API_11ST: 'API_11st',
            API_WEMAKEPRICE: 'API_wemakeprice'
        }
    },
    BEGIN_CHECKOUT: {
        name: 'begin_checkout',
        method: {
            ONE_BY_ONE: 'one_by_one',
            EXCEL: 'excel',
            API_NAVER: 'API_naver',
            API_COUPANG: 'API_coupang',
            API_11ST: 'API_11st',
            API_WEMAKEPRICE: 'API_wemakeprice'
        },
        location: {
            DATACENTER: 'datacenter',
            ONCH: 'onch',
            ADMIN_MEM_PRD_LIST : 'admin_mem_prd_list',
            CM_DETAIL : 'cm_detail',
            CM_INDEX : 'cm_index',
            CM_LIST : 'cm_list',
        }
    },
    CHANNELTALK_PURCHASE: {
        name: 'channeltalk_purchase',
    },
    PURCHASE: {
        name: 'purchase',
        method: {
            ONE_BY_ONE: 'one_by_one',
            EXCEL: 'excel',
            API_NAVER: 'API_naver',
            API_COUPANG: 'API_coupang',
            API_11ST: 'API_11st',
            API_WEMAKEPRICE: 'API_wemakeprice'
        },
        location: {
            ONCH: 'onch',
            EXCEL: 'excel',
            CM: 'cm',
        }
    },
    CLICK_BANNER: {
        name: 'click_banner'
    },
    /*SELECT_ITEM: {
        name: 'select_item',
        location: {
            ADMIN_MEM_PRD_LIST: 'admin_mem_prd_list',
            DATACENTER: 'datacenter',
            ONCH: 'onch',
        }
    },*/
    VIEW_ITEM: {
        name: 'view_item',
        location: {
            ADMIN_MEM_PRD_LIST: 'admin_mem_prd_list',
            DATACENTER: 'datacenter',
            ONCH: 'onch',
        }
    },
    CLICK_CATEGORY: {
        name: 'click_category',
        category_depth: {
            ONE_DEPTH: '1_depth',
            TWO_DEPTH: '2_depth',
            THREE_DEPTH: '3_depth',
            FOUR_DEPTH: '4_depth',
        }
    },
    CLICK_MENU: {
        name: 'click_menu',
        menu_location: {
            GNB: 'GNB',
            LNB: 'LNB',
        }
    },
    ENTER_TRACKING_NUMBER: {
        name: 'enter_tracking_number',
        method: {
            ONE_BY_ONE: 'one_by_one',
            EXCEL: 'excel'
        }
    },
    DOWNLOAD_PRODUCT_EXCEL: {
        name: 'download_product_excel'
    },
    CLICK_AI_EDIT : {
        name: 'click_ai_edit',
        method: {
            ONE_BY_ONE: 'one_by_one',
            BULL: 'bull'
        }
    },
    VIEW_ITEM_LIST : {
        name: 'view_item_list',
    }
};

/*
const gtm = function () {
    return {
        setting: function (tagId) {
            console.log("gt4 setting");
            console.log(tagId);

            (function (w, d, s, l, i) {
                w[l] = w[l] || [];
                w[l].push({
                    'gtm.start':
                        new Date().getTime(), event: 'gtm.js'
                });
                var f = d.getElementsByTagName(s)[0],
                    j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
                j.async = true;
                j.src =
                    'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
                f.parentNode.insertBefore(j, f);
            })(window, document, 'script', 'dataLayer', tagId);
        },
        sendEvent: function (name, params, userId) {
            window.dataLayer = window.dataLayer || [];
            window.dataLayer.push({
                    ...params,
                    event: name,
                    user_id: userId || null
                }
            );

            console.log(window.dataLayer);
        },
        LOGIN: {
            name: 'login'
        },
        SIGN_UP: {
            name: 'sign_up',
            step: {}
        },
    }
}();*/

function clickMenu (title, location, userId) {
    gtm.sendEvent(gtm.CLICK_MENU.name, {menu_name: title, menu_location: location}, userId);
}