var lock = false; var timeout; var XML_doc = null; var startDate = null; var endDate = null; var unlock = null; function pobierz(window_kontener, http_document, callback = null, callback_argument = null) { XML_doc = null; if (window.XMLHttpRequest) { XML_doc = new XMLHttpRequest(); } else if (window.ActiveXObject) { XML_doc = new ActiveXObject("Microsoft.XMLHTTP"); } if (XML_doc == null) { return; } unlock = setTimeout(function() { lock = false; hideWaiting(); }, 5000); if (lock == false) { lock = true; showWaiting(); timeout = setTimeout(function() { if (window_kontener != null) { window_kontener.innerHTML = '

'; } }, 200); XML_doc.open('GET', http_document, true); XML_doc.send(null); XML_doc.onreadystatechange = function() { if (XML_doc.readyState == (4 || 2)) { clearTimeout(unlock); clearTimeout(timeout); lock = false; hideWaiting(); var respond = XML_doc.responseText; if (window_kontener != null) { window_kontener.innerHTML = respond; if (callback != null) { callback(callback_argument); } } else { if (callback != null) { callback(respond); } } } //XML_doc = null; } } else { custom_alert("Poczekaj na zakończenie zadania które działa w tle"); } } function pobierz_abort() { if (XML_doc != null) { XML_doc.abort(); } } function getValue(element) { var type = element.tagName.toLowerCase(); if (type.localeCompare('textarea') === 0) { if (window.XMLHttpRequest) { return element.value; } else if (window.ActiveXObject) { return element.innerHTML; } } else { return element.value; } } function setValue(element, value) { var type = element.tagName.toLowerCase(); if (type.localeCompare('textarea') === 0) { if (window.XMLHttpRequest) { element.value = value; } else if (window.ActiveXObject) { element.innerHTML = value; } } else { element.value = value; } } function custom_alert(output_msg, title_msg) { if (!title_msg) { title_msg = 'Uwaga'; } $('
').html(output_msg).dialog({ closeText: "Zamknij", title: title_msg, width: 'auto', height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, resizable: false, modal: true, position: {my: "center top", at: "center top+40", of: window}, buttons: { "Ok": function() { $(this).dialog('close'); } }, close: function(event, ui) { $(this).dialog("destroy"); $('.dialog_default').remove(); } }); } function logout() { var out = window.location.href.replace(/:\/\//, '://log:out@'); jQuery.get(out).error(function() { window.location = 'index.php'; }); } function autocompleteLoadQuery() { $('#query').devbridgeAutocomplete({ serviceUrl: 'autocomplete.php', onSelect: function (suggestion) { completeQuery(suggestion.data); }, minChars: 3, deferRequestBy: 200, type: 'POST', autoSelectFirst: false }); } function completeQuery(value) { var input_message = document.getElementById('query'); setValue(input_message, value); szukaj('Szukaj'); } function szukaj(title) { var query = document.getElementById('query'); var content = document.getElementById('content'); pobierz(content, 'lista.php?query=' + encodeURIComponent(getValue(query)), init_map, 'osm-map'); } function filter_szukaj(e, title) { var key = e.keyCode || e.which; if (key == 13){ szukaj(title); } } function init_map(name) { var elements = document.getElementsByName(name); for (var i = 0; i < elements.length; i++) { // Height has to be set. You can do this in CSS too. elements[i].style = 'height:350px; z-index: 1;'; // Create Leaflet map on map element. var map = L.map(elements[i]); map.scrollWheelZoom.disable(); // Add OSM tile layer to the Leaflet map. L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', { attribution: '© OpenStreetMap contributors' }).addTo(map); if (elements[i].hasAttribute('lat') && elements[i].hasAttribute('lon')) { lat = elements[i].getAttribute('lat'); lon = elements[i].getAttribute('lon'); // Target's GPS coordinates. var target = L.latLng(lat, lon); } // Set map's center to target with zoom 14. map.setView(target, 17); // Place a marker on the same location. L.marker(target).addTo(map); } var input_message = document.getElementById('query'); setValue(input_message, ''); autocompleteLoadQuery(); } function completeLink(value, id) { var input_message = document.getElementById('query_link'); setValue(input_message, value); input_message.focus(); var select = document.getElementById('query_link_select'); var element = document.getElementById('kontener_link'); pobierz(element, 'link_list.php?filter=' + encodeURIComponent(getValue(input_message)) + '&select=' + encodeURIComponent(getValue(select)) + '&id=' + id, autocompleteLoadLink, ''); } function autocompleteLoadLink(id) { $('#query_link').devbridgeAutocomplete({ serviceUrl: 'autocomplete.php', onSelect: function (suggestion) { completeLink(suggestion.data, id); }, minChars: 3, deferRequestBy: 200, type: 'POST' }); } var theDialog = null; function link(title, id) { var paramatrs = { closeText: "Zamknij", autoOpen: false, width: 700, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: false, title: title, buttons: { "Zamknij": function() { theDialog.dialog('close'); } }, open: function(event, ui) { //pobierz(element, 'link_list.php?id=' + id, autocompleteLoadLink, ''); }, close: function(event, ui) { $('#dialog_link').remove(); theDialog = null; }, }; if (theDialog == null) { $('body').append(''); theDialog = $("#dialog_link").dialog(paramatrs); theDialog.dialog('open'); } else { theDialog.dialog(paramatrs); theDialog.dialog("moveToTop"); } var element = document.getElementById('kontener_link'); pobierz(element, 'link_list.php?id=' + id, autocompleteLoadLink, id); } function filter_link(e, id, no_key = false) { var key = e.keyCode || e.which; if (key == 13 || no_key){ var filter = document.getElementById('query_link'); var select = document.getElementById('query_link_select'); var element = document.getElementById('kontener_link'); pobierz(element, 'link_list.php?filter=' + encodeURIComponent(getValue(filter)) + '&select=' + encodeURIComponent(getValue(select)) + '&id=' + id, autocompleteLoadLink, id); } } function link_rem(id, strefa, begin, filter, select) { send_post('link_mod.php' + '?id=' + encodeURIComponent(id) + '&strefa=0', null, 'link_list.php?id=' + strefa + '&begin=' + begin + '&filter=' + encodeURIComponent(filter) + '&select=' + encodeURIComponent(select), 'kontener_link'); } function link_add(id, strefa, begin, filter, select) { send_post('link_mod.php' + '?id=' + encodeURIComponent(id) + '&strefa=' + strefa, null, 'link_list.php?id=' + strefa + '&begin=' + begin + '&filter=' + encodeURIComponent(filter) + '&select=' + encodeURIComponent(select), 'kontener_link'); } function completeUlice(value) { var input_message = document.getElementById('query_ulice'); setValue(input_message, value); input_message.focus(); var element = document.getElementById('kontener_ulice'); pobierz(element, 'ulice_list.php?filter=' + encodeURIComponent(getValue(input_message)), autocompleteLoadUlice, ''); } function autocompleteLoadUlice() { $('#query_ulice').devbridgeAutocomplete({ serviceUrl: 'autocomplete.php', onSelect: function (suggestion) { completeUlice(suggestion.data); }, minChars: 3, deferRequestBy: 200, type: 'POST' }); } function ulice(title) { $('body').append('
'); var element = document.getElementById('kontener_ulice'); $("#dialog_ulice").dialog({ closeText: "Zamknij", autoOpen: false, width: 700, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: false, title: title, buttons: { "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'ulice_list.php', autocompleteLoadUlice, ''); }, close: function(event, ui) { $('#dialog_ulice').remove(); }, }); $("#dialog_ulice").dialog('open'); } function filter_ulice(e, no_key = false) { var key = e.keyCode || e.which; if (key == 13 || no_key){ var filter = document.getElementById('query_ulice'); var select = document.getElementById('query_ulice_select'); var element = document.getElementById('kontener_ulice'); pobierz(element, 'ulice_list.php?filter=' + encodeURIComponent(getValue(filter)) + '&select=' + encodeURIComponent(getValue(select)), autocompleteLoadUlice, ''); } } function ulice_add(title, mode = 0, id = 0, begin = 0) { $('body').append('
'); var element = document.getElementById('kontener_ulice_add'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Zapisz": function() { var query = getPostString('element_add'); send_post('ulice_add_exec.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id), query, 'ulice_list.php' + '?begin=' + encodeURIComponent(begin), 'kontener_ulice'); }, "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'ulice_add.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id)); }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function ulice_rem(title, message, id = 0, begin = 0) { $('body').append('
' + message + '
'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Usuń": function() { send_post('ulice_rem_exec.php' + '?id=' + encodeURIComponent(id), null, 'ulice_list.php' + '?begin=' + encodeURIComponent(begin), 'kontener_ulice'); }, "Anuluj": function() { $(this).dialog('close'); } }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function address(title, lat, lon) { $('body').append('
'); var element = document.getElementById('kontener_address'); $("#dialog_address").dialog({ closeText: "Zamknij", autoOpen: false, width: 700, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: false, title: title, buttons: { "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'address.php?lat=' + encodeURIComponent(lat) + '&lon=' + encodeURIComponent(lon)); }, close: function(event, ui) { $('#dialog_address').remove(); }, }); $("#dialog_address").dialog('open'); } function filter_address(e, lat, lon, no_key = false) { var key = e.keyCode || e.which; if (key == 13 || no_key){ var filter = document.getElementById('query_address'); var element = document.getElementById('kontener_address'); pobierz(element, 'address.php?filter=' + encodeURIComponent(getValue(filter)) + '&lat=' + encodeURIComponent(lat) + '&lon=' + encodeURIComponent(lon)); } } function address_select(lat, lon, lat_val, lon_val) { var element_lat = document.getElementById(lat); var element_lon = document.getElementById(lon); setValue(element_lat, lat_val); setValue(element_lon, lon_val); $('#dialog_address').dialog('close'); } function strefa(title) { $('body').append('
'); var element = document.getElementById('kontener_strefa'); $("#dialog_strefa").dialog({ closeText: "Zamknij", autoOpen: false, width: 700, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: false, title: title, buttons: { "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'strefa_list.php'); }, close: function(event, ui) { $('#dialog_strefa').remove(); }, }); $("#dialog_strefa").dialog('open'); } function filter_strefa(e) { var key = e.keyCode || e.which; if (key == 13){ var filter = document.getElementById('query_strefa'); var element = document.getElementById('kontener_strefa'); pobierz(element, 'strefa_list.php?filter=' + encodeURIComponent(getValue(filter))); } } function strefa_add(title, mode = 0, id = 0, begin = 0) { $('body').append('
'); var element = document.getElementById('kontener_strefa_add'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Zapisz": function() { var query = getPostString('element_add'); send_post('strefa_add_exec.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id), query, 'strefa_list.php' + '?begin=' + encodeURIComponent(begin), 'kontener_strefa'); }, "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'strefa_add.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id)); }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function strefa_rem(title, message, id = 0, begin = 0) { $('body').append('
' + message + '
'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Usuń": function() { send_post('strefa_rem_exec.php' + '?id=' + encodeURIComponent(id), null, 'strefa_list.php' + '?begin=' + encodeURIComponent(begin), 'kontener_strefa'); }, "Anuluj": function() { $(this).dialog('close'); } }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function uzytkownicy(title) { $('body').append('
'); var element = document.getElementById('kontener_uzytkownicy'); $("#dialog_uzytkownicy").dialog({ closeText: "Zamknij", autoOpen: false, width: 600, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'uzytkownicy_list.php'); }, close: function(event, ui) { $('#dialog_uzytkownicy').remove(); }, }); $("#dialog_uzytkownicy").dialog('open'); } function uzytkownicy_add(title, mode = 0, id = 0) { $('body').append('
'); var element = document.getElementById('kontener_uzytkownicy_add'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Zapisz": function() { var query = getPostString('element_add'); var password = document.getElementById('uzytkownicy_haslo'); var password_compare = document.getElementById('uzytkownicy_haslo_repeat'); if (password.value == password_compare.value) { send_post('uzytkownicy_add_exec.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id), query, 'uzytkownicy_list.php', 'kontener_uzytkownicy'); } else { alert("Hasła nie są równe"); } }, "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { pobierz(element, 'uzytkownicy_add.php' + '?mode=' + encodeURIComponent(mode) + '&id=' + encodeURIComponent(id)); }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function uzytkownicy_rem(title, message, id = 0) { $('body').append('
' + message + '
'); $("#dialog_manage").dialog({ closeText: "Zamknij", autoOpen: false, width: 250, height: 'auto', show: {effect: "slideDown", duration: 150}, hide: {effect: "slideUp", duration: 150}, position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Usuń": function() { send_post('uzytkownicy_rem_exec.php' + '?id=' + encodeURIComponent(id), null, 'uzytkownicy_list.php', 'kontener_uzytkownicy'); }, "Anuluj": function() { $(this).dialog('close'); } }, close: function(event, ui) { $('#dialog_manage').remove(); }, }); $("#dialog_manage").dialog('open'); } function upload_form(title) { $('body').append('
Nazwy ulic z bazy TERYT
'); var element = document.getElementById('kontener_dialog_upload_form'); $("#dialog_upload_form").dialog({ autoOpen: false, width: 350, height: 'auto', position: {my: 'top', at: 'top+40'}, resizable: false, modal: true, title: title, buttons: { "Importuj": function() { uploadNoFile(element); }, "Zamknij": function() { $(this).dialog('close'); } }, open: function(event, ui) { }, close: function(event, ui) { $('#dialog_upload_form').remove(); } }); $("#dialog_upload_form").dialog('open'); } function uploadFile(element) { formData = new FormData(); formData.append("file", fileupload.files[0]); element.innerHTML = '

'; send_post('import.php', formData, null, null, false, closeFileDialog, null, true); } function uploadNoFile(element) { element.innerHTML = '

'; send_post('import.php', null, null, null, false, closeFileDialog, null, true); } function closeFileDialog(responce) { $('#dialog_upload_form').dialog('close'); switch (responce){ case "OKF": custom_alert("Dane zostały zaimportowane"); break case "ERF": custom_alert("Wystąpił błąd podczas importu"); break case "ERI": custom_alert("Nieprawidłowy plik importu"); break default: custom_alert("Wystąpił nieoczekiwany błąd podczas importu"); } } function showWaiting() { waiting = setTimeout(function() { $("#overlay").show(); }, 300); } function hideWaiting() { if (waiting != null) { clearTimeout(waiting); $("#overlay").hide(); } } function send_post(document_php, post_data, lista, lista_kontener, json = false, callback = null, callback_argument = null, file = false) { if (lock == false) { lock = true; showWaiting(); XML_doc = null; if (window.XMLHttpRequest) { XML_doc = new XMLHttpRequest(); } else if (window.ActiveXObject) { XML_doc = new ActiveXObject("Microsoft.XMLHTTP"); } if (XML_doc == null) { return; } unlock = setTimeout(function() { lock = false; hideWaiting(); }, 5000); XML_doc.open('POST', document_php, true); if (file) { //ignore force AJAX to generate with boundry } else { XML_doc.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); } XML_doc.send(post_data); XML_doc.onreadystatechange = function() { if (XML_doc.readyState == (4 || 2)) { clearTimeout(unlock); lock = false; hideWaiting(); var responce = XML_doc.responseText; if (responce.startsWith("OK_DIALOG")) { /*var array = null; try { var json = responce.slice(17); array = JSON.parse(json); } catch(err) { alert(err.message); } if (array != null) { $("#dialog_all_secound").dialog('close'); set_select_zp_id(array['id'], array['numer']); }*/ } else if (responce.startsWith("OK_FILE")) { if (lista != null && lista_kontener != null) { var element = document.getElementById(lista_kontener); pobierz(element, lista); } var file = responce.slice(8); window.open( 'file.php' + '?file=' + encodeURIComponent(file), '_blank' ); } else if (json) { var array = null; try { array = JSON.parse(responce); } catch(err) { alert(err.message); } if (array != null) { if (array['state'] == 'success') { if (callback != null && array['dataset'].hasOwnProperty(callback_argument)) { callback(array['dataset'][callback_argument]); } else if (lista != null && lista_kontener != null) { custom_alert(array['message']); var element = document.getElementById(lista_kontener); pobierz(element, lista); } else { custom_alert(array['message']); } } else { custom_alert(array['message']); } } } else if (json == false && callback != null) { callback(responce); } else { switch (responce){ case "LOGOUT": window.location.reload(true); break; case "OK": $("#dialog_manage").dialog('close'); if (lista != null && lista_kontener != null) { var element = document.getElementById(lista_kontener); pobierz(element, lista); } break case "ERROR1": custom_alert("Błąd, sprawź dane w formularzu"); break case "ERROR2": custom_alert("Zmiany nie zostały zapisane"); break case "ERROR3": custom_alert("Błąd, nie mozna dodać rekordu"); break case "ERROR4": custom_alert("Nieoczekiwany wyjątek"); break case "ERROR5": custom_alert("Nie mozna usunąć strefy"); break case "ERROR6": custom_alert("Nie mozna usunąć użytkownika"); break case "ERROR7": custom_alert("Nie mozna usunąć jedynego administratora"); break case "ERROR8": custom_alert("Hasło nie spełnia wymagań"); break case "ERROR9": custom_alert("Nie mozna zmienić uprawnień"); break case "ERROR10": custom_alert("Nie mozna raportu"); break case "ERROR11": custom_alert("Stan nie został wyzerowany"); break default: custom_alert("Nieoczekiwany błąd"); break } } } } } else { custom_alert("Poczekaj na zakończenie zadania które działa w tle"); } } function getPostString(name) { var elements = document.getElementsByName(name); var query = ''; for (var i = 0; i < elements.length; i++) { var value = ''; var type = elements[i].tagName.toLowerCase(); if (type.localeCompare('textarea') === 0) { if (window.XMLHttpRequest) { value = elements[i].value; } else if (window.ActiveXObject) { value = elements[i].innerHTML; } } else { value = elements[i].value; } var id = elements[i].id; query += (id + '=' + encodeURIComponent(value)); if (i < elements.length - 1) { query += '&'; } } return query; } function allowOnlyAmountAndDot(txt) { if(event.keyCode > 47 && event.keyCode < 58 || event.keyCode == 46) { var txtbx=document.getElementById(txt); var amount = document.getElementById(txt).value; var present=0; var count=0; if(amount.indexOf(".",present)||amount.indexOf(".",present+1)) { // alert('0'); } /*if(amount.length==2) { if(event.keyCode != 46) return false; }*/ do { present=amount.indexOf(".",present); if (present!=-1) { count++; present++; } } while (present!=-1); if (present==-1 && amount.length==0 && event.keyCode == 46) { event.keyCode=0; //alert("Wrong position of decimal point not allowed !!"); return false; } if (count>=1 && event.keyCode == 46) { event.keyCode=0; //alert("Only one decimal point is allowed !!"); return false; } if (count==1) { var lastdigits=amount.substring(amount.indexOf(".")+1,amount.length); if(lastdigits.length>=2) { //alert("Two decimal places only allowed"); event.keyCode=0; return false; } } return true; } else { event.keyCode=0; //alert("Only Numbers with dot allowed !!"); return false; } } function handleKeyPress(e){ var key=e.keyCode || e.which; if (key==13){ szukaj('Szukaj'); } } function initDataPicker() { $('#datetimepicker').daterangepicker({ timePicker: false, singleDatePicker: false, showDropdowns: false, minYear: 2017, maxYear: 2019, timePicker24Hour: true, autoUpdateInput: false, locale: { format: 'DD/MM/YYYY', cancelLabel: 'Anuluj', applyLabel: "Wybierz", "daysOfWeek": [ "Nd", "Po", "Wt", "Śr", "Cz", "Pi", "So" ], "monthNames": [ "Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Śierpień", "Wrześień", "Październik", "Listopad", "Grudzień" ] } }); $('#datetimepicker').on('apply.daterangepicker', function(ev, picker) { startDate = picker.startDate; endDate = picker.endDate; $(this).val(picker.startDate.format('DD/MM/YYYY') + ' - ' + picker.endDate.format('DD/MM/YYYY')); }); } $(document).ready(function(){ autocompleteLoadQuery(); })