File size: 3,776 Bytes
5f73f37
c9b98b8
5f73f37
 
 
 
6b91e96
 
 
 
5f73f37
 
 
 
 
6b91e96
5f73f37
 
7cf97e5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f73f37
294ffbb
6b91e96
 
 
 
 
 
 
 
 
8170b7e
6b91e96
 
5f73f37
 
 
7cf97e5
 
5f73f37
 
7cf97e5
 
3c60197
7cf97e5
3c60197
7cf97e5
3c60197
7cf97e5
3c60197
7cf97e5
3c60197
7cf97e5
 
 
5f73f37
 
 
67eb455
6b91e96
 
 
 
 
 
 
7cf97e5
 
 
 
 
 
69dbfda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
let conversation = [
    { role: 'bot', message: "Hi there! I'm your assistant! How can I help you today?" }
];

function addMessage(role, message) {
    const chatMessages = document.getElementById('chatMessages');
    if (!chatMessages) {
        console.error('Chat messages container not found!');
        return;
    }
    const messageDiv = document.createElement('div');
    messageDiv.className = role === 'bot' ? 'bot-message' : 'user-message';
    messageDiv.textContent = message;
    chatMessages.appendChild(messageDiv);
    chatMessages.scrollTop = chatMessages.scrollHeight;
    console.log(`Added ${role} message: ${message}`);
}

function showFAQOptions() {
    const faqContainer = document.getElementById('faqList');
    faqContainer.style.display = 'block'; // Show the FAQ list once the greeting is sent
}

function handleFAQClick(faq) {
    let botResponse = '';

    // FAQ handling logic based on the clicked question
    if (faq === 'contact_support') {
        botResponse = "You can email us at [email protected].";
    } else if (faq === 'business_hours') {
        botResponse = "We are open from 9 AM to 6 PM, Monday to Friday.";
    } else if (faq === 'reset_password') {
        botResponse = "Click on 'Forgot Password' on the login page.";
    } else if (faq === 'cancel_subscription') {
        botResponse = "You can cancel your subscription by visiting the 'Account Settings' page and selecting 'Cancel Subscription'.";
    } else if (faq === 'discounts') {
        botResponse = "We offer seasonal discounts and promotions. Keep an eye on our website or subscribe to our newsletter for updates.";
    }

    addMessage('bot', botResponse);
}

function sendMessage() {
    const userInput = document.getElementById('userInput');
    if (!userInput) {
        console.error('User input field not found!');
        return;
    }
    const message = userInput.value.trim();
    if (message) {
        addMessage('user', message);
        conversation.push({ role: 'user', message: message });
        userInput.value = '';
        setTimeout(() => handleResponse(message), 500);
    } else {
        console.warn('Empty message!');
    }
}

function handleResponse(userInput) {
    const lastMessage = conversation[conversation.length - 1].message.toLowerCase();
    let botResponse = '';

    // FAQ handling logic
    if (lastMessage.includes("how do i contact customer support")) {
        botResponse = "You can email us at [email protected].";
    } else if (lastMessage.includes("what are your business hours")) {
        botResponse = "We are open from 9 AM to 6 PM, Monday to Friday.";
    } else if (lastMessage.includes("how do i reset my password")) {
        botResponse = "Click on 'Forgot Password' on the login page.";
    } else if (lastMessage.includes("how do i cancel my subscription")) {
        botResponse = "You can cancel your subscription by visiting the 'Account Settings' page and selecting 'Cancel Subscription'.";
    } else if (lastMessage.includes("are there any discounts available")) {
        botResponse = "We offer seasonal discounts and promotions. Keep an eye on our website or subscribe to our newsletter for updates.";
    } else {
        // Fallback for unrecognized input
        botResponse = "Sorry, I didn't understand that. Could you please clarify or ask a different question?";
    }

    addMessage('bot', botResponse);
}

document.getElementById('userInput').addEventListener('keypress', function(e) {
    if (e.key === 'Enter') {
        sendMessage();
    }
});

// Show FAQ options after the greeting message
window.onload = () => {
    addMessage('bot', "Hi there! I'm your assistant! How can I help you today?");
    showFAQOptions();
};

console.log('Script loaded successfully');