document.addEventListener('DOMContentLoaded', () => {
  // Tab switching
  const tabs = document.querySelectorAll('.tab-btn');
  const contents = document.querySelectorAll('.converter-content');
  const convertButtons = document.querySelectorAll('.convert-btn');
  
  tabs.forEach(tab => {
    tab.addEventListener('click', () => {
      tabs.forEach(t => t.classList.remove('active'));
      contents.forEach(c => c.classList.remove('active'));
      
      tab.classList.add('active');
      document.getElementById(tab.dataset.tab).classList.add('active');
    });
  });

  // Drag and drop functionality
  const dropZones = document.querySelectorAll('.drop-zone');
  
  dropZones.forEach(zone => {
    zone.addEventListener('dragover', (e) => {
      e.preventDefault();
      zone.classList.add('dragover');
    });

    zone.addEventListener('dragleave', () => {
      zone.classList.remove('dragover');
    });

    zone.addEventListener('drop', (e) => {
      e.preventDefault();
      zone.classList.remove('dragover');
      const files = e.dataTransfer.files;
      handleFile(files[0], zone.closest('.converter-content').id);
    });
  });

  // File input handling
  const fileInputs = document.querySelectorAll('input[type="file"]');
  
  fileInputs.forEach(input => {
    input.addEventListener('change', (e) => {
      handleFile(e.target.files[0], input.closest('.converter-content').id);
    });
  });

  // Convert button handling
  convertButtons.forEach(button => {
    button.addEventListener('click', async () => {
      const contentId = button.closest('.converter-content').id;
      const fileInput = document.querySelector(`#${contentId} input[type="file"]`);
      const file = fileInput.files[0];
      
      if (file) {
        button.disabled = true;
        button.textContent = 'Converting...';
        
        try {
          await convertFile(file, contentId);
          button.textContent = 'Conversion Complete!';
          setTimeout(() => {
            button.textContent = 'Convert Now';
            button.disabled = false;
          }, 2000);
        } catch (error) {
          button.textContent = 'Conversion Failed';
          setTimeout(() => {
            button.textContent = 'Convert Now';
            button.disabled = false;
          }, 2000);
        }
      }
    });
  });
});

function handleFile(file, conversionType) {
  if (!file) return;

  const container = document.getElementById(conversionType);
  const fileInfo = container.querySelector('.file-info');
  const convertBtn = container.querySelector('.convert-btn');

  if (fileInfo) {
    fileInfo.textContent = `Selected file: ${file.name}`;
  }
  
  if (convertBtn) {
    convertBtn.disabled = false;
  }
}

async function convertFile(file, conversionType) {
  try {
    if (conversionType === 'pdf-to-word') {
      // Here you would implement PDF to DOCX conversion
      console.log('Converting PDF to DOCX:', file.name);
      await new Promise(resolve => setTimeout(resolve, 1500)); // Simulate conversion
      alert('PDF to DOCX conversion feature is in development');
    } else {
      // Here you would implement DOCX to PDF conversion
      console.log('Converting DOCX to PDF:', file.name);
      await new Promise(resolve => setTimeout(resolve, 1500)); // Simulate conversion
      alert('DOCX to PDF conversion feature is in development');
    }
  } catch (error) {
    console.error('Conversion error:', error);
    throw new Error('An error occurred during conversion. Please try again.');
  }
}