Skip to content
3D Design Software | 3D Modeling Rendering and AI | Sketchup services
03331212187
[email protected]
Facebook
Instagram
Youtube
X-twitter
Support
Shop
Sign Up
About
Events
Online-Training
SketchUp
SketchUp Services
Skp Extensions
SketchUp Resources
Products
Architecture Website Design
Rendering
Shop
Blog
Contact Us
About
Events
Online-Training
SketchUp
SketchUp Services
Skp Extensions
SketchUp Resources
Products
Architecture Website Design
Rendering
Shop
Blog
Contact Us
Tags
CONTENTS
Scroll to Top
Scan the code
WhatsApp
Hello 👋
Can we help you?
Open chat
/* ══════════════════════════════════════════ ZWCAD Landing Page — script.js ══════════════════════════════════════════ */ (function () { 'use strict'; /* ──────────────────────────────────────── TAB SWITCHING (Overview / 2027 / Pricing) ──────────────────────────────────────── */ window.switchTab = function (tabId) { // Hide all pages document.querySelectorAll('.tab-page').forEach(function (page) { page.classList.remove('active'); }); // Deactivate all pnav tabs document.querySelectorAll('.pnav-tab').forEach(function (btn) { btn.classList.remove('active'); }); // Show target page var page = document.getElementById('page-' + tabId); if (page) page.classList.add('active'); // Activate matching tab button var btn = document.querySelector('.pnav-tab[data-tab="' + tabId + '"]'); if (btn) btn.classList.add('active'); // Scroll to top window.scrollTo({ top: 0, behavior: 'smooth' }); }; /* ──────────────────────────────────────── FEATURE TABS (within Overview section) ──────────────────────────────────────── */ window.switchFeat = function (event, featId) { var container = event.target.closest('.section') || document; container.querySelectorAll('.feat-tab').forEach(function (t) { t.classList.remove('active'); }); container.querySelectorAll('.feat-content').forEach(function (c) { c.classList.remove('active'); }); event.target.classList.add('active'); var target = document.getElementById('feat-' + featId); if (target) target.classList.add('active'); }; /* ──────────────────────────────────────── FAQ ACCORDION ──────────────────────────────────────── */ window.toggleFaq = function (el) { var item = el.parentElement; var wasOpen = item.classList.contains('open'); // Close all document.querySelectorAll('.faq-item').forEach(function (i) { i.classList.remove('open'); }); // Toggle clicked if (!wasOpen) { item.classList.add('open'); } }; /* ──────────────────────────────────────── PRICING: STANDALONE / NETWORK TABS ──────────────────────────────────────── */ window.switchPricingTab = function (el, paneId) { document.querySelectorAll('.pricing-license-tab').forEach(function (t) { t.classList.remove('active'); t.setAttribute('aria-selected', 'false'); }); document.querySelectorAll('.pricing-pane').forEach(function (p) { p.classList.remove('active'); }); el.classList.add('active'); el.setAttribute('aria-selected', 'true'); var pane = document.getElementById('pricing-pane-' + paneId); if (pane) pane.classList.add('active'); }; /* ──────────────────────────────────────── CALCULATOR ──────────────────────────────────────── */ var ACAD_PER_SEAT_YEAR = 1890 / 1.25; // ≈ £1,512 var ZWCAD_PRICES = { standard: 799, professional: 1135, mfg: 1360 }; var FLEX_UPGRADE_RATE = 0.18; var NETWORK_MULTIPLIERS = { standard: 999 / 899, professional: 1549 / 1399, mfg: 1849 / 1699 }; var calcState = { seats: 5, edition: 'standard', licType: 'standalone', upgrade: 'none', years: 3 }; window.setEdition = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.edition = val; recalc(); }; window.setLicType = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.licType = val; recalc(); }; window.setUpgrade = function (el, val) { el.closest('.btn-group').querySelectorAll('.btn-option').forEach(function (b) { b.classList.remove('active'); }); el.classList.add('active'); calcState.upgrade = val; recalc(); }; window.syncSeats = function (source) { var slider = document.getElementById('seatsSlider'); var input = document.getElementById('seatsInput'); if (!slider || !input) return; if (source === 'slider') { input.value = slider.value; } else { slider.value = Math.min(parseInt(input.value, 10) || 1, 50); } calcState.seats = parseInt(input.value, 10) || 1; recalc(); }; window.syncYears = function (source) { var slider = document.getElementById('yearsSlider'); var input = document.getElementById('yearsInput'); if (!slider || !input) return; if (source === 'slider') { input.value = slider.value; } else { slider.value = Math.min(parseInt(input.value, 10) || 1, 10); } calcState.years = parseInt(input.value, 10) || 1; recalc(); }; function fmt(n) { return '£' + Math.round(n).toLocaleString('en-GB'); } function recalc() { var seats = calcState.seats; var edition = calcState.edition; var licType = calcState.licType; var upgrade = calcState.upgrade; var years = calcState.years; // AutoCAD cost var acadPerSeatYear = ACAD_PER_SEAT_YEAR; var acadTotal = acadPerSeatYear * seats * years; // ZWCAD cost var zwPerSeat = ZWCAD_PRICES[edition]; if (licType === 'network') { zwPerSeat *= NETWORK_MULTIPLIERS[edition]; } var zwLicenceTotal = zwPerSeat * seats; var zwFlexTotal = upgrade === 'flexible' ? zwPerSeat * FLEX_UPGRADE_RATE * seats * years : 0; var zwTotal = zwLicenceTotal + zwFlexTotal; var saving = acadTotal - zwTotal; var pct = Math.round((saving / acadTotal) * 100); var editionLabels = { standard: 'Standard', professional: 'Professional', mfg: 'MFG' }; var licLabel = licType === 'network' ? 'network licence' : 'standalone licence'; var upgrLabel = upgrade === 'flexible' ? 'perpetual + flexible upgrades' : 'perpetual'; // Render var set = function (id, val) { var el = document.getElementById(id); if (el) el.textContent = val; }; set('out-seats', seats); set('out-seats2', seats); set('out-acad-seat', fmt(acadPerSeatYear) + '/yr'); set('out-years-label', years); set('out-years-label2', years); set('out-period', years); set('out-acad-total', fmt(acadTotal)); set('out-zwcad-total',fmt(zwTotal)); set('out-saving', saving > 0 ? fmt(saving) : '£0'); set('out-pct', saving > 0 ? pct + '% less than AutoCAD' : 'AutoCAD is cheaper for this config'); set('out-zwcad-seat', fmt(zwPerSeat)); var labelEl = document.getElementById('out-zwcad-label'); if (labelEl) { labelEl.textContent = 'ZWCAD ' + editionLabels[edition] + ' — per seat (' + licLabel + ' · ' + upgrLabel + ')'; } } /* ──────────────────────────────────────── INITIAL STATE ──────────────────────────────────────── */ function init() { // Check hash for initial tab var hash = window.location.hash.replace('#', ''); if (['overview', '2027', 'pricing'].indexOf(hash) !== -1) { switchTab(hash); } // Run calculator recalc(); // Animate speed bars on load setTimeout(function () { document.querySelectorAll('.speed-fill').forEach(function (bar) { var w = bar.style.width; bar.style.width = '0'; requestAnimationFrame(function () { setTimeout(function () { bar.style.width = w; }, 50); }); }); }, 200); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } })();