/* ==================== OPTECH TAX DISPLAY TOGGLE ==================== */ #otx-toggle { position: fixed; bottom: 18px; left: 18px; z-index: 1050; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 999px; padding: 6px; display: flex; gap: 6px; align-items: center; box-shadow: 0 10px 30px rgba(7, 21, 34, .18); direction: rtl; font-family: inherit; } #otx-toggle .otx-title { font-size: 12px; color: #64748b; padding: 0 8px; font-weight: 600; } #otx-toggle button { border: 0; border-radius: 999px; padding: 8px 14px; font-size: 13px; font-weight: 800; cursor: pointer; background: transparent; color: #0f172a; transition: background .2s ease, color .2s ease; white-space: nowrap; } #otx-toggle button.active { background: #0f766e; color: #fff; } #otx-note { font-size: 13px; font-weight: 700; color: #0f766e; margin-top: 8px; } #otx-note.otx-excl { color: #b45309; } @media (max-width: 576px) { #otx-toggle { left: 8px; bottom: 8px; transform: scale(.9); transform-origin: bottom left; } #otx-toggle .otx-title { display: none; } }
Skip to Content

Talk to an Optech specialist

Request a tailored quote or send your question using the form below.

You will receive a response within 1-2 business days.

Support for organizations that depend on clear, reliable displays.

Tell us what you need, and we will help you choose the next step.

Need help choosing or maintaining a display?

What sets us apart?

We provide customized solutions, ensuring that every client receives first-class service tailored to meet their needs.

Is the website user-friendly?

Our website is designed for easy navigation, allowing you to find the information you need quickly and efficiently.

Can you trust our partners?

We collaborate with trusted and high-quality partners to provide you with reliable products and services.

What type of support do we offer?

We provide 24/7 support through various channels, including live chat, email, and phone, to assist with any inquiries.

How is your data secured?

Your data is protected by advanced encryption and security protocols, keeping your personal information safe.

Are links to other websites endorsed?

Although this website may be linked to other websites, we do not directly or indirectly imply any endorsement.


An address must be specified for a map to be embedded

Come visit us

.Easy ways to contact us, regardless of your preferred mode of communication.

/* ==================== OPTECH TAX DISPLAY TOGGLE ==================== */ (function () { "use strict"; var VAT_PERCENT = 14; /* نسبة ضريبة القيمة المضافة */ var RATE = 1 + (VAT_PERCENT / 100); var STORE_KEY = "optech_tax_mode"; /* الوضع الافتراضي: شامل الضريبة */ var mode = "incl"; try { var savedMode = localStorage.getItem(STORE_KEY); if (savedMode === "incl" || savedMode === "excl") { mode = savedMode; } } catch (e) { /* ignore */ } var NOT_SET = true; /* guard flag while we write prices ourselves */ function formatNumber(n) { var s = n.toFixed(2); var parts = s.split("."); parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); return parts[0] + "." + parts[1]; } function parseNumber(txt) { if (!txt) { return null; } var m = String(txt).match(/\d[\d.,]*/); if (!m) { return null; } var v = parseFloat(m[0].replace(/,/g, "")); return isNaN(v) ? null : v; } function priceSelectors() { return [ "#optech-product-top .oe_currency_value", ".o_wsale_product_details_content_section_price .oe_currency_value", ".o_wsale_product_grid_wrapper .oe_currency_value", ".o_carousel_product_card .oe_currency_value", ".product_price .oe_currency_value", "#product_detail .oe_currency_value" ]; } function priceNodes() { var out = []; var sels = priceSelectors(); for (var s = 0; s < sels.length; s++) { var found = document.querySelectorAll(sels[s]); for (var i = 0; i < found.length; i++) { var el = found[i]; if (out.indexOf(el) !== -1) { continue; } /* لا نلمس أسعار السلة أو الدفع */ if (el.closest("#cart_products, .o_wsale_cart_lines, .o_cart_line, .modal, .offcanvas, .o_wsale_my_cart")) { continue; } out.push(el); } } return out; } function renderNode(el) { var base = parseFloat(el.getAttribute("data-otx-base")); if (isNaN(base)) { return; } var value = (mode === "incl") ? (base * RATE) : base; var txt = formatNumber(value); NOT_SET = false; el.textContent = txt; el.setAttribute("data-otx-written", txt); NOT_SET = true; } function processNode(el) { var cur = (el.textContent || "").trim(); var written = el.getAttribute("data-otx-written"); if (written !== null && cur === written) { return; } /* our own value */ var base = parseNumber(cur); if (base === null) { return; } el.setAttribute("data-otx-base", String(base)); renderNode(el); } function ensureNote() { var host = document.querySelector("#optech-product-top .optech-price-custom") || document.querySelector("#optech-product-top") || document.querySelector(".o_wsale_product_details_content_section_price"); var note = document.getElementById("otx-note"); if (!host) { if (note) { note.parentNode.removeChild(note); } return; } if (!note) { note = document.createElement("div"); note.id = "otx-note"; host.appendChild(note); } if (mode === "incl") { note.textContent = "السعر شامل ضريبة القيمة المضافة " + VAT_PERCENT + "%"; note.classList.remove("otx-excl"); } else { note.textContent = "السعر غير شامل ضريبة القيمة المضافة " + VAT_PERCENT + "% (تُضاف عند الدفع)"; note.classList.add("otx-excl"); } } function buildToggle() { if (document.getElementById("otx-toggle")) { return; } var wrap = document.createElement("div"); wrap.id = "otx-toggle"; wrap.setAttribute("dir", "rtl"); wrap.innerHTML = '' + '' + 'طريقة عرض الأسعار'; document.body.appendChild(wrap); wrap.addEventListener("click", function (ev) { var btn = ev.target.closest ? ev.target.closest("button[data-otx]") : null; if (!btn) { return; } mode = btn.getAttribute("data-otx"); try { localStorage.setItem(STORE_KEY, mode); } catch (e) { /* ignore */ } var nodes = priceNodes(); for (var i = 0; i < nodes.length; i++) { nodes[i].removeAttribute("data-otx-written"); renderNode(nodes[i]); } ensureNote(); paintToggle(); }); paintToggle(); } function paintToggle() { var wrap = document.getElementById("otx-toggle"); if (!wrap) { return; } var btns = wrap.querySelectorAll("button[data-otx]"); for (var i = 0; i < btns.length; i++) { var b = btns[i]; if (b.getAttribute("data-otx") === mode) { b.classList.add("active"); } else { b.classList.remove("active"); } } } function applyAll() { var nodes = priceNodes(); for (var i = 0; i < nodes.length; i++) { processNode(nodes[i]); } ensureNote(); } var pending = null; var observer = new MutationObserver(function () { if (!NOT_SET) { return; } if (pending) { return; } pending = setTimeout(function () { pending = null; applyAll(); }, 150); }); function start() { buildToggle(); applyAll(); observer.observe(document.body, { childList: true, subtree: true, characterData: true }); /* أمان إضافي: بعض تحديثات الأسعار تأتي عبر RPC وتُعاد رسمها متأخرة */ setInterval(applyAll, 2000); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", function () { setTimeout(start, 400); }); } else { setTimeout(start, 400); } })();