﻿// механики для работы с полями Регистрирующий орган и Код ИФНС

var inPopup = false;
$(document).ready(function() {
    // для хайда при потере фокуса с поля РО
    $("#roPopup").mouseenter(function() { inPopup = true; })
                 .mouseleave(function() { inPopup = false; });
    //подсказка кода ИФНС
    $("#TaxInspectionCode").qtip({
        content: 'smile',
        show: {
            delay: 10,
            when: { event: 'focus' }
        },
        hide: { when: { event: 'unfocus'} },
        position: {
            corner: {
                target: 'leftMiddle',
                tooltip: 'leftMiddle'
            },
            adjust: { x: 150, y: 0 }
        },
        style: {
            name: 'cream', // Inherit from preset style
            tip: 'leftMiddle',
            width: 300
        },
        api: {
            beforeShow: function() {
                this.updateContent('Загрузка...');
                var tt = this;
                var box = $(this.elements.target);
                var text = $("#Registrar").val();

                $.ajax({
                    type: "POST",
                    url: "/FillDocuments/FindSproCode",
                    dataType: "json",
                    data: { name: text },
                    success: function(data) {
                        if (data.status == "success") {
                            var str = "";
                            $.each(data.data, function(i, item) {
                                var handler = 'alert($(this).parents("td").length)';
                                str += "<div><a href='javascript:'>" + item + "</a></div>";
                            });
                            if (str == "") str = "<i>Ничего не найдено</i>";
                            tt.updateContent(
                                                                '<div class="tooltipInner">' +
                                                                str +
                                                                '</div>');
                            $(tt.elements.tooltip).find("a").click(function() {
                                var a = $(this);
                                var idx = a.html();
                                var tooltip = tt;
                                $(tooltip.elements.target).val(idx);
                                tooltip.hide();
                            });
                        }
                    }
                });
            }
        }
    });

    $("#Registrar").qtip({
        content: 'smile',
        show: {
            delay: 10,
            when: { event: 'focus' },
            effect: { type: 'none' }
        },
        hide: {
            when: { event: 'unfocus' },
            effect: { type: 'none' }
        },
        position: {
            corner: {
                target: 'leftMiddle',
                tooltip: 'leftMiddle'
            },
            adjust: { x: 281, y: 0 }
        },
        style: {
            name: 'cream', // Inherit from preset style
            tip: 'leftMiddle',
            width: 300
        },
        api: {
            beforeShow: function() {
                this.updateContent('Загрузка...');
                var tt = this;
                var box = $(this.elements.target);
                var text = $("#Registrar").val();
                var data = box.parents("form").slice(0, 1).serialize();

                $.ajax({
                    type: "POST",
                    url: "/FillDocuments/FindSproInfo",
                    dataType: "json",
                    data: data,
                    success: function(data) {
                        if (data.status == "success") {
                            var str = "";
                            $.each(data.data, function(i, item) {
                                var handler = 'alert($(this).parents("td").length)';
                                str += "<div><a href='javascript:' code='" + item.code + "'>" + item.name + "</a></div>";
                            });
                            if (str == "") str = "<i>Ничего не найдено</i>";
                            tt.updateContent(
                                                                '<div class="tooltipInner">' +
                                                                str +
                                                                '</div>');
                            $(tt.elements.tooltip).find("a").click(function() {
                                var a = $(this);
                                var idx = a.html();
                                var code = a.attr("code");
                                var tooltip = tt;
                                $(tooltip.elements.target).val(idx);
                                $("#TaxInspectionCode").val(code);
                                tooltip.hide();
                            });
                        }
                    }
                });
            }
        }
    });

});
//обработка введенного значения в поле РО и отображение popup
function roProcessKey() {
    var tb = $("#Registrar");
    var text = tb.val();
    var ddl = $("#roPopup");
    findId = Math.random();
    if ($.browser.msie) {
        if ($.browser.msie && $.browser.version == 6) {
            ddl.width(tb.width() + 4);
        }
        else {
            ddl.width(tb.width() + 2);
        };
    }
    else {
        if ($.browser.opera) {
            ddl.width(tb.width() + 2);
        }
        else {
            ddl.width(tb.width());
        };
    };
    var tempFindId = findId;
    ddl.empty();
    ddl.append("<i>Поиск...</i>");
    ddl.show();

    $.ajax({
        type: "POST",
        url: "/FillDocuments/FindSproName",
        dataType: "json",
        data: { text: text },
        success: function(data) {
            if (tempFindId == findId) {
                if (data.status == "success") {
                    if (data.data != null) {
                        ddl.empty();
                        $.each(data.data, function(i, item) {
                            ddl.append("<div class='adrSearchRes' onclick='roOnSearchResClick(this)'><label>" + item + "</label></div>");
                        });
                        if (ddl.children().length < 1) {
                            ddl.append("<label><i><b>Ничего не найдено</b></i></label>");
                        }
                    }
                }
            }
        },
        error: function(request) {
            alert("Во время передачи данных произошла ошибка: " + request.status + " " + request.statusText);
            window.location = this.url;
        }
    });
}

//клик на пункте в popup
function roOnSearchResClick(item) {
    $("#Registrar").val($(item).text());
    $("#roPopup").hide();
}
