Dansk
العربية
Azerbaijani
Català
中文
Hrvatski
Čeština
Dansk
Nederlands
English
Estonian
Persian
Français
Deutsch
עברית
Magyar
Italiano
Macedonian
Norwegian
Português
Português
Română
Русский
Српски
Español
Svenska
Türkçe
Українська
Log ind
Registrer
Vis bestillingskurv
Skift navigation
Kundeside
Butik
Gennemse alle
-----
Wordpress & Wocommerce hosting
Reseller Hosting
Dedicated serveri
KVM NVMe VPS
Cloud PBX centrala
E-mail-tjenester
-----
Registrer et nyt domæne
Overfør domæne til os
Annonceringer
Vidensdatabase
Netværksstatus
Partnere
Kontakt os
Konto
Log ind
Registrer
-----
Glemt adgangskode?
Ny Sag
Support
Kundeside
Support sager
Opret sag
Navn
E-mail adresse
Emne
Afdeling
Podrška
VPS support
Domeni
WordPress podrška
Prjiava zloupotrebe
Prioritet
Høj
Medium
Lav
Besked
Vedhæftninger
Tilføj mere
Tilladte filtyper: .jpg, .gif, .jpeg, .png, .txt, .pdf (Maks. Filstørrelse: 2MB)
Annuller
Powered by
WHMCompleteSolution
Ophavsret © 2025 HostArena. Alle rettigheder forbeholdes.
×
Luk sag
Indlæser…
×
Generer adgangskode
Indtast et tal mellem 8 og 64 for adgangskodens længde
Adgangskodelængde
Genereret adgangskode
Generer ny adgangskode
Kopier
Provera u toku...
document.addEventListener("DOMContentLoaded", function () { const maticniField = document.querySelector("#customfield22"); // ← ISPRAVLJENO const pibField = document.querySelector("input[name='customfield[21]']"); const typeField = document.querySelector("select[name='customfield[32]']"); const companyField = document.querySelector("input[name='companyname']"); const addressField = document.querySelector("input[name='address1']"); const cityField = document.querySelector("input[name='city']"); const loader = document.getElementById("nbs-loader"); const errorBox = document.getElementById("nbs-error"); if (!maticniField) { console.log("MBR FIELD NOT FOUND!"); return; } let timer; function validatePIB(pib) { if (!/^\d10$/.test(pib)) return false; let digits = pib.split("").map(Number); let control = digits[9]; let sum = 0; for (let i = 0; i < 9; i++) { sum += digits[i] * (i + 1); } let mod = sum % 11; if (mod === 1) return false; let calc = (mod === 0) ? 0 : (11 - mod); return calc === control; } function checkPDV(pib) { fetch("aprilookup.php?pib=" + pib) .then(r => r.json()) .then(data => { if (data.obveznikPdv === true) { errorBox.style.display = "block"; errorBox.style.color = "green"; errorBox.innerText = "✔ Firma je u sistemu PDV-a"; } else { errorBox.style.display = "block"; errorBox.style.color = "#cc0000"; errorBox.innerText = "✖ Firma NIJE u sistemu PDV-a"; } }); } function setLoading(state) { if (state) { loader.style.display = "block"; companyField.disabled = true; addressField.disabled = true; cityField.disabled = true; pibField.disabled = true; } else { loader.style.display = "none"; companyField.disabled = false; addressField.disabled = false; cityField.disabled = false; pibField.disabled = false; } } function showError(msg) { errorBox.style.display = "block"; errorBox.style.color = "#cc0000"; errorBox.innerText = msg; } function clearError() { errorBox.style.display = "none"; errorBox.innerText = ""; } function lookupNBS(code) { setLoading(true); fetch("register.php?nbslookup=" + encodeURIComponent(code)) .then(r => r.json()) .then(data => { setLoading(false); if (!data["Пословно име"]) { showError("Firma nije pronađena u NBS registru."); return; } clearError(); companyField.value = data["Пословно име"] ?? ""; addressField.value = data["Адреса"] ?? ""; cityField.value = data["Место"] ?? ""; pibField.value = data["Порески број"] ?? ""; if (!validatePIB(pibField.value)) { showError("PIB nije validan prema kontrolnoj cifri!"); return; } checkPDV(pibField.value); }) .catch(err => { setLoading(false); showError("Greška pri komunikaciji sa NBS."); }); } maticniField.addEventListener("keyup", function () { clearTimeout(timer); clearError(); let type = typeField ? typeField.value : ""; if (type !== "Pravno lice") return; let code = maticniField.value.trim(); if (code.length !== 8 || !/^\d8$/.test(code)) return; timer = setTimeout(() => lookupNBS(code), 500); }); });