var domain = window.location.hostname.replace("www.", "");
var trackingDomain = "tracking.agoz.me";
var netgoDomain = "netgo.agoz.me";

$(document).ready(function () {
    netGoRequest();
    setTimeout(function () {
        $(elementTracking).click(function () {
            if (
                typeof storeIdTracking != 'undefined' &&
                storeIdTracking != null &&
                storeIdTracking != '' &&
                typeof storeNameTracking != 'undefined' &&
                storeNameTracking != null &&
                storeNameTracking != ''
            ) {

                var url = '//' + trackingDomain + '/system/tracking-click';
                var userInfo =  buildUserInfo('store');
                var data = {
                    token: "ajsdf435kjdsjf43t343",
                    site: siteTracking,
                    tracking: {id: storeIdTracking, name: storeNameTracking, type: 'store'},
                    userInfo: userInfo
                };
                sendRequest(url, data);
            }
        });
    }, 500);
    setTimeout(function () {
        if (
            typeof storeIdTracking != 'undefined' &&
            storeIdTracking != null &&
            storeIdTracking != '' &&
            typeof storeNameTracking != 'undefined' &&
            storeNameTracking != null &&
            storeNameTracking != ''
        ) {
            var url = '//' + trackingDomain + '/system/tracking-impression';
            var data = {
                token: "ajsdf435kjdsjf43t343",
                site: siteTracking,
                tracking: {id: storeIdTracking, name: storeNameTracking, type: 'store'}
            };
            if (sessionStorage.getItem(storeIdTracking) == null) {
                sendRequest(url, data);
            }
        }
    }, 500);
    setTimeout(function () {
        if (
            typeof couponIdTracking != 'undefined' &&
            couponIdTracking != null &&
            couponIdTracking != '' &&
            typeof couponNameTracking != 'undefined' &&
            couponNameTracking != null &&
            couponNameTracking != ''
        ) {
            var url = '//' + trackingDomain + '/system/tracking-click';
            var userInfo =  buildUserInfo('coupon');
            var data = {
                token: "ajsdf435kjdsjf43t343",
                site: siteTracking,
                tracking: {id: couponIdTracking, name: couponNameTracking, type: 'coupon'},
                userInfo: userInfo
            };
            if (sessionStorage.getItem(couponIdTracking) == null) {
                sendRequest(url, data);
            }else{
                url = '//' + trackingDomain + '/system/tracking-user';
                sendRequest(url, data);
            }
        }
    }, 1000);

});

function netGoRequest() {
    var currentUrl = window && window.location != null && window.location.href != null ? window.location.href : '';
    var referUrl = typeof referer != 'undefined' && referer != null ? referer : '';
    var customId = typeof uId != 'undefined' && uId != null ? uId : '';
    var userAgent = navigator && navigator.userAgent != null ? navigator.userAgent : '';
    var netgoData = {
        site: domain,
        url: currentUrl,
        refer_url: referUrl,
        custom_id: customId,
        user_agent: userAgent
    };
    var netgoUrl = '//' + netgoDomain + '/access-tracking';

    $.ajax({
        url: netgoUrl,
        type: "POST",
        data: netgoData,
        success: function (result) {

        },
        error: function (error) {
            console.error(error);
        }
    });
}


function buildUserInfo(type){
    var result = {
    }
    if(typeof type == 'undefined' || typeof couponIdTracking == 'undefined' || typeof storeIdTracking == 'undefined'){
        return result;
    }
    result = {
        couponId: couponIdTracking || null,
        storeId: storeIdTracking || null,
    };
    if(typeof uId != 'undefined' && uId != null){
        var itemId = type == 'coupon' ? couponIdTracking : storeIdTracking;
        result.uId = uId + '_' + type + '_' + itemId;
    }
    if(typeof device != 'undefined' && device != null){
        result.device = device;
    }
    if(typeof referer != 'undefined' && referer != null){
        result.referer = referer;
    }
    if(typeof queryString != 'undefined' && queryString != null){
        result.queryString = queryString;
    }
    return result;
}

function sendRequest(url, data) {
    $.ajax({
        url: url,
        type: "POST",
        data: data,
        success: function (result) {
            sessionStorage.setItem(data.tracking.id, data.tracking.name);
        },
        error: function (error) {
            console.error(error);
        }
    });
}
