document.addEventListener('DOMContentLoaded', function() {
const chatWidget = document.querySelector('.chat-widget');
const chatWindow = document.querySelector('.chat-window');
const closeButton = document.querySelector('.chat-header .btn-close');
const sendButton = document.querySelector('.chat-footer .btn-primary');
const messageInput = document.querySelector('.chat-footer .form-control');
const chatBody = document.querySelector('.chat-body');
if (chatWidget) {
chatWidget.addEventListener('click', function() {
if (chatWindow.style.display === 'flex') {
chatWindow.style.display = 'none';
} else {
chatWindow.style.display = 'flex';
}
});
}
if (closeButton) {
closeButton.addEventListener('click', function() {
chatWindow.style.display = 'none';
});
}
function getBotResponse(message) {
const lowerMessage = message.toLowerCase();
if (lowerMessage.includes('hello') || lowerMessage.includes('hi')) {
return 'Hello there! How can I assist you today?';
}
if (lowerMessage.includes('help')) {
return 'I can help with a variety of topics. What do you need assistance with? You can ask me about images or voice control.';
}
if (lowerMessage.includes('image')) {
return 'I can generate images, but that feature is not implemented yet. Stay tuned!';
}
if (lowerMessage.includes('voice')) {
return 'I can handle voice commands, but that feature is not implemented yet. Stay tuned!';
}
if (lowerMessage.includes('bye')) {
return 'Goodbye! Have a great day!';
}
return 'Thanks for your message! I am a simple bot. More advanced AI features are coming soon.';
}
function sendMessage() {
const messageText = messageInput.value.trim();
if (messageText === '') return;
// Add user message to chat body
const userMessage = document.createElement('div');
userMessage.classList.add('message', 'user-message');
userMessage.textContent = messageText;
chatBody.appendChild(userMessage);
// Clear input
messageInput.value = '';
// Scroll to bottom
chatBody.scrollTop = chatBody.scrollHeight;
// Show typing indicator
const typingIndicator = document.createElement('div');
typingIndicator.classList.add('message', 'bot-message', 'typing-indicator');
typingIndicator.innerHTML = '';
chatBody.appendChild(typingIndicator);
chatBody.scrollTop = chatBody.scrollHeight;
// Bot reply
setTimeout(() => {
const botResponse = getBotResponse(messageText);
typingIndicator.remove();
const botMessage = document.createElement('div');
botMessage.classList.add('message', 'bot-message');
botMessage.textContent = botResponse;
chatBody.appendChild(botMessage);
chatBody.scrollTop = chatBody.scrollHeight;
}, 1000);
}
if (sendButton) {
sendButton.addEventListener('click', sendMessage);
}
if (messageInput) {
messageInput.addEventListener('keypress', function(e) {
if (e.key === 'Enter') {
sendMessage();
}
});
}
});