Animal Rights Advocacy Talking Points Sheet

Animal Rights Advocacy Talking Points Sheet

Structure arguments, log statistics, and prepare counter-argument responses.

1. Core Issue Definition

Add key statistics or ethical arguments here.

'; return; } talkingPoints.forEach(p => { const item = document.createElement('div'); item.className = 'arats-list-item bg-gray-50'; item.innerHTML = ` ${escapeHtml(p.text)} `; list.appendChild(item); }); } // --- Counter/Response Functions --- window.aratsAddCounter = function() { const counter = document.getElementById('arats-new-counter').value.trim(); const response = document.getElementById('arats-new-response').value.trim(); if (counter && response) { counterArguments.push({ id: Date.now() + 1, counter: counter, response: response }); document.getElementById('arats-new-counter').value = ''; document.getElementById('arats-new-response').value = ''; aratsRenderCounters(); } else { alert("Both the Counter-Argument and the Prepared Response are required."); } }; window.aratsRemoveCounter = function(id) { counterArguments = counterArguments.filter(c => c.id !== id); aratsRenderCounters(); }; function aratsRenderCounters() { const list = document.getElementById('arats-counter-list'); list.innerHTML = ''; if (counterArguments.length === 0) { list.innerHTML = '

No counter-arguments logged.

'; return; } counterArguments.forEach(c => { const item = document.createElement('div'); item.className = 'arats-list-item bg-white border-l-4 border-red-400'; item.innerHTML = `
Counter: ${escapeHtml(c.counter)}
Response: ${escapeHtml(c.response)}
`; list.appendChild(item); }); } // --- Preview Generation --- window.aratsUpdatePreview = function() { // Metadata const issueName = document.getElementById('arats-issue-name').value || "Unnamed Campaign"; const audience = document.getElementById('arats-audience').value || "N/A"; const callToAction = document.getElementById('arats-call-to-action').value || "No call to action defined."; // Update Display document.getElementById('disp-issue-name').textContent = issueName; document.getElementById('disp-audience').textContent = audience; document.getElementById('disp-call-to-action').textContent = callToAction; // Populate Points List const pointsDisp = document.getElementById('disp-point-list'); pointsDisp.innerHTML = talkingPoints.map(p => `
  • ${escapeHtml(p.text)}
  • `).join('') || "
  • No talking points logged.
  • "; // Populate Counter List const counterDisp = document.getElementById('disp-counter-list'); if (counterArguments.length === 0) { counterDisp.innerHTML = '

    No specific counter-arguments defined.

    '; } else { counterDisp.innerHTML = counterArguments.map(c => `

    Counter-Argument: ${escapeHtml(c.counter)}

    Prepared Response: ${escapeHtml(c.response)}

    `).join(''); } }; // --- PDF Download --- window.aratsDownloadPDF = function() { // Ensure preview is up to date aratsUpdatePreview(); const element = document.getElementById('arats-print-area'); const issueName = document.getElementById('arats-issue-name').value || "Advocacy_Briefing"; document.body.classList.add('arats-generating-pdf'); const opt = { margin: [0.75, 0.75], filename: `${issueName.replace(/\s+/g, '_')}_Briefing_Sheet.pdf`, image: { type: 'jpeg', quality: 0.98 }, html2canvas: { scale: 2, useCORS: true }, jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' } }; html2pdf().set(opt).from(element).save().then(() => { document.body.classList.remove('arats-generating-pdf'); }); }; // Utility: HTML Escape function escapeHtml(text) { if (!text) return ''; return text.replace(/[&<>"']/g, function(m) { switch (m) { case '&': return '&'; case '<': return '<'; case '>': return '>'; case '"': return '"'; case "'": return '''; default: return m; } }); }
    Scroll to Top