﻿/*function checkDomain(url, domain) {
    var notavailable = $('#result').data('notavailable');
    var unavailable = $('#domainresult').data('unavailable');
    var error = $('#domainresult').data('error');
    axios.get(url + '?option=domain&domain=' + encodeURIComponent(domain)).then(function (res) {
        $("#searching").hide();
        $("#result").removeClass('hidden').show();

        var data = res.data;

        var domain = data["domain"];
        var price = data["price"];
        var status = data["status"];
        var is_cart = data['is_cart'];

        if (price != 0) {
            var original = data["original"];

            if (original) {
                $("#result .domainprice").html('<h5 class="text-green">¥' + price + '<br><small><del>' + original + '</del></small></h5>');
            }
            else {
                $("#result .domainprice").html('<h5 class="text-green">¥' + price + '</h5>');
            }
        } else {
            $("#result .domainprice").html('');
        }

        if (status == "available") {
            $("#result .addToCart").data("domain", domain);
            if (is_cart == 'yes') {
                var remove = $('#domainresult').data('remove');
                $('#result .addToCart').removeClass('btn-success addToCart').addClass('btn-danger removeFromCart');
                $('#result .removeFromCart').html(remove).removeAttr("disabled");
            }
        } else {
            $("#result .available").addClass('text-danger');
            $("#result .addToCart").removeClass('btn-info').addClass('btn-secondary');
            $("#result .addToCart").text(unavailable).attr("disabled", true);

            if (status == "unavailable") {
                message = notavailable;
            }

            $("#result .available").html('<strong class="text-red">' + message + '</strong>');
        }
    }).catch(function (err) {
        $("#searching").hide();
        $("#result").removeClass('hidden').show();

        var message = textStatus;
        var data = jQuery.parseJSON(XHR.responseText);

        if (data.message != null) {
            message = data.message;
        }

        $("#result .available").html('<strong class="text-red">查询失败！</strong>');
        $("#result .addToCart").removeClass('btn-info').addClass('btn-secondary');
        $("#result .addToCart").text(error).attr("disabled", true);
        $("#result .domainprice").html('');
    });
    /*$.ajax({
        type: "GET",
        data: 'option=domain&domain=' + encodeURIComponent(domain),
        dataType: 'json',
        url: url,
        success: function (result, textStatus) {
            $("#searching").hide();
            $("#result").removeClass('hidden').show();

            var data = result.data;

            var domain = data["domain"];
            var price = data["price"];
            var status = data["status"];
            var is_cart = data['is_cart'];

            if (price != 0) {
                var original = data["original"];

                if (original) {
                    $("#result .domainprice").html('<h5 class="text-green">¥' + price + '<br><small><del>' + original + '</del></small></h5>');
                }
                else {
                    $("#result .domainprice").html('<h5 class="text-green">¥' + price + '</h5>');
                }
            } else {
                $("#result .domainprice").html('');
            }

            if (status == "available") {
                $("#result .addToCart").data("domain", domain);
                if (is_cart == 'yes') {
                    var remove = $('#domainresult').data('remove');
                    $('#result .addToCart').removeClass('btn-success addToCart').addClass('btn-danger removeFromCart');
                    $('#result .removeFromCart').html(remove).removeAttr("disabled");
                }
            } else {
                $("#result .available").addClass('text-danger');
                $("#result .addToCart").removeClass('btn-info').addClass('btn-secondary');
                $("#result .addToCart").text(unavailable).attr("disabled", true);

                if (status == "unavailable") {
                    message = notavailable;
                }

                $("#result .available").html('<strong class="text-red">' + message + '</strong>');
            }
        },
        error: function (XHR, textStatus) {
            $("#searching").hide();
            $("#result").removeClass('hidden').show();

            var message = textStatus;
            var data = jQuery.parseJSON(XHR.responseText);

            if (data.message != null) {
                message = data.message;
            }

            $("#result .available").html('<strong class="text-red">' + message + '</strong>');
            $("#result .domain").removeClass('text-green').addClass('text-yellow');
            $("#result .addToCart").removeClass('btn-success').addClass('btn-default');
            $("#result .addToCart").text(unavailable).attr("disabled", true);
            $("#result .domainprice").html('');
        }
    });*/
/*}*/

function checkPopularDomain(url, domain, group) {
    var addcart = $('#domainresult').data('add');
    var unavailable = $('#domainresult').data('unavailable');
    var num = 0;
    $.each(group, function (k, groupid) {
        num++;
        setTimeout(function () {
            $.ajax({
                type: "GET",
                data: 'option=domains&domain=' + domain + '&group=' + groupid,
                dataType: 'json',
                url: url,
                success: function (result, textStatus) {
                    var data = result.data;
                    $.each(data, function (k, domains) {
                        var oid = '#' + domains['oid'];
                        var domain = domains['domain'];
                        var price = domains['price'];
                        var status = domains["status"];
                        var is_cart = domains['is_cart'];
                        var message = '请求超时';

                        var html;

                        if (status == "available") {
                            html = '<div class="domainprice pull-left mr-2"><h5>' + price + '</h5>';

                            var original = domains['original'];

                            if (original) {
                                html += '<small><del>' + original + '</del></small>';
                            }
                            if (is_cart == 'no') {
                                html += '</div><div class="pull-right"><button type="button" class="btn btn-info btn-sm addToCart" data-type="1" data-domain="' + domain + '">' + addcart + '</button></div>';
                            } else {
                                var remove = $('#domainresult').data('remove');
                                html += '</div><div class="pull-right"><button type="button" class="btn btn-danger btn-sm removeFromCart" data-domain="' + domain + '">' + remove + '</button></div>';
                            }

                        } else {
                            var msg = '';

                            if (status != "unavailable") {
                                msg = '<br><small class="text-red">' + message + '</small>'
                            }

                            // $(oid + " .domainstatus span").html(domain + '<a class="whois text-green" href="/whois/' + encodeURIComponent(name) + '" target="_blank">Whois</a>' + msg);
                            $(oid + " .domainstatus span").html(domain);
                            html = '<div class="domainprice pull-left mr-2">';

                            if (price != 0) {
                                html += '<h5>' + price + '</h5>';

                                var original = domains['original'];

                                if (original) {
                                    html += '<small><del>' + original + '</del></small>';
                                }
                            }

                            html += '</div><div class="pull-right"><button type="button" class="btn btn-secondary btn-sm" disabled="disabled">' + unavailable + '</button></div>';
                        }

                        $(oid + " .domainaction").html(html);
                    });
                },
                error: function (XHR, textStatus) {
                    var message = textStatus;
                    var data = jQuery.parseJSON(XHR.responseText);

                    if (data.message != null) {
                        message = data.message;
                    }

                    $(".registrar_" + registrarid + " .domainstatus span").addClass('text-red');
                    $(".registrar_" + registrarid + " .domainstatus span").append('<br>' + message);
                    $(".registrar_" + registrarid + " .domainaction").html('<button type="button" class="pull-right btn btn-default" disabled="disabled">' + unavailable + '</button>');
                }
            });
        }, 1000 * num);
    });
}
function check_ykj_cart_domain() {
    var addcart = $('#domainresult').data('add');
    $.ajax({
        type: "GET",
        data: '',
        dataType: 'json',
        url: "/domain/check_ykj_cart_domain",
        success: function (result, textStatus) {

            var data = result.data;
            $.each(data, function (k, domains) {
                var oid = '#mall_' + domains['oid'];
                var domain = domains['domain'];
                var is_cart = domains['is_cart'];
                if (is_cart == 'no') {
                    html = '<button type="button" class="btn btn-info btn-sm addToCart" data-type="2" data-domain="' + domain + '">' + addcart + '</button>';
                } else {
                    var remove = $('#domainresult').data('remove');
                    html = '<button type="button" class="btn btn-danger btn-sm removeFromCart" data-type="2" data-domain="' + domain + '">' + remove + '</button>';
                }
                $(oid + " .domainaction").html(html);
            });
        }
    });
}
function checkSuggestedDomains(url, token, userid, domain, searchtype) {
    var addcart = $('#domainresult').data('add');
    var unavailable = $('#domainresult').data('unavailable');

    if (typeof searchtype == "undefined") {
        searchtype = 'search';
    }

    $.ajax({
        type: "GET",
        data: 'token=' + token + '&type=suggestion&searchtype=' + searchtype + '&userid=' + userid + '&domain=' + encodeURIComponent(domain),
        dataType: 'json',
        url: url,
        success: function (result, textStatus) {
            $(".suggestions").html('');

            var data = result.data;
            var unknown = 0;

            $.each(data, function (k, domains) {
                var oid = domains['oid'];
                var product_id = domains['product_id'];
                var name = domains['name'];
                var domain = domains['domain'];
                var registrar = domains['registrar'];
                var price = domains['price'];
                var status = domains["status"];
                var message = domains["message"];

                var suggestion = '';
                var btn = 'btn-default';
                var btntext = unavailable;
                var disabled = ' disabled="disabled"';

                if (status == "unknown") {
                    ++unknown;

                    suggestion += '<div id="' + oid + '" class="results suggestion-unknown"><div class="row"><div class="col-xs-7 domainstatus"><span>' + name + '</span></div><div class="col-xs-5"><div class="pull-right domainaction"><i class="loading"></i></div></div></div></div>';
                }
                else {
                    suggestion += '<div id="' + oid + '" class="results"><div class="row"><div class="col-xs-7 domainstatus"><span>' + name + '</span></div><div class="col-xs-5"><div class="pull-right domainaction"><div class="domainprice pull-left">';

                    if (status == "available") {
                        btn = 'btn-success addToCart';
                        var btntext = addcart;
                        disabled = '';

                        suggestion += '<h5>' + price + '</h5>';

                        var original = domains['original'];

                        if (original) {
                            suggestion += '<small><del>' + original + '</del></small>';
                        }
                    }

                    suggestion += '</div><div class="pull-right"><button type="button" class="btn ' + btn + ' btn-sm" data-suggestion="verisign" data-product-id="' + product_id + '" data-registrar="' + registrar + '" data-domain="' + domain + '"' + disabled + '>' + btntext + '</button></div></div></div></div></div>';
                }

                $(".suggestions").append(suggestion);
            });

            if (unknown > 0) {
                checkUnknownDomains(url, token);
            }
        },
        error: function (XHR, textStatus) {
            var message = textStatus;
            var data = jQuery.parseJSON(XHR.responseText);

            if (data.message != null) {
                message = data.message;
            }

            $(".suggestions").html('<div class="row"><div class="col-xs-12"><strong class="text-red">' + message + '</strong></div></div>');
        }
    });
}

function checkUnknownDomains(url, token) {
    var addcart = $('#domainresult').data('add');
    var unavailable = $('#domainresult').data('unavailable');

    $.ajax({
        type: "GET",
        data: 'token=' + token + '&type=unknown',
        dataType: 'json',
        url: url,
        success: function (result, textStatus) {
            var data = result.data;

            $.each(data, function (k, domains) {
                var oid = '#' + domains['oid'];
                var product_id = domains['product_id'];
                var name = domains['name'];
                var domain = domains['domain'];
                var registrar = domains['registrar'];
                var price = domains['price'];
                var status = domains["status"];
                var message = domains["message"];

                var html;

                if (status == "available") {
                    html = '<div class="domainprice pull-left"><h5>' + price + '</h5>';

                    var original = domains['original'];

                    if (original) {
                        html += '<small><del>' + original + '</del></small>';
                    }

                    html += '</div><div class="pull-right"><button type="button" class="btn btn-success btn-sm addToCart" data-product-id="' + product_id + '" data-registrar="' + registrar + '" data-domain="' + domain + '">' + addcart + '</button></div>';
                }
                else {
                    var msg = '';

                    if (status != "unavailable") {
                        msg = '<br><small class="text-red">' + message + '</small>'
                    }

                    $(oid + " .domainstatus span").html(name + '<a class="whois text-green" href="https://whois.registry-server.com/whois/' + encodeURIComponent(name) + '" target="_blank">Whois</a>' + msg);

                    html = '<div class="domainprice pull-left">';

                    if (price != 0) {
                        html += '<h5>' + price + '</h5>';

                        var original = domains['original'];

                        if (original) {
                            html += '<small><del>' + original + '</del></small>';
                        }
                    }

                    html += '</div><div class="pull-right"><button type="button" class="btn btn-default btn-sm" disabled="disabled">' + unavailable + '</button></div>';
                }

                $(oid + " .domainaction").html(html);
            });
        },
        error: function (XHR, textStatus) {
            var message = textStatus;
            var data = jQuery.parseJSON(XHR.responseText);

            if (data.message != null) {
                message = data.message;
            }

            $(".suggestion-unknown .domainstatus span").append('<br><span class="text-red">' + message + '</span>');
            $(".suggestion-unknown .domainaction").html('<button type="button" class="pull-right btn btn-default" disabled="disabled">' + unavailable + '</button>');
        }
    });
}

$(function () {
    $('.domainresult').on('click', '.addToCart', function () {
        var addToCart = $(this);
        var domain = addToCart.data('domain');
        var type = addToCart.data('type');

        var url = $('#domainresult').data('url');
        var adding = $('#domainresult').data('adding');
        var remove = $('#domainresult').data('remove');
        var unavailable = $('#domainresult').data('unavailable');

        $.ajax({
            type: "POST",
            data: 'option=add&type=' + type + '&domain=' + domain,
            dataType: 'json',
            url: url,
            success: function (result, textStatus) {
                if (result.code == -1) {
                    layer.msg(result.msg);
                    return false;
                }

                addToCart.text(adding).attr("disabled", true);
                $('#cart-btn-container').removeClass('hidden').show();
                $('#cart-btn a').html($('#cart-btn a').data('loading'));

                var data = result.data;
                $(".ShoppingCarts").text(data.count);

                $('#cart-btn a').html('<span class="fa fa-shopping-cart"></span> ' + $('#cart-btn a').data('checkout') + ' <small>' + data.count + $('#cart-btn a').data('carts') + '</small>');
                addToCart.removeClass('btn-info addToCart').addClass('btn-danger removeFromCart');
                addToCart.html(remove).removeAttr("disabled");
            },
            error: function (XHR, textStatus) {
                var message = textStatus;
                var data = jQuery.parseJSON(XHR.responseText);

                if (data.message != null) {
                    message = data.message;
                }

                addToCart.text(unavailable).removeClass('btn-info').addClass('btn-default');
                addToCart.parents('.results').find(".domainstatus span").append('<br><span class="text-red">' + message + '</span>');
            }
        });
    });

    $('.domainresult').on('click', '.removeFromCart', function () {
        var removeFromCart = $(this);
        var domain = removeFromCart.data('domain');

        var url = $('#domainresult').data('url');
        var addcart = $('#domainresult').data('add');

        $('#cart-btn-container').removeClass('hidden').show();
        $('#cart-btn a').html($('#cart-btn a').data('loading'));

        $.ajax({
            type: "POST",
            data: 'option=remove&domain=' + domain,
            dataType: 'json',
            url: url,
            success: function (result, textStatus) {
                var data = result.data;
                $(".ShoppingCarts").text(data.count);

                if (data.count == 0) {
                    $('#cart-btn-container').hide();
                }
                else {
                    $('#cart-btn a').html('<span class="fa fa-shopping-cart"></span> ' + $('#cart-btn a').data('checkout') + ' <small>' + data.count + $('#cart-btn a').data('carts') + '</small>');
                }

                removeFromCart.removeClass('btn-danger removeFromCart').addClass('btn-info addToCart');
                removeFromCart.html(addcart);
            }
        });
    });
});