diff --git a/js/background.js b/js/background.js
new file mode 100644
index 0000000..6ecc1d8
--- /dev/null
+++ b/js/background.js
@@ -0,0 +1,229 @@
+let prevRequests = [];
+let headers = [];
+let stacja;
+let requestResult;
+let decodedData;
+chrome.webRequest.onSendHeaders.addListener(
+ (res) => {
+ if (res.method == "POST") {
+ if (res.url.endsWith("getgeoidx") == true) {
+ console.log("new header")
+ //prevRequests.push(res);
+ headers.push(res.requestHeaders);
+ if (headers.length > 1) {
+ headers.shift();
+ }
+ }
+ }
+ },
+ { urls: ["*://*.tauron-dystrybucja.pl/*"] },
+ ["requestHeaders"]
+);
+
+chrome.webRequest.onBeforeRequest.addListener(
+ (res) => {
+ if (res.method == "POST") {
+ if (res.url.endsWith("getgeoidx") == true) {
+ console.log("new decoded data")
+ prevRequests.push(res);
+ let results = res.requestBody.raw[0].bytes;
+ var decoder = new TextDecoder("utf-8");
+ decodedData = decoder.decode(new Uint8Array(results));
+ port1.postMessage({
+ command: "STARTED",
+ data: decodedData,
+ });
+
+ if (prevRequests.length > 1) {
+ prevRequests.shift();
+ }
+ }
+ } else if (res.method == "GET") {
+ if (
+ res.url.startsWith(
+ "https://pdse.tauron-dystrybucja.pl/backend/api/objdata/STACJE_SN_NN"
+ ) == true
+ ) {
+ stacja = res;
+ port1.postMessage({ command: "gotStacja" });
+ }
+ }
+ },
+ { urls: ["*://*.tauron-dystrybucja.pl/*"] },
+ ["requestBody"]
+);
+
+let port1;
+function connected(port) {
+ port1 = port;
+ port1.postMessage({ greeting: "hi there content script!" });
+ port1.onMessage.addListener(function (m) {
+ if (m.response == "fetchStacja") {
+ console.log("fetching stacja");
+ sendStacja();
+ }
+ if (m.response == "getLines") {
+ getLines();
+ }
+ if (m.response == "getChelmiec") {
+ getChelmiec(m.XMIN, m.YMIN, m.XMAX, m.YMAX);
+ }
+ if (m.response == "getLososina") {
+ getLososina(m.XMIN, m.YMIN, m.XMAX, m.YMAX);
+ }
+ if (m.response == "getNawojowa") {
+ getNawojowa(m.X, m.Y);
+ }
+ });
+}
+
+chrome.runtime.onConnect.addListener(connected);
+
+function getLines() {
+ const URL = "https://pdse.tauron-dystrybucja.pl/backend/api/getgeoidx";
+ fetch(URL, {
+ headers: {
+ "Content-Type": "application/json",
+ accept: "application/json, text/plain, */*",
+ tokenauthorization: headers[0][1].value,
+ userobjcfg: "default",
+ },
+
+ referrerPolicy: "strict-origin-when-cross-origin",
+ body: decodedData,
+ contentType: "application/json",
+ method: "POST",
+ mode: "cors",
+ credentials: "include",
+ })
+ .then((response) => response.json())
+ .then((data) => {
+ port1.postMessage({ command: "linesResult", result: data });
+ });
+}
+
+sendStacja = function () {
+ fetch(stacja.url, {
+ headers: {
+ "Content-Type": "application/json",
+ accept: "application/json, text/plain, */*",
+ tokenauthorization: headers[0][1].value,
+ userobjcfg: "default",
+ },
+
+ referrerPolicy: "strict-origin-when-cross-origin",
+ body: null,
+ contentType: "application/json",
+ method: "GET",
+ mode: "cors",
+ credentials: "include",
+ })
+ .then((response) => response.json())
+ .then((data) => {
+ requestResult = data;
+ port1.postMessage({ command: "stacjaResult", result: data });
+ });
+};
+
+sendReq = function (word) {
+ console.log("Sent");
+ console.log(prevRequests);
+ console.log(headers[0][1].value);
+ console.log("Sent!");
+ fetch("https://pdse.tauron-dystrybucja.pl/backend/api/getgeoidx", {
+ headers: {
+ "Content-Type": "application/json",
+ accept: "application/json, */*",
+ tokenauthorization: headers[0][1].value,
+ userobjcfg: "default",
+ },
+
+ referrerPolicy: "strict-origin-when-cross-origin",
+ body: '{"RB_FSC":"137,161,162,167,2,219,230,24,25,250,266,313,314,34,38,45,51,812,818,90,9950,9970,9980,9990,9991,9992,9993,9994,9999,3","X_MAX":"6705127.402055972","Y_MAX":"5491701.2425827375","X_MIN":"6703447.475837239","Y_MIN":"5490882.779127167","LEVEL":-1}',
+ contentType: "application/json",
+ method: "POST",
+ mode: "cors",
+ credentials: "include",
+ })
+ .then((response) => response.json())
+ .then((data) => console.log(data));
+};
+
+chrome.contextMenus.create({
+ title: "Więcej o stacji",
+ contexts: ["all"], // ContextType
+ onclick: sendStacja, // A callback function
+});
+
+function getChelmiec(XMIN, YMIN, XMAX, YMAX) {
+ let X = XMIN + Math.abs((XMAX - XMIN) / 2);
+ let Y = YMIN + Math.abs((YMAX - YMIN) / 2);
+
+ let link = makeid(6);
+ console.log(link);
+
+ fetch("https://sip.chelmiec.pl/rest/v1/links/", {
+ headers: {
+ accept: "*/*",
+ "accept-language": "pl-PL,pl;q=0.9",
+ "content-type": "application/x-www-form-urlencoded",
+ },
+ referrer: "https://sip.chelmiec.pl/?link=" + link,
+ body: `name=${link}&config=99998poi100false99999info100true730ulice100true390ot_kuos_a100false400ot_ptut_a100false420ot_ptkm_a100false410ot_kuko_a100false440ot_busp_a100false430ot_bucm_a100false445ot_ptrk_a100false450ot_ptpl_a100false460ot_ptnz_a100false470ot_kumn_a100false480ot_swrs_l100false500ot_skdr_l100false510ot_skrp_l100false520ot_suln_l100false530ot_oipr_p100false540ot_oikm_p100false685gmina_zmiany_mpzp100true680gmina_aglomeracja100false30grupa_ortofotomapa100true0osm100false700ipmap_ewidencja_budynki_t100false50obreby_ewidencyjne100true40warstwa_studium_uwarunkowania_dociete100true320ot_ptlz_a100false330ot_ptzb_a100false340ot_pttr_a100false350ot_ptwp_a100false360ot_kupg_a100false370ot_kusc_a100false380ot_kusk_a100false490ot_swrm_l100false47grupa_mpzp100true45warstwa_studium_kierunk_dociete100true690ipmap_ewidencja_dzialki_egib100true240gdos_uzytkiekologiczne100false710punkt_adresowy100true100cbdgmapa_tereny_gornicze100false170gdos_rezerwaty100false180gdos_zespolyprzyrodniczokrajobrazowe100false190gdos_parkikrajobrazowe100false60mapa_plk_zaklady100false200gdos_obszarychronionegokrajobrazu100false70mapa_plk_stacje_przystanki100false80mapa_plk_linie_kolejowe100false210gdos_specjalneobszaryochrony100false90cbdgmapa_obszary_gornicze100false220gdos_obszaryspecjalnejochrony100false250gdos_pomnikiprzyrody100false120cbdgmapa_granice_zloz100false130cbdgmapa_osuwiska100false140cbdgmapa_ruchy_masowe100false150cbdgmapa_granice_osuwisk100false160cbdgmapa_osuwiska_centroidy100false260sozo_geoportal100false230gdos_stanowiskadokumentacyjne100false290mt_geoportal100false300pr_miip100false${X}${Y}7`,
+ method: "POST",
+ referrerPolicy: "same-origin",
+ })
+ .then((response) => response.text())
+ .then((str) => {
+ console.log("https://sip.chelmiec.pl/?link=" + link);
+ port1.postMessage({ command: "gminaResult", result: "https://sip.chelmiec.pl/?link=" + link });
+ });
+}
+
+function getLososina(XMIN, YMIN, XMAX, YMAX) {
+ let X = Number(XMIN) + Math.abs((XMAX - XMIN) / 2);
+ let Y = Number(YMIN) + Math.abs((YMAX - YMIN) / 2);
+
+ let link = makeid(6);
+ console.log(link, X);
+
+ fetch("http://195.116.43.211/app/modules/permanentLink/serwer/serwer_links.php", {
+ headers: {
+ accept: "*/*",
+ "accept-language": "pl-PL,pl;q=0.9",
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
+ "x-requested-with": "XMLHttpRequest"
+ },
+ referrer: "http://195.116.43.211/",
+ body: `link=${link}&xml=%3Clink%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eortofotomapa_2015%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Etrue%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eortofotomapa%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eock_gdos%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Epp_gdos%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Esozo_geoportal%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Enmt_cien_geoportal%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Emt_geoportal%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Epr_miip%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Estudium%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eipplan_zasieg_planow%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_02%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_1%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_10%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_straty_10%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_straty_1%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mrp_uzytkowanie_straty_02%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_glebokosc_10%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_glebokosc_1%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_glebokosc_02%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_kilometraz%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_obszar_zagrozenia_pow_rzeki_02%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_osuwiska_pow%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_osuwiska_lin%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_zrodla%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_formy_szczeliny%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_zglebienia%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_rumosze%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_formy_nisze%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_obszary_zagrozone%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_formy_rowy%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_gis_formy_czola%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_formy_progi%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_sopo_formy_progi_akum%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_obszar_zagrozenia_pow_rzeki_1%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egmina_mzp_obszar_zagrozenia_pow_rzeki_10%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptlz_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptzb_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_pttr_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptwp_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_oimk_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_tcrz_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_tcon_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kupg_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kusc_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kusk_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kuos_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptut_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptkm_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kuko_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_bucm_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_busp_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptrk_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptpl_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptnz_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_ptgn_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_kumn_a%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_oior_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_busp_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_swrs_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_skdr_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_skrp_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_suln_l%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_oipr_p%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eot_oikm_p%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_plan%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2011030401%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2012060101%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2012060102%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2012072501%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2014021701%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Empzp_dociete_2014021702%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_mpzp_dociete_2015071001%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Empzp_dociete_2015122901%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2016100701%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Ewarstwa_mpzp_2017070701_dociete%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2017092201%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2018032301%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Ewarstwa_mpzp_201807060101_dociete%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2020020702%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2020093001%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_2020093002%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Egrupa_obreby%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Etrue%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eipmap_ewidencja_dzialki_egib%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eipmap_ewidencja_dzialki_lpis%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Eulice%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Ebudynki%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Etrue%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3E0%3C%2Fposition%3E%3Cid%3Epunkt_adresowy%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Efalse%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3Eundefined%3C%2Fposition%3E%3Cid%3Ewarstwa_info%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Etrue%3C%2Fvisibility%3E%3C%2Flayer%3E%3Clayer%3E%3Cposition%3Eundefined%3C%2Fposition%3E%3Cid%3Ewarstwa_poi%3C%2Fid%3E%3Copacity%3E100%3C%2Fopacity%3E%3Cvisibility%3Etrue%3C%2Fvisibility%3E%3C%2Flayer%3E%3Ctree%3E%3Cnode%3E%3Cid%3Ewarstwy_bazowe%3C%2Fid%3E%3Cchecked%3Etrue%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Edzialki_budynki%3C%2Fid%3E%3Cchecked%3Etrue%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Eemuia%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Ezagospodarowanie_przestrzenne%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Ewarstwy_mapy_ryz_pow%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Ewarstwy_zagr_pow%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Ewarstwy_tbd%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Ewarstwy_tbd%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Emiip%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Egdos%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Egeoportal%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3Cnode%3E%3Cid%3Epoi_kategoria_%3C%2Fid%3E%3Cchecked%3Efalse%3C%2Fchecked%3E%3C%2Fnode%3E%3C%2Ftree%3E%3Cx_pos%3E${X}%3C%2Fx_pos%3E%3Cy_pos%3E${Y}%3C%2Fy_pos%3E%3Czoom%3E4%3C%2Fzoom%3E%3C%2Flink%3E`,
+ method: "POST",
+ referrerPolicy: "same-origin",
+ "credentials": "omit"
+ })
+ .then((response) => response.text())
+ .then((str) => {
+ console.log("http://195.116.43.211/?link=" + link);
+ port1.postMessage({ command: "gminaResult", result: "http://195.116.43.211/?link=" + link });
+ });
+}
+
+function getNawojowa(X, Y) {
+
+ let link = `https://sip.gison.pl/nawojowa?zoom=18.45&lat=${X}&lng=${Y}`;
+ console.log(link);
+ port1.postMessage({ command: "gminaResult", result: link })
+
+}
+
+function makeid(length) {
+ let result = "";
+ const characters =
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
+ const charactersLength = characters.length;
+ let counter = 0;
+ while (counter < length) {
+ result += characters.charAt(Math.floor(Math.random() * charactersLength));
+ counter += 1;
+ }
+ return result;
+}
diff --git a/js/content.js b/js/content.js
new file mode 100644
index 0000000..bdd7d00
--- /dev/null
+++ b/js/content.js
@@ -0,0 +1,74 @@
+let data = sessionStorage.getItem("PDSEtoken");
+
+let currentLine = "";
+let dropdownState = 0;
+
+var port = chrome.runtime.connect({ name: "port" });
+let stacjaReq = 0;
+
+let MapOn = false;
+let MapData;
+const geoButton = document.createElement("button");
+const googleButton = document.createElement("button");
+const isokButton = document.createElement("button");
+const sopoButton = document.createElement("button");
+const gdosButton = document.createElement("button");
+const drogiButton = document.createElement("button");
+const dzialkiButton = document.createElement("button");
+const dzialki2Button = document.createElement("button");
+const osuwiskaButton = document.createElement("button");
+const mpzpButton = document.createElement("button");
+
+const dropdownButton = document.createElement("div");
+
+const sectionDraw = document.createElement("button");
+const sectionDownload = document.createElement("button");
+
+const posButton = document.createElement("button");
+const lineButton = document.createElement("button");
+
+port.onMessage.addListener(function (msg) {
+ handleMessage(msg);
+});
+
+function purgeTable(attr) {
+ while (attr.childNodes[1].childNodes.length > 18) {
+ attr.childNodes[1].childNodes[
+ attr.childNodes[1].childNodes.length - 1
+ ].remove();
+ }
+}
+
+function drawButton(attr) {
+ const row = attr.insertRow(-1);
+ const cell1 = row.insertCell(0);
+ const cell2 = row.insertCell(1);
+
+ const button = document.createElement("button");
+ button.appendChild(document.createTextNode("Więcej"));
+ cell1.appendChild(button);
+ button.onclick = buttonClick;
+
+ function buttonClick() {
+ stacjaReq = 1;
+ row.remove();
+ port.postMessage({ response: "fetchStacja" });
+ }
+}
+
+function insertRow(parent, txt1, txt2) {
+ const row = parent.insertRow(-1);
+ const cell1 = row.insertCell(0);
+ const cell2 = row.insertCell(1);
+
+ cell1.innerHTML = txt1;
+ cell2.innerHTML = txt2;
+}
+
+function insertRows(parent, txts1, txts2) {
+ if (txts1.length == txts2.length) {
+ for (const txt in txts1) {
+ insertRow(parent, txts1[txt], txts2[txt]);
+ }
+ }
+}
diff --git a/js/core.js b/js/core.js
new file mode 100644
index 0000000..06d7405
Binary files /dev/null and b/js/core.js differ