(function(n,t){function w(){this.confirm={Caption:"Confirm",Text:"Are you sure?"};this.error={Caption:"Error"};this.info={Caption:"Information"};this.remove={Text:"Are you sure, you want to delete?"};this.button={Yes:"Yes",No:"No"}}function h(n,t){var r,i;if(typeof n=="undefined"||n===null)return null;r=new RegExp("^"+t+"$","i");for(i in n)if(r.test(i))return i;return null}function i(n,t){var i=h(n,t);return i===null?null:n[i]}function b(n){return i(n,"buttons")}function k(n){return i(n,"message")}function d(n){return i(n,"messageHtml")}function f(n){var t=h(n,"caption");return{name:t,value:t===null?null:n[t]}}function g(n){var t=f(n);return t.value}function r(t){var i;return i=t?typeof t=="string"?n("#"+t):n(t).closest("[role=dialog]"):n(this).closest("[role=dialog]"),i.length<1&&(i=n("[role=dialog]")),i.modal("hide")}function c(n){typeof n=="string"&&(t.top.location=n,(n.startsWith("#")||n.toUpperCase().startsWith("JAVASCRIPT:"))&&r.call(this))}function e(){return n("div[role=dialog]:visible")}function nt(t,i,r){var u=n("<button>").addClass("btn").text(t);return typeof i=="string"&&i.trim()!==""?u.addClass(i):r?u.addClass("btn-default"):u.addClass("btn-primary"),u}function tt(n,t){var s=!1,f=!1,e=!1,h=b(n),i,u,o;for(i in h)u=h[i],(typeof u=="function"||typeof u=="object")&&(t[i]=u,s=!0,o=i.toLowerCase(),f||o!==dialogDefaultTexts.button.Yes.toLocaleLowerCase()||(f=!0),e||o!==dialogDefaultTexts.button.No.toLocaleLowerCase()||(e=!0));return s?f&&!e&&(t[dialogDefaultTexts.button.No]=r):(t={},t[dialogDefaultTexts.button.Yes]=r,t[dialogDefaultTexts.button.No]=r),t}function it(n){var t={},u;if(typeof n=="object"){if(u=i(n,"buttons"),typeof u=="object"&&u!==null)return tt(n,t)}else t={},t[dialogDefaultTexts.button.Yes]=r,t[dialogDefaultTexts.button.No]=r;return t}function rt(n,t){if(t)for(var i in t)t.hasOwnProperty(i)&&n.data(i,t[i])}function ut(t,u){var o=t.find(".modal-btn-blk").empty(),h=it(u),e,f,s;o.empty();for(e in h)if(h.hasOwnProperty(e)){f=h[e];s=typeof f=="function"?f:i(f,"onclick");typeof s!="function"&&(s=r);var a=i(f,"css")||"",c=i(f,"data"),l=nt(e,a,e===dialogDefaultTexts.button.No).on("click",s);n.isPlainObject(c)&&rt(l,c);o.append(n("<div>").addClass("submit-group d-inline-block").append(l))}o.toggleClass("hidden",o.children("div").length<1)}function l(t,i,r){function e(){u.empty();t.off("hidden.bs.modal",e)}function s(){u.find(n('button[data-toggle="tooltip"]')).each(function(){n(this).popConfirm("destroy")});t.off("hide.bs.modal",e)}var u=t.find(".modal-body"),o=d(i),f;if(typeof o=="string"&&o){u.html(o);t.on("hide.bs.modal",s);t.on("hidden.bs.modal",e)}else f=k(i),typeof f=="string"&&f?u.text(f):typeof r=="string"&&u.text(r)}function ft(n,t){var i=g(t);typeof i=="string"&&n.find(".modal-title").html(i)}function a(n,t){typeof t.Closable=="undefined"||t.Closable?n.modal("show").find(".close").show():n.modal({backdrop:"static",keyboard:!1}).find(".close").hide()}function et(n,t){var r,u;if(n.off("show.bs.modal"),n.off("shown.bs.modal"),r=i(t,"onShow"),typeof r=="function")n.on("show.bs.modal",r);if(u=i(t,"onShown"),typeof u=="function")n.on("shown.bs.modal",u)}function ot(n,t){var r,u;if(n.off("hide.bs.modal"),n.off("hidden.bs.modal"),r=i(t,"onHide"),typeof r=="function")n.on("hide.bs.modal",r);if(u=i(t,"onHidden"),typeof u=="function")n.on("hidden.bs.modal",u)}function st(n,t){et(n,t);ot(n,t)}function v(n,t,i){st(n,t);ft(n,t);a(n,t);l(n,t,i);ut(n,t)}function y(n,t){/show/i.test(t)?n.modal("show").find(".close").show():/hide/i.test(t)?n.modal("hide"):(a(n,{}),l(n,null,t))}function ht(i){o(i);var r=n(this),s=r.attr("h")||r.attr("href"),h={},u=n("[role=dialog]"),l=r.attr("type"),e,f;return u.close=function(){u.modal("hide")},l&&l.toLowerCase()==="submit"&&(f=r.closest("form"),f.length>0&&(e=function(){var t=r.attr("name");t&&n("<input>").attr({type:"hidden",name:t,value:r.attr("value")}).appendTo(f);f.submit()})),h[dialogDefaultTexts.button.Yes]=function(){var n=r.data("yescallback"),i;if(typeof n=="function"){n.call(r,u);u.close();return}if(typeof n=="string"&&(i=t[n],typeof i=="function")){i.call(r,u);return}if(typeof e=="function"){e();return}s?c.call(null,s):typeof r.removeRow=="function"&&(r.removeRow(),u.close())},confirmDialog({MessageHtml:r.data("confirm-msg-html"),Message:r.data("confirm-msg")||dialogDefaultTexts.remove.Text,Caption:r.data("confirm-msg-caption")||dialogDefaultTexts.confirm.Caption,buttons:h}),!1}function ct(i){o(i);var r=n(this),e=r.attr("h")||r.attr("href"),f={},u=n("[role=dialog]");return u.close=function(){u.modal("hide")},f[dialogDefaultTexts.button.Yes]=function(){var n=r.data("yescallback"),i;if(typeof n=="function"){n.call(r,u);return}if(typeof n=="string"&&(i=t[n],typeof i=="function")){i.call(r,u);return}c.call(null,e)},confirmDialog({MessageHtml:r.data("confirm-msg-html"),Message:r.data("confirm-msg"),buttons:f}),!1}function lt(i){typeof t.recaptcha=="undefined"&&n("body").append(n("<script>").attr({src:"//www.google.com/recaptcha/api.js?onload=onRecaptchaLoad&render=explicit&hl="+i,async:"",defer:""}))}function at(n){n.find(".has-error").removeClass("has-error");var t=n.find("[data-valmsg-summary=true]").removeClass("validation-summary-invalid").addClass("validation-summary-valid");t.children("ul").empty()}function vt(t,i){for(var r,u,e=t.find("[data-valmsg-summary=true]").removeClass("validation-summary-valid").addClass("validation-summary-invalid"),o=e.children("ul"),f=0;f<i.length;++f)for(r=i[f],t.find("#"+r.id).closest(".form-group").addClass("has-error"),u=0;u<r.text.length;++u)o.append(n("<li>").text(r.text[u]))}function s(i){var r=n(this),o,f,s,h;r.find("[data-autofocus],[autofocus]").focus();r.find(".btn-popup").on("click",u);if(t.onRecaptchaLoad(),t.initializeMaskInputs(),t.inlineSvgs(),o=i.data("btn-ok"),o)r.find(o).on("click",function(n){return n.preventDefault(),r.modal("hide"),!1});r.find(".btn-ajax-submit").on("click",function(i){var h,c,u,e,s;i.preventDefault();var o=n(this),f=o.closest("form"),l=f.serializeArray(),a={};if(at(f),n.validator&&n.validator.unobtrusive&&typeof n.validator.unobtrusive.parse=="function"&&(n.validator.unobtrusive.parse(f),h=f.data("validator"),!f.valid())){for(u=0;u<h.errorList.length;++u)n(h.errorList[u].element).closest(".form-group").addClass("has-error");return!1}for(u=0;u<l.length;++u)(e=l[u],e.value)&&(e.name==="g-recaptcha-response"?c=e.value:a[e.name]=e.value);s=f.attr("action");c&&(s=t.updateQueryString("g-recaptcha-response",c,s));t.postJson(s,JSON.stringify(a),function(n){var u;if(!n||!n.errors){if(u=o.data("msg-success"),u){var i={MessageHtml:u},e=o.data("caption")||o.attr("title"),s=o.data("redir-success");e&&(i.Caption=e);s&&(i.buttons={OK:function(){t.top.location=s}},i.Closable=!1);alertDialog(i)}else r.modal("hide");return}vt(f,n.errors);t.initializeMaskInputs()},processPopupError)});if(f=r.find("[data-popup-back]").on("click",function(n){n.preventDefault();r.modal("hide")}),f.length>0){function c(n){r.off("hide.bs.modal",c);var i=f.data("popup-back");t.viewsCache&&t.viewsCache[i]&&u.call(f.attr("href",i),n)}r.on("hide.bs.modal",c)}r.find(".get-body").on("click",function(i){function e(n){r.off("hide.bs.modal",e);var i=r.data("pref");t.viewsCache&&t.viewsCache[i]&&(f.prop("disabled",!1),u.call(f.attr("href",i),n))}i.preventDefault();var f=n(this),o=f.attr("href"),s=f.data("caption")||f.attr("title");if(f.prop("disabled"))return!1;f.prop("disabled",!0);r.on("hide.bs.modal",e);u.call(n("<a>").attr("href",o).data("caption",s).addClass("get-body"),i)});i.prop("disabled",!1).removeAttr("disabled");s=e().data("href");t.viewsCache&&t.viewsCache[s]&&(h=t.viewsCache[s]);h&&r.find("form [name]").each(function(){var t=n(this),i=yt(h.formData,t.prop("name"));i!==null&&(t.is(":checkbox")||t.is(":radio")?t.prop("checked",i==="true"):t.val(i))})}function yt(n,t){var i,r;if(!n||!n.length)return null;for(i=0;i<n.length;++i)if(r=n[i],r.name===t)return r.value;return null}function p(){return n(".modal:visible").length>0}function u(i){var f,u,l,a,c,v;i.preventDefault();var r=n(this),o=r.attr("href"),h=r.data("caption")||r.attr("title");if(r.prop("disabled"))return!1;typeof t.viewsCache=="undefined"&&(t.viewsCache={});f=t.viewsCache[o];u={onShown:function(){s.call(this,r)}};typeof h=="string"&&h&&(u.caption=h);l=t.viewsCache[e().data("href")];l&&(l.formData=e().find("form").serializeArray());f&&new Date-f.timestamp<3e5?(f.caption&&(h=f.caption,u.caption=h),u.MessageHtml=f.content,a=p(),c=t.alertDialog(u),c.data("pref",c.data("href")).data("href",o),a&&s.call(c,r)):(r.prop("disabled",!0).attr("disabled",""),v=r.hasClass("get-body")?o:toPartialCall(o,r.data("url-params")),n.get(v).always(function(i,f,e){var l,a,v,c;if(!i||f==="error"){processPopupError();r.prop("disabled",!1).removeAttr("disabled");return}e.shouldRedirect||(t.viewsCache[o]={timestamp:new Date,caption:h,content:i},u.MessageHtml=i,l=n("<div>").html(i).find(".g-recaptcha"),a=l.length>0,a&&lt(l.data("lang")),v=p(),c=t.alertDialog(u),c.data("pref",c.data("href")).data("href",o),v&&s.call(c,r))}))}function pt(n){return n.closest("[role=dialog]").length>0}t.dialogDefaultTexts=new w;var o=t.stopEvent;typeof o=="undefined"&&(o=function(n){n.preventDefault();n.stopPropagation()});t.closeDialog=r;t.isDialogVisible=function(){return e().length>0};t.confirmDialog=function(t){var i=n("#alert-dlg"),r=f(t);return typeof r.value!="string"&&(t.Caption=dialogDefaultTexts.confirm.Caption),n.isPlainObject(t)?v(i,t,dialogDefaultTexts.confirm.Text):typeof t=="string"&&y(i,t),i};t.alertDialog=function(i){var r=n("#alert-dlg");return n.isPlainObject(i)?v(r,i):typeof i=="string"&&y(r,i),typeof t.processNumericInputs=="function"&&t.processNumericInputs(r),typeof t.processSelectOnFocus=="function"&&t.processSelectOnFocus(r),r};t.errorDialog=function(n){var t=f(n);return(typeof t.value!="string"||t.value===null)&&(n.Caption=dialogDefaultTexts.error.Caption),alertDialog(n)};t.infoDialog=function(n){var t=f(n);return typeof t.value!="string"&&(n.Caption=dialogDefaultTexts.info.Caption),alertDialog(n)};t.processPopupError=function(n){n||(n=typeof isOnline!="function"||isOnline()?"Виникла помилка, будь ласка, спробуйте пізніше...":"Немає підключення до Інтернету, будь ласка, спробуйте пізніше...");t.errorDialog({Message:n})};n(function(){n(document).on("click",".btn,.btn .glyphicon,.btn .fa,.btn-remove",function(t){var r=n(this),i;if(!pt(r)){if(r.hasClass("btn-remove"))i=r;else if(i=r.closest(".btn-remove"),i.length<1){if(r.hasClass("btn-confirm"))i=r;else if(i=r.closest(".btn-confirm"),i.length<1)return;t.stopPropagation();ct.call(i,t);return}t.stopPropagation();ht.call(i,t)}});n(document).on("click",".btn-popup, .js-popup",u)})})(jQuery,window)