Foreign Corrupt Practices Act (FCPA) Compliance Checker
Assess your organization's potential FCPA risk exposure.
Enter Company Information
Complete the FCPA Risk Checklist
FCPA Compliance Risk Report
Disclaimer: This tool is for informational purposes only and does not constitute legal advice. It provides a high-level assessment based on your inputs. Consult with qualified legal counsel for specific FCPA compliance guidance.
${summaryText}
`; let tableHTML = `Identified Risk Areas & Recommendations
`; if (highRiskItems.length > 0) { tableHTML += `| Risk Area Identified | Recommendation |
|---|---|
| ${data.category} ${data.item} |
${data.recommendation} |
No specific high-risk items were flagged based on your "Yes" or "Unsure" responses.
`; } outputDiv.innerHTML = tableHTML; } function downloadPdf() { const { jsPDF } = window.jspdf; const doc = new jsPDF(); const companyName = document.getElementById('companyName').value || 'N/A'; const industry = document.getElementById('industry').value || 'N/A'; const countries = document.getElementById('countriesOfOperation').value || 'N/A'; const summaryTitle = document.querySelector('#report-summary h3').textContent; const summaryText = document.querySelector('#report-summary p').textContent; doc.setFontSize(18); doc.text("FCPA Compliance Risk Report", 14, 22); doc.setFontSize(11); doc.setTextColor(100); doc.text(`Company: ${companyName}`, 14, 32); doc.text(`Industry: ${industry}`, 14, 38); doc.text(`Foreign Countries of Operation: ${countries}`, 14, 44); doc.setFontSize(12); doc.setFont(undefined, 'bold'); if (summaryTitle.includes('High')) doc.setTextColor('#dc2626'); else if (summaryTitle.includes('Medium')) doc.setTextColor('#f59e0b'); else doc.setTextColor('#16a34a'); doc.text(summaryTitle, 14, 56); doc.setFont(undefined, 'normal'); doc.setTextColor(100); const splitSummary = doc.splitTextToSize(summaryText, 180); doc.text(splitSummary, 14, 62); const reportTable = document.getElementById('report-table'); if(reportTable) { doc.autoTable({ html: '#report-table', startY: doc.previousAutoTable.finalY + 10 || 85, theme: 'grid', headStyles: { fillColor: [241, 245, 249], textColor: [51, 65, 85] }, styles: { cellPadding: 3, fontSize: 9, cellWidth: 'wrap' }, columnStyles: { 1: { cellWidth: 90 } } }); } const pageCount = doc.internal.getNumberOfPages(); const disclaimer = 'Disclaimer: This tool is for informational purposes only and does not constitute legal advice. Consult with qualified legal counsel for specific FCPA compliance guidance.'; for(let i = 1; i <= pageCount; i++) { doc.setPage(i); doc.setFontSize(8); doc.setTextColor(150); const splitDisclaimer = doc.splitTextToSize(disclaimer, doc.internal.pageSize.width - 28); doc.text(splitDisclaimer, 14, doc.internal.pageSize.height - 15); } doc.save('FCPA_Compliance_Risk_Report.pdf'); } // --- EVENT LISTENERS --- tabs.forEach((tab, index) => tab.addEventListener('click', () => switchTab(index))); nextBtn.addEventListener('click', () => currentTab < tabs.length - 1 && switchTab(currentTab + 1)); prevBtn.addEventListener('click', () => currentTab > 0 && switchTab(currentTab - 1)); document.getElementById('downloadPdfBtn').addEventListener('click', downloadPdf); // --- INITIALIZATION --- createChecklist(); updateTabs(); });