рдкреЗрдВрдЯ рдХреИрд▓рдХреБрд▓реЗрдЯрд░

рдХрд┐рд╕реА рднреА рдХрдорд░реЗ рдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдкреЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдВред рдкреНрд░рд╛рдЗрдорд░, рдмреНрд░рд╢ рдФрд░ рдЖрдкреВрд░реНрддрд┐ рд╕рд╣рд┐рдд рдкреЗрдВрдЯ рдХрд╡рд░реЗрдЬ, рд▓рд╛рдЧрдд рдФрд░ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдЕрдиреБрдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

ЁЯПа рдХрдорд░рд╛ рд╕реЗрдЯрдЕрдк

ЁЯУП рдХрдорд░реЗ рдХрд╛ рдорд╛рдк

ЁЯЪк рджрд░рд╡рд╛рдЬреЗ рдФрд░ рдЦрд┐рдбрд╝рдХрд┐рдпрд╛рдВ

ЁЯОи рдкреЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк

ЁЯОи рдкреЗрдВрдЯ рдХреЗ рдЧреБрдг

ЁЯТ░ рд▓рд╛рдЧрдд рдЕрдиреБрдорд╛рди

ЁЯОи рдкреЗрдВрдЯ рдЧрдгрдирд╛ рдкрд░рд┐рдгрд╛рдо

рдХреБрд▓ рдХреНрд╖реЗрддреНрд░рдлрд▓
0
рд╡рд░реНрдЧ рдлреБрдЯ
рдЖрд╡рд╢реНрдпрдХ рдкреЗрдВрдЯ
0
рдЧреИрд▓рди
рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рдЗрдорд░
0
рдЧреИрд▓рди
рдХреБрд▓ рд▓рд╛рдЧрдд
$0
рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА

ЁЯУК рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг

рд╕рддрд╣ рдХреНрд╖реЗрддреНрд░рдлрд▓ (рд╡рд░реНрдЧ рдлреБрдЯ) рдЖрд╡рд╢реНрдпрдХ рдкреЗрдВрдЯ рд▓рд╛рдЧрдд

ЁЯЫТ рдЦрд░реАрджрд╛рд░реА рд╕реВрдЪреА

ЁЯПа рдШрд░ рдирд╡реАрдиреАрдХрд░рдг рдпрд╛рддреНрд░рд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ?

рд╣реЛрдо рдЗрдореНрдкреНрд░реВрд╡рдореЗрдВрдЯ рд╢реЙрдкрд┐рдВрдЧ рдпрд╛рддреНрд░рд╛рдУрдВ рдФрд░ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░реЗрд░рдгрд╛ рдЕрд╡рдХрд╛рд╢ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡реЛрддреНрддрдо рдбреАрд▓ рдЦреЛрдЬреЗрдВ

тЬи Smart Nation's Core Infrastructure: WIA Code тЬи

рдбреНрд░реЛрди┬╖рд░реЛрдмреЛрдЯ рдбрд┐рд▓реАрд╡рд░реА, рд╕реНрд╡рд╛рдпрддреНрдд рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ, рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдмрдЪрд╛рд╡ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ - 30 рджрд┐рдиреЛрдВ рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░реЗрдВ, рдЖрдкрдХреЗ рджреЗрд╢ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдлреНрдд!

WIA рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ

ЁЯдЦ рдЕрдкрдирд╛ рдПрдЖрдИ рд╕рд╣рд╛рдпрдХ рдЪреБрдиреЗрдВ

ЁЯТм рдЪреИрдЯрдЬреАрдкреАрдЯреА
рд╕рдмрд╕реЗ рдмрд╣реБрдореБрдЦреА тАв рдкреЗрдВрдЯ рд░рдВрдЧ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда
ЁЯза рдХреНрд▓рд╛рдЙрдб
рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рддрд░реНрдХ тАв рдкрд░рд┐рдпреЛрдЬрдирд╛ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА
тЬи рдЬреЗрдорд┐рдиреА рдирд┐рдГрд╢реБрд▓реНрдХ
рдореБрдлреНрдд рджреИрдирд┐рдХ рд╕реАрдорд╛ тАв рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдкреЗрдВрдЯрд┐рдВрдЧ рдорд╛рд░реНрдЧрджрд░реНрд╢рди
`; printWindow.document.write(printContent); printWindow.document.close(); printWindow.print(); } // Show OTA section function showOTA() { const otaContainer = document.getElementById('otaContainer'); if (otaContainer && (otaContainer.style.display === 'none' || !otaContainer.style.display)) { otaContainer.style.display = 'block'; setTimeout(() => { const otaHeader = document.querySelector('.ota-header h3'); if (otaHeader) { otaHeader.style.animation = 'pulse 1s ease-in-out'; } }, 100); } } // AI Assistant Functions function openAIModal() { const modal = document.getElementById('aiModal'); modal.classList.add('show'); if (aiModalState.apiKey && aiModalState.currentView === 'gemini') { showGeminiChat(); } else { showAISelector(); } updateAPIKeyStatus(); } function closeAIModal() { const modal = document.getElementById('aiModal'); modal.classList.remove('show'); setTimeout(() => { aiModalState.currentView = 'selector'; showAISelector(); }, 300); } function showAISelector() { document.getElementById('aiModalTitle').textContent = 'Choose Your AI Assistant'; document.getElementById('aiSelector').style.display = 'flex'; document.getElementById('geminiChat').style.display = 'none'; document.getElementById('apiKeySetup').style.display = 'none'; aiModalState.currentView = 'selector'; } function showGeminiChat() { document.getElementById('aiModalTitle').innerHTML = 'тЬи Gemini AI Assistant'; document.getElementById('aiSelector').style.display = 'none'; document.getElementById('geminiChat').style.display = 'flex'; document.getElementById('apiKeySetup').style.display = 'none'; aiModalState.currentView = 'gemini'; const chatMessages = document.getElementById('chatMessages'); if (!chatMessages.innerHTML.trim()) { addMessage('assistant', `Hello! I can help you with: тАв Paint color selection and matching тАв Surface preparation techniques тАв Paint type recommendations тАв Application tips and techniques тАв Cost optimization strategies тАв Troubleshooting paint problems What painting question can I assist you with?`); } } function showAPIKeySetup() { document.getElementById('aiModalTitle').textContent = 'рдЬреЗрдорд┐рдиреА API рд╕реЗрдЯрдЕрдк рдХрд░реЗрдВ'; document.getElementById('aiSelector').style.display = 'none'; document.getElementById('geminiChat').style.display = 'none'; document.getElementById('apiKeySetup').style.display = 'block'; aiModalState.currentView = 'setup'; } function selectAI(aiType) { switch(aiType) { case 'chatgpt': const toolContext = `I need help with paint calculations and home painting using the Paint Calculator tool. This is a home improvement utility on WIA Code platform with room measurement and paint estimation features.`; const chatUrl = `https://chat.openai.com/?q=${encodeURIComponent(toolContext)}`; window.open(chatUrl, '_blank'); closeAIModal(); trackEvent('ai_selection', { ai_type: 'chatgpt' }); break; case 'claude': const claudeContext = `I need help with paint calculations and home painting using the Paint Calculator tool. This is a home improvement utility on WIA Code platform with room measurement and paint estimation features.`; const claudeUrl = `https://claude.ai/chat?q=${encodeURIComponent(claudeContext)}`; window.open(claudeUrl, '_blank'); closeAIModal(); trackEvent('ai_selection', { ai_type: 'claude' }); break; case 'gemini': if (!aiModalState.apiKey) { showAPIKeySetup(); } else { showGeminiChat(); } trackEvent('ai_selection', { ai_type: 'gemini' }); break; } } function saveGeminiApiKey() { const apiKey = document.getElementById('geminiApiKeyInput').value.trim(); if (apiKey) { localStorage.setItem('geminiApiKey', apiKey); aiModalState.apiKey = apiKey; showGeminiChat(); updateAPIKeyStatus(); } else { alert('рдХреГрдкрдпрд╛ рдПрдХ рдорд╛рдиреНрдп API рдХреБрдВрдЬреА рджрд░реНрдЬ рдХрд░реЗрдВ'); } } function updateAPIKeyStatus() { const statusEl = document.getElementById('apiKeyStatus'); if (aiModalState.apiKey) { statusEl.innerHTML = 'рдПрдкреАрдЖрдИ рдХреА рдмрджрд▓реЗрдВ'; } else { statusEl.textContent = 'рдХреЛрдИ API рдХреБрдВрдЬреА рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ'; } } function addMessage(type, content) { const chatMessages = document.getElementById('chatMessages'); const messageDiv = document.createElement('div'); messageDiv.className = `message ${type}`; if (type === 'user') { messageDiv.innerHTML = `You: ${content}`; } else { messageDiv.innerHTML = `тЬи Gemini:
${content.replace(/\n/g, '
')}`; } chatMessages.appendChild(messageDiv); chatMessages.scrollTop = chatMessages.scrollHeight; } async function sendToGemini() { const input = document.getElementById('geminiInput'); const message = input.value.trim(); if (!message) return; addMessage('user', message); input.value = ''; const loadingMsg = document.createElement('div'); loadingMsg.className = 'message assistant'; loadingMsg.innerHTML = 'тЬи Gemini:
Thinking...'; loadingMsg.id = 'loading-message'; document.getElementById('chatMessages').appendChild(loadingMsg); try { const contextData = paintState.calculations ? { totalArea: paintState.calculations.totalArea, paintNeeded: paintState.calculations.paintNeeded, totalCost: paintState.calculations.totalCost, roomCount: paintState.rooms.length } : {}; const response = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=${aiModalState.apiKey}`, { method: 'рдкреЛрд╕реНрдЯ', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ contents: [{ parts: [{ text: `Context: User is using Paint Calculator tool on WIA Code platform. Current project data: ${JSON.stringify(contextData)} Calculator provides comprehensive paint estimation for home projects User question: ${message}` }] }], generationConfig: { temperature: 0.7, maxOutputTokens: 1000 } }) }); const data = await response.json(); document.getElementById('loading-message').remove(); if (data.candidates && data.candidates[0] && data.candidates[0].content) { const reply = data.candidates[0].content.parts[0].text; addMessage('assistant', reply); } else { addMessage('assistant', 'Sorry, I could not generate a response. Please try again.'); } } catch (error) { document.getElementById('loading-message')?.remove(); if (error.message.includes('рдПрдкреАрдЖрдИ рдХреА')) { addMessage('error', 'Invalid API key. Please check your API key and try again.'); showAPIKeySetup(); } else { addMessage('error', 'Failed to connect to Gemini. Please check your internet connection and try again.'); } } } // Utility functions function showNotification(message, type = 'success') { const toast = document.createElement('div'); toast.className = `toast ${type}`; toast.textContent = message; document.body.appendChild(toast); setTimeout(() => { toast.remove(); }, 3000); } function trackEvent(eventName, data = {}) { if (typeof gtag !== 'undefined') { gtag('event', eventName, { 'event_category': 'business', 'event_label': 'Paint Calculator', ...data }); } } async function updateToolCount() { try { const response = await fetch('/api/tool-count.php'); const data = await response.json(); document.querySelectorAll('.dynamic-tools-count').forEach(el => { el.textContent = `${data.count}+ free online tools in 206 languages. No signup, no fees, just tools that work.`; }); document.querySelectorAll('.dynamic-count').forEach(el => { const prefix = el.getAttribute('data-text') || ''; const suffix = el.getAttribute('data-suffix') || ''; const icon = el.textContent.split(' ')[0] || ''; el.textContent = `${icon} ${prefix} ${data.count}+ ${suffix}`; }); } catch (error) { const fallbackCount = 333; document.querySelectorAll('.dynamic-tools-count').forEach(el => { el.textContent = `${fallbackCount}+ free online tools in 206 languages. No signup, no fees, just tools that work.`; }); document.querySelectorAll('.dynamic-count').forEach(el => { const prefix = el.getAttribute('data-text') || ''; const suffix = el.getAttribute('data-suffix') || ''; const icon = el.textContent.split(' ')[0] || ''; el.textContent = `${icon} ${prefix} ${fallbackCount}+ ${suffix}`; }); } } function updateCurrentYear() { const currentYear = new Date().getFullYear(); document.querySelectorAll('.current-year').forEach(el => { el.textContent = currentYear; }); } // Event listeners document.addEventListener('рдбреАрдУрдПрдо рдХрдВрдЯреЗрдВрдЯ рд▓реЛрдбреЗрдб', function() { // AI button event document.getElementById('aiBtn').addEventListener('click', openAIModal); // Modal outside click document.getElementById('aiModal').addEventListener('click', function(e) { if (e.target === this) { closeAIModal(); } }); // Keyboard support document.addEventListener('keydown', function(e) { if (e.key === 'рдПрдВрдЯрд░') { const geminiInput = document.getElementById('geminiInput'); if (document.activeElement === geminiInput) { sendToGemini(); } } else if (e.key === 'рдПрд╕реНрдХреЗрдк') { closeAIModal(); } }); // Input validation const measurementInputs = document.querySelectorAll('.measurement'); measurementInputs.forEach(input => { input.addEventListener('input', function() { if (this.value < 0) this.value = 0; }); }); const currencyInputs = document.querySelectorAll('.currency'); currencyInputs.forEach(input => { input.addEventListener('input', function() { this.value = this.value.replace(/[^0-9.]/g, ''); }); }); updateAPIKeyStatus(); updateCurrentYear(); updateToolCount(); }); // Analytics window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXX'); trackEvent('page_view', { tool: 'Paint Calculator', category: 'business' });

ЁЯТб рдкреЗрд╢реЗрд╡рд░ рдкреЗрдВрдЯрд┐рдВрдЧ рдЯрд┐рдкреНрд╕

ЁЯУР
рд╕рдЯреАрдХ рдорд╛рдкрди
рдкреНрд░рддреНрдпреЗрдХ рджреАрд╡рд╛рд░ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдорд╛рдкреЗрдВ рдФрд░ рджрд░рд╡рд╛рдЬреЗ/рдЦрд┐рдбрд╝рдХреА рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдШрдЯрд╛рдПрдВред рдЯрдЪ-рдЕрдк рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рд░рдЦрд░рдЦрд╛рд╡ рдХреЗ рд▓рд┐рдП 10% рдЕрддрд┐рд░рд┐рдХреНрдд рдкреЗрдВрдЯ рдЬреЛрдбрд╝реЗрдВред
ЁЯОи
рдЧреБрдгрд╡рддреНрддрд╛рдкреВрд░реНрдг рдкреЗрдВрдЯ рдХрд╡рд░реЗрдЬ
рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдкреЗрдВрдЯ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐ рдЧреИрд▓рди рдЕрдзрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХрдо рдХреЛрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдЕрдХреНрд╕рд░ рдЙрдиреНрд╣реЗрдВ рдЕрдзрд┐рдХ рдХрд┐рдлрд╛рдпрддреА рдмрдирд╛рддрд╛ рд╣реИред
ЁЯЦМя╕П
рдкреНрд░рд╛рдЗрдорд░ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
рдЧрд╣рд░реЗ рд░рдВрдЧреЛрдВ, рдирдИ рдбреНрд░рд╛рдИрд╡реЙрд▓, рдпрд╛ рдкреЗрдВрдЯ рдкреНрд░рдХрд╛рд░ рдмрджрд▓рддреЗ рд╕рдордп рд╣рдореЗрд╢рд╛ рдкреНрд░рд╛рдЗрдорд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рдмреЗрд╣рддрд░ рдХрд╡рд░реЗрдЬ рдФрд░ рд░рдВрдЧ рд╕рдЯреАрдХрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред
тП░
рдЙрдЪрд┐рдд рд╕реВрдЦрдиреЗ рдХрд╛ рд╕рдордп
рдХреЛрдЯ рдХреЗ рдмреАрдЪ рдЙрдЪрд┐рдд рд╕реВрдЦрдиреЗ рдХрд╛ рд╕рдордп рджреЗрдВ (рдЖрдорддреМрд░ рдкрд░ 2-4 рдШрдВрдЯреЗ)ред рдЗрд╕ рдЪрд░рдг рдореЗрдВ рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рдиреЗ рд╕реЗ рдЦрд░рд╛рдм рдлрд┐рдирд┐рд╢ рдФрд░ рдХрд╡рд░реЗрдЬ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
ЁЯз╜
рд╕рддрд╣ рдХреА рддреИрдпрд╛рд░реА
рдкреЗрдВрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджреАрд╡рд╛рд░реЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ, рдЫреЗрдж рднрд░реЗрдВ рдФрд░ рдЦреБрд░рджрд░реА рдЬрдЧрд╣реЛрдВ рдХреЛ рд░реЗрдд рд╕реЗ рд╕рд╛рдл рдХрд░реЗрдВред рдЙрдЪрд┐рдд рддреИрдпрд╛рд░реА рдкреЗрд╢реЗрд╡рд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ 80% рд╣реИред
ЁЯТ░
рдмрдЬрдЯ рдпреЛрдЬрдирд╛
рдкреЗрдВрдЯ рдЖрдорддреМрд░ рдкрд░ рдкреЗрд╢реЗрд╡рд░ рдкреЗрдВрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдп рдХрд╛ 15-30% рдЦрд░реНрдЪ рд╣реЛрддрд╛ рд╣реИред рдмреНрд░рд╢, рд░реЛрд▓рд░, рдбреНрд░реЙрдк рдХреНрд▓реЙрде рдФрд░ рдЕрдиреНрдп рд╕рд╛рдорд╛рди рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦреЗрдВред