| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/ttjs.cz/dev/lib/custom/ |
Upload File : |
(function ($, window, document) {
$.fn.goTop = function (options) {
var defaults = {
scrollTop: 100,
scrollSpeed: 1000,
fadeInSpeed: 1000,
fadeOutSpeed: 500
};
var options = $.extend(defaults, options);
var $this = $(this);
$(window).on('scroll', function () {
if ($(window).scrollTop() > options.scrollTop) {
$this.fadeIn(options.fadeInSpeed);
} else {
$this.fadeOut(options.fadeOutSpeed);
}
});
$this.on('click', function () {
$('html,body').animate({
'scrollTop': 0
}, options.speed);
});
};
})(jQuery, window, document);
/**
* open loading window
*
* @param {string} text Text in loading window.
*
*/
function showLoadingWindow(text) {
if (text === undefined) {
text = "Prebieha spracovanie...";
}
swal({
title: text,
text: "<div class='loader'></div>",
html: true,
showConfirmButton: false
});
}
/**
* open loading window
*
* @param {string} text Text in loading window.
* @param {string} text Message in loading window.
*
*/
function showLoadingWindowMessage(text, message) {
swal({
title: text,
text: message + "<div class='loader'></div>",
html: true,
showConfirmButton: false
});
}
function closeSwal() {
swal({
title: "",
timer: 0,
animation: false
});
}
function copyHtmlAndClearHtmlVars(template, target, callback, defaultValues) {
if (defaultValues === undefined) {
defaultValues = {};
}
$(target).html("<div class='loader'></div>");
$(target).html(clearVars($(template).html(), defaultValues));
if (typeof callback === 'function') {
callback();
}
}
function clearVars(template, defaultValues) {
var patt = /\{([^}]+)\}/g;
return template.replace(patt, function (_, key) {
if (defaultValues[key] === undefined) {
return "";
}
return defaultValues[key];
});
}
/**
* Set values to html inputs and replaces variables in HTML tagged {{{var}}}
*
* @param {string} template Source element selector.
* @param {string} target Target element selector. If is false, data will bind to source otherwise template element will be copied into target selector.
* @param {object} actionData Data object with paramaters for ajax request.
* @param {string} url Ajax request endpoint.
* @param {object} additionalData Data object to merge with ajax response data for binding.
* @param {function} callback Function called after data bind. First paramater passed to function is reponse data object merged with additional data object.
*
*/
function bindToHtml(template, target, actionData, url, additionalData, callback, customLoader) {
if (url === undefined || url === false) {
if (template !== false) {
$(target).html(renderHtmlBind($(template).html(), additionalData));
}
$("body").removeClass("loaded");
$.each(additionalData, function (index, element) {
if (jQuery.type(element) !== "object" && jQuery.type(element) !== "array") {
if ($(target + " [name='" + index + "']").length !== 0) {
var targetInput = $(target + " [name='" + index + "']");
if (targetInput.attr("type") === "checkbox" && !targetInput.hasClass("edit-mode-switch")) {
if (element == targetInput.val()) {
targetInput.attr('checked', 'checked');
}
} else {
targetInput.is("textarea") ? targetInput.html(element) : targetInput.val(element);
}
}
} else {
$.each(element, function (index2, element2) {
if ($(target + " [name='" + index + "[]'][value='" + index2 + "']").length !== 0) {
$(target + " [name='" + index + "[]'][value='" + index2 + "']").prop("checked", true);
} else if ($(target + " [name='" + index + "[]'][value='" + element2 + "']").length !== 0) {
$(target + " [name='" + index + "[]'][value='" + element2 + "']").prop("checked", true);
}
});
}
if (additionalData.state !== "undefined") {
$(target + " [type='checkbox'][name='state']").val("DISABLED");
$(target + " [type='hidden'][name='state']").val("ACTIVE");
if (additionalData.state !== "ACTIVE") {
$(target + " [type='checkbox'][name='state']").prop("checked", true);
}
}
});
if (typeof callback === 'function') {
callback(additionalData);
}
$("body").addClass("loaded");
} else {
ajax(url, 'POST', actionData, function (response) {
var mergedData = Object.assign(response.data, additionalData);
if (template !== false) {
$(target).html(renderHtmlBind($(template).html(), mergedData));
}
$.each(mergedData, function (index, element) {
if (jQuery.type(element) !== "object" && jQuery.type(element) !== "array") {
if ($(target + " [name='" + index + "']").length !== 0) {
var targetInput = $(target + " [name='" + index + "']");
if (targetInput.attr("type") === "checkbox" && !targetInput.hasClass("edit-mode-switch")) {
if (element == targetInput.val()) {
targetInput.attr('checked', 'checked');
}
} else {
targetInput.is("textarea") ? targetInput.html(element) : targetInput.val(element);
}
}
} else {
$.each(element, function (index2, element2) {
if ($(target + " [name='" + index + "[]'][value='" + index2 + "']").length !== 0) {
$(target + " [name='" + index + "[]'][value='" + index2 + "']").prop("checked", true);
} else if ($(target + " [name='" + index + "[]'][value='" + element2 + "']").length !== 0) {
$(target + " [name='" + index + "[]'][value='" + element2 + "']").prop("checked", true);
}
});
}
});
if (mergedData.state !== "undefined") {
$(target + " [type='checkbox'][name='state']").val("DISABLED");
$(target + " [type='hidden'][name='state']").val("ACTIVE");
if (mergedData.state !== "ACTIVE") {
$(target + " [type='checkbox'][name='state']").prop("checked", true);
}
}
if (typeof callback === 'function') {
callback(mergedData);
}
}, false, false, true, customLoader);
}
}
function renderHtmlBind(template, data) {
data.remover = "";
var patt = /\{\{\{([^}]+)\}\}\}/g;
var patt2 = /\-\-\-([^-]+)\-\-\-/g;
return template.replace(patt, function (_, key) {
if (data[key] === null || data[key] === undefined) {
return "";
}
return data[key];
}).replace(patt2, function (_, key) {
if (data[key] === null || data[key] === undefined) {
return "";
}
return data[key];
});
}
// call this before showing SweetAlert
function fixBootstrapModal() {
var modalNode = document.querySelector('.modal[tabindex="-1"]');
if (!modalNode)
return;
modalNode.removeAttribute('tabindex');
modalNode.classList.add('js-swal-fixed');
}
// call this before hiding SweetAlert (inside done callback)
function restoreBootstrapModal() {
var modalNode = document.querySelector('.modal.js-swal-fixed');
if (!modalNode)
return;
modalNode.setAttribute('tabindex', '-1');
modalNode.classList.remove('js-swal-fixed');
}
var Latinise = {};
Latinise.latin_map = {"Á": "A", "Ă": "A", "Ắ": "A", "Ặ": "A", "Ằ": "A", "Ẳ": "A", "Ẵ": "A", "Ǎ": "A", "Â": "A", "Ấ": "A", "Ậ": "A", "Ầ": "A", "Ẩ": "A", "Ẫ": "A", "Ä": "A", "Ǟ": "A", "Ȧ": "A", "Ǡ": "A", "Ạ": "A", "Ȁ": "A", "À": "A", "Ả": "A", "Ȃ": "A", "Ā": "A", "Ą": "A", "Å": "A", "Ǻ": "A", "Ḁ": "A", "Ⱥ": "A", "Ã": "A", "Ꜳ": "AA", "Æ": "AE", "Ǽ": "AE", "Ǣ": "AE", "Ꜵ": "AO", "Ꜷ": "AU", "Ꜹ": "AV", "Ꜻ": "AV", "Ꜽ": "AY", "Ḃ": "B", "Ḅ": "B", "Ɓ": "B", "Ḇ": "B", "Ƀ": "B", "Ƃ": "B", "Ć": "C", "Č": "C", "Ç": "C", "Ḉ": "C", "Ĉ": "C", "Ċ": "C", "Ƈ": "C", "Ȼ": "C", "Ď": "D", "Ḑ": "D", "Ḓ": "D", "Ḋ": "D", "Ḍ": "D", "Ɗ": "D", "Ḏ": "D", "Dz": "D", "Dž": "D", "Đ": "D", "Ƌ": "D", "DZ": "DZ", "DŽ": "DZ", "É": "E", "Ĕ": "E", "Ě": "E", "Ȩ": "E", "Ḝ": "E", "Ê": "E", "Ế": "E", "Ệ": "E", "Ề": "E", "Ể": "E", "Ễ": "E", "Ḙ": "E", "Ë": "E", "Ė": "E", "Ẹ": "E", "Ȅ": "E", "È": "E", "Ẻ": "E", "Ȇ": "E", "Ē": "E", "Ḗ": "E", "Ḕ": "E", "Ę": "E", "Ɇ": "E", "Ẽ": "E", "Ḛ": "E", "Ꝫ": "ET", "Ḟ": "F", "Ƒ": "F", "Ǵ": "G", "Ğ": "G", "Ǧ": "G", "Ģ": "G", "Ĝ": "G", "Ġ": "G", "Ɠ": "G", "Ḡ": "G", "Ǥ": "G", "Ḫ": "H", "Ȟ": "H", "Ḩ": "H", "Ĥ": "H", "Ⱨ": "H", "Ḧ": "H", "Ḣ": "H", "Ḥ": "H", "Ħ": "H", "Í": "I", "Ĭ": "I", "Ǐ": "I", "Î": "I", "Ï": "I", "Ḯ": "I", "İ": "I", "Ị": "I", "Ȉ": "I", "Ì": "I", "Ỉ": "I", "Ȋ": "I", "Ī": "I", "Į": "I", "Ɨ": "I", "Ĩ": "I", "Ḭ": "I", "Ꝺ": "D", "Ꝼ": "F", "Ᵹ": "G", "Ꞃ": "R", "Ꞅ": "S", "Ꞇ": "T", "Ꝭ": "IS", "Ĵ": "J", "Ɉ": "J", "Ḱ": "K", "Ǩ": "K", "Ķ": "K", "Ⱪ": "K", "Ꝃ": "K", "Ḳ": "K", "Ƙ": "K", "Ḵ": "K", "Ꝁ": "K", "Ꝅ": "K", "Ĺ": "L", "Ƚ": "L", "Ľ": "L", "Ļ": "L", "Ḽ": "L", "Ḷ": "L", "Ḹ": "L", "Ⱡ": "L", "Ꝉ": "L", "Ḻ": "L", "Ŀ": "L", "Ɫ": "L", "Lj": "L", "Ł": "L", "LJ": "LJ", "Ḿ": "M", "Ṁ": "M", "Ṃ": "M", "Ɱ": "M", "Ń": "N", "Ň": "N", "Ņ": "N", "Ṋ": "N", "Ṅ": "N", "Ṇ": "N", "Ǹ": "N", "Ɲ": "N", "Ṉ": "N", "Ƞ": "N", "Nj": "N", "Ñ": "N", "NJ": "NJ", "Ó": "O", "Ŏ": "O", "Ǒ": "O", "Ô": "O", "Ố": "O", "Ộ": "O", "Ồ": "O", "Ổ": "O", "Ỗ": "O", "Ö": "O", "Ȫ": "O", "Ȯ": "O", "Ȱ": "O", "Ọ": "O", "Ő": "O", "Ȍ": "O", "Ò": "O", "Ỏ": "O", "Ơ": "O", "Ớ": "O", "Ợ": "O", "Ờ": "O", "Ở": "O", "Ỡ": "O", "Ȏ": "O", "Ꝋ": "O", "Ꝍ": "O", "Ō": "O", "Ṓ": "O", "Ṑ": "O", "Ɵ": "O", "Ǫ": "O", "Ǭ": "O", "Ø": "O", "Ǿ": "O", "Õ": "O", "Ṍ": "O", "Ṏ": "O", "Ȭ": "O", "Ƣ": "OI", "Ꝏ": "OO", "Ɛ": "E", "Ɔ": "O", "Ȣ": "OU", "Ṕ": "P", "Ṗ": "P", "Ꝓ": "P", "Ƥ": "P", "Ꝕ": "P", "Ᵽ": "P", "Ꝑ": "P", "Ꝙ": "Q", "Ꝗ": "Q", "Ŕ": "R", "Ř": "R", "Ŗ": "R", "Ṙ": "R", "Ṛ": "R", "Ṝ": "R", "Ȑ": "R", "Ȓ": "R", "Ṟ": "R", "Ɍ": "R", "Ɽ": "R", "Ꜿ": "C", "Ǝ": "E", "Ś": "S", "Ṥ": "S", "Š": "S", "Ṧ": "S", "Ş": "S", "Ŝ": "S", "Ș": "S", "Ṡ": "S", "Ṣ": "S", "Ṩ": "S", "Ť": "T", "Ţ": "T", "Ṱ": "T", "Ț": "T", "Ⱦ": "T", "Ṫ": "T", "Ṭ": "T", "Ƭ": "T", "Ṯ": "T", "Ʈ": "T", "Ŧ": "T", "Ɐ": "A", "Ꞁ": "L", "Ɯ": "M", "Ʌ": "V", "Ꜩ": "TZ", "Ú": "U", "Ŭ": "U", "Ǔ": "U", "Û": "U", "Ṷ": "U", "Ü": "U", "Ǘ": "U", "Ǚ": "U", "Ǜ": "U", "Ǖ": "U", "Ṳ": "U", "Ụ": "U", "Ű": "U", "Ȕ": "U", "Ù": "U", "Ủ": "U", "Ư": "U", "Ứ": "U", "Ự": "U", "Ừ": "U", "Ử": "U", "Ữ": "U", "Ȗ": "U", "Ū": "U", "Ṻ": "U", "Ų": "U", "Ů": "U", "Ũ": "U", "Ṹ": "U", "Ṵ": "U", "Ꝟ": "V", "Ṿ": "V", "Ʋ": "V", "Ṽ": "V", "Ꝡ": "VY", "Ẃ": "W", "Ŵ": "W", "Ẅ": "W", "Ẇ": "W", "Ẉ": "W", "Ẁ": "W", "Ⱳ": "W", "Ẍ": "X", "Ẋ": "X", "Ý": "Y", "Ŷ": "Y", "Ÿ": "Y", "Ẏ": "Y", "Ỵ": "Y", "Ỳ": "Y", "Ƴ": "Y", "Ỷ": "Y", "Ỿ": "Y", "Ȳ": "Y", "Ɏ": "Y", "Ỹ": "Y", "Ź": "Z", "Ž": "Z", "Ẑ": "Z", "Ⱬ": "Z", "Ż": "Z", "Ẓ": "Z", "Ȥ": "Z", "Ẕ": "Z", "Ƶ": "Z", "IJ": "IJ", "Œ": "OE", "ᴀ": "A", "ᴁ": "AE", "ʙ": "B", "ᴃ": "B", "ᴄ": "C", "ᴅ": "D", "ᴇ": "E", "ꜰ": "F", "ɢ": "G", "ʛ": "G", "ʜ": "H", "ɪ": "I", "ʁ": "R", "ᴊ": "J", "ᴋ": "K", "ʟ": "L", "ᴌ": "L", "ᴍ": "M", "ɴ": "N", "ᴏ": "O", "ɶ": "OE", "ᴐ": "O", "ᴕ": "OU", "ᴘ": "P", "ʀ": "R", "ᴎ": "N", "ᴙ": "R", "ꜱ": "S", "ᴛ": "T", "ⱻ": "E", "ᴚ": "R", "ᴜ": "U", "ᴠ": "V", "ᴡ": "W", "ʏ": "Y", "ᴢ": "Z", "á": "a", "ă": "a", "ắ": "a", "ặ": "a", "ằ": "a", "ẳ": "a", "ẵ": "a", "ǎ": "a", "â": "a", "ấ": "a", "ậ": "a", "ầ": "a", "ẩ": "a", "ẫ": "a", "ä": "a", "ǟ": "a", "ȧ": "a", "ǡ": "a", "ạ": "a", "ȁ": "a", "à": "a", "ả": "a", "ȃ": "a", "ā": "a", "ą": "a", "ᶏ": "a", "ẚ": "a", "å": "a", "ǻ": "a", "ḁ": "a", "ⱥ": "a", "ã": "a", "ꜳ": "aa", "æ": "ae", "ǽ": "ae", "ǣ": "ae", "ꜵ": "ao", "ꜷ": "au", "ꜹ": "av", "ꜻ": "av", "ꜽ": "ay", "ḃ": "b", "ḅ": "b", "ɓ": "b", "ḇ": "b", "ᵬ": "b", "ᶀ": "b", "ƀ": "b", "ƃ": "b", "ɵ": "o", "ć": "c", "č": "c", "ç": "c", "ḉ": "c", "ĉ": "c", "ɕ": "c", "ċ": "c", "ƈ": "c", "ȼ": "c", "ď": "d", "ḑ": "d", "ḓ": "d", "ȡ": "d", "ḋ": "d", "ḍ": "d", "ɗ": "d", "ᶑ": "d", "ḏ": "d", "ᵭ": "d", "ᶁ": "d", "đ": "d", "ɖ": "d", "ƌ": "d", "ı": "i", "ȷ": "j", "ɟ": "j", "ʄ": "j", "dz": "dz", "dž": "dz", "é": "e", "ĕ": "e", "ě": "e", "ȩ": "e", "ḝ": "e", "ê": "e", "ế": "e", "ệ": "e", "ề": "e", "ể": "e", "ễ": "e", "ḙ": "e", "ë": "e", "ė": "e", "ẹ": "e", "ȅ": "e", "è": "e", "ẻ": "e", "ȇ": "e", "ē": "e", "ḗ": "e", "ḕ": "e", "ⱸ": "e", "ę": "e", "ᶒ": "e", "ɇ": "e", "ẽ": "e", "ḛ": "e", "ꝫ": "et", "ḟ": "f", "ƒ": "f", "ᵮ": "f", "ᶂ": "f", "ǵ": "g", "ğ": "g", "ǧ": "g", "ģ": "g", "ĝ": "g", "ġ": "g", "ɠ": "g", "ḡ": "g", "ᶃ": "g", "ǥ": "g", "ḫ": "h", "ȟ": "h", "ḩ": "h", "ĥ": "h", "ⱨ": "h", "ḧ": "h", "ḣ": "h", "ḥ": "h", "ɦ": "h", "ẖ": "h", "ħ": "h", "ƕ": "hv", "í": "i", "ĭ": "i", "ǐ": "i", "î": "i", "ï": "i", "ḯ": "i", "ị": "i", "ȉ": "i", "ì": "i", "ỉ": "i", "ȋ": "i", "ī": "i", "į": "i", "ᶖ": "i", "ɨ": "i", "ĩ": "i", "ḭ": "i", "ꝺ": "d", "ꝼ": "f", "ᵹ": "g", "ꞃ": "r", "ꞅ": "s", "ꞇ": "t", "ꝭ": "is", "ǰ": "j", "ĵ": "j", "ʝ": "j", "ɉ": "j", "ḱ": "k", "ǩ": "k", "ķ": "k", "ⱪ": "k", "ꝃ": "k", "ḳ": "k", "ƙ": "k", "ḵ": "k", "ᶄ": "k", "ꝁ": "k", "ꝅ": "k", "ĺ": "l", "ƚ": "l", "ɬ": "l", "ľ": "l", "ļ": "l", "ḽ": "l", "ȴ": "l", "ḷ": "l", "ḹ": "l", "ⱡ": "l", "ꝉ": "l", "ḻ": "l", "ŀ": "l", "ɫ": "l", "ᶅ": "l", "ɭ": "l", "ł": "l", "lj": "lj", "ſ": "s", "ẜ": "s", "ẛ": "s", "ẝ": "s", "ḿ": "m", "ṁ": "m", "ṃ": "m", "ɱ": "m", "ᵯ": "m", "ᶆ": "m", "ń": "n", "ň": "n", "ņ": "n", "ṋ": "n", "ȵ": "n", "ṅ": "n", "ṇ": "n", "ǹ": "n", "ɲ": "n", "ṉ": "n", "ƞ": "n", "ᵰ": "n", "ᶇ": "n", "ɳ": "n", "ñ": "n", "nj": "nj", "ó": "o", "ŏ": "o", "ǒ": "o", "ô": "o", "ố": "o", "ộ": "o", "ồ": "o", "ổ": "o", "ỗ": "o", "ö": "o", "ȫ": "o", "ȯ": "o", "ȱ": "o", "ọ": "o", "ő": "o", "ȍ": "o", "ò": "o", "ỏ": "o", "ơ": "o", "ớ": "o", "ợ": "o", "ờ": "o", "ở": "o", "ỡ": "o", "ȏ": "o", "ꝋ": "o", "ꝍ": "o", "ⱺ": "o", "ō": "o", "ṓ": "o", "ṑ": "o", "ǫ": "o", "ǭ": "o", "ø": "o", "ǿ": "o", "õ": "o", "ṍ": "o", "ṏ": "o", "ȭ": "o", "ƣ": "oi", "ꝏ": "oo", "ɛ": "e", "ᶓ": "e", "ɔ": "o", "ᶗ": "o", "ȣ": "ou", "ṕ": "p", "ṗ": "p", "ꝓ": "p", "ƥ": "p", "ᵱ": "p", "ᶈ": "p", "ꝕ": "p", "ᵽ": "p", "ꝑ": "p", "ꝙ": "q", "ʠ": "q", "ɋ": "q", "ꝗ": "q", "ŕ": "r", "ř": "r", "ŗ": "r", "ṙ": "r", "ṛ": "r", "ṝ": "r", "ȑ": "r", "ɾ": "r", "ᵳ": "r", "ȓ": "r", "ṟ": "r", "ɼ": "r", "ᵲ": "r", "ᶉ": "r", "ɍ": "r", "ɽ": "r", "ↄ": "c", "ꜿ": "c", "ɘ": "e", "ɿ": "r", "ś": "s", "ṥ": "s", "š": "s", "ṧ": "s", "ş": "s", "ŝ": "s", "ș": "s", "ṡ": "s", "ṣ": "s", "ṩ": "s", "ʂ": "s", "ᵴ": "s", "ᶊ": "s", "ȿ": "s", "ɡ": "g", "ᴑ": "o", "ᴓ": "o", "ᴝ": "u", "ť": "t", "ţ": "t", "ṱ": "t", "ț": "t", "ȶ": "t", "ẗ": "t", "ⱦ": "t", "ṫ": "t", "ṭ": "t", "ƭ": "t", "ṯ": "t", "ᵵ": "t", "ƫ": "t", "ʈ": "t", "ŧ": "t", "ᵺ": "th", "ɐ": "a", "ᴂ": "ae", "ǝ": "e", "ᵷ": "g", "ɥ": "h", "ʮ": "h", "ʯ": "h", "ᴉ": "i", "ʞ": "k", "ꞁ": "l", "ɯ": "m", "ɰ": "m", "ᴔ": "oe", "ɹ": "r", "ɻ": "r", "ɺ": "r", "ⱹ": "r", "ʇ": "t", "ʌ": "v", "ʍ": "w", "ʎ": "y", "ꜩ": "tz", "ú": "u", "ŭ": "u", "ǔ": "u", "û": "u", "ṷ": "u", "ü": "u", "ǘ": "u", "ǚ": "u", "ǜ": "u", "ǖ": "u", "ṳ": "u", "ụ": "u", "ű": "u", "ȕ": "u", "ù": "u", "ủ": "u", "ư": "u", "ứ": "u", "ự": "u", "ừ": "u", "ử": "u", "ữ": "u", "ȗ": "u", "ū": "u", "ṻ": "u", "ų": "u", "ᶙ": "u", "ů": "u", "ũ": "u", "ṹ": "u", "ṵ": "u", "ᵫ": "ue", "ꝸ": "um", "ⱴ": "v", "ꝟ": "v", "ṿ": "v", "ʋ": "v", "ᶌ": "v", "ⱱ": "v", "ṽ": "v", "ꝡ": "vy", "ẃ": "w", "ŵ": "w", "ẅ": "w", "ẇ": "w", "ẉ": "w", "ẁ": "w", "ⱳ": "w", "ẘ": "w", "ẍ": "x", "ẋ": "x", "ᶍ": "x", "ý": "y", "ŷ": "y", "ÿ": "y", "ẏ": "y", "ỵ": "y", "ỳ": "y", "ƴ": "y", "ỷ": "y", "ỿ": "y", "ȳ": "y", "ẙ": "y", "ɏ": "y", "ỹ": "y", "ź": "z", "ž": "z", "ẑ": "z", "ʑ": "z", "ⱬ": "z", "ż": "z", "ẓ": "z", "ȥ": "z", "ẕ": "z", "ᵶ": "z", "ᶎ": "z", "ʐ": "z", "ƶ": "z", "ɀ": "z", "ff": "ff", "ffi": "ffi", "ffl": "ffl", "fi": "fi", "fl": "fl", "ij": "ij", "œ": "oe", "st": "st", "ₐ": "a", "ₑ": "e", "ᵢ": "i", "ⱼ": "j", "ₒ": "o", "ᵣ": "r", "ᵤ": "u", "ᵥ": "v", "ₓ": "x"};
String.prototype.latinise = function () {
return this.replace(/[^A-Za-z0-9\[\] ]/g, function (a) {
return Latinise.latin_map[a] || a;
});
};
String.prototype.latinize = String.prototype.latinise;
String.prototype.isLatin = function () {
return this === this.latinise();
}
String.prototype.hashCode = function () {
var hash = 0, i, chr;
if (this.length === 0)
return hash;
for (i = 0; i < this.length; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash |= 0; // Convert to 32bit integer
}
return hash;
};
function makeUrl(nameSelector, addressSelector, separator) {
var page = $(nameSelector)[0];
var address = $(addressSelector)[0];
separator = separator === undefined ? "-" : separator;
address.value = page.value.latinise().replace(/[\&\#\,\+\(\)\$\~\%\.\'\"\:\*\?\<\>\{\}\//\\\]\[\=\;\!]/g, '').replace(/\s\s+/g, " ").trim().replace(/\s/g, separator).toLowerCase();
}
/**
* Send ajax request.
*
* @param {string} url Ajax request endpoint.
* @param {string} type POST or GET
* @param {object} data Data object with paramaters for request.
* @param {function} successCallback Function called on success. First paramater passed to function is reponse object.
* @param {function} errorCallback Function called on error. First paramater passed to function is reponse object.
* @param {function} failCallback Function called on fail. First paramater passed to function is reponse object.
* @param {bool} showFailAlerts If false, on error or fail is no action, otherwise open error/fail message window.
*
*/
function ajax(url, type, data, successCallback, errorCallback, failCallback, showFailAlerts, customLoader) {
// showLoadingWindow();
if (customLoader !== true) {
$('body').removeClass('loaded');
}
var ajaxParams = {
url: url,
type: type,
data: data
};
if (data instanceof FormData) {
ajaxParams["processData"] = false;
ajaxParams["contentType"] = false;
}
$.ajax(ajaxParams).done(function (response) {
if (response.code === 0) {
if (typeof successCallback === 'function') {
successCallback(response);
} else if (typeof eval(successCallback) === 'function') {
eval(successCallback)(response);
}
} else {
if (showFailAlerts !== false) {
swal({
title: response.status,
text: response.message,
confirmButtonColor: "#d9534f",
type: "error",
html: true
});
}
if (typeof errorCallback === 'function') {
errorCallback(response);
} else if (typeof eval(errorCallback) === 'function') {
eval(errorCallback)(response);
}
}
}).fail(function (response) {
if (showFailAlerts !== false) {
swal({
title: "Chyba!",
text: JSON.parse(response.responseText).message,
confirmButtonColor: "#d9534f",
type: "error",
html: true
});
}
if (typeof failCallback === 'function') {
failCallback(response);
} else if (typeof eval(failCallback) === 'function') {
eval(failCallback)(response);
}
}).always(function () {
if (customLoader !== true) {
$('body').addClass('loaded');
}
});
}
$(document).ready(function (e) {
$('[data-toggle="tooltip"]').tooltip();
$("select[readonly='readonly'] option:not(:selected)").attr('disabled', true);
$('body').on('shown.bs.modal', function (e) {
$("select[readonly='readonly'] option:not(:selected)").attr('disabled', true);
$('.modal.fade.in .selectpickerManual').selectpicker('render');
})
});
$(document).on('hidden.bs.modal', function (event) {
if ($('.modal:visible').length) {
$('body').addClass('modal-open');
}
});
/**
* Open pdf modal. Don't forget include modal #pdfModal DOM before call this function.
*
* @param {string} url Path to PDF.
* @param {string} title Modal title.
*
*/
function openPdf(url, title) {
if (url.length > 2) {
$('#pdfModal .modal-body').html('<div class="row"><iframe width="100%" style="height: 400px; border:none; margin-top: -16px; margin-bottom: -20px;" src="/pdf-viewer/web/viewer.html?file=' + url + '"></iframe></div>');
$('#pdfModal .modal-title').html(title);
$('#pdfModal .modal-footer a').attr("href", url);
$('#pdfModal').modal({
backdrop: 'static',
keyboard: false
});
}
}
/**
* Open private file manager modal. Don't forget include modal DOM before call this function.
*
* @param {string} modalSelector Modal element selector.
* @param {string} folder Folder path to open.
* @param {string} fieldId Field id to bind path value.
*
*/
function openFileManager(modalSelector, folder, fieldId) {
$(modalSelector + ' .modal-body').html('<div class="row filemanagerModal"><iframe id="fm-iframe" style="width: 100%; height: 400px; border:none;" src="/filemanagers/private/filemanager/filemanager/dialog.php?sort_by=name&descending=0&fldr=' + folder + (fieldId === undefined ? '' : '&field_id=' + fieldId) + '"></iframe></div>');
$(modalSelector).modal({
backdrop: 'static',
keyboard: false
});
}
/**
* Open public file manager modal. Don't forget include modal DOM before call this function.
*
* @param {string} modalSelector Modal element selector.
* @param {string} folder Folder path to open.
* @param {string} fieldId Field id to bind path value.
*
*/
function openPublicFileManager(modalSelector, fieldId) {
$(modalSelector + ' .modal-body').html('<div class="row filemanagerModal"><iframe id="fm-iframe" style="width: 100%; height: 400px; border:none;" src="/filemanagers/global/filemanager/filemanager/dialog.php?' + (fieldId === undefined ? '' : '&field_id=' + fieldId) + '"></iframe></div>');
$(modalSelector).modal({
backdrop: 'static',
keyboard: false
});
}
/**
* Render picture input inside viewId.
*
* @param {string} hiddenInputSelector Input selector for img hidden value (for form submit).
* @param {string} viewId Id of element where picture input renders.
* @param {string} value Img path to set as defalut value on render.
* @param {string} defaultImg Default img path (sets after current pic deletion).
*
*/
function setPictureAttachment(hiddenInputSelector, viewId, value, defaultImg) {
$("#" + viewId).html('<div onclick="removeAttachment(\'' + hiddenInputSelector + '\', \'' + viewId + '\', \'' + defaultImg + '\')" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-remove"></span></div><br><img style="width: 100px; margin-top: 5px" src="' + value + '">');
}
/**
* Render attachment input inside viewId.
*
* @param {string} hiddenInputSelector Input selector for attachment hidden value (for form submit).
* @param {string} viewId Id of element where attachment input renders.
* @param {string} value Attachment path to set as defalut value on render.
* @param {string} defaultFile Default attachment path (sets after current attachment deletion).
*
*/
function setAttachment(hiddenInputSelector, viewId, value, defaultFile) {
$("#" + viewId).html('<div onclick="removeAttachment(\'' + hiddenInputSelector + '\', \'' + viewId + '\', false, \'' + defaultFile + '\')" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-remove"></span></div><span style="margin-left: 5px">' + decodeURI(value.replace(/^.*[\\\/]/, '')) + '</span>');
}
function removeAttachment(hiddenInputSelector, viewId, defaultImg, defaultFile) {
$(hiddenInputSelector).val("");
$("#" + viewId).html('<span id="' + viewId + '">nie je vybraný žiadny súbor</span>');
if (defaultImg !== undefined && defaultImg !== false) {
setPictureAttachment(hiddenInputSelector, viewId, defaultImg, defaultImg);
$(hiddenInputSelector).val(defaultImg);
} else if (defaultFile !== undefined && defaultFile !== false) {
setAttachment(hiddenInputSelector, viewId, defaultFile, defaultFile);
$(hiddenInputSelector).val(defaultFile);
}
}
function clearDateInput(btn, event) {
btn.parent().prev("input").val("");
event.stopPropagation();
}
$(document).ready(function () {
$('a[href*="#"]:not([href="#"]):not([data-toggle])').click(function () {
if (location.pathname.replace(/^\//, '') === this.pathname.replace(/^\//, '') && location.hostname === this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
$('#go-top').goTop({
scrollTop: 100,
scrollSpeed: 1000,
fadeInSpeed: 1000,
fadeOutSpeed: 500
});
$('.modal').on('shown.bs.modal', function (e) {
$(".form_date").datetimepicker({
autoclose: true,
format: "dd.mm.yyyy",
minView: 'month',
language: Config.LANG,
weekStart: 1
});
$(".form_datetime").datetimepicker({
autoclose: true,
format: "dd.mm.yyyy hh:ii",
language: Config.LANG,
weekStart: 1
});
$(".form_advance_datetime").datetimepicker({
format: "dd MM yyyy - hh:ii",
autoclose: true,
todayBtn: true,
startDate: "2013-02-14 10:00",
minuteStep: 10,
language: Config.LANG,
weekStart: 1
});
$(".form_meridian_datetime").datetimepicker({
format: "dd MM yyyy - HH:ii P",
language: Config.LANG,
showMeridian: true,
autoclose: true,
todayBtn: true
});
// $('body').removeClass("modal-open"); // fix bug when inline picker is used in modal
// Workaround to fix datetimepicker position on window scroll
$(document).scroll(function () {
$('#form_modal1 .form_datetime, #form_modal1 .form_advance_datetime, #form_modal1 .form_meridian_datetime').datetimepicker('place'); //#modal is the id of the modal
});
})
});
Number.prototype.pad = function (size) {
var s = String(this);
while (s.length < (size || 2)) {
s = "0" + s;
}
return s;
}
function getUrlHashVariable(variable, url) {
if (url === undefined) {
url = window.location.href;
}
var hash = url.split("#");
if (hash.length < 2) {
return false;
}
var hashes = hash[1].split("&");
var vars = {};
for (var i = 0; i < hashes.length; i++) {
var explode = hashes[i].split("=");
vars[explode[0]] = explode[1];
}
if (vars[variable] === undefined) {
return false;
}
return vars[variable];
}
/***************************************_______________________V2_________________________***********************************************/
$(document).ready(function (e) {
$("body").on("click", ".btn.disabled, .btn:disabled", function (e) {
e.stopPropagation();
return false;
});
$(".datepicker").datetimepicker({
autoclose: true,
format: "dd.mm.yyyy",
language: Config.LANG,
weekStart: 1,
minView: 'month',
});
$(".datepicker-disable-past").datetimepicker({
autoclose: true,
format: "dd.mm.yyyy",
language: Config.LANG,
weekStart: 1,
minView: 'month',
startDate: new Date()
});
$("input[type='password']").each(function () {
$(this).before("<div style='text-align: right; color: #555; float: right;'><div style='cursor: pointer;' onclick='toggleInputPasswordType($(this))'><i class='fa fa-eye-slash'></i> zobrazit heslo</div></div>");
});
});
function toggleInputPasswordType(element) {
var input = element.parent().next();
console.log(input.attr("type"));
if (input.attr("type") === "password") {
element.html("<i class='fa fa-eye'></i> skryť heslo");
input.attr("type", "text");
} else {
element.html("<i class='fa fa-eye-slash'></i> zobrazit heslo");
input.attr("type", "password");
}
}
function applyReadOnly(elementSelector) {
$(elementSelector + " input, " + elementSelector + " select, " + elementSelector + " textarea").attr("disabled", true);
$(elementSelector + " .btn").addClass("disabled");
}
function applyReadOnlyModal(elementSelector) {
applyReadOnly(elementSelector);
$(elementSelector + " input.readOnlyActive").removeAttr("disabled");
$(elementSelector + " input.readOnlyActive").removeClass("disabled");
if (readOnly !== true) {
$(elementSelector + " input.edit-mode-switch").removeAttr("disabled");
}
}
function removeReadOnly(elementSelector) {
$(elementSelector + " input, " + elementSelector + " select, " + elementSelector + " textarea").removeAttr("disabled");
$(elementSelector + " .btn").removeClass("disabled");
}
function closeElementModal(modalSelector, formStateToCompare) {
var fs = formStateToCompare === undefined ? formState : formStateToCompare;
var modal = $(modalSelector);
if (isNaN(parseInt(modal.find("form input[name='id']").val()))) {
modal.find("button[data-dismiss='modal']").click();
} else {
if ($(modalSelector).find("form").serialize().length === 0 || fs === $(modalSelector).find("form").serialize()) {
modal.find("button[data-dismiss='modal']").click();
} else {
// console.log(fs);
// console.log($(modalSelector).find("form").serialize());
swal({
title: globalTranslates["Zmeny nebudú uložené!"],
type: "error",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: globalTranslates["Zavrieť bez uloženia"],
cancelButtonText: globalTranslates["Zostať"],
confirmButtonColor: Config.SWEET_ALERT_OK_BUTTON_INFO_COLOR,
closeOnConfirm: true,
closeOnCancel: true
},
function (isConfirm) {
if (isConfirm) {
modal.find("button[data-dismiss='modal']").click();
}
});
}
}
}
function closeParentModal(modal, defaultFormState, formState, closeForce) {
if (defaultFormState === formState || closeForce || formState.length === 0) {
modal.find("[data-dismiss='modal-disabled']").attr("data-dismiss", "modal");
modal.find("button[data-dismiss='modal']").click();
} else {
swal({
title: globalTranslates["Zmeny nebudú uložené!"],
type: "error",
showCancelButton: true,
confirmButtonClass: "btn-danger",
confirmButtonText: globalTranslates["Zavrieť bez uloženia"],
cancelButtonText: globalTranslates["Zostať"],
confirmButtonColor: Config.SWEET_ALERT_OK_BUTTON_INFO_COLOR,
closeOnConfirm: true,
closeOnCancel: true
},
function (isConfirm) {
if (isConfirm) {
modal.find("[data-dismiss='modal-disabled']").attr("data-dismiss", "modal");
modal.find("button[data-dismiss='modal']").click();
} else {
modal.one("click", "[data-dismiss='modal-disabled']", function (e) {
closeParentModal(modal, defaultFormState, $("#form-container form").serialize());
});
}
});
}
}
function openModalIframe(modal, title, url) {
if (url.length > 2) {
$(modal + ' .modal-body').html('<iframe width="100%" style="height: 100%; border:none;" src="' + url + '"></iframe>');
$(modal + ' .modal-title').html(title);
$(modal).modal({
backdrop: 'static',
keyboard: false
});
}
}
function revertGroupSelection(selector) {
$(selector).each(function () {
if ($(this).is(":checked")) {
$(this).prop('checked', false);
} else {
$(this).prop('checked', true);
}
});
refreshGroupActions();
}
function refreshGroupActions(selector, tempElementSelector, targetElementSelector) {
var checked = $(selector + ":checked").length;
if (checked > 0) {
$(targetElementSelector).html($(tempElementSelector).html());
} else {
$(targetElementSelector).html("");
}
$(targetElementSelector + " .count").each(function () {
$(this).html(checked);
});
}
function getGroupActionsValues(selector) {
var values = [];
$(selector).each(function () {
if ($(this).is(":checked")) {
values.push($(this).val());
}
});
return values;
}
function placeLoader(elementSelector) {
$(elementSelector).html('<h1 class="text-center"><i class="fa fa-spin fa-circle-notch"></i></h1>');
}
function loadRemoteHTML(targetSelector, sourceUrl, params, successCallback, errorCallback, failCallback, showFailAlerts, putLoader) {
if (putLoader !== false) {
placeLoader(targetSelector);
}
ajax(sourceUrl, "POST", params, function (response) {
$(targetSelector).html(response.data.html);
$(targetSelector + " [data-toggle='tooltip']").tooltip();
if (typeof successCallback === 'function') {
successCallback(response);
} else if (typeof eval(successCallback) === 'function') {
eval(successCallback)(response);
}
}, errorCallback, failCallback, showFailAlerts, true);
}
function openRemoteHTMLModal(modal, title, url, params, successCallback, errorCallback, failCallback, showFailAlerts, putLoader) {
$(modal + ' .modal-title').html(title);
$(modal).modal({
backdrop: 'static',
keyboard: false
});
if (typeof bootstrap !== 'undefined') {
let modalObject = new bootstrap.Modal(document.querySelector(modal), {
keyboard: false,
backdrop: 'static'
});
modalObject.show();
}
loadRemoteHTML(modal + ' .modal-body', url, params, successCallback, errorCallback, failCallback, showFailAlerts, putLoader);
}