/* Minification failed. Returning unminified contents.
(326,86-87): run-time error JS1195: Expected expression: >
(326,131-132): run-time error JS1195: Expected expression: )
(326,133-134): run-time error JS1004: Expected ';': {
(328,11-15): run-time error JS1034: Unmatched 'else'; no 'if' defined: else
(332,9-10): run-time error JS1002: Syntax error: }
(367,49-50): run-time error JS1195: Expected expression: .
(383,51-52): run-time error JS1195: Expected expression: >
(384,56-57): run-time error JS1195: Expected expression: >
(384,91-92): run-time error JS1004: Expected ';': )
(386,45-46): run-time error JS1004: Expected ';': {
(387,90-91): run-time error JS1195: Expected expression: .
(422,5-6): run-time error JS1002: Syntax error: }
(423,21-22): run-time error JS1195: Expected expression: )
(423,23-24): run-time error JS1004: Expected ';': {
(668,1-2): run-time error JS1002: Syntax error: }
(670,42-43): run-time error JS1004: Expected ';': {
(728,83-84): run-time error JS1100: Expected ',': =
(721,9-20): run-time error JS1018: 'return' statement outside of function: return data
(724,9-21): run-time error JS1018: 'return' statement outside of function: return false
(717,9-21): run-time error JS1018: 'return' statement outside of function: return false
(712,9-21): run-time error JS1018: 'return' statement outside of function: return false
(700,13-25): run-time error JS1018: 'return' statement outside of function: return false
(684,13-25): run-time error JS1018: 'return' statement outside of function: return false
(666,9-19): run-time error JS1018: 'return' statement outside of function: return npe
(660,17-29): run-time error JS1018: 'return' statement outside of function: return false
(652,17-29): run-time error JS1018: 'return' statement outside of function: return false
(645,17-29): run-time error JS1018: 'return' statement outside of function: return false
(634,13-25): run-time error JS1018: 'return' statement outside of function: return false
(570,117-129): run-time error JS1018: 'return' statement outside of function: return false
(567,107-119): run-time error JS1018: 'return' statement outside of function: return false
(564,122-134): run-time error JS1018: 'return' statement outside of function: return false
(562,120-132): run-time error JS1018: 'return' statement outside of function: return false
(560,139-151): run-time error JS1018: 'return' statement outside of function: return false
(558,82-94): run-time error JS1018: 'return' statement outside of function: return false
(556,135-147): run-time error JS1018: 'return' statement outside of function: return false
(549,134-146): run-time error JS1018: 'return' statement outside of function: return false
(609,25-37): run-time error JS1018: 'return' statement outside of function: return false
(593,25-37): run-time error JS1018: 'return' statement outside of function: return false
(578,21-33): run-time error JS1018: 'return' statement outside of function: return false
(504,132-144): run-time error JS1018: 'return' statement outside of function: return false
(498,127-139): run-time error JS1018: 'return' statement outside of function: return false
(492,246-258): run-time error JS1018: 'return' statement outside of function: return false
(486,130-142): run-time error JS1018: 'return' statement outside of function: return false
(482,110-122): run-time error JS1018: 'return' statement outside of function: return false
(474,119-131): run-time error JS1018: 'return' statement outside of function: return false
(464,131-143): run-time error JS1018: 'return' statement outside of function: return false
(458,21-33): run-time error JS1018: 'return' statement outside of function: return false
(453,107-119): run-time error JS1018: 'return' statement outside of function: return false
(450,103-115): run-time error JS1018: 'return' statement outside of function: return false
(519,25-37): run-time error JS1018: 'return' statement outside of function: return false
 */
var id_w_feature = 0;

var index_region = { 1: "Київська область", 2: "Київська область", 3: "Київська область", 4: "Київська область", 5: "Київська область", 6: "Київська область", 7: "Київська область", 8: "Київська область", 9: "Київська область", 10: "Житомирська область", 11: "Житомирська область", 12: "Житомирська область", 13: "Житомирська область", 14: "Чернігівська область", 15: "Чернігівська область", 16: "Чернігівська область", 17: "Чернігівська область", 18: "Черкаська область", 19: "Черкаська область", 20: "Черкаська область", 21: "Вінницька область", 22: "Вінницька область", 23: "Вінницька область", 24: "Вінницька область", 25: "Кіровоградська область", 26: "Кіровоградська область", 27: "Кіровоградська область", 28: "Кіровоградська область", 29: "Хмельницька область", 30: "Хмельницька область", 31: "Хмельницька область", 32: "Хмельницька область", 33: "Рівненська область", 34: "Рівненська область", 35: "Рівненська область", 36: "Полтавська область", 37: "Полтавська область", 38: "Полтавська область", 39: "Полтавська область", 40: "Сумська область", 41: "Сумська область", 42: "Сумська область", 43: "Волинська область", 44: "Волинська область", 45: "Волинська область", 46: "Тернопільська область", 47: "Тернопільська область", 48: "Тернопільська область", 49: "Дніпропетровська область", 50: "Дніпропетровська область", 51: "Дніпропетровська область", 52: "Дніпропетровська область", 53: "Дніпропетровська область", 54: "Миколаївська область", 55: "Миколаївська область", 56: "Миколаївська область", 57: "Миколаївська область", 58: "Чернівецька область", 59: "Чернівецька область", 60: "Чернівецька область", 61: "Харківська область", 62: "Харківська область", 63: "Харківська область", 64: "Харківська область", 65: "Одеська область", 66: "Одеська область", 67: "Одеська область", 68: "Одеська область", 69: "Запорізька область", 70: "Запорізька область", 71: "Запорізька область", 72: "Запорізька область", 73: "Херсонська область", 74: "Херсонська область", 75: "Херсонська область", 76: "Івано-Франківська область", 77: "Івано-Франківська область", 78: "Івано-Франківська область", 79: "Львівська область", 80: "Львівська область", 81: "Львівська область", 82: "Львівська область", 83: "Донецька область", 84: "Донецька область", 85: "Донецька область", 86: "Донецька область", 87: "Донецька область", 88: "Закарпатська область", 89: "Закарпатська область", 90: "Закарпатська область", 91: "Луганська область", 92: "Луганська область", 93: "Луганська область", 94: "Луганська область", 95: "Автономна Республіка Крим", 96: "Автономна Республіка Крим", 97: "Автономна Республіка Крим", 98: "Автономна Республіка Крим", 99: "місто Севастополь" };

var priority = false;

function viewResult(data) {
    if (data.message == undefined) {
        $("#ew_Org" + data.pref + "_PE_address_countryName").val('Україна');
        let count = $("#ew_Org" + data.pref + "_PE_identifier_id").val().trim().length;

        if (data.name != undefined) {
            if (data.name.fullName != undefined) {
                $("#ew_Org" + data.pref + "_PE_identifier_legalName").val(count <= 8 ? data.name.fullName : 'Фізична особа-підприємець ' + data.name.fullName);

            } else {
                $("#ew_Org" + data.pref + "_PE_identifier_legalName").val(count <= 8 ? data.name : 'Фізична особа-підприємець ' + data.name);
            }
            if (data.name.shortName != undefined) {
                $("#ew_Org" + data.pref + "_PE_name").val(count <= 8 ? data.name.shortName : 'ФОП ' + data.name.shortName);
            }
        }
        if (data.address != undefined) {
            let address = data.address.split(', ');
            let index_key = Number(address[1].substr(0, 2));
            let raion = '', locality = '', streetAddress = '';
            let iterator;
            for (let i = 0; i < address.length; i++) {

                if (address[i] != undefined && address[i].length <= 5) {
                    $("#ew_Org" + data.pref + "_PE_address_postalCode").val(address[i]);
                    iterator = i + 2;
                }
                $("#ew_Org" + data.pref + "_PE_address_region").val(index_region[index_key]);
                if (iterator != undefined)
                    break;
            }

            if (address[iterator].includes("р-н") || address[iterator].includes("Р-Н")) {
                raion = address[iterator];
                locality = address[iterator + 1];
                iterator = iterator + 1;
            }

            else if (!(address[2].includes("область") || address[2].includes("обл."))) {
                locality = address[2];
                iterator = 2;
            }
            else
                locality = address[iterator];

            for (let j = iterator + 1; j < address.length; j++) {
                streetAddress += address[j] + ', ';
            }

            $("#ew_Org" + data.pref + "_PE_address_locality").val(raion != '' ? raion + ', ' + locality : locality);
            $("#ew_Org" + data.pref + "_PE_address_streetAddress").val(streetAddress.substring(0, (streetAddress.lastIndexOf(','))));
        }
    }
    else
        updateTips(data.message, "Y");
}

$.widget("SySe.Tender_Organization", {
    options: {
        anItem: "",
        id: "",
        OrganisationEditable: false,
        ReadOnly: true,
        OrganisationTitle: "",
        name_prefix: "",
        required: undefined
    },
    _create: function () {
        this.options.id = id_w_feature++;
        this._render();
    },
    _render: function () {

        var aWD = document.createElement("div");
        aWD.setAttribute("class", "row");
        var el = this.options;
        var PrefixId = "_" + el.id;
        var anItem = el.anItem;
        var name_prefix = el.name_prefix;

        controls =
            (priority && name_prefix == "currentTenant" ? "" :
                "<div class='col-md-6'> "
                + "<div class='row' id='pnContactPoint" + PrefixId + "' '>"
                + "<div class='col-12' id='pnContactPointContent" + PrefixId + "'  >"
                + "<div class='row mb-1'><div class='col-12'><div class='legend lang text-primary pb-1' data-key='974'>Контактна особа</div></div></div>"
                + "<div class='row mb-1'>"
                + "<label class='col-12'><span class='font-weight-bold lang' data-key='975'>Контактна особа</span> <span class='text-primary ml-1 required-label'>*</label>"
                + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_CP_name' name='" + name_prefix + ".contactPoint.name' /></div>"
                + "</div>"
                + "<div class='row mb-1'>"
                + "<label class='col-12 font-weight-bold'>E-mail <span class='text-primary ml-1 required-label font-weight-normal'>*</span></label>"
                + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_CP_email' name='" + name_prefix + ".contactPoint.email' /></div>"
                + "</div>"
                + "<div class='row mb-1'>"
                + "<label class='col-12'><span class='lang font-weight-bold' data-key='976'>Телефон</span> <span class='text-primary ml-1 required-label'>*</span></label>"
                + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_CP_telephone' name='" + name_prefix + ".contactPoint.telephone' /></div>"
                + "<small class='col-12 text-info tOnEdit'>+380123456789</small>"
                + "</div>"
                + "<div class='row mb-1'>"
                + "<label class='col-12 font-weight-bold lang' data-key='977'>Факс</label>"
                + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_CP_faxNumber' name='" + name_prefix + ".contactPoint.faxNumber' /></div>"
                + "</div>"
                + "<div class='row'>"
                + "<label class='lang font-weight-bold col-12' data-key='978'>Сайт</label>"
                + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_CP_url' name='" + name_prefix + ".contactPoint.url' /></div>"
                + "</div>"
                + "</div>"
                + "</div>"
                + "<div data-atid='VerificationDocumentPlace' class='row px-2'>"
                + "</div>"
                + "</div>")
            + "<div class='col-md-6'>"
            + "<div class='row' id='pnOrganization" + PrefixId + "' ><div class='col-12'>"
            + "<div class='row mb-1'><div class='col-12'><div class='legend lang text-primary pb-1'>" + el.OrganisationTitle + "</div></div></div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='979'>Ідентифікатор</span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_identifier_id' name='" + name_prefix + ".identifier.id' /></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='2005'>Тип ідентифікації</span> <span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><select class='form-control' id='slw_Org" + PrefixId + "_PE_identifier_scheme' data-atid='identifier.scheme'></select></div>"
            + "</div>"
            + "<div class='row mb-1 is_debug' style='display: none;'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='980'>Коротка назва </span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_name' name='" + name_prefix + ".name'/></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='981'>Повна назва </span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text' id='ew_Org" + PrefixId + "_PE_identifier_legalName' name='" + name_prefix + ".identifier.legalName'/></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='982'>Поштовий індекс</span></td><td align='left'></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_address_postalCode' name='" + name_prefix + ".address.postalCode'/></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='983'>Країна </span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_address_countryName' name='" + name_prefix + ".address.countryName'/></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='984'>Область або регіон</span> <span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'>"
            + ((tenderType == 'rent_registry' && name_prefix != 'sellingEntity') ? "<select id='slw_Org" + PrefixId + "_PE_address_region' name='" + name_prefix + ".address.region'  class='form-control'></select></div>" : "<input class='form-control' type='text' id='ew_Org" + PrefixId + "_PE_address_region' name = '" + name_prefix + ".address.region' /></div > ")
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='985'>Населений пункт </span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_address_locality' name='" + name_prefix + ".address.locality'/></div>"
            + "</div>"
            + "<div class='row mb-1'>"
            + "<label class='col-12'><span class='lang font-weight-bold' data-key='986'>Адреса </span><span class='text-primary ml-1 required-label'>*</span></label>"
            + "<div class='col-12'><input class='form-control' type='text'  id='ew_Org" + PrefixId + "_PE_address_streetAddress'  name='" + name_prefix + ".address.streetAddress'/></div>"
            + "</div>"
            + ((tenderType.includes('landArrested-priorityEnglish') || tenderType.includes('landSell-priorityEnglish') || tenderType.includes('legitimatePropertyLease-priorityEnglish')) && name_prefix == "currentTenant" ?
                "<div class='row mb-1'><label class='font-weight-bold col-12'>Пріорітет учасника</label><div class='col-12'><select class='form-control' id='priority" + PrefixId + "' ></select></div></div>" : "")
            + ((tenderType.includes('landSell-priorityEnglish') || tenderType.includes('landArrested-priorityEnglish')) && name_prefix == "currentTenant" ?
                "<div class='row mb-1'><label class='font-weight-bold col-12'>Орендна ставка(сума на рік, грн)</label><div class='col-12'><input type='text' class='form-control' id='currentTenantValue" + PrefixId + "'/></div></div>"
                + "<div class='row mb-1'><label class='font-weight-bold col-12'>Інформація щодо підтвердження повноважень</label><div class='col-12'><input type='text' class='form-control' id='representativeInfo" + PrefixId + "' /></div></div>" : "")
            + ((tenderType.includes('legitimatePropertyLease-priorityEnglis') || tenderType.includes('landSell-priorityEnglish') || tenderType.includes('landArrested-priorityEnglish')) && name_prefix == "currentTenant" ? "<div class='row mb-1'>"
                + "<div class='col-12 mb-2'> <div class='row'> <div class='col-12'> <div class='legend text-primary border-primary border-bottom lang pb-1 mb-2'>Дата укладення та закінчення договору оренди</div> </div> </div> <div class='row'> <div class='col-md-6'> <div class='row'> <div class='col-md-6'> <div class='row'> <label class='font-weight-bold col-12'>Період з (дата)</label> <div class='col-12'> <input type='text' class='form-control' id='dateFrom_date" + PrefixId + "' /> </div> </div> </div> <div class='col-md-6'> <div class='row'> <label class='font-weight-bold col-12'>Період з (час)</label> <div class='col-12'> <input type='text' class='form-control' id='dateFrom_time" + PrefixId + "' /> </div> </div> </div> </div> </div> <div class='col-md-6'> <div class='row'> <div class='col-md-6'> <div class='row'> <label class='font-weight-bold col-12'>По (дата)</label> <div class='col-12'> <input type='text' class='form-control' id='dateTill_date" + PrefixId + "' /> </div> </div> </div> <div class='col-md-6'> <div class='row'> <label class='font-weight-bold col-12'>По (час)</label> <div class='col-12'> <input type='text' class='form-control' id='dateTill_time" + PrefixId + "' /> </div> </div> </div> </div> </div> </div> </div>"
                + "</div>" : "")
            + (tenderType.includes('landArrested-priorityEnglish') && name_prefix == "currentTenant" ?
                "<div class='row mb-1'><div class='col-12 mb-2'><div class='row'><div class='col-12'><div class='legend text-primary border-primary border-bottom lang pb-1 mb-2'>Інформація про передачу переважного права</div></div></div>"
                + "<div class='row mb-1'><label class='col-12'><span class='font-weight-bold'>Право передано від </span></label><div class='col-12'><select class='form-control' id='transferredFrom" + PrefixId + "'></select></div></div>"
                + "<div class='row mb-1'><label class='col-12'><span class='font-weight-bold'>Повна юридична назва організації </span></label> <div class='col-12'> <input class='form-control' type='text' id='transferredFrom_identifier_legalName" + PrefixId + "' /></div></div>"
                + "<div class='row mb-1'><label class='col-12'><span class='font-weight-bold'>Ідентифікатори організації </span></label><div class='col-12'><select class='form-control' id='transferredFrom_identifier_scheme" + PrefixId + "'></select></div></div>"
                + "<div class='row mb-1'><label class='col-12'><span class='font-weight-bold'>Код ЄДРПОУ або ІПН або паспорт </span></label> <div class='col-12'><input class='form-control' type='text' id='transferredFrom_identifier_id" + PrefixId + "' /></div></div></div></div>"
                : "")
            + ((name_prefix == 'buyers_contract_object' || name_prefix == 'execution_contract_buyers'
                || name_prefix == 'redemption_contract_buyers' || tenderType.includes('nadra')
                || tenderType.includes('landArrested-english') || tenderType.includes('basicSell-withoutAuction') || tenderType.includes('landArrested-priorityEnglish') && name_prefix != "currentTenant") ?
                "<div class='row mb-1'><label class='font-weight-bold col-12'>Інформація щодо підтвердження повноважень</label><div class='col-12'><input type='text' class='form-control' id='representativeInfo" + PrefixId + "' /></div></div>" : "")
            + (cdb != 2 && (tenderType.includes('nonperformingLoans') || tenderType.includes('commercialPropertyLease')
                || tenderType.includes('smallPrivatization') || tenderType.includes('largePrivatization')
                || name_prefix == 'assetCustodian' || name_prefix == 'assetHolder') ?
                "<div class='row mb-1'><label class='col-12'><span class='font-weight-bold '>Інформація щодо підтвердження повноважень</span> <span class='text-primary ml-1 required-label'>*</span></label><div class='col-12'><input type='text' class='form-control' id='representativeInfo" + PrefixId + "' /></div></div>" : "")
            + (tenderType.includes('bankRuptcy') && name_prefix != "debtorInformation" && name_prefix != "withoutAuction_buyers" && name_prefix != "buyers_award" ? "<div class='row mb-1'><label class='font-weight-bold col-12'>№ свідоцтва про право на провадження діяльності арбітражного керуючого <span class='text-primary ml-1 required-label'>*</span></label><div class='col-12'><input type='text' class='form-control' id='representativeCertificateNumber" + PrefixId + "' /></div></div>"
                + "<div class='row mb-1'><div class='font-weight-bold col-12'>Дата видачі про право на провадження діяльності арбітражного керуючого <span class='text-primary ml-1 required-label'>*</span></div><div class='col-md-6'><div class='row'><label class='font-weight-bold col-12'>Дата</label><div class='col-12'><input type='text' class='form-control' id='representativeCertificateDate_date" + PrefixId + "' /></div></div></div><div class='col-md-6'><div class='row'><label class='font-weight-bold col-12'>Час</label><div class='col-12'><input type='text' class='form-control' id='representativeCertificateDate_time" + PrefixId + "' /></div></div></div></div>" : "")
            + "</div>"
            + "</div>"
            + "</div>"
            ;

        $(aWD).append(controls);

        translate(aWD);

        this.element.html("");
        this.element.html(aWD);

        $("#ew_Org" + PrefixId + "_PE_identifier_id").change(function () {

            FormTips = $("#ValidateTips");
            updateTips("", "");

            let edrpou = $("#ew_Org" + PrefixId + "_PE_identifier_id").val().replace(/[^а-я\d]+/gi, "").trim();
            $("#ew_Org" + PrefixId + "_PE_identifier_id").val(edrpou);

            var select = document.getElementById("slw_Org" + PrefixId + "_PE_identifier_scheme");
            var value = select.value;

            if (!isDebugMode && (value == "UA-EDR" || value == "UA-IPN")) {
                $.ajax({
                    method: "GET",
                    url: "DataHandler.ashx?CommandName=GetInformationCompany&code=" + edrpou + "&pref=" + PrefixId,
                    dataType: "json",
                    success: viewResult
                });
            }
        });

        if (tenderType.includes("bankRuptcy") && name_prefix == "") {
            if (anItem.representativeCertificateNumber == undefined) {
                anItem.representativeCertificateNumber = anItem.sellingEntity.representativeCertificateNumber;
            }

            if (anItem.representativeCertificateDate == undefined) {
                anItem.representativeCertificateDate = anItem.sellingEntity.representativeCertificateDate;
            }
        }

        if (anItem.contactPoint != undefined) {
            if (anItem.contactPoint.name.uk_UA != undefined)
                anItem.PE_name = anItem.contactPoint.name.uk_UA;
            else
                anItem.PE_name = anItem.contactPoint.name;

            if (anItem.contactPoint.name.en_US != undefined)
                anItem.CP_name_en = anItem.contactPoint.name.en_US;
            else if (anItem.contactPoint.name_en != undefined)
                anItem.CP_name_en = anItem.contactPoint.name_en;

            if (anItem.contactPoint.name.uk_UA != undefined)
                anItem.CP_name = anItem.contactPoint.name.uk_UA;
            else
                anItem.CP_name = anItem.contactPoint.name;

            if (anItem.contactPoint.name_en != undefined)
                anItem.CP_name_en = anItem.contactPoint.name_en;

            anItem.CP_email = anItem.contactPoint.email;
            anItem.CP_telephone = anItem.contactPoint.telephone;
            anItem.CP_faxNumber = anItem.contactPoint.faxNumber;
            anItem.CP_url = anItem.contactPoint.url;
        }

        if (anItem.identifier != undefined && anItem.address != undefined) {
            anItem.PE_identifier_id = anItem.identifier.id;
            anItem.PE_identifier_scheme = anItem.identifier.scheme;

            if (anItem.address != undefined && anItem.address.locality != undefined && anItem.address.locality.uk_UA != undefined)
                anItem.PE_address_locality = anItem.address.locality.uk_UA;
            else
                anItem.PE_address_locality = anItem.address.locality;

            if (anItem.name == undefined)
                anItem.name = anItem.identifier.legalName;

            if (anItem.name.uk_UA != undefined)
                anItem.PE_name = anItem.name.uk_UA;
            else
                anItem.PE_name = anItem.name;

            if (anItem.name.en_US != undefined)
                anItem.PE_name_en = anItem.name.en_US;
            else if (anItem.name_en != undefined)
                anItem.PE_name_en = anItem.name_en;

            anItem.PE_kind = anItem.kind;
            anItem.PE_address_postalCode = anItem.address.postalCode;

            if (anItem.identifier.legalName != undefined) {
                if (anItem.identifier.legalName.uk_UA != undefined)
                    anItem.PE_identifier_legalName = anItem.identifier.legalName.uk_UA;
                else
                    anItem.PE_identifier_legalName = anItem.PE_name;
            }
            else
                if (anItem.PE_identifier_legalName != undefined)
                    anItem.PE_identifier_legalName = PE_identifier_legalName;

            if (anItem.identifier.legalName_en != undefined)
                anItem.PE_identifier_legalName_en = anItem.identifier.legalName_en;

            if (anItem.address != undefined && anItem.address.streetAddress != undefined && anItem.address.streetAddress.uk_UA != undefined)
                anItem.PE_address_streetAddress = anItem.address.streetAddress.uk_UA;
            else
                anItem.PE_address_streetAddress = anItem.address.streetAddress;

            if (anItem.address != undefined && anItem.address.countryName != undefined && anItem.address.countryName.uk_UA != undefined)
                anItem.PE_address_countryName = anItem.address.countryName.uk_UA;
            else
                anItem.PE_address_countryName = anItem.address.countryName;

            if (anItem.address != undefined && anItem.address.region != undefined && anItem.address.region.uk_UA != undefined)
                anItem.PE_address_region = anItem.address.region.uk_UA;
            else
                anItem.PE_address_region = anItem.address.region;
        }

        if (tenderType != 'rent_registry') {
            set_AC_Region($("#ew_Org" + PrefixId + "_PE_address_region"), SelectItemsOn_Region);
        }
        else if (tenderType == 'rent_registry' && name_prefix != 'sellingEntity') {
            SetDicOption((anItem.PE_address_region != undefined && anItem.PE_address_region.includes("***") ? [{ "id": "*** *** ****", "name": "*** *** ***", "name_en": "*** *** ***" }] : d_region), $("#slw_Org" + PrefixId + "_PE_address_region"), -1, true);
        }

        if (name_prefix == 'assetCustodian') {
            d_identifiers = {
                "UA-EDR": {
                    "country": "Ukraine",
                    "legalNameEn": "EDRPOU",
                    "legalNameUa": "ЄДРПОУ (UA-EDR)",
                    "pattern": "^[0-9]{8}$"
                }
            }
        }

        const identifiers = ["UA-EDR", "UA-IPN", "UA-PASSPORT", "UA-ID-CARD", "UA-IPN-FOP", "UA-LICENSE"];

        if (anItem.PE_identifier_scheme == undefined || identifiers.some(identifier => anItem.PE_identifier_scheme === identifier)) {
            SetCBD3DicOption(d_identifiers, $('[data-atid="identifier.scheme"]', aWD), false, undefined, d_identifiers_name, undefined, undefined, "Оберіть значення");
        } else {
            Ajax_syncGet("Js/identifier/country.json?v=" + version, function (data) {
                SetCBD3DicOption(data, $('[data-atid="identifier.scheme"]', aWD), false, undefined, d_identifiers_name, undefined, undefined, "Оберіть значення");
            });
        }

        SetFormValues("w_Org" + PrefixId + "_"
            , "CP_name,CP_name_en,CP_email,CP_telephone,CP_faxNumber,CP_url,PE_name,PE_name_en"
            + ",PE_identifier_id,PE_identifier_scheme,PE_identifier_legalName,PE_identifier_legalName_en"
            + ",PE_address_locality,PE_address_postalCode,PE_address_streetAddress,PE_address_countryName,PE_address_region"
            , anItem, aWD);

        if ((name_prefix != "currentTenant" && idForm == 0 && anItem.PE_address_countryName == undefined) || (name_prefix == "buyers_contract_object" && anItem.PE_address_countryName == undefined))
            $("#ew_Org" + PrefixId + "_PE_address_countryName").val("Україна");

        SetEditFormFields(aWD);

        if (priority && name_prefix == "currentTenant") {
            $('#dateFrom_date' + PrefixId, aWD).attr('autocomplete', 'off').datepicker($.datepicker.regional["uk"]);
            $('#dateTill_date' + PrefixId, aWD).attr('autocomplete', 'off').datepicker($.datepicker.regional["uk"]);
            if (anItem.currentContractTime != undefined) {
                $("#dateFrom_date" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.currentContractTime.dateFrom).substr(0, 10));
                $("#dateFrom_time" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.currentContractTime.dateFrom).substr(11, 5));
                $("#dateTill_date" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.currentContractTime.dateTill).substr(0, 10));
                $("#dateTill_time" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.currentContractTime.dateTill).substr(11, 5));
            }
        }

        if (tenderType.includes("bankRuptcy") && (name_prefix == "procuringEntity" || name_prefix == "")) {
            if (anItem.representativeCertificateNumber != undefined) {
                $("#representativeCertificateNumber" + PrefixId, aWD).val(anItem.representativeCertificateNumber);
            }
            $('#representativeCertificateDate_date' + PrefixId, aWD).attr('autocomplete', 'off').datepicker($.datepicker.regional["uk"]);
            if (anItem.representativeCertificateDate != undefined) {
                $("#representativeCertificateDate_date" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.representativeCertificateDate).substr(0, 10));
                $("#representativeCertificateDate_time" + PrefixId, aWD).val(sISO_8601_2_DMYHM(anItem.representativeCertificateDate).substr(11, 5));
            }
        }

        let tenant = oFormRecord.currentTenants?.[0] || oFormRecord.currentTenant;

        if ((tenderType.includes("landSell-priorityEnglish") || tenderType.includes("landArrested-priorityEnglish")) && name_prefix == "currentTenant") {
            if (idForm != 0 && tenant != undefined) {
                if (tenant.representativeInfo != undefined) {
                    $("#representativeInfo" + PrefixId, aWD).val(tenant.representativeInfo)
                }
                if (tenant.currentTenantValue != undefined) {
                    $("#currentTenantValue" + PrefixId, aWD).val(tenant.currentTenantValue.amount)
                }
            }
        }

        const prefixes = ['execution_contract_buyers', 'redemption_contract_buyers', 'buyers_contract_object', 'assetHolder', 'assetCustodian'];
        const tenderTypes = ['bankRuptcy', 'commercialPropertyLease', 'smallPrivatization', 'largePrivatization', 'nonperformingLoans', 'nadra', 'landArrested', 'basicSell-withoutAuction'];

        const matchPrefix = prefixes.some(prefix => name_prefix === prefix);
        const matchTenderType = tenderTypes.some(type => new RegExp(type).test(tenderType));

        if (matchPrefix || matchTenderType) {
            const representativeInfo = anItem.representativeInfo || anItem.sellingEntity?.representativeInfo;

            if (representativeInfo) {
                $("#representativeInfo" + PrefixId, aWD).val(representativeInfo);
            }
        }

        if ((tenderType.includes('landArrested-priorityEnglish') || tenderType.includes('landSell-priorityEnglish') || tenderType.includes('legitimatePropertyLease-priorityEnglish')) && name_prefix == "currentTenant") {
            Ajax_syncGet("Js/landArrested/priorityType.json?v=" + version, function (data) {
                SetCBD3DicOption(data, $("#priority" + PrefixId, aWD), true, undefined, undefined, undefined, undefined);
                $("#priority" + PrefixId, aWD).val(anItem.priority);
            });

            if (tenderType.includes('legitimatePropertyLease-priorityEnglish')) {
                $("#priority" + PrefixId, aWD).attr("disabled", "disabled")
            }
        }

        if (tenderType.includes('landArrested-priorityEnglish') && name_prefix == "currentTenant") {
            set_priorityTransferInfo(anItem, PrefixId, aWD);
        }

        if (tenderType == "rent_registry" || (name_prefix != "currentTenant" && tenderType != "rent_registry")) {
            if (el.ReadOnly)
                SetViewForm(aWD);
            else if (!el.OrganisationEditable)
                SetViewForm($("#pnOrganization" + PrefixId, aWD));
        } else {
            if (!el.ReadOnly)
                SetViewForm(aWD);
        }

        if (el.ReadOnly == true) {
            $(".tOnEdit").hide();
        }
    },
    Save: function () {
        var el = this.options;
        var PrefixId = "_" + el.id;
        var anItem = el.anItem;

        bValid = false;

        var is_empty = (el.name_prefix == "assetHolder" || el.name_prefix == "lotHolder" || el.required != undefined && !el.required)
            && $("#ew_Org" + PrefixId + "_PE_identifier_id").val() == "" && tenderType != "registry_asset";

        var is_asset_rent = el.name_prefix == "sellingEntity";

        npe = {};
        if ((el.name_prefix != "currentTenant" && priority) || !priority) {
            npe.contactPoint = {};
        }

        npe.identifier = {};
        npe.address = {};

        if (cdb != 3) {
            npe.identifier.scheme = "UA-EDR";
        } else {
            npe.identifier.scheme = {};
        }

        if (el.OrganisationEditable && !is_empty) {
            if (!checkNonSelect($("#slw_Org" + PrefixId + "_PE_identifier_scheme"), "") && !is_empty) return false;
            npe.identifier.scheme = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_identifier_id"), "", (is_empty ? 0 : 1), 100)) return false;

            if (lastCheckValue > "") {
                let error = validate_bankAccount_identifier(npe.identifier.scheme, "ew_Org" + PrefixId + "_PE_identifier_id");
                if (error != undefined) {
                    return false;
                }
            }

            npe.identifier.id = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_identifier_legalName"), "", (is_empty ? 0 : 1), (is_empty ? 0 : 500))) return false;
            npe.identifier.legalName = lastCheckValue;

            if (cdb == 3) {
                npe.identifier.legalName = { uk_UA: lastCheckValue, en_US: "" };
            }
            else
                npe.name = lastCheckValue;

            if (isDebugMode) {
                if (!checkLength($("#ew_Org" + PrefixId + "_PE_name"), "", (is_empty ? 0 : 1), (is_empty ? 0 : 500))) return false;
                if (cdb == 3) {
                    npe.identifier.legalName = { uk_UA: lastCheckValue, en_US: "" };
                }
                else
                    npe.name = lastCheckValue;
            }

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_address_postalCode"), "", 0, (is_empty ? 0 : 5))) return false;
            if (lastCheckValue.length > 0)
                npe.address.postalCode = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_address_countryName"), "", (is_empty ? 0 : 1), (is_empty ? 0 : 500))) return false;
            if (cdb == 3)
                npe.address.countryName = { uk_UA: lastCheckValue, en_US: "" };
            else
                npe.address.countryName = lastCheckValue;

            if (!checkLength((tenderType == 'rent_registry' && el.name_prefix != 'sellingEntity') ? $("#slw_Org" + PrefixId + "_PE_address_region") : $("#ew_Org" + PrefixId + "_PE_address_region"), "", (is_empty ? 0 : 1), (is_empty ? 1 : 500))) return false;
            if (cdb == 3)
                npe.address.region = { uk_UA: lastCheckValue, en_US: "" };
            else
                npe.address.region = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_address_locality"), "", (is_empty ? 0 : 1), (is_empty ? 0 : 500))) return false;
            if (cdb == 3)
                npe.address.locality = { uk_UA: lastCheckValue, en_US: "" };
            else
                npe.address.locality = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_PE_address_streetAddress"), "", (is_empty ? 0 : 1), (is_empty ? 0 : 500))) return false;
            if (cdb == 3)
                npe.address.streetAddress = { uk_UA: lastCheckValue, en_US: "" };
            else
                npe.address.streetAddress = lastCheckValue;
        }
        else {
            npe.identifier.id = anItem.PE_identifier_id;

            if (cdb == 3) {
                npe.identifier.legalName = { uk_UA: anItem.PE_name, en_US: "" };
                if ($("#slw_Org" + PrefixId + "_PE_identifier_scheme").val() != "all" || $("#slw_Org" + PrefixId + "_PE_identifier_scheme").val() != "") {
                    npe.identifier.scheme = $("#slw_Org" + PrefixId + "_PE_identifier_scheme").val();
                    let error = validate_bankAccount_identifier(npe.identifier.scheme, "ew_Org" + PrefixId + "_PE_identifier_id");
                    if (error != undefined) {
                        return false;
                    }
                }
            }
            else {
                npe.name = anItem.PE_identifier_legalName;
                npe.identifier.legalName = anItem.PE_name;
            }

            npe.address.postalCode = anItem.PE_address_postalCode;
            npe.address.streetAddress = anItem.PE_address_streetAddress;

            if (cdb == 3) {
                npe.address.countryName = { uk_UA: anItem.PE_address_countryName, en_US: "" };
                npe.address.region = { uk_UA: anItem.PE_address_region, en_US: "" };
                npe.address.locality = { uk_UA: anItem.PE_address_locality, en_US: "" };
                npe.address.streetAddress = { uk_UA: anItem.PE_address_streetAddress, en_US: "" };
            }
            else {
                npe.address.countryName = anItem.PE_address_countryName;
                npe.address.region = anItem.PE_address_region;
                npe.address.locality = anItem.PE_address_locality;
                npe.address.streetAddress = anItem.PE_address_streetAddress;
            }
        }

        if (cdb != 3)
            npe.kind = "other";

        if ((el.name_prefix != "currentTenant" && priority) || !priority) {
            if (!checkLength($("#ew_Org" + PrefixId + "_CP_name"), arrLang[0][lang][987], (is_empty ? 0 : 1), (is_empty ? 0 : 200))) return false;
            if (cdb == 3)
                npe.contactPoint.name = { uk_UA: lastCheckValue, en_US: "" };
            else

                npe.contactPoint.name = lastCheckValue;

            if (!checkLength($("#ew_Org" + PrefixId + "_CP_email"), arrLang[0][lang][988], (is_empty ? 0 : 1), (is_empty ? 0 : 100))) return false;
            npe.contactPoint.email = lastCheckValue;
            if (!is_empty && !checkEmail($("#ew_Org" + PrefixId + "_CP_email"))) return false;

            if (!checkLength($("#ew_Org" + PrefixId + "_CP_telephone"), arrLang[0][lang][989], (is_empty ? 0 : 1), (is_empty ? 0 : 100))) return false;
            npe.contactPoint.telephone = lastCheckValue;
            if (!isDebugMode && !is_empty && !is_asset_rent && !checkPhone($("#ew_Org" + PrefixId + "_CP_telephone"))) return false;

            if (!checkLength($("#ew_Org" + PrefixId + "_CP_faxNumber"), arrLang[0][lang][990], 0, (is_empty ? 0 : 100))) return false;
            if (lastCheckValue != "") {
                npe.contactPoint.faxNumber = lastCheckValue;
                if (cdb == 3 && !is_asset_rent && !checkPhone($("#ew_Org" + PrefixId + "_CP_faxNumber"))) return false;
            }

            if (!checkLength($("#ew_Org" + PrefixId + "_CP_url"), arrLang[0][lang][991], 0, (is_empty ? 0 : 1000))) return false;
            if (lastCheckValue.length > 0)
                npe.contactPoint.url = lastCheckValue;
        } else {
            let currentContractTime = get_currentContractTime(PrefixId);

            if (currentContractTime != undefined) {
                if (!currentContractTime) {
                    return false;
                } else {
                    npe.currentContractTime = currentContractTime;
                }
            }

            if (tenderType.includes("landSell-priorityEnglish") || tenderType.includes("landArrested-priorityEnglish")) {
                if ($("#currentTenantValue" + PrefixId).val() != "") {

                    npe.currentTenantValue = {}
                    npe.currentTenantValue.amount = parseFloat($("#currentTenantValue" + PrefixId).val());

                    if (isNaN(npe.currentTenantValue.amount)) {
                        updateTips("Поле 'Орендна ставка (сума на рік, грн)' обов'язкове.", "Y");
                        $("#currentTenantValue" + PrefixId).addClass("ui-state-error");
                        return false;
                    }

                    npe.currentTenantValue.currency = "UAH";
                }

                if (el.name_prefix == "currentTenant") {
                    npe.priority = $("#priority" + PrefixId).val();
                }

                if (tenderType.includes("landArrested-priorityEnglish") && $("#transferredFrom" + PrefixId).val() != "all") {
                    let priorityTransferInfo = get_priorityTransferInfo(PrefixId);

                    if (priorityTransferInfo != undefined && priorityTransferInfo) {
                        npe.priorityTransferInfo = priorityTransferInfo;
                    } else {
                        return false;
                    }
                }
            }
        }

        if (is_empty)
            npe = "NONE";

        if (tenderType == "renewables") {
            npe.x_verificationDocuments = [get_VerificationDocuments($("[data-atid='VerificationDocumentInfo']", $("#pnProcuringEntity")))];
        }

        bValid = true;

        if ($("#representativeInfo" + PrefixId).val() != "") {
            npe.representativeInfo = $("#representativeInfo" + PrefixId).val();
            bValid = true;
        } else if (cdb != 2 && $("#representativeInfo" + PrefixId).val() == "" && !is_empty && (tenderType.includes("commercialPropertyLease") || el.name_prefix == 'assetCustodian' || el.name_prefix == 'assetHolder')) {
            bValid = false;
            $("#representativeInfo" + PrefixId).addClass("ui-state-error")
            updateTips("Заповніть поле 'Інформація щодо підтвердження повноважень'", "Y")
        }

        if (!bValid)
            return false;

        if (tenderType.includes("bankRuptcy") && (el.name_prefix == "procuringEntity" || el.name_prefix == "")) {
            if ($("#representativeCertificateNumber" + PrefixId).val() != "") {
                npe.representativeCertificateNumber = $("#representativeCertificateNumber" + PrefixId).val();
                bValid = true;
            } else {
                updateTips("Заповніть поле '№ свідоцтва про право на провадження діяльності арбітражного керуючого'", "Y");
                bValid = false;
            }
            if (!bValid)
                return false;

            if (!checkDate($("#representativeCertificateDate_date" + PrefixId), "", dMinDate, dMaxDate))
                bValid = false;
            let _date = lastCheckValue;

            if (!bValid)
                return false;

            if (!checkTime($("#representativeCertificateDate_time" + PrefixId))) {
                updateTips("Вкажіть час", "Y");
                bValid = false;
            }

            if (!bValid)
                return false;

            npe.representativeCertificateDate = getISO_datetime(_date, lastCheckValue, cdb == 3);
        }

        bValid = true;
        return npe;
    }
})

function get_currentContractTime(prefix) {
    let data = {};

    let _date_s = "";
    let _time_s = "";
    let _date_e = "";
    let _time_e = "";

    if ($("#dateFrom_date" + prefix).val() != "") {
        _date_s = getObjectDate($("#dateFrom_date" + prefix));
    }

    if ($("#dateFrom_time" + prefix).val() != "" || $("#dateFrom_date" + prefix).val() != "") {
        if (!checkTime($("#dateFrom_time" + prefix))) {
            return false;
        } else {
            _time_s = lastCheckValue;
        }
    }

    if (_date_s != "" && _time_s != "") {
        data.dateFrom = getISO_datetime(_date_s, _time_s, true);
    }

    if ($("#dateTill_date" + prefix).val() != "") {
        _date_e = getObjectDate($("#dateTill_date" + prefix));
    }

    if ($("#dateTill_time" + prefix).val() != "" || $("#dateTill_date" + prefix).val() != "") {
        if (!checkTime($("#dateTill_time" + prefix))) {
            return false;
        } else {
            _time_e = lastCheckValue;
        }
    }

    if (_date_e != "" && _time_e != "") {
        data.dateTill = getISO_datetime(_date_e, _time_e, true);
    }

    if (data.dateFrom != undefined && data.dateTill == undefined) {
        updateTips("Вкажіть  \"Дата укладення та закінчення договору оренди Період по\"", "Y");
        return false;
    }

    if (data.dateFrom == undefined && data.dateTill != undefined) {
        updateTips("Вкажіть  \"Дата укладення та закінчення договору оренди Період з\"", "Y");
        return false;
    }

    if (Object.keys(data).length > 0) {
        return data;
    } else if ($("#dateFrom_date" + prefix).val() != "" || $("#dateFrom_time" + prefix).val() != ""
        || $("#dateTill_date" + prefix).val() != "" || $("#dateTill_time" + prefix).val() != "") {
        return false;
    }
}

function validate_bankAccount_identifier(scheme, identifier_block_id, showMessage = true) {
    let regexp, message;

    switch (scheme) {
        case 'UA-EDR': {
            regexp = /^\d{8}$/;
            message = ", формат: 8 цифр";
            break;
        }
        case 'UA-IPN': {
            regexp = /^\d{10}$/;
            message = ", формат: 10 цифр";
            break;
        }
        case 'UA-IPN-FOP': {
            regexp = /^\d{10}$/;
            message = ", формат: 10 цифр";
            break;
        }
        case 'UA-PASSPORT': {
            regexp = /^[А-ЯA-Z]{2}\d{6}$/;
            message = ", формат: 2 БУКВИ 6 цифр";
            break;
        }
        case 'UA-IBAN': {
            regexp = /^[a-zA-Z]{2}\d{27}$/;
            message = ", формат: 2 БУКВИ 27 цифр";
            break;
        }
        case 'UA-ID-CARD': {
            regexp = /^\d{9}$/;
            message = ", формат: 9 цифр";
            break;
        }
        case 'UA-MFO': {
            regexp = /^\d{6}$/;
            message = ", формат: 6 цифр";
            break;
        }
        case 'UA-accountNumber': {
            regexp = /^\d{5}$/;
            message = ", формат: 5 цифр";
            break;
        }
        default:
            return;
    }

    if (!checkRegexp($("#" + identifier_block_id), regexp, message, showMessage)) {
        return new ValidationError(identifier_block_id, arrLang[0][lang][930] + " '{fieldName}'" + message);
    }
}
;
