$('document').ready(function () {


    $(".js-facebook-login").click(function (e) {
       $("#fblogin").trigger("click");
    });

    $(".js-newsletter-checkbox").click(function (e) {
        $(this).parent().removeClass("has-error");
        $("#" + $(this).attr("name") + "_error");

    });

    $(".js-del-address").click(function (e) {
        $("#del_address_id").val($(this).data('id'));
        showPopup('myaddressdelete');
    });

    $("#del-address-btn").click(function (e) {
        var data = {
            'id': $("#del_address_id").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/del_address',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            }
        });
    });

    $(":input").inputmask();


    $(".js-tax").each(function (id, item) {
        var selector = item;
        var im = new Inputmask("99999999-9-99");
        im.mask(selector);
    });



    $("#delete-profile").click(function (e) {

        $.ajax({
            'method': 'post',
            'url': '/ajax/del_profile',

            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                document.location.href = resp.redirect;
            }
        });
    });


    $("#forgetpassEmailButton").click(function (e) {


        var data = {
            'email': $("#forgetpassEmail").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/getForgetPass',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                $("#forgetpassCont").html('A jelszó módosításhoz szükséges linket elküldtük a megadott címre.');

            }
            else{
                if (resp.error) {
                    showError("forgetpassEmail_error", resp.error);
                } else {
                    hideError("forgetpassEmail_error");
                }
            }
    });

    });

    $(".js-ertesites-kerese").click(function (e) {


        if (!$("#notification_datahandler").is(":checked")) {
            showError("notification_datahandler_error", "Nem fogadta el az Adatkezelési tájékoztatót!");
            return false;
        } else {
            $("#notification_datahandler_error").hide();
            $("#notification_datahandler_error").parent().removeClass("has-error");
            // hideError("notification_datahandler_error");
        }

        var data = {
            'email': $("#notification_email").val(),
            'name': $("#notification_name").val(),
            'variant_id': $("#elfogyott_variant_id").val(),

        };

        $.ajax({
            'method': 'post',
            'url': '/ajax/set_notification',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {


            if (resp.ok) {
                $("#notification_form").hide();
                $("#notification_p").html("Sikeres feliratkozás!");

            } else {

                if (resp.errors.name) {
                    showError("notification_name_error", resp.errors.name);
                } else {
                    hideError("notification_name_error");
                }

                if (resp.errors.email) {
                    showError("notification_email_error", resp.errors.email);
                } else {
                    hideError("notification_email_error");
                }


            }
        });
    });

    $("#newsletter_send").click(function (e) {
        $(".js-newsletter-error").parent().removeClass("has-error");

        var adatkezeles = 0;
        var hirlevel_hozzajarulas = 0;
        if ($("#adatkezeles").is(":checked")) {
            adatkezeles = 1;
        }


        if ($("#hirlevel_hozzajarulas").is(":checked")) {
            hirlevel_hozzajarulas = 1;
        }

        var data = {
            'email': $("#newsletter_email").val(),
            'name': $("#newsletter_name").val(),
            'adatkezeles': adatkezeles,
            'hirlevel_hozzajarulas': hirlevel_hozzajarulas
        };

        $.ajax({
            'method': 'post',
            'url': '/ajax/newsletter_reg',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {


            if (resp.ok) {
                $(".js-newsletter-hide").hide();
                $("#newsletter_box_title").html("Sikeres feliratkozás!");

            } else if (resp.errors) {

                if (resp.errors.name) {
                    showError("newsletter_name_error", resp.errors.name);
                    $("#newsletter_name_error").show();
                } else {
                    hideError("newsletter_name_error");
                }

                if (resp.errors.email) {
                    showError("newsletter_email_error", resp.errors.email);
                    $("#newsletter_email_error").show();
                } else {
                    hideError("newsletter_email_error");
                }

                if (resp.errors.adatkezeles) {
                    showError("adatkezeles_error", resp.errors.adatkezeles);
                    $("#adatkezeles_error").show();
                } else {
                    hideError("adatkezeles_error");
                }

                if (resp.errors.hirlevel_hozzajarulas) {
                    showError("hirlevel_hozzajarulas_error", resp.errors.hirlevel_hozzajarulas);
                    $("#hirlevel_hozzajarulas_error").show();
                } else {
                    hideError("hirlevel_hozzajarulas_error");
                }

            }
        });

    });


    $(".js-login-input").keypress(function (e) {
        if (e.keyCode==13){
            login();
        }
    });

    $(".js-login-button").click(function (e) {
        login();
    });


    $(".js-basket-login-button").click(function (e) {

        var data = {
            'email': $("#basket_login_email").val(),
            'pass': $("#basket_login_pass").val(),
            'login_crsf': $("#login_crsf").val(),
        };

        $.ajax({
            'method': 'post',
            'url': '/ajax/login',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.regi_user) {
                hidePanels();
                showPopup('general');
            }
            else if (resp.login_ok) {
                document.location.href = "kosar/adatok";
            } else {
                if (resp.errors.email) {
                    $("#basket_login_email_error").html(resp.errors.email);
                    $("#basket_login_email_error").show();
                    $("#basket_login_email_error").parent().addClass("has-error");
                }
                if (resp.errors.pass) {
                    $("#basket_login_pass_error").html(resp.errors.pass);
                    $("#basket_login_pass_error").show();
                    $("#basket_login_pass_error").parent().addClass("has-error");
                }

                $("#login_crsf").val(resp.crsf);
            }

        });

    });


    $(".js-wired-phone-update").click(function (e) {

        var data = {
            'phone': $("#wired_phone").val(),
            'phone_precaller': $("#wired_phone_precaller").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/update_wired_phone',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            } else {
                if (resp.errors.phone != undefined) {
                    $("#wired_phone_error").html(resp.errors.phone);
                    $("#wired_phone_error").show();
                    $("#wired_phone_error").parent().addClass("has-error");
                } else {
                    $("#wired_phone_error").hide();
                    $("#wired_phone_error").parent().removeClass("has-error");
                }

                if (resp.errors.phone_precaller != undefined) {
                    $("#wired_phone_precaller_error").html(resp.errors.phone_precaller);
                    $("#wired_phone_precaller_error").show();
                    $("#wired_phone_precaller_error").parent().addClass("has-error");
                } else {
                    $("#wired_phone_precaller_error").hide();
                    $("#wired_phone_precaller_error").parent().removeClass("has-error");
                }

            }

        });
    });

    $(".js-mobile-phone-update").click(function (e) {
        var data = {
            'mobile_phone_precaller': $("#mobile_phone_precaller").val(),
            'mobile_phone': $("#mobile_phone").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/update_mobile_phone',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            } else {


                if (resp.errors.mobile_phone != undefined) {
                    $("#mobile_phone_error").html(resp.errors.mobile_phone);
                    $("#mobile_phone_error").show();
                    $("#mobile_phone_error").parent().addClass("has-error");
                } else {
                    $("#mobile_phone_error").hide();
                    $("#mobile_phone_error").parent().removeClass("has-error");
                }

                if (resp.errors.mobile_phone_precaller != undefined) {
                    $("#mobile_phone_precaller_error").html(resp.errors.mobile_phone_precaller);
                    $("#mobile_phone_precaller_error").show();
                    $("#mobile_phone_precaller_error").parent().addClass("has-error");
                } else {
                    $("#mobile_phone_precaller_error").hide();
                    $("#mobile_phone_precaller_error").parent().removeClass("has-error");
                }


            }

        });
    });


    $(".js-email-update").click(function (e) {

        var data = {
            'old_email': $("#old_email").val(),
            'new_email': $("#new_email").val(),
            'new_email_2': $("#new_email_2").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/update_email',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            } else {


                if (resp.errors.old_email) {
                    $("#old_email_error").html(resp.errors.old_email);
                    $("#old_email_error").show();
                    $("#old_email_error").parent().addClass("has-error");
                } else {
                    $("#old_email_error").hide();
                    $("#old_email_error").parent().removeClass("has-error");
                }

                if (resp.errors.new_email) {
                    $("#new_email_error").html(resp.errors.new_email);
                    $("#new_email_error").show();
                    $("#new_email_error").parent().addClass("has-error");
                } else {
                    $("#new_email_error").hide();
                    $("#new_email_error").parent().removeClass("has-error");
                }

                if (resp.errors.new_email_2) {
                    $("#new_email_2_error").html(resp.errors.new_email_2);
                    $("#new_email_2_error").show();
                    $("#new_email_2_error").parent().addClass("has-error");
                } else {
                    $("#new_email_2_error").hide();
                    $("#new_email_2_error").parent().removeClass("has-error");
                }


            }

        });
    });


    $(".js-pass-update").click(function (e) {

        var data = {
            'old_pass': $("#old_pass").val(),
            'new_pass': $("#new_pass").val(),
            'new_pass_2': $("#new_pass_2").val(),
        };
        $.ajax({
            'method': 'post',
            'url': '/ajax/update_pass',
            'data': data,
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            } else {


                if (resp.errors.old_pass) {
                    $("#old_pass_error").html(resp.errors.old_pass);
                    $("#old_pass_error").show();
                    $("#old_pass_error").parent().addClass("has-error");
                } else {
                    $("#old_pass_error").hide();
                    $("#old_pass_error").parent().removeClass("has-error");
                }

                if (resp.errors.new_pass) {
                    $("#new_pass_error").html(resp.errors.new_pass);
                    $("#new_pass_error").show();
                    $("#new_pass_error").parent().addClass("has-error");
                } else {
                    $("#new_pass_error").hide();
                    $("#new_pass_error").parent().removeClass("has-error");
                }

                if (resp.errors.new_pass_2) {
                    $("#new_pass_2_error").html(resp.errors.new_pass_2);
                    $("#new_pass_2_error").show();
                    $("#new_pass_2_error").parent().addClass("has-error");
                } else {
                    $("#new_pass_2_error").hide();
                    $("#new_pass_2_error").parent().removeClass("has-error");
                }


            }

        });
    });


    $(".js-update-address-button").click(function (e) {

        var id = $(this).data("id");

        $.ajax({
            'method': 'post',
            'url': '/ajax/update_address',
            data: {
                'data': $("#address_form_" + id).serialize()
            },
            'dataType': 'json'
        }).done(function (resp) {
            if (resp.ok) {
                location.reload();
            } else {

                if (resp.errors.name) {
                    $("#nev_" + resp.id + "_error").html(resp.errors.name);
                    $("#nev_" + resp.id + "_error").show();
                    $("#nev_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#nev_" + resp.id).parent().removeClass("has-error");
                    $("#nev_" + resp.id + "_error").hide();
                }

                if (resp.errors.zip) {
                    $("#zip_" + resp.id + "_error").html(resp.errors.zip);
                    $("#zip_" + resp.id + "_error").show();
                    $("#zip_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#zip_" + resp.id).parent().removeClass("has-error");
                    $("#zip_" + resp.id + "_error").hide();
                }

                if (resp.errors.city) {
                    $("#city_" + resp.id + "_error").html(resp.errors.city);
                    $("#city_" + resp.id + "_error").show();
                    $("#city_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#city_" + resp.id).parent().removeClass("has-error");
                    $("#city_" + resp.id + "_error").hide();
                }

                if (resp.errors.street) {
                    $("#street_" + resp.id + "_error").html(resp.errors.street);
                    $("#street_" + resp.id + "_error").show();
                    $("#street_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#street_" + resp.id).parent().removeClass("has-error");
                    $("#street_" + resp.id + "_error").hide();
                }

                if (resp.errors.street_name) {

                    $("#street_name_" + resp.id + "_error").html(resp.errors.street_name);
                    $("#street_name_" + resp.id + "_error").show();
                    $("#street_name_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#street_name_" + resp.id).parent().removeClass("has-error");
                    $("#street_name_" + resp.id + "_error").hide();
                }

                if (resp.errors.street_type) {

                    $("#street_type_" + resp.id + "_error").html(resp.errors.street_type);
                    $("#street_type_" + resp.id + "_error").show();
                    $("#street_type_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#street_type_" + resp.id).parent().removeClass("has-error");
                    $("#street_type_" + resp.id + "_error").hide();
                }

                if (resp.errors.house_number) {

                    $("#house_number_" + resp.id + "_error").html(resp.errors.house_number);
                    $("#house_number_" + resp.id + "_error").show();
                    $("#house_number_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#house_number_" + resp.id).parent().removeClass("has-error");
                    $("#house_number_" + resp.id + "_error").hide();
                }


                if (resp.errors.taxnumber) {
                    $("#tax_" + resp.id + "_error").html(resp.errors.taxnumber);
                    $("#tax_" + resp.id + "_error").show();
                    $("#tax_" + resp.id).parent().addClass("has-error");
                } else {
                    $("#tax_" + resp.id).parent().removeClass("has-error");
                    $("#tax_" + resp.id + "_error").hide();
                }
            }
        });

    });


    if ($(".js-zip").length > 0) {
        $("body").on("change paste keyup", ".js-zip", function (e) {
            e.preventDefault();
            let id = $(this).attr("id");
            let zip = $(this).val();
            let streetField = $(this).data("city-field");
            let cityField = $(this).data("street-field");
            let street = $(this).find(':selected').data('street');
            let streetType = $(this).find(':selected').data('street_type');
            $.ajax({
                'method': 'post',
                'url': '/ajax/getCity',
                'data': 'zip=' + zip,
                'dataType': 'json'
            }).done(function (resp) {
                if (resp.city) {

                    $("#" + streetField).val(resp.city);
                    $("#" + streetField + "_error").hide();
                    $("#" + streetField + "_error").parent().removeClass("has-error");
                    $("#" + id + "_error").hide();
                    $("#" + id + "_error").parent().removeClass("has-error");

                    if (resp.streets) {
                        $('#addrStreet').empty();
                        $("#" + cityField).empty();
                        $("#" + cityField).append('<option value="" data-type="" data-street="" SELECTED></option>');
                        jQuery.each(resp.streets, function (id, item) {
                            if (street == item.street) {
                                $("#" + cityField).append('<option value="' + item.street + '" data-type="' + item.streetType + '" data-street="' + item.street + '" SELECTED>' + item.street + '</option>');
                            } else {
                                $("#" + cityField).append('<option value="' + item.street + '" data-type="' + item.streetType + '" data-street="' + item.street + '">' + item.street + '</option>');
                            }
                        });
                    }


                }

            });
        });


        $("body").on("change paste keyup", ".js-street", function (e) {

            $("#" + $(this).data("street_type")).val(($(this).find(':selected').data('type')));

            let id = $(this).attr("id");

            $("#" + $(this).data("street_type") + "_error").hide();
            $("#" + $(this).data("street_type") + "_error").parent().removeClass("has-error");
            $("#" + id + "_error").hide();
            $("#" + id + "_error").parent().removeClass("has-error");

        });

    }


});


$('document').ready(function () {

    if ($('.form-autocomplete').length) {
        formAutocomplete();
    }
});


function login(){

    var data = {
        'email': $("#login_email").val(),
        'pass': $("#login_pass").val(),
        'login_crsf': $("#login_crsf").val(),
    };

    $.ajax({
        'method': 'post',
        'url': '/ajax/login',
        'data': data,
        'dataType': 'json'
    }).done(function (resp) {


        $("#login_crsf").val(resp.crsf);

        if (resp.regi_user) {
            hidePanels();
            showPopup('general');
        } else if (resp.login_ok) {
            document.location.href = resp.redirect;
        } else {

            if (resp.errors) {
                if (resp.errors.email) {
                    $("#login_email_error").html(resp.errors.email);
                    $("#login_email_error").show();
                    $("#login_email_error").parent().addClass("has-error");
                }
                if (resp.errors.pass) {
                    $("#login_pass_error").html(resp.errors.pass);
                    $("#login_pass_error").show();
                    $("#login_pass_error").parent().addClass("has-error");
                }
            }


        }

    });

}

function formAutocomplete() {
    $('.form-autocomplete').select2({
        minimumInputLength: 2,
        minimumResultsForSearch: 2,
        width: '100%'
    }).on('select2:open', function (e) {
        $(".select2-search__field")[0].focus();
    }).on('select2:select', function (e) {
        if ($(this).attr('id') == 'street') {
            $('#streetType').val($(this).find(':selected').data('type'));
        }

        if ($(this).attr('id') == 'addrStreet') {
            $('#addrStreetType').val($(this).find(':selected').data('type'));
        }
    });
}


function showError(id, text) {
    /*$("#" + id).show();*/
    $("#" + id).html(text);
    $("#" + id).parents('.form-group').addClass("has-error");
}

function hideError(id) {
    $("#" + id).parent().removeClass("has-error");
    /*$("#" + id).hide();*/
}
