العربية
العربية
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
Українська
تسجيل الدخول
الإشتراك
شاهد العربة
تبديل التنقل
الرئيسية
المتجر
تصفح الكل
-----
Wordpress & Wocommerce hosting
Reseller Hosting
Dedicated serveri
KVM NVMe VPS
Cloud PBX centrala
خدمات البريد الإلكتروني
-----
تسجيل نطاق جديد
نقل نطاق إلينا
أخبار وإعلانات
مكتبة الشروحات
حالة الشبكة
نظام نقاطي
راسلنا
الحساب
تسجيل الدخول
الإشتراك
-----
فقدت بيانات الدخول ؟
فتح تذكرة
البوابة الرئيسية
منطقة العميل
الدعم الفني
إرسال تذكرة جديدة
الإسم
البريد الإلكتروني
موضوع التذكرة
القسم
General Enquiries
Podrška
VPS support
Domeni
WordPress podrška
Prjiava zloupotrebe
الأهمية
عاجـل
متوسطة
عادية
نص الرسالة
المرفقات
المزيد
إمتدادات الملفات المرفقة المسموح بها: .jpg, .gif, .jpeg, .png, .txt, .pdf (الحد الأقصى لحجم الملف: 2MB)
إلغاء
Powered by
WHMCompleteSolution
حقوق الطبع والنشر © 2025 HostArena. جميع الحقوق محفوظة.
×
إغلاق التذكرة
إستيراد البيانات ...
×
إنشاء كلمة مرور
يرجى إدخال رقم بين 8 و 64 لطول كلمة المرور
طول كلمة المرور
كلمة المرور التي تم إنشاؤها
إنشاء كلمة مرور جديدة
نسخة
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); }); });