<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Data Razor</title>
    <style>
        body {
            background-color: black;
            color: white;
            font-family: Arial, sans-serif;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
            margin: 0;
        }
        .header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 20px;
            flex-wrap: wrap;
            border: 2px solid white;
            background-color: #333;
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .logo {
            font-weight: bold;
            margin: 5px 0;
        }
        .equifax {
            color: white;
            background-color: red;
            padding: 5px;
            border-radius: 5px;
        }
        .teleperformance {
            color: pink;
            background-color: purple;
            padding: 5px;
            border-radius: 5px;
        }
        .container {
            margin: 20px;
            text-align: center;
            flex: 1;
        }
        h1 {
            background-color: green;
            padding: 10px;
            border-radius: 5px;
            display: inline-block;
            margin: 0 auto; /* Center align */
        }
        .textbox-container {
            display: flex;
            justify-content: space-between;
            gap: 10px;
            margin-top: 10px; /* Adjusted margin */
        }
        .textbox-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 30%; /* Adjusted width */
        }
        .textbox-header {
            margin-bottom: 5px;
            font-weight: bold;
        }
        .textbox {
            width: 100%;
            height: 100px;
            background-color: white;
            color: black;
            border: none;
            padding: 10px;
            border-radius: 5px;
        }
        .result {
            margin-top: 20px;
            white-space: nowrap;
            overflow-x: auto;
        }
        .button-container {
            margin-top: 10px;
        }
        .copy-btn, .reset-btn {
            background-color: blue;
            color: white;
            border: none;
            padding: 10px 20px;
            border-radius: 5px;
            cursor: pointer;
            margin: 5px;
        }
        .footer {
            text-align: center;
            padding: 10px;
            background-color: #333;
            color: lightcoral; /* Light red color */
            border-top: 1px solid #444;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            margin-bottom: 20px;
        }
        th, td {
            border: 1px solid #fff;
            padding: 8px;
            text-align: left;
        }
        th {
            background-color: #d8bfd8; /* Light purple */
            color: black; /* Black text color */
        }
        .unique {
            color: red; /* Red color for unique data */
        }
        @media (max-width: 600px) {
            .header {
                flex-direction: column;
                align-items: flex-start;
            }
            .textbox-container {
                flex-direction: column;
            }
            .textbox {
                height: 80px;
            }
            .copy-btn, .reset-btn {
                padding: 7px 15px;
            }
        }
    </style>
</head>
<body>
    <div class="header">
        <div class="logo equifax">Equifax</div>
        <h1>Data Razor</h1>
        <div class="logo teleperformance">Teleperformance</div>
    </div>
    <div class="container">
        <div class="textbox-container">
            <div class="textbox-wrapper">
                <div class="textbox-header">Enter File1 data here</div>
                <textarea id="mf" class="textbox" placeholder="Enter File1 data here"></textarea>
            </div>
            <div class="textbox-wrapper">
                <div class="textbox-header">Enter File2 data here</div>
                <textarea id="df" class="textbox" placeholder="Enter File2 data here"></textarea>
            </div>
            <div class="textbox-wrapper">
                <div class="textbox-header">Enter File3 data here</div>
                <textarea id="tf" class="textbox" placeholder="Enter File3 data here"></textarea>
            </div>
        </div>
        <div class="button-container">
            <button class="copy-btn" onclick="generateAndCompare()">Generate and Compare Data</button>
            <button class="reset-btn" onclick="resetFields()">Reset</button>
            <a href="Canada_Tool.html" style="color:red;">Back To Home</a>
        </div>
        <div id="result" class="result"></div>
    </div>
    <div class="footer">
        <p>© TP 2024</p>

    </div>

    <script>
        function generateAndCompare() {
            const mfData = processData(document.getElementById('mf').value);
            const dfData = processData(document.getElementById('df').value);
            const tfData = processData(document.getElementById('tf').value);
            const resultDiv = document.getElementById('result');
            resultDiv.innerHTML = '';

            const createTable = (mfData, dfData, tfData, commonData, uniqueMfData, uniqueDfData, uniqueTfData) => {
                let table = `<table><tr><th>File1 Data</th><th>Action</th><th>File2 Data</th><th>Action</th><th>File3 Data</th><th>Action</th><th>Common Data</th><th>Action</th><th>Unique Data</th><th>Source</th><th>Action</th></tr>`;
                const maxLength = Math.max(mfData.length, dfData.length, tfData.length, commonData.length, uniqueMfData.length, uniqueDfData.length, uniqueTfData.length);
                for (let i = 0; i < maxLength; i++) {
                    table += `<tr>
                        <td>${mfData[i] || ''}</td><td>${mfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${mfData[i]}')">Copy</button>` : ''}</td>
                        <td>${dfData[i] || ''}</td><td>${dfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${dfData[i]}')">Copy</button>` : ''}</td>
                        <td>${tfData[i] || ''}</td><td>${tfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${tfData[i]}')">Copy</button>` : ''}</td>
                        <td>${commonData[i] || ''}</td><td>${commonData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${commonData[i]}')">Copy</button>` : ''}</td>
                        <td class="${uniqueMfData[i] || uniqueDfData[i] || uniqueTfData[i] ? 'unique' : ''}">${uniqueMfData[i] || uniqueDfData[i] || uniqueTfData[i] || ''}</td><td>${uniqueMfData[i] ? 'File1' : uniqueDfData[i] ? 'File2' : uniqueTfData[i] ? 'File3' : ''}</td><td>${uniqueMfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${uniqueMfData[i]}')">Copy</button>` : uniqueDfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${uniqueDfData[i]}')">Copy</button>` : uniqueTfData[i] ? `<button class="copy-btn" onclick="copyToClipboard(this, '${uniqueTfData[i]}')">Copy</button>` : ''}</td>
                    </tr>`;
                }
                table += `</table>`;
                return table;
            };

            const commonData = mfData.filter(value => dfData.includes(value) && tfData.includes(value));
            const uniqueMfData = mfData.filter(value => !dfData.includes(value) && !tfData.includes(value));
            const uniqueDfData = dfData.filter(value => !mfData.includes(value) && !tfData.includes(value));
            const uniqueTfData = tfData.filter(value => !mfData.includes(value) && !dfData.includes(value));

            resultDiv.innerHTML = createTable(mfData, dfData, tfData, commonData, uniqueMfData, uniqueDfData, uniqueTfData);
        }

        


        function processData(data) {
            const lines = data.split('\n');
            const firstSpaceIndex = lines.findIndex(line => line.trim() === '');
            if (firstSpaceIndex === -1) return lines.map(item => item.trim().split(',')).flat().filter(item => item);
            const upperData = lines.slice(0, firstSpaceIndex + 1);
            const lowerData = lines.slice(firstSpaceIndex + 1).map(item => item.trim().split(',')).flat().filter(item => item);
            return [...upperData, ...lowerData];
        }

        function resetFields() {
            document.getElementById('mf').value = '';
            document.getElementById('df').value = '';
            document.getElementById('tf').value = '';
            document.getElementById('result').innerHTML = '';
        }

        function copyToClipboard(button, text) {
            navigator.clipboard.writeText(text).then(() => {
                button.textContent = 'Copied';
                setTimeout(() => {
                    button.textContent = 'Copy';
                }, 2000);
            });
        }
    </script>
</body>
</html>
