рдЪрд╛рд▓рд╛рди рдЬрдирд░реЗрдЯрд░

рддреБрд░рдВрдд рдкреЗрд╢реЗрд╡рд░ рдЪрд╛рд▓рд╛рди рдмрдирд╛рдПрдВред рдЕрдкрдиреА рдмреНрд░рд╛рдВрдбрд┐рдВрдЧ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВ, рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ рдФрд░ PDF рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред рдлреНрд░реАрд▓рд╛рдВрд╕рд░реНрд╕, рдЫреЛрдЯреЗ рд╡реНрдпрд╡рд╕рд╛рдпреЛрдВ рдФрд░ рдареЗрдХреЗрджрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реАред

ЁЯУД рдХрдВрдкрдиреА рдХреА рдЬрд╛рдирдХрд╛рд░реА

ЁЯСд рдмрд┐рд▓ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛

ЁЯз╛ рдЪрд╛рд▓рд╛рди рд╡рд┐рд╡рд░рдг

ЁЯУж рдЪрд╛рд▓рд╛рди рд╡рд╕реНрддреБрдПрдВ

рд╡рд┐рд╡рд░рдг рдорд╛рддреНрд░рд╛ рджрд░ рд░рд╛рд╢рд┐ рдХрд╛рд░реНрд░рд╡рд╛рдИ
тВ╣500.00 рд╣рдЯрд╛рдПрдВ

ЁЯТ░ рдХреБрд▓ рдФрд░ рдХрд░

ЁЯУЭ рднреБрдЧрддрд╛рди рд╢рд░реНрддреЗрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ

рдЖрдкрдХреА рдХрдВрдкрдиреА рдХрд╛ рдирд╛рдо

123 Business St.
City, State 12345
рджреЗрд╢
+91 (555) 123-4567
contact@company.com
рдЪрд╛рд▓рд╛рди

рдмрд┐рд▓ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛:

рдЧреНрд░рд╛рд╣рдХ рдХрдВрдкрдиреА рдХрд╛ рдирд╛рдо
456 Client Ave.
City, State 67890
рджреЗрд╢
рдЬреЙрди рд╕реНрдорд┐рде
client@company.com

рдЪрд╛рд▓рд╛рди рд╡рд┐рд╡рд░рдг:

рдЪрд╛рд▓рд╛рди рд╕рдВрдЦреНрдпрд╛: INV-001
рджрд┐рдирд╛рдВрдХ: 2025-08-22
рджреЗрдп рддрд┐рдерд┐: реирежреирел-режреп-реирез
рдореБрджреНрд░рд╛: рдпреВрдПрд╕рдбреА
рд╡рд┐рд╡рд░рдг рдорд╛рддреНрд░рд╛ рджрд░ рд░рд╛рд╢рд┐
рд╡реЗрдм рдбрд┐рдЬрд╝рд╛рдЗрди рд╕реЗрд╡рд╛рдПрдВ 1 $релрежреж.режреж $релрежреж.режреж
рдЙрдк-рдпреЛрдЧ: $релрежреж.режреж
рдХреБрд▓ рдпреЛрдЧ: $релрежреж.режреж

тЪб рддреНрд╡рд░рд┐рдд рдЖрд░рдВрдн рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕

рдлреНрд░реАрд▓рд╛рдВрд╕рд░ рдЪрд╛рд▓рд╛рди
рдлреНрд░реАрд▓рд╛рдВрд╕рд░
рдбрд┐рдЬрд╝рд╛рдЗрдирд░, рдбреЗрд╡рд▓рдкрд░, рд╕рд▓рд╛рд╣рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд
рд╕реЗрд╡рд╛ рдЪрд╛рд▓рд╛рди
рд╕реЗрд╡рд╛ рд╡реНрдпрд╡рд╕рд╛рдп
рдареЗрдХреЗрджрд╛рд░реЛрдВ, рдПрдЬреЗрдВрд╕рд┐рдпреЛрдВ, рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП
рдЙрддреНрдкрд╛рдж рдЪрд╛рд▓рд╛рди
рдЙрддреНрдкрд╛рдж рдмрд┐рдХреНрд░реА
рдЦреБрджрд░рд╛, рдИ-рдХреЙрдорд░реНрд╕, рднреМрддрд┐рдХ рд╡рд╕реНрддреБрдПрдВ
рдкрд░рд╛рдорд░реНрд╢ рдмрд┐рд▓
рдкрд░рд╛рдорд░реНрд╢
рдкреНрд░рддрд┐ рдШрдВрдЯрд╛ рдмрд┐рд▓рд┐рдВрдЧ, рдкреЗрд╢реЗрд╡рд░ рд╕реЗрд╡рд╛рдПрдВ

ЁЯТ╝ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдпрд╛рддреНрд░рд╛ рдЖ рд░рд╣реА рд╣реИ?

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

ЁЯТ╝ Smart Business Infrastructure: WIA Code ЁЯУН

рд╡реИрд╢реНрд╡рд┐рдХ рд╡реНрдпрд╛рдкрд╛рд░, рд▓реЙрдЬрд┐рд╕реНрдЯрд┐рдХреНрд╕ рд╕реНрд╡рдЪрд╛рд▓рди рдФрд░ рд╕реНрдорд╛рд░реНрдЯ рд╕рд┐рдЯреА рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрддреЗ - рдЕрдкрдиреЗ рджреЗрд╢ рдХреЗ рд▓рд┐рдП 30 рджрд┐рдиреЛрдВ рддрдХ рдкреВрд░реА рддрд░рд╣ рдореБрдлреНрдд рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░реЗрдВ!

рдбрдмреНрд▓реНрдпреВрдЖрдИрдП рдХреЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВ

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

ЁЯТм рдЪреИрдЯрдЬреАрдкреАрдЯреА
рд╕рдмрд╕реЗ рдмрд╣реБрдореБрдЦреА тАв рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда
ЁЯза рдХреНрд▓реЙрдб
рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рддрд░реНрдХ тАв рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрддреНрддрдо
тЬи рдЬреЗрдорд┐рдиреА рдирд┐рдГрд╢реБрд▓реНрдХ
рдореБрдлреНрдд рджреИрдирд┐рдХ рд╕реАрдорд╛ тАв рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЪреИрдЯ
`); printWindow.document.close(); printWindow.print(); trackEvent('invoice_printed'); } // 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 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); } } function trackEvent(eventName, data = {}) { if (typeof gtag !== 'undefined') { gtag('event', eventName, { 'event_category': TOOL_CONFIG.category, 'event_label': TOOL_CONFIG.name, ...data }); } } // 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: тАв Invoice creation and formatting tips тАв Business invoicing best practices тАв Payment terms and legal requirements тАв Tax and accounting advice тАв Professional writing for invoices What would you like to know about invoicing?`); } } function showAPIKeySetup() { document.getElementById('aiModalTitle').textContent = 'рдЬреЗрдорд┐рдиреА рдПрдкреАрдЖрдИ рд╕реЗрдЯрдЕрдк'; 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 creating professional invoices and business billing. I'm using an Invoice Generator tool on WIA Code platform.`; 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 creating professional invoices and business billing. I'm using an Invoice Generator tool on WIA Code platform.`; 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('рдХреГрдкрдпрд╛ рдПрдХ рдорд╛рдиреНрдп рдПрдкреАрдЖрдИ рдХреА рджрд░реНрдЬ рдХрд░реЗрдВ'); } } function updateAPIKeyStatus() { const statusEl = document.getElementById('apiKeyStatus'); if (aiModalState.apiKey) { statusEl.innerHTML = 'рдПрдкреАрдЖрдИ рдХреА рдмрджрд▓реЗрдВ'; } else { statusEl.textContent = 'рдХреЛрдИ рдПрдкреАрдЖрдИ рдХреА рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ'; } } 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 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 Invoice Generator tool on WIA Code platform. Current invoice: Company "${document.getElementById('companyName').value}", Client "${document.getElementById('clientName').value}" 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.'); } } } // Dynamic tool count 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; }); } // Analytics window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-XXXXXXXXX'); trackEvent('page_view', { tool: TOOL_CONFIG.name, category: TOOL_CONFIG.category });