<!
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Online Voting System</title>
<style>
/* Basic Styling */
*{
margin: 0;
padding: 0;
box-sizing: border-box;
body {
margin: 0;
height: 100vh;
background: linear-gradient(to bottom, #FF9933 33%, #ffffff 33% 66%,
#138808 66%);
display: flex;
justify-content: center;
align-items: center;
font-family: Arial, sans-serif;
color: black;
text-align: center;
.container {
background: #fff;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
width: 300px;
margin-bottom: 0%; /* Moves the container slightly down from the top
*/
border: 2px solid blue; /* Adds a blue border */
h2 {
text-align: center;
margin-bottom: 10px;
input[type="email"],
input[type="password"],
input[type="text"] {
width: 100%;
padding: 10px;
margin-bottom: 15px;
border: 1px solid #ccc;
border-radius: 4px;
/* Password field with Eye icon */
.password-container {
position: relative;
width: 100%;
.eye-icon {
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-80%);
cursor: pointer;
font-size: 18px; /* Apply the size you mentioned (16px) */
button {
width: 100%;
padding: 10px;
background-color: #007BFF;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
button:hover {
background-color: #0056b3;
.error {
color: red;
font-size: 12px;
text-align: center;
margin-top: 10px;
#poll-options button {
margin: 5px 0;
padding: 8px;
width: 100%;
background-color: #28a745;
color: #fff;
border: none;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.3s, transform 0.2s;
#poll-options button:hover {
background-color: #218838;
#poll-options button.selected {
background-color: #ffcc00;
box-shadow: 0px 0px 10px rgba(255, 204, 0, 0.5);
transform: scale(1.05);
transition: transform 0.2s ease, background-color 0.3s ease;
#submit-vote {
margin-top: 20px;
background-color: #007BFF;
#submit-vote:hover {
background-color: #0056b3;
#result-message {
margin-top: 10px;
font-size: 16px;
text-align: center;
#logout-button {
margin-top: 15px;
background-color: #dc3545;
#logout-button:hover {
background-color: #c82333;
#epic-container {
display: none;
text-align: center;
}
.disabled {
background-color: #d6d6d6;
cursor: not-allowed;
.vote-disabled {
background-color: #d6d6d6;
cursor: not-allowed;
pointer-events: none;
.loader {
border: 4px solid #f3f3f3;
border-top: 4px solid #3498db;
border-radius: 50%;
width: 30px;
height: 30px;
animation: spin 1s linear infinite;
margin: 10px auto;
@keyframes spin {
0% {
transform: rotate(0deg);
100% {
transform: rotate(360deg);
.receipt {
display: none;
background: #f9f9f9;
padding: 20px;
border: 1px solid #ddd;
border-radius: 8px;
margin-top: 20px;
text-align: center;
.receipt h3 {
margin-bottom: 10px;
color: #007BFF;
}
.receipt p {
font-size: 14px;
color: #333;
/* Welcome Page */
#welcome-container {
text-align: center;
/* Common container styling */
.container {
max-width: 600px;
margin: 20px auto;
padding: 20px;
border: 1px solid #ccc;
border-radius: 8px;
background-color: #f9f9f9;
text-align: center;
/* Styling for the dropdown containers */
select {
width: 100%;
padding: 10px;
margin: 10px 0;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 16px;
/* Container styling for state, district, and assembly */
#state-district-container, #assembly-select-container {
display: block;
margin-bottom: 20px;
/* Optional: styling for the buttons */
button {
padding: 10px 20px;
font-size: 16px;
border: none;
background-color:#467bff;
color: white;
border-radius: 4px;
cursor: pointer;
margin-top: 10px;
}
#camera-container {
position: absolute;
top: 80px; /* Camera at the top */
right: 20px; /* Camera on the right */
width: 200px; /* Smaller camera size */
height: 133px; /* Height of the camera */
background-color: #ccc;
border-radius: 10px;
overflow: hidden; /* Make sure the video fits within the border radius
*/
#camera-container video {
width: 100%;
height: 100%;
object-fit: cover; /* Ensure the video fills the box */
.header {
position: absolute;
top: -5px;
width: 100%;
text-align: center;
font-size: 1.7em;
color: black;
font-weight: bold;
letter-spacing: 2px;
</style>
</head>
<body>
<div class="header">🙏ONLINE VOTING SYSTEM🙏</div>
<!-- Welcome Page -->
<div class="container" id="welcome-container">
<h2>स्वागत है!</h2>
<p>इस ऑनलाइन मतदान प्रणाली में आपका स्वागत है। कृपया
मतदान करने के लिए नीचे दिए गए बटन पर क्लिक करें।</p>
<button id="start-button">आगे बढ़ें</button>
</div>
<!-- State and District Selection Page -->
<div class="container" id="state-district-container" style="display: none;">
<h2>राज्य और जिला का चयन करें.</h2>
<select id="state-select">
<option value="">-- Select State --</option>
<option value="Andhra Pradesh">Andhra Pradesh</option>
<option value="Arunachal Pradesh">Arunachal Pradesh</option>
<option value="Assam">Assam</option>
<option value="Bihar">Bihar</option>
<option value="Chhattisgarh">Chhattisgarh</option>
<option value="Goa">Goa</option>
<option value="Gujarat">Gujarat</option>
<option value="Haryana">Haryana</option>
<option value="Himachal Pradesh">Himachal Pradesh</option>
<option value="Jammu and Kashmir">Jammu and Kashmir</option>
<option value="Jharkhand">Jharkhand</option>
<option value="Karnataka">Karnataka</option>
<option value="Kerala">Kerala</option>
<option value="Ladakh">Ladakh</option>
<option value="Madhya Pradesh">Madhya Pradesh</option>
<option value="Maharashtra">Maharashtra</option>
<option value="Manipur">Manipur</option>
<option value="Meghalaya">Meghalaya</option>
<option value="Mizoram">Mizoram</option>
<option value="Nagaland">Nagaland</option>
<option value="Odisha">Odisha</option>
<option value="Punjab">Punjab</option>
<option value="Rajasthan">Rajasthan</option>
<option value="Sikkim">Sikkim</option>
<option value="Tamil Nadu">Tamil Nadu</option>
<option value="Telangana">Telangana</option>
<option value="Tripura">Tripura</option>
<option value="Uttar Pradesh">Uttar Pradesh</option>
<option value="Uttarakhand">Uttarakhand</option>
<option value="West Bengal">West Bengal</option>
<option value="Andaman and Nicobar Islands">Andaman and Nicobar
Islands</option>
<option value="Chandigarh">Chandigarh</option>
<option value="Dadra and Nagar Haveli and Daman and Diu">Dadra and
Nagar Haveli and Daman and Diu</option>
<option value="Lakshadweep">Lakshadweep</option>
<option value="Delhi">Delhi</option>
<option value="Puducherry">Puducherry</option>
</select>
<div id="district-select-container">
<select id="district-select">
<option value="">-- Select District --</option>
</select>
</div>
<!-- Assembly selection container styled the same as state and district -->
<div id="assembly-select-container" style="display: none;">
<select id="assembly-select">
<option value="">-- Select Assembly --</option>
</select>
</div>
<button id="next-button">आगे बढ़ें</button>
</div>
<!-- Login Form -->
<div class="container" id="login-container" style="display: none;">
<h2>लॉगिन करें</h2>
<form id="login-form">
<input type="email" id="email" placeholder="अपना ईमेल दर्ज करें."
required>
<!-- Password Field with Eye Icon Inside -->
<div class="password-container">
<input type="password" id="password" placeholder="अपना पासवर्ड
दर्ज करें." required>
<span class="eye-icon" id="toggle-password"></span>
</div>
<button type="submit">लॉगिन</button>
</form>
<div id="error-message" class="error"></div>
</div>
<!-- EPIC Number Form -->
<div class="container" id="epic-container" style="display: none;">
<h2>EPIC नंबर दर्ज करें.</h2>
<form id="epic-form">
<input type="text" id="epic-number" placeholder="अपना EPIC नंबर
दर्ज करें." required>
<input type="text" id="name" placeholder="अपना नाम दर्ज करें."
required>
<button type="submit">सबमिट करें</button>
</form>
<div id="epic-error-message" class="error"></div>
</div>
<!-- Poll Form -->
<div class="container" id="poll-container" style="display: none;">
<h2>मतदान करें: अपना विकल्प चुनें.</h2>
<!-- Live Camera Feed -->
<div id="camera-container" style="display: none; text-align: center;">
<h3>Live Camera Feed</h3>
<video id="camera-video" width="320" height="240" autoplay></video>
<p id="camera-status">कृपया कैमरा का उपयोग करने की अनुमति
दें।</p>
</div> <div id="poll-question">प्रश्न लोड हो रहा है...</div>
<div id="poll-options">
<!-- Poll options will be loaded here dynamically -->
</div>
<button id="submit-vote">मतदान सबमिट करें</button>
<div id="result-message"></div>
<button id="logout-button">लॉगआउट</button>
<!-- Real-Time Date and Time -->
<div id="datetime" style="text-align: center; margin-top: 20px; font-size:
14px; color: #555;">
<!-- This will display the current date and time -->
</div>
<!-- Vote Receipt -->
<div id="vote-receipt" class="receipt">
<h3>आपका वोट सफलतापूर्वक सबमिट कर दिया गया है!</h3>
<p>आपने <strong id="candidate-name"></strong> को वोट दिया।</p>
<p><strong>तारीख:</strong> <span id="vote-date"></span></p>
<p><strong>समय:</strong> <span id="vote-time"></span></p>
</div>
</div>
<script>
// Handle the "Start" button click on the Welcome page
document.getElementById('start-button').addEventListener('click',
function () {
document.getElementById('welcome-container').style.display = 'none';
document.getElementById('state-district-container').style.display =
'block';
})
// State and District Selection Logic with Assembly Options
document.getElementById('state-select').addEventListener('change', function
(e) {
const state = e.target.value;
const districtSelect = document.getElementById('district-select');
const districtSelectContainer = document.getElementById('district-select-
container');
const assemblySelectContainer = document.getElementById('assembly-
select-container');
const assemblySelect = document.getElementById('assembly-select');
if (state) {
districtSelectContainer.style.display = 'block';
let districts = [];
let assemblies = [];
// Fill the districts and assemblies based on state
if (state === 'Andhra Pradesh') {
districts = ['Visakhapatnam', 'Vijayawada', 'Guntur', 'Tirupati', 'Kurnool',
'Rajahmundry', 'Chittoor',
'Nellore', 'Anantapur', 'West Godavari'];
assemblies = {
'Visakhapatnam': ['Visakhapatnam North','Visakhapatnam
South','Gajuwaka'],
'Vijayawada': ['Vijayawada East', 'Vijayawada West','Macherla'],
'Guntur': ['Guntur East', 'Guntur West', 'Tenali', 'Peddakurapadu',
'Prathipadu'],
'Tirupati': ['Tirupati', 'Srikalahasti', 'Puthalapattu'],
'Kurnool': ['Kurnool', 'Nandikotkur', 'Alur', 'Dhone'],
'Rajahmundry': ['Rajahmundry City', 'Rajahmundry Rural',
'Mummidivaram'],
'Chittoor': ['Chittoor', 'Punganur', 'Palamaner', 'Kuppam', 'Nagari',
'Tirupati'],
'Nellore': ['Nellore City', 'Sullurpeta', 'Udayagiri', 'Venkatagiri', 'Gudur'],
'Anantapur': ['Anantapur', 'Peddapappur', 'Atmakur', 'Rayadurg',
'Penukonda', 'Somandepalli'],
'West Godavari': ['Bhimavaram', 'Narasapuram', 'Palakollu',
'Tadepalligudem', 'Eluru', 'Jangareddigudem', 'Polavaram']
};
} else if (state === 'Arunachal Pradesh') {
districts = ['Itanagar', 'Tawang', 'Papum Pare', 'West Kameng', 'East Kameng',
'Lower Subansiri', 'Upper Subansiri', 'Kurung Kumey', 'Changlang', 'Namsai'];
assemblies = {
'Itanagar': ['Itanagar', 'Doimukh'],
'Tawang': ['Tawang'],
'Papum Pare': ['Itanagar', 'Borum', 'Naharlagun'],
'West Kameng': ['Bhalukpong', 'Rupa'],
'East Kameng': ['Sangdupota', 'Seppa'],
'Lower Subansiri': ['Ziro-Hapoli', 'Raga', 'Yachuli'],
'Upper Subansiri': ['Daporijo', 'Tali'],
'Kurung Kumey': ['Koloriang', 'Pipsorang'],
'Changlang': ['Changlang North', 'Changlang South', 'Miao'],
'Namsai': ['Namsai', 'Mahadevpur']
};
} else if (state === 'Assam') {
districts = ['Guwahati', 'Dibrugarh', 'Jorhat', 'Tinsukia', 'Sivasagar', 'Nagaon',
'Barpeta', 'Golaghat', 'Bongaigaon', 'Sonitpur'];
assemblies = {
'Guwahati': ['Guwahati East', 'Guwahati West', 'Dispur', 'Bordowa',
'Kamrup', 'Chandrapur', 'Hajo'],
'Dibrugarh': ['Dibrugarh', 'Tinsukia', 'Chabua', 'Lahoal'],
'Jorhat': ['Jorhat', 'Teok', 'Mariani', 'Naharkatia'],
'Tinsukia': ['Tinsukia', 'Margherita', 'Ledo', 'Digboi', 'Sadiya', 'Borholla'],
'Sivasagar': ['Sivasagar', 'Nazira', 'Amguri', 'Charaideo', 'Jorhat'],
'Nagaon': ['Nagaon', 'Batadrava', 'Samaguri', 'Haiborgaon', 'Raha',
'Kaliabor', 'Dhing', 'Laharighat', 'Jagiroad'],
'Barpeta': ['Barpeta', 'Bajali', 'Sorbhog', 'Howly', 'Kalgachia',
'Patacharkuchi', 'Chenga'],
'Golaghat': ['Golaghat', 'Jorhat', 'Sarupathar', 'Dergaon', 'Kaliapani',
'Moran'],
'Bongaigaon': ['Bongaigaon', 'Bijni', 'Manikpur', 'Chapaguri', 'Srijangram',
'Mushalpur'],
'Sonitpur': ['Tezpur', 'Bihpuria', 'Biswanath', 'Mazbat', 'Gohpur',
'Rangapara', 'Kaliabor']
};
} else if (state === 'Bihar') {
districts = ['Patna', 'Gaya', 'Bhagalpur', 'Muzaffarpur'];
assemblies = {
'Patna': ['Patna Sahib', 'Patna City', 'Bakhtiarpur', 'Daniyawan', 'Fatuha',
'Makhdumpur'],
'Gaya': ['Gaya Town', 'Gaya Sadar', 'Manpur', 'Tekari', 'Sherghati', 'Bodh
Gaya', 'Dumaria'],
'Bhagalpur': ['Bhagalpur', 'Kahalgaon', 'Naugachhia', 'Sultanganj',
'Colgong', 'Ismailpur', 'Bengabad'],
'Muzaffarpur': ['Muzaffarpur', 'Kanti', 'Sahebganj', 'Belsand', 'Paroo',
'Aurai', 'Marwan']
};
} else if (state === 'Chhattisgarh') {
districts = ['Raipur', 'Bilaspur', 'Korba', 'Durg', 'Raigarh', 'Jashpur', 'Sarguja',
'Rajnandgaon', 'Dhamtari', 'Kanker'];
assemblies = {
'Raipur': ['Raipur', 'Raipur West', 'Raipur South', 'Arang', 'Abhanpur'],
'Bilaspur': ['Bilaspur', 'Takhatpur', 'Marwahi', 'Bilha', 'Ratanpur', 'Kotri'],
'Korba': ['Korba', 'Pali', 'Katghora', 'Kartala', 'Chhurra', 'Manendragarh'],
'Durg': ['Durg', 'Bemetara', 'Patan', 'Patan (Sadar)', 'Dhamtari', 'Khallari',
'Kurud'],
'Raigarh': ['Raigarh', 'Lailunga', 'Pusour', 'Kharsia', 'Gharghoda',
'Bhatgaon'],
'Jashpur': ['Jashpur', 'Bagicha', 'Manora', 'Tapkara', 'Lathikata'],
'Sarguja': ['Ambikapur', 'Fingeshwar', 'Surguja', 'Lormi', 'Mainpat',
'Lakhanpur', 'Bharatpur'],
'Rajnandgaon': ['Rajnandgaon', 'Dongargarh', 'Khairagarh', 'Chhuikhadan',
'Ahiwara', 'Mohla-Manpur', 'Kanker'],
'Dhamtari': ['Dhamtari', 'Kurud', 'Patan', 'Gariaband', 'Chhura'],
'Kanker': ['Kanker', 'Durgukondal', 'Antagarh', 'Bhanupratappur']
};
} else if (state === 'Goa') {
districts = ['North Goa', 'South Goa'];
assemblies = {
'North Goa': ['Panaji', 'Bicholim', 'Mapusa', 'Saligao', 'Aldona', 'Cortalim',
'Siolim'],
'South Goa': ['Margao', 'Sanguem', 'Quepem', 'Canacona', 'Cuncolim',
'Velim']
};
} else if (state === 'Gujarat') {
districts = ['Ahmedabad', 'Surat', 'Vadodara', 'Rajkot', 'Bhavnagar',
'Gandhinagar', 'Junagadh', 'Amreli', 'Kutch', 'Anand'];
assemblies = {
'Ahmedabad': ['Ahmedabad East', 'Ahmedabad West', 'Ahmedabad South',
'Ahmedabad North', 'Gandhinagar', 'Vejalpur', 'Sabarmati', 'Naranpura',
'Bapunagar', 'Kadi', 'Shahpur', 'Rakhial', 'Amraiwadi', 'Danilimda', 'Bodakdev',
'Odhav'],
'Surat': ['Surat East', 'Surat West', 'Surat North', 'Surat South', 'Olpad',
'Udhna', 'Ichchhpur', 'Mandvi', 'Vyara', 'Bardoli', 'Kamrej', 'Mahuva', 'Palsana',
'Choryasi', 'Songadh', 'Kedarnath'],
'Vadodara': ['Vadodara City', 'Vadodara Rural', 'Vaghodia', 'Karjan', 'Padra',
'Sankheda', 'Chhota Udaipur', 'Jambusar', 'Bodeli', 'Kheda', 'Kavant',
'Waghodia'],
'Rajkot': ['Rajkot East', 'Rajkot West', 'Rajkot Rural', 'Upleta', 'Jetpur',
'Dhoraji', 'Kuvadva'],
'Bhavnagar': ['Bhavnagar West', 'Bhavnagar East', 'Sihor', 'Gariadhar',
'Talaja', 'Palitana', 'Mahuva', 'Bhavnagar Rural', 'Vallabhipur'],
'Gandhinagar': ['Gandhinagar', 'Kalol', 'Mansa', 'Prantij', 'Dehgam',
'Visnagar'],
'Junagadh': ['Junagadh', 'Mendarda', 'Manavadar', 'Veraval', 'Keshod',
'Kodinar', 'Talala'],
'Amreli': ['Amreli', 'Lathi', 'Gariadhar', 'Rajula', 'Jafrabad', 'Khambha',
'Savarkundla'],
'Kutch': ['Bhuj', 'Anjar', 'Mandvi', 'Nakhtrana', 'Rapar', 'Lakhpat', 'Bhachau',
'Kalyanpur', 'Mundra', 'Abadasa'],
'Anand': ['Anand', 'Borsad', 'Petlad', 'Khambhat', 'Anklav', 'Sojitra']
};
} else if (state === 'Haryana') {
districts = ['Gurugram', 'Faridabad', 'Ambala', 'Hisar', 'Karnal', 'Panipat',
'Rohtak', 'Sonipat', 'Yamunanagar', 'Fatehabad'];
assemblies = {
'Gurugram': ['Gurugram', 'Badshahpur', 'Pataudi', 'Sohna', 'Manesar'],
'Faridabad': ['Faridabad', 'Badkal', 'Tigaon', 'Palwal', 'Prithla', 'Fatehpur'],
'Ambala': ['Ambala City', 'Ambala Cantt', 'Naraingarh', 'Barara',
'Shahzadpur', 'Saha'],
'Hisar': ['Hisar', 'Hansi', 'Narnaund', 'Barwala', 'Adampur', 'Tosham',
'Bhiwani'],
'Karnal': ['Karnal', 'Assandh', 'Nilokheri', 'Gharaunda', 'Indri', 'Pehowa'],
'Panipat': ['Panipat City', 'Panipat Rural', 'Israna', 'Samalkha', 'Baghpat'],
'Rohtak': ['Rohtak', 'Meham', 'Kalanaur', 'Mahendragarh', 'Bhiwani']
};
} else if (state === 'Himachal Pradesh') {
districts = ['Shimla', 'Kullu', 'Mandi', 'Solan', 'Kangra', 'Una', 'Hamirpur',
'Bilaspur', 'Chamba', 'Sirmaur'];
assemblies = {
'Shimla': ['Shimla Urban', 'Shimla Rural', 'Theog', 'Chopal', 'Kangra', 'Seraj',
'Jubbal-Kotkhai'],
'Kullu': ['Kullu', 'Manali', 'Banjar', 'Ani'],
'Mandi': ['Mandi', 'Sundernagar', 'Balh', 'Darang', 'Karsog', 'Jaisinghpur',
'Chauntra', 'Rehan', 'Kangra'],
'Solan': ['Solan', 'Kandaghat', 'Arki', 'Chopal'],
'Kangra': ['Kangra', 'Nurpur', 'Dalhousie', 'Palampur', 'Chamba', 'Hamirpur',
'Baddi', 'Dharamsala', 'Baijnath', 'Jai Singh', 'Kangra Kullu', 'Rajpura', 'Bilaspur',
'Mandi', 'Sirmaur'],
'Una': ['Una', 'Haroli', 'Amb', 'Rohru'],
'Hamirpur': ['Hamirpur', 'Nadaun', 'Bijhari', 'Bamsar', 'Nurpur'],
'Bilaspur': ['Bilaspur', 'Jhanduta', 'Ghumarwin', 'Nalagarh', 'Kangra'],
'Chamba': ['Chamba', 'Bharmour', 'Pangi', 'Churah'],
'Sirmaur': ['Nahan', 'Paonta Sahib', 'Shillai', 'Rajgarh', 'Renuka', 'Rohru']
};
} else if (state === 'Jammu and Kashmir') {
districts = ['Anantnag', 'Bandipora', 'Baramulla', 'Budgam', 'Doda',
'Ganderbal', 'Jammu', 'Kathua', 'Kishtwar', 'Kulgam', 'Kupwara', 'Poonch',
'Pulwama', 'Rajouri','Ramban', 'Samba', 'Shopian', 'Srinagar', 'Udhampur',
'Reasi'];
assemblies = {
'Anantnag': ['Anantnag', 'Bijbehara', 'Kokernag', 'Dooru', 'Pahalgam',
'Shangus'],
'Bandipora': ['Bandipora', 'Sonawari'],
'Baramulla': ['Baramulla', 'Pattan', 'Rafiabad', 'Sangrama'],
'Budgam': ['Budgam', 'Chadoora'],
'Doda': ['Doda', 'Bhaderwah', 'Ramban', 'Banihal'],
'Ganderbal': ['Ganderbal', 'Kangan'],
'Jammu': ['Jammu East', 'Jammu West', 'Gandhi Nagar', 'Akhnoor', 'R.S.
Pura', 'Bishnah', 'Jammu North', 'Marh', 'Suchetgarh', 'Chhamb', 'Raipur-
Domana'],
'Kathua': ['Kathua', 'Hiranagar', 'Billawar', 'Bani', 'Basholi', 'Lakhanpur'],
'Kishtwar': ['Kishtwar', 'Nagseni'],
'Kulgam': ['Kulgam', 'Noorabad'],
'Kupwara': ['Kupwara', 'Handwara', 'Langate', 'Rafiabad'],
'Poonch': ['Poonch', 'Surankote'],
'Pulwama': ['Pulwama', 'Tral'],
'Rajouri': ['Rajouri', 'Nowshera', 'Sunderbani', 'Darhal'],
'Ramban': ['Ramban', 'Banihal'],
'Samba': ['Samba', 'Vijaypur'],
'Shopian': ['Shopian'],
'Srinagar': ['Srinagar', 'Hazratbal', 'Eidgah', 'Amira Kadal', 'Sonwar',
'Noorbagh'],
'Udhampur': ['Udhampur', 'Chenani', 'Ramnagar', 'Reasi', 'Bani', 'Billawar'],
'Reasi': ['Reasi', 'Arnas']
};
} else if (state === 'Jharkhand') {
districts = ['Ranchi', 'Jamshedpur', 'Dhanbad', 'Deoghar', 'Hazaribagh',
'Dumka', 'Bokaro', 'Giridih', 'Palamu', 'Chatra'];
assemblies = {
'Ranchi': ['Ranchi', 'Hatia', 'Kanke', 'Silli', 'Bundu', 'Namkum', 'Tatisilwai',
'Mander', 'Nagri', 'Kashidih'],
'Jamshedpur': ['Jamshedpur East', 'Jamshedpur West', 'Jugsalai', 'Chandil',
'Ghatsila', 'Mango'],
'Dhanbad': ['Dhanbad', 'Jharia', 'Baghmara', 'Tundi', 'Nawadih',
'Chhatatand', 'Katras', 'Gautam', 'Saria'],
'Deoghar': ['Deoghar', 'Madhupur', 'Jarmundi', 'Munger', 'Kundhit',
'Sahibganj'],
'Hazaribagh': ['Hazaribagh', 'Barhi', 'Barkatha', 'Icha', 'Tamar', 'Bagodar',
'Keredari', 'Dhanwar'],
'Dumka': ['Dumka', 'Shikaripara', 'Jama', 'Jarmundi', 'Madhupur'],
'Bokaro': ['Bokaro', 'Chandrapura', 'Dhanbad', 'Bermo', 'Petarwar',
'Pachamba', 'Nawadih'],
'Giridih': ['Giridih', 'Dumri', 'Bagodar', 'Jama', 'Deoghar', 'Chirkunda'],
'Palamu': ['Palamu', 'Vishrampur', 'Chhatarpur', 'Mahuadungri', 'Chainpur',
'Panki', 'Lesliganj'],
'Chatra': ['Chatra', 'Lawalong', 'Tati Jharia', 'Simaria', 'Manatu', 'Palamu']
};
} else if (state === 'Karnataka') {
districts = ['Bengaluru', 'Mysuru', 'Mangaluru', 'Hubballi', 'Belagavi', 'Bidar',
'Davangere', 'Chitradurga', 'Hassan', 'Tumakuru'];
assemblies = {
'Bengaluru': ['Bengaluru South', 'Bengaluru Central', 'Bengaluru North',
'Rajajinagar', 'Chamarajpet', 'Malleshwaram', 'Shanthinagar', 'K.R. Puram',
'Jayanagar', 'Bangalore Rural', 'Mahadevapura', 'Vijayanagar', 'Shivajinagar',
'Yelahanka', 'Anekal', 'Byatarayanapura', 'Banasawadi', 'Hebbal', 'Krishna
Rajendra', 'C.V. Raman Nagar', 'Sarvagnanagar', 'Chickpet', 'Dasarahalli',
'Kengeri', 'Bommanahalli', 'Vijayanagara', 'Padmanabhanagar',
'Mahadevapura'],
'Mysuru': ['Mysuru', 'Krishna Raja', 'Nanjangud', 'Hunsur', 'Periyapatna',
'Chamundeshwari', 'T.Narasipura'],
'Mangaluru': ['Mangaluru', 'Surathkal', 'Puttur', 'Bantwal', 'Moodabidri',
'Sullia', 'Karkala'],
'Hubballi': ['Hubballi', 'Dharwad', 'Kundagol', 'Navalgund', 'Kalghatgi',
'Hubli Rural', 'Gokak'],
'Belagavi': ['Belagavi', 'Khanapur', 'Athani', 'Bailhongal', 'Raybag',
'Chikkodi', 'Gokak'],
'Bidar': ['Bidar', 'Basavana Bagewadi', 'Bhalki', 'Aurad', 'Humnabad',
'Zahirabad'],
'Davangere': ['Davangere South', 'Davangere North', 'Harihar', 'Channagiri',
'Jagalur', 'Srinivaspur'],
'Chitradurga': ['Chitradurga', 'Hosadurga', 'Molakalmuru', 'Hiriyur',
'Challakere', 'Sira', 'Tiptur'],
'Hassan': ['Hassan', 'Alur', 'Arkalgud', 'Channarayapatna', 'Belur',
'Holenarasipur', 'Sakleshpur'],
'Tumakuru': ['Tumakuru', 'Kunigal', 'Tiptur', 'Koratagere', 'Pavagada', 'Sira',
'Gubbi', 'Chikkanayakanahalli', 'Maddur']
};
} else if (state === 'Kerala') {
districts = ['Thiruvananthapuram', 'Kochi', 'Kottayam', 'Malappuram',
'Thrissur', 'Kollam', 'Kannur', 'Palakkad', 'Wayanad', 'Alappuzha'];
assemblies = {
'Thiruvananthapuram': ['Thiruvananthapuram', 'Nedumangad', 'Parassala',
'Vattiyoorkavu', 'Attingal', 'Kattakada', 'Kovalam', 'Chirayinkeezhu',
'Balaramapuram', 'Perumathura', 'Thiruvananthapuram North',
'Thiruvananthapuram South', 'Chenkal', 'Kaimanam'],
'Kochi': ['Kochi', 'Ernakulam', 'Mattancherry', 'Kunnathunadu', 'Paravur',
'Thripunithura'],
'Kottayam': ['Kottayam', 'Puthuppally', 'Changanassery', 'Pala',
'Kumarakom', 'Meenachil', 'Vaikom'],
'Malappuram': ['Malappuram', 'Manjeri', 'Perinthalmanna', 'Ponnani',
'Nilambur', 'Kondotty', 'Tanur'],
'Thrissur': ['Thrissur', 'Kodungallur', 'Irinjalakuda', 'Chalakudy', 'Vatakara',
'Mulankunnathukavu', 'Pudukkad', 'Thrissur North'],
'Kollam': ['Kollam', 'Karunagappally', 'Chavara', 'Paravur', 'Kottarakkara',
'Punalur', 'Ranny', 'Adoor'],
'Kannur': ['Kannur', 'Thalassery', 'Payyannur', 'Iritty', 'Mattannur', 'Panoor',
'Dharmadam', 'Peravoor'],
'Palakkad': ['Palakkad', 'Ottappalam', 'Alathur', 'Mannarkkad', 'Chittur',
'Perinthalmanna', 'Shornur', 'Nelliyampathy', 'Kozhinjampara'],
'Wayanad': ['Wayanad', 'Sulthan Bathery', 'Mananthavady', 'Valluvangad'],
'Alappuzha': ['Alappuzha', 'Kuttanadu', 'Changanassery', 'Punnappra',
'Cherthala', 'Aranmula', 'Ambalappuzha']
};
} else if (state === 'Ladakh') {
districts = ['Leh', 'Kargil'];
assemblies = {
'Leh': ['Leh', 'Nubra', 'Zanskar', 'Khaltsi', 'Kargil'],
'Kargil': ['Kargil', 'Zanskar', 'Drass', 'Suru']
};
} else if (state === 'Madhya Pradesh') {
districts = ['Bhopal', 'Indore', 'Gwalior', 'Ujjain', 'Jabalpur', 'Sagar', 'Rewa',
'Satna', 'Dewas', 'Khandwa'];
assemblies = {
'Bhopal': ['Bhopal North', 'Bhopal South', 'Bhopal Central', 'Bhopal Rural',
'Huzur', 'Kolar', 'Govindpura', 'Berasia', 'Narela', 'Sehore', 'T T Nagar',
'Shahpura', 'Phanda', 'Mandi'],
'Indore': ['Indore 1', 'Indore 2', 'Indore 3', 'Indore 4', 'Indore 5', 'Indore 6',
'Indore 7', 'Mhow', 'Sanwer', 'Depalpur'],
'Gwalior': ['Gwalior', 'Gwalior East', 'Gwalior West', 'Bhitarwar',
'Maharajpura', 'Dabra', 'Morena'],
'Ujjain': ['Ujjain North', 'Ujjain South', 'Tarana', 'Nagda', 'Khachrod',
'Mahidpur', 'Badnagar'],
'Jabalpur': ['Jabalpur', 'Jabalpur West', 'Jabalpur East', 'Sihora', 'Madan
Mahal', 'Katangi', 'Bargi'],
'Sagar': ['Sagar', 'Deori', 'Khurai', 'Bina', 'Rahatgarh', 'Jaisinagar', 'Surkhi'],
'Rewa': ['Rewa', 'Teonthar', 'Chandia', 'Maihar', 'Manpur', 'Rampur',
'Gangev'],
'Satna': ['Satna', 'Amarpatan', 'Rampur-Baghelan', 'Chitrakoot', 'Nagod',
'Maihar', 'Panna'],
'Dewas': ['Dewas', 'Kannod', 'Sonkachh', 'Bagli', 'Dewas Rural', 'Manpur'],
'Khandwa': ['Khandwa', 'Khargone', 'Barwani', 'Sardarpur', 'Rajpur',
'Jhirniya', 'Dharampuri']
};
} else if (state === 'Maharashtra') {
districts = ['Ahilyanagar', 'Akola', 'Amravati', 'Beed', 'Bhandara', 'Buldhana',
'Chandrapur', 'Chhatrapati Sambhaji Nagar', 'Dharashiv', 'Dhule',
'Gadchiroli', 'Gandhinagar', 'Hingoli', 'Jalgaon', 'Jalna', 'Kolhapur',
'Latur', 'Mumbai (City)', 'Mumbai Suburban',
'Nagpur', 'Nanded', 'Nandurbar', 'Nashik', 'Osmanabad', 'Palghar',
'Parbhani', 'Pune', 'Raigad', 'Ratnagiri',
'Sangli', 'Satara', 'Sindhudurg', 'Solapur', 'Thane', 'Wardha', 'Washim',
'Yavatmal'];
assemblies = {
'Ahilyanagar': ['216 - Akole (ST)', '217 - Sangmner', '218 - Shirdi', '219 -
Kopargaon', '220 - Shrirampur (SC)', '221 - Nevasa', '222 - Shevgaon', '223 -
Rahuri', '224 - Parner', '225 - Ahilyanagar City', '226 - Shrigonda', '227 - Karjat
Jamkhed'],
'Akola': ['28 - Akot', '29 - Balapur', '30 - Akola West', '31 - Akola East', '32 -
Murtizapur (SC)'],
'Amravati': ['36 - Dhamangaon Railway', '37 - Badnera', '38 - Amravati', '39
- Teosa', '40 - Daryapur (SC)', '41 - Melghat (ST)', '42 - Achalpur'],
'Beed': ['228 - Georai', '229 - Majalgaon', '230 - Beed', '231 - Ashti', '232 -
Kaij (SC)', '233 - Parli'],
'Bhandara': ['60 - Tumsar', '61 - Bhandara (SC)', '62 - Sakoli'],
'Buldhana': ['21 - Malkapur', '22 - Buldhana', '23 - Chikhli', '24 - Sindhkhed
Raja', '25 - Mehkar (SC)', '26 - Khamgaon', '27 - Jalgaon (Jamod)'],
'Chandrapur': ['70 - Rajura', '71 - Chandrapur (SC)', '72 - Ballarpur', '73 -
Bramhapuri', '74 - Chimur', '75 - Warora'],
'Chhatrapati Sambhaji Nagar': ['104 - Sillod', '105 - Kannad', '106 -
Pholambari', '107 - Chhatrapati Sambhaji Nagar (Central)', '108 - Chhatrapati
Sambhaji Nagar (West) (SC)', '109 - Chhatrapati Sambhaji Nagar (East)', '110 -
Paithan', '111 - Gangapur', '112 - Vaijapur'],
'Dharashiv': ['240 - Omerga (SC)', '241 - Tuljapur', '242 - Dharashiv', '243 -
Paranda'],
'Dhule': ['5 - Sakri (ST)', '6 - Dhule Rural', '7 - Dhule City', '8 - Sindhkheda',
'9 - Shirpur (ST)'],
'Gadchiroli': ['67 - Armori (ST)', '68 - Gadchiroli (ST)', '69 - Aheri (ST)'],
'Gondiya': ['63 - Arjuni Morgaon (SC)', '64 - Tirora', '65 - Gondia', '66 -
Amgaon (ST)'],
'Hingoli': ['92 - Basmath', '93 - Kalamnuri', '94 - Hingoli'],
'Jalgaon': ['10 - Chopda (ST)', '11 - Raver', '12 - Bhusawal (SC)', '13 - Jalgaon
City', '14 - Jalgaon Rural', '15 - Amalner', '16 - Erandol', '17 - Chalisgaon', '18 -
Pachora', '19 - Jamner', '20 - Muktainagar'],
'Jalna': ['99 - Partur', '100 - Gansavangi', '101 - Jalna', '102 - Badnapur
(SC)'],
'Kolhapur': ['271 - Chandgad', '272 - Radhanagari', '273 - Kagal', '274 -
Kolhapur South', '275 - Karvir', '276 - Kolhapur North', '277 - Shahuwadi', '278 -
Hatkanangle (SC)', '279 - Ichalkaranji', '280 - Shirol'],
'Latur': ['234 - Latur Rural', '235 - Latur City', '236 - Ahmedpur', '237 - Udgir
(SC)', '238 - Nilanga', '239 - Ausa'],
'Mumbai City': ['178 - Dharavi (SC)', '179 - Sion Koliwada', '180 - Wadala',
'181 - Mahim', '182 - Worli', '183 - Shivadi', '184 - Byculla', '185 - Malabar Hill',
'186 - Mumbadevi', '187 - Colaba'],
'Mumbai Suburban': ['152 - Borivali', '153 - Dhaisar', '154 - Magathane',
'155 - Mulund', '156 - Vikhroli', '157 - Bhandup West', '158 - Jogeshwari East',
'159 - Dindoshi', '160 - Kandivali East', '161 - Charkop', '162 - Malad West', '163
- Goregaon', '164 - Varsova', '165 - Andheri West', '166 - Andheri East', '167 -
Vile Parle', '168 - Chandivali', '169 - Ghatkopar West', '170 - Ghatkopar East',
'171 - Mankhurd Shivajinagar', '172 - Anushakti Nagar', '173 - Chembur', '174 -
Kurla (SC)', '175 - Kalina', '176 - Vandre East', '177 - Vandre West'],
'Nagpur': ['48 - Katol', '49 - Savner', '50 - Hingna', '51 - Umred (SC)', '52 -
Nagpur South West', '53 - Nagpur South', '54 - Nagpur East', '55 - Nagpur
Central', '56 - Nagpur West', '57 - Nagpur North (SC)', '58 - Kamthi', '59 -
Ramtek'],
'Nanded': ['83 - Kinwat', '84 - Hadgaon', '85 - Bhokar', '86 - Nanded North',
'87 - Nanded South', '88 - Loha', '89 - Naigaon', '90 - Deglur (SC)', '91 -
Mukhed'],
'Nandurbar': ['1 - Akkalkuwa (ST)', '2 - Shahada (ST)', '3 - Nandurbar (ST)',
'4 - Nawapur (ST)'],
'Nashik': ['113 - Nandgaon', '114 - Malegaon (Central)', '115 - Malegaon
(Outer)', '116 - Baglan (ST)', '117 - Kalwan (ST)', '118 - Chandwad', '119 - Yevla',
'120 - Sinnar', '121 - Niphad', '122 - Dindori (ST)', '123 - Nashik East', '124 -
Nashik (Central)', '125 - Nashik West', '126 - Deolali (SC)', '127 - Igatpuri (ST)'],
'Palghar': ['128 - Dahanu (ST)', '129 - Vekramgrth (ST)', '130 - Palghar (ST)',
'131 - Boisar (ST)', '132 - Nalasopara', '133 - Vasai'],
'Parbhani': ['95 - Jintur', '96 - Parbhani', '97 - Gangakhed', '98 - Pathri'],
'Pune': ['195 - Junnar', '196 - Ambegaon', '197 - Khed Alandi', '198 - Shirur',
'199 - Daund', '200 - Indapur', '201 - Baramati', '202 - Purandar', '203 - Bhor',
'204 - Maval', '205 - Chinchwad', '206 - Pimpri (SC)', '207 - Bhosari', '208 -
Vadgaon Sheri', '209 - Shivajinagar', '210 - Kothrud', '211 - Khadakwasala', '212
- Parvati', '213 - Hadapsar', '214 - Pune Cantonment (SC)', '215 - Kasba Peth'],
'Raigad': ['188 - Panvel', '189 - Karjat', '190 - Uran', '191 - Pen', '192 -
Alibag', '193 - Shrivardhan', '194 - Mahad'],
'Ratnagiri': ['263 - Dapoli', '264 - Guhagar', '265 - Chiplun', '266 - Ratnagiri',
'267 - Rajapur'],
'Sangli': ['281 - Miraj (SC)', '282 - Sangli', '283 - Islampur', '284 - Shirala',
'285 - Palus-Kadegaon', '286 - Khanpur', '287 - Tasgaon-Kavathe Mahankal',
'288 - Jat'],
'Satara': ['255 - Phaltan (SC)', '256 - Wai', '257 - Koregaon', '258 - Man',
'259 - Karad North', '260 - Karad South', '261 - Patan', '262 - Satara'],
'Sindhudurg': ['268 - Kankavli', '269 - Kudal', '270 - Sawantwadi'],
'Solapur': ['244 - Karmala', '245 - Madha', '246 - Barshi', '247 - Mohol (SC)',
'248 - Solapur City North', '249 - Solapur City Central', '250 - Akkalkot', '251 -
Solapur South', '252 - Pandharpur', '253 - Sangola', '254 - Malshiran (SC)'],
'Thane': ['134 - Bhiwandi Rural (ST)', '135 - Shahapur (ST)', '136 - Bhiwandi
West', '137 - Bhiwandi East', '138 - Kalyan West', '139 - Murbad', '140 -
Ambarnath (SC)', '141 - Ulhasnagar', '142 - Kalyan East', '143 - Dombivli', '144 -
Kalyan Rural', '145 - Meera Bhayandar', '146 - Ovala Majiwada', '147 - Kopri-
Pachpakhadi', '148 - Thane', '149 - Mumbra-Kalwa', '150 - Airoli', '151 -
Belapur'],
'Wardha': ['43 - Arvi', '44 - Deoli', '45 - Hinganghat', '46 - Wardha'],
'Washim': ['33 - Risod', '34 - Washim (SC)', '35 - Karanja'],
'Yavatmal': ['76 - Wani', '77 - Ralegaon (ST)', '78 - Yavatmal', '79 - Digras',
'80 - Arni (ST)', '81 - Pusad', '82 - Umarkhed (SC)']
};
} else if (state === 'Manipur') {
districts = ['Imphal', 'Thoubal', 'Churachandpur', 'Bishnupur', 'Ukhrul',
'Senapati', 'Chandel', 'Tamenglong', 'Tengnoupal'];
assemblies = {
'Imphal West': ['Lamphel', 'Lalambung', 'Kangla', 'Singjamei', 'Patsoi',
'Wangkhei', 'Uripok', 'Yaiskul', 'Sekmai'],
'Imphal East': ['Kangpokpi', 'Keirao', 'Thangmeiband', 'Moirang', 'Nambol',
'Tengnoupal', 'Churachandpur', 'Serou'],
'Churachandpur': ['Churachandpur', 'Thanlon', 'Singngat', 'Lambui',
'Tuibong', 'Saikot', 'Henglep'],
'Bishnupur': ['Bishnupur', 'Moirang', 'Nambol', 'Kumbi', 'Oinam'],
'Ukhrul': ['Ukhrul', 'Phungyar', 'Tangkhul'],
'Senapati': ['Mao', 'Paomata', 'Senapati', 'Karong'],
'Chandel': ['Chandel', 'Khengjoy', 'Lamkang', 'Moijing'],
'Tamenglong': ['Tamenglong', 'Tamei', 'Nungba'],
'Tengnoupal': ['Tengnoupal']
};
} else if (state === 'Meghalaya') {
districts = ['Shillong', 'Tura', 'Jowai', 'Nongpoh', 'Baghmara', 'Williamnagar',
'Mawkyrwat', 'Nongstoin'];
assemblies = {
'Shillong': ['Shillong', 'Laban', 'Mawlai', 'East Shillong'],
'Tura': ['Tura', 'Rangsakona', 'Mendipathar', 'North Tura'],
'Jowai': ['Jowai', 'Nartiang'],
'Nongpoh': ['Nongpoh', 'Umsning'],
'Baghmara': ['Baghmara', 'Ranikor'],
'Williamnagar': ['Williamnagar', 'Songsak'],
'Mawkyrwat': ['Mawkyrwat'],
'Nongstoin': ['Nongstoin', 'Khliehriat']
};
} else if (state === 'Mizoram') {
districts = ['Aizawl', 'Champhai', 'Serchhip', 'Mamit', 'Kolasib', 'Lunglei',
'Lawngtlai', 'Saiha', 'Hnahthial'];
assemblies = {
'Aizawl': ['Aizawl East-I', 'Aizawl East-II', 'Aizawl West-I', 'Aizawl West-II',
'Aizawl North-I', 'Aizawl North-II'],
'Champhai': ['Champhai North', 'Champhai South', 'Serchhip', 'Khawzawl'],
'Serchhip': ['Serchhip', 'Tlabung'],
'Mamit': ['Mamit', 'Tlungvel'],
'Kolasib': ['Kolasib', 'Darlawn'],
'Lunglei': ['Lunglei North', 'Lunglei South', 'Tshangla', 'Khawhai'],
'Lawngtlai': ['Lawngtlai North', 'Lawngtlai South'],
'Saiha': ['Saiha', 'Chhimtuipui'],
'Hnahthial': ['Hnahthial']
};
} else if (state === 'Nagaland') {
districts = ['Kohima', 'Dimapur', 'Mokokchung', 'Tuensang', 'Zunheboto',
'Wokha', 'Phek', 'Longleng', 'Mon'];
assemblies = {
'Kohima': ['Kohima Town', 'Southern Angami-I', 'Southern Angami-II',
'Jakhama', 'Chiephobozou'],
'Dimapur': ['Dimapur-I', 'Dimapur-II'],
'Mokokchung': ['Mokokchung Town', 'Longsa', 'Chuchuyimlang', 'Alichen'],
'Tuensang': ['Tuensang Sadar-I', 'Tuensang Sadar-II', 'Shamator',
'Longkhim'],
'Zunheboto': ['Zunheboto', 'Satakha'],
'Wokha': ['Wokha', 'Bhandari'],
'Phek': ['Phek', 'Meluri'],
'Longleng': ['Longleng'],
'Mon': ['Mon', 'Tizit', 'Aboi', 'Chare']
};
} else if (state === 'Odisha') {
districts = ['Bhubaneswar', 'Cuttack', 'Sambalpur', 'Rourkela', 'Berhampur',
'Kendrapara', 'Balasore', 'Bargarh', 'Puri', 'Khurda'];
assemblies = {
'Bhubaneswar': ['Bhubaneswar North', 'Bhubaneswar Central',
'Bhubaneswar South', 'Bhubaneswar'],
'Cuttack': ['Cuttack Sadar', 'Cuttack-Choudwar', 'Mahanga', 'Niali',
'Jagatpur', 'Baramba'],
'Sambalpur': ['Sambalpur', 'Rairakhol', 'Dhanupali', 'Bargarh'],
'Rourkela': ['Rourkela', 'Lathikata'],
'Berhampur': ['Berhampur', 'Ganjam', 'Chhatrapur', 'Brahmapur'],
'Kendrapara': ['Kendrapara', 'Rajnagar', 'Aul', 'Mahakalapada'],
'Balasore': ['Balasore', 'Basta', 'Remuna', 'Nilgiri', 'Sadar', 'Bhograi'],
'Bargarh': ['Bargarh', 'Barpali', 'Bijepur'],
'Puri': ['Puri', 'Sadar', 'Nimapara', 'Astaranga'],
'Khurda': ['Khurda', 'Jatani', 'Banpur']
};
} else if (state === 'Punjab') {
districts = ['Amritsar', 'Chandigarh', 'Ludhiana', 'Patiala', 'Jalandhar',
'Bathinda', 'Moga', 'Rupnagar', 'Sangrur', 'Hoshiarpur'];
assemblies = {
'Amritsar': ['Amritsar North', 'Amritsar Central', 'Amritsar South', 'Amritsar
East', 'Amritsar West', 'Majitha'],
'Chandigarh': ['Chandigarh'],
'Ludhiana': ['Ludhiana East', 'Ludhiana West', 'Ludhiana North', 'Ludhiana
South', 'Gill', 'Dakha', 'Koom Kalan'],
'Patiala': ['Patiala Urban', 'Patiala Rural', 'Rajpura', 'Sanour', 'Shutrana',
'Samana'],
'Jalandhar': ['Jalandhar West', 'Jalandhar North', 'Jalandhar Central',
'Jalandhar South', 'Kartarpur', 'Phillaur'],
'Bathinda': ['Bathinda Urban', 'Bathinda Rural', 'Maur', 'Rampura Phul',
'Bagha Purana'],
'Moga': ['Moga', 'Badhni Kalan', 'Dharamkot'],
'Rupnagar': ['Rupnagar', 'Kiratpur Sahib', 'Morinda'],
'Sangrur': ['Sangrur', 'Sunam', 'Dhuri', 'Lehra', 'Malerkotla', 'Fatehgarh
Churian'],
'Hoshiarpur': ['Hoshiarpur', 'Dasuya', 'Shahkot', 'Mahilpur']
};
} else if (state === 'Rajasthan') {
districts = ['Jaipur', 'Udaipur', 'Jodhpur', 'Kota', 'Ajmer', 'Bikaner', 'Churu',
'Pali', 'Sikar', 'Alwar'];
assemblies = {
'Jaipur': ['Jaipur North', 'Jaipur East', 'Jaipur West', 'Jaipur South', 'Jaipur
Rural', 'Vidyadhar Nagar', 'Sanganer', 'Tonk', 'Chaksu'],
'Udaipur': ['Udaipur', 'Salumber', 'Girwa', 'Mavli', 'Kotra', 'Kherwara'],
'Jodhpur': ['Jodhpur', 'Mandor', 'Pali', 'Osian', 'Bap', 'Rohat', 'Sojat'],
'Kota': ['Kota North', 'Kota South', 'Kota', 'Railmagra', 'Anta', 'Sawai
Madhopur'],
'Ajmer': ['Ajmer North', 'Ajmer South', 'Kishangarh', 'Beawar', 'Nasirabad'],
'Bikaner': ['Bikaner East', 'Bikaner West', 'Khajuwala', 'Laxmangarh',
'Deshnoke', 'Chhatargarh'],
'Churu': ['Churu', 'Ratangarh', 'Sadulpur', 'Taranagar', 'Nohar'],
'Pali': ['Pali', 'Rani', 'Marwar Junction', 'Jaitaran', 'Sojat', 'Bali', 'Desuri'],
'Sikar': ['Sikar', 'Khandela', 'Dantaramgarh', 'Sikar Rural', 'Piprali', 'Losal',
'Udaipurwati'],
'Alwar': ['Alwar', 'Reni', 'Bhiwadi', 'Malakhera', 'Behror', 'Mangalwa',
'Loharu']
};
} else if (state === 'Sikkim') {
districts = ['East Sikkim', 'West Sikkim', 'North Sikkim', 'South Sikkim'];
assemblies = {
'East Sikkim': ['Gangtok', 'Namchi', 'Tadong', 'Khamdong', 'Rhenock',
'Martam'],
'West Sikkim': ['Pelling', 'Gyalshing', 'Chakung', 'Barfung'],
'North Sikkim': ['Mangan', 'Lachung'],
'South Sikkim': ['Namchi', 'Yangang', 'Rangpo', 'Melli', 'Tumin Lingee']
};
} else if (state === 'Tamil Nadu') {
districts = ['Chennai', 'Coimbatore', 'Madurai', 'Tiruchirappalli', 'Salem',
'Tirunelveli', 'Erode', 'Vellore', 'Thoothukudi', 'Kanchipuram'];
assemblies = {
'Chennai': ['Chennai North', 'Chennai Central', 'Chennai South', 'Chennai
East', 'Chennai West', 'Chennai North-West', 'Chennai South-West', 'Chennai
Central-West', 'Chennai North-East', 'Chennai East-Central', 'Chennai South-
East', 'Teynampet', 'Virugambakkam', 'R.K. Nagar', 'Egmore', 'Anna Nagar'],
'Coimbatore': ['Coimbatore North', 'Coimbatore South', 'Sulur',
'Kinathukadavu', 'Palladam', 'Pollachi', 'Valparai', 'Perur'],
'Madurai': ['Madurai East', 'Madurai West', 'Madurai Central', 'Madurai
North', 'Madurai South', 'Alanganallur', 'Tirumangalam', 'Melur', 'Kundrakudi'],
'Tiruchirappalli': ['Tiruchirappalli West', 'Tiruchirappalli East', 'Lalgudi',
'Musiri', 'Thuraiyur', 'Pudukkottai', 'Viralimalai'],
'Salem': ['Salem North', 'Salem South', 'Salem West', 'Omalur', 'Mettur',
'Rasipuram', 'Vasudevanallur'],
'Tirunelveli': ['Tirunelveli', 'Palayamkottai', 'Ambasamudram',
'Vikramasingapuram', 'Tenkasi', 'Sankarankovil', 'Rajapalayam'],
'Erode': ['Erode', 'Erode East', 'Erode West', 'Gobichettipalayam',
'Perundurai', 'Sathyamangalam'],
'Vellore': ['Vellore', 'Gudiyatham', 'Arakkonam', 'Anaicut', 'K.V. Kuppam',
'Pallikonda'],
'Thoothukudi': ['Thoothukudi', 'Ottapidaram', 'Tiruchendur',
'Srivaikuntam', 'Kovilpatti', 'Sankarankovil'],
'Kanchipuram': ['Kanchipuram', 'Sriperumbudur', 'Uthiramerur', 'Cheyyur',
'Maduranthakam', 'Thirukalukundram', 'Chengalpattu']
};
} else if (state === 'Telangana') {
districts = ['Hyderabad', 'Warangal', 'Khammam', 'Karimnagar', 'Nizamabad',
'Rangareddy', 'Mahabubnagar', 'Adilabad', 'Medak', 'Nalgonda'];
assemblies = {
'Hyderabad': ['Khairatabad', 'Jubilee Hills', 'Serilingampally',
'Musheerabad', 'Goshamahal', 'Malkajgiri', 'Sanathnagar', 'Rajendranagar',
'Secunderabad'],
'Warangal': ['Warangal East', 'Warangal West', 'Parkal', 'Atmakur',
'Palakurthi', 'Bhupalpally', 'Wardhannapet', 'Sathupalli', 'Mulugu'],
'Khammam': ['Khammam', 'Palair', 'Aswaraopet', 'Kothagudem',
'Manuguru', 'Wyra', 'Yellandu'],
'Karimnagar': ['Karimnagar', 'Sircilla', 'Vemulawada', 'Huzurabad',
'Choppadandi', 'Bobbili', 'Jammikunta'],
'Nizamabad': ['Nizamabad Urban', 'Nizamabad Rural', 'Bheemgal',
'Armoor', 'Yellareddy', 'Nandipet', 'Kamareddy'],
'Rangareddy': ['Serilingampally', 'Malkajgiri', 'Qutbullapur',
'Rajendranagar', 'Maheswaram', 'Shamshabad', 'L.B. Nagar', 'Peddamberpet',
'Chevella'],
'Mahabubnagar': ['Mahabubnagar', 'Achampet', 'Narayanpet',
'Kalwakurthy', 'Jadcherla', 'Madgul', 'Palem', 'Marpally'],
'Adilabad': ['Adilabad', 'Bellampalli', 'Mancherial', 'Kaghaznagar', 'Boath',
'Tiryani'],
'Medak': ['Medak', 'Sangareddy', 'Zaheerabad', 'Dubbak', 'Shankarampet',
'Andole'],
'Nalgonda': ['Nalgonda', 'Suryapet', 'Miryalaguda', 'Devarakonda',
'Choutuppal', 'Alair', 'Nalgonda Rural']
};
} else if (state === 'Tripura') {
districts = ['Agartala', 'West Tripura', 'Dhalai', 'Sepahijala', 'Unakoti', 'Khowai',
'North Tripura'];
assemblies = {
'Agartala': ['Agartala', 'Town Bardowali', 'Banamalipur', 'Badharghat',
'Surma'],
'West Tripura': ['Kailashahar', 'Mohanpur', 'Takarjala', 'Jirania',
'Radhakishorepur', 'Sonamura'],
'Dhalai': ['Ambassa', 'Manu', 'Kanchanpur', 'Karbook'],
'Sepahijala': ['Bishalgarh', 'Sonamura', 'Melaghar', 'Gomati'],
'Unakoti': ['Kumarghat', 'Kailashahar', 'Dharmanagar'],
'Khowai': ['Khowai', 'Teliamura', 'Mohanpur'],
'North Tripura': ['Panisagar', 'Dharmanagar', 'Kanchanpur']
};
} else if (state === 'Uttar Pradesh') {
districts = ['Lucknow', 'Kanpur', 'Mirzapur', 'Agra', 'Varanasi', 'Allahabad',
'Meerut', 'Ghaziabad', 'Noida', 'Bareilly', 'Aligarh'];
assemblies = {
'Lucknow': ['Lucknow East', 'Lucknow West', 'Lucknow North', 'Lucknow
South', 'Sarojini Nagar'],
'Kanpur': ['Kanpur Cantt', 'Kanpur Nagar', 'Kanpur South', 'Kanpur Rural'],
'Mirzapur': ['Mirzapur', 'Marihan', 'Chunar', 'Lalganj'],
'Agra': ['Agra Cantt', 'Agra North', 'Agra South', 'Agra Rural'],
'Varanasi': ['Varanasi North', 'Varanasi South', 'Varanasi Cantt', 'Rohania'],
'Allahabad': ['Allahabad West', 'Allahabad North', 'Allahabad South',
'Phulpur', 'Bara'],
'Meerut': ['Meerut Cantt', 'Meerut City', 'Sardhana', 'Kithore'],
'Ghaziabad': ['Ghaziabad', 'Modinagar', 'Loni', 'Muradnagar'],
'Noida': ['Noida', 'Dadri'],
'Bareilly': ['Bareilly Cantt', 'Bareilly City', 'Bareilly Nagar', 'Aonla', 'Bithiri
Chainpur'],
'Aligarh': ['Aligarh', 'Atrauli', 'Iglas', 'Khair']
};
} else if (state === 'Uttarakhand') {
districts = ['Dehradun', 'Haridwar', 'Nainital', 'Pauri', 'Rudraprayag', 'Tehri
Garhwal', 'Udham Singh Nagar', 'Almora', 'Chamoli', 'Bageshwar'];
assemblies = {
'Dehradun': ['Dehradun Cantt', 'Dehradun City', 'Raipur', 'Doiwala',
'Rishikesh'],
'Haridwar': ['Haridwar', 'Roorkee', 'Laksar', 'Bhagwanpur', 'Jwalapur'],
'Nainital': ['Nainital', 'Haldwani', 'Kaladhungi', 'Lalkuan', 'Bhimtal'],
'Pauri': ['Pauri Garhwal', 'Kotdwar', 'Yamkeshwar', 'Lansdowne'],
'Rudraprayag': ['Rudraprayag', 'Kedarnath', 'Ukhimath'],
'Tehri Garhwal': ['Tehri', 'Chamba', 'Narendra Nagar', 'Dhanolti'],
'Udham Singh Nagar': ['Rudrapur', 'Kichha', 'Jaspur', 'Sitarganj', 'Bazpur'],
'Almora': ['Almora', 'Bageshwar', 'Bhikiyasain', 'Syalde', 'Someshwar'],
'Chamoli': ['Chamoli', 'Karnprayag', 'Joshimath', 'Ghat'],
'Bageshwar': ['Bageshwar', 'Kapkot', 'Someshwar', 'Garur']
};
} else if (state === 'West Bengal') {
districts = ['Kolkata', 'Howrah', 'Darjeeling', 'Siliguri', 'Asansol',
'Murshidabad', 'Hooghly', 'Midnapore', 'North 24 Parganas', 'South 24
Parganas'];
assemblies = {
'Kolkata': ['Kolkata South', 'Kolkata North', 'Ballygunge', 'Jadavpur',
'Tollygunge', 'Bhowanipore', 'Behala East', 'Behala West', 'Rajarhat Gopalpur',
'Kasba'],
'Howrah': ['Howrah', 'Howrah Uttar', 'Howrah Dakshin', 'Shibpur', 'Uluberia
East', 'Uluberia West'],
'Darjeeling': ['Darjeeling', 'Kalimpong', 'Kurseong', 'Matigara-Naxalbari',
'Siliguri'],
'Siliguri': ['Siliguri'],
'Asansol': ['Asansol South', 'Asansol North', 'Raniganj', 'Kulti', 'Jamuria'],
'Murshidabad': ['Nabagram', 'Bhagabangola', 'Raghunathganja', 'Murarai',
'Jangipur', 'Shamsherganj', 'Suti', 'Kandi', 'Berhampore', 'Lalbagh'],
'Hooghly': ['Chinsurah', 'Balagarh', 'Pandua', 'Singur', 'Chandannagar',
'Arambagh', 'Khanakul', 'Hooghly', 'Pursurah', 'Tarakeswar'],
'Midnapore': ['Keshpur', 'Garbeta', 'Midnapore', 'Binpur', 'Sabang',
'Dantan', 'Narayangarh', 'Daspur', 'Ghatal'],
'North 24 Parganas': ['Barasat', 'Bongaon', 'Amdanga', 'Baduria', 'Haroa',
'Hingalganj', 'Minakhan', 'Sandeshkhali', 'Gaighata', 'Rajarhat Gopalpur',
'Madhyamgram'],
'South 24 Parganas': ['Canning East', 'Canning West', 'Kultali', 'Falta',
'Diamond Harbour', 'Kakdwip', 'Sagar', 'Mathurapur', 'Joynagar', 'Baruipur']
};
} else if (state === 'Andaman and Nicobar Islands') {
districts = ['South Andaman', 'North and Middle Andaman', 'Nicobar'];
assemblies = {
'South Andaman': ['South Andaman'],
'North and Middle Andaman': ['North and Middle Andaman'],
'Nicobar': ['Nicobar']
};
} else if (state === 'Chandigarh') {
districts = ['Chandigarh'];
assemblies = {
'Chandigarh': ['Chandigarh']
};
} else if (state === 'Dadra and Nagar Haveli and Daman and Diu') {
districts = ['Dadra', 'Diu', 'Daman'];
assemblies = {
'Dadra': ['Dadra'],
'Diu': ['Diu'],
'Daman': ['Daman']
};
} else if (state === 'Lakshadweep') {
districts = ['Kavaratti', 'Agatti', 'Minicoy'];
assemblies = {
'Kavaratti': ['Kavaratti'],
'Agatti': ['Agatti'],
'Minicoy': ['Minicoy']
};
} else if (state === 'Delhi') {
districts = ['Central Delhi', 'North Delhi', 'South Delhi', 'East Delhi', 'West
Delhi', 'North East Delhi', 'Shahdara', 'New Delhi', 'South West Delhi', 'North
West Delhi', 'South East Delhi'];
assemblies = {
'Central Delhi': ['Karol Bagh', 'Matia Mahal', 'Chandni Chowk', 'Bharat
Nagar'],
'North Delhi': ['Adarsh Nagar', 'Narela', 'Rohini', 'Shalimar Bagh', 'Bawana'],
'South Delhi': ['Mehrauli', 'Saket', 'Tughlakabad', 'Chattarpur', 'Ambedkar
Nagar', 'Deoli'],
'East Delhi': ['Laxmi Nagar', 'Vikaspuri', 'Krishna Nagar', 'Preet Vihar',
'Madanpur Khadar'],
'West Delhi': ['Rajouri Garden', 'Moti Nagar', 'Hari Nagar', 'Tilak Nagar',
'Dwarka', 'Janakpuri'],
'North East Delhi': ['Seelampur', 'Welcome', 'Gokulpuri', 'Karawal Nagar',
'Mustafabad', 'Shahdara', 'Babarpur', 'Dayalpur', 'Ghonda'],
'Shahdara': ['Seemapuri', 'Shahdara', 'Ghonda', 'Karawal Nagar',
'Babarpur'],
'New Delhi': ['New Delhi', 'Rajouri Garden', 'Dwarka'],
'South West Delhi': ['Najafgarh', 'Kapashera', 'Bijwasan', 'Dwarka', 'Palam'],
'North West Delhi': ['Narela', 'Rohini', 'Bawana', 'Kirari', 'Shalimar Bagh',
'Madhuban Chowk', 'Sultanpur Majra'],
'South East Delhi': ['Kalkaji', 'Okhla', 'Tughlakabad', 'Sadar Bazar',
'Chattarpur']
};
} else if (state === 'Puducherry') {
districts = ['Puducherry', 'Karaikal', 'Mahe', 'Yanam'];
assemblies = {
'Puducherry': ['Puducherry', 'Ozhukarai', 'Rajbhavan', 'Lawspet', 'Karaikal',
'Villianur'],
'Karaikal': ['Karaikal'],
'Mahe': ['Mahe'],
'Yanam': ['Yanam']
};
// Continue similarly for other states
// Populate districts
districtSelect.innerHTML = '<option value="">-- Select District --</option>';
districts.forEach(district => {
const option = document.createElement('option');
option.value = district;
option.textContent = district;
districtSelect.appendChild(option);
});
// Handle district change
districtSelect.addEventListener('change', function () {
const district = districtSelect.value;
// Clear previous assembly options
assemblySelect.innerHTML = '<option value="">-- Select Assembly
--</option>';
if (district && assemblies[district]) {
assemblySelectContainer.style.display = 'block';
assemblies[district].forEach(assembly => {
const option = document.createElement('option');
option.value = assembly;
option.textContent = assembly;
assemblySelect.appendChild(option);
});
} else {
assemblySelectContainer.style.display = 'none';
});
} else {
districtSelectContainer.style.display = 'none';
assemblySelectContainer.style.display = 'none';
});
// Move to login after selecting state, district, and assembly
document.getElementById('next-button').addEventListener('click', function () {
const state = document.getElementById('state-select').value;
const district = document.getElementById('district-select').value;
const assembly = document.getElementById('assembly-select').value;
if (state && district && assembly) {
document.getElementById('state-district-container').style.display = 'none';
document.getElementById('login-container').style.display = 'block';
} else {
alert("कृपया राज्य, जिला और विधानसभा का चयन करें!");
});
// Handle user login
const usersData = {
"rushikeshvaidya20@gmail.com": { password: "pass123", epic: { "100":
"Rushikesh" } },
"arjun100@gmail.com": { password: "pass123", epic: { "101": "Arjun" } },
"somnath100@gmail.com": { password: "pass123", epic: { "102":
"Somnath" } },
"meera100@gmail.com": { password: "pass123", epic: { "103":
"Meera" } },
"nisha100@gmail.com": { password: "pass123", epic: { "104": "Nisha" } },
"ishaan100@gmail.com": { password: "pass123", epic: { "105":
"Ishaan" } },
"kavya100@gmail.com": { password: "pass123", epic: { "106":
"Kavya" } },
"vihaan100@gmail.com": { password: "pass123", epic: { "107":
"Vihaan" } },
};
document.getElementById('login-form').addEventListener('submit',
function (e) {
e.preventDefault();
const email = document.getElementById('email').value;
const password = document.getElementById('password').value;
// Check user credentials
if (usersData[email] && usersData[email].password === password) {
localStorage.setItem('email', email);
showEpicPage();
} else {
document.getElementById('error-message').textContent = "अमान्य
ईमेल या पासवर्ड।";
});
// Show EPIC number page
function showEpicPage() {
document.getElementById('login-container').style.display = 'none';
document.getElementById('epic-container').style.display = 'block';
// Handle EPIC number and name verification
document.getElementById('epic-form').addEventListener('submit',
function (e) {
e.preventDefault();
const epicNumber = document.getElementById('epic-number').value;
const name = document.getElementById('name').value;
const email = localStorage.getItem('email');
// Check if the entered EPIC number and name match the user data
if (usersData[email] && usersData[email].epic[epicNumber] === name) {
localStorage.setItem('epicNumber', epicNumber);
showPollPage();
} else {
document.getElementById('epic-error-message').textContent =
"अमान्य EPIC नंबर या नाम।";
});
// Show poll page
function showPollPage() {
document.getElementById('epic-container').style.display = 'none';
document.getElementById('poll-container').style.display = 'block';
loadPoll();
displayDateTime();
// Show Poll Page
function showPollPage() {
document.getElementById('epic-container').style.display = 'none';
document.getElementById('poll-container').style.display = 'block';
loadPoll();
displayDateTime();
startCamera(); // Start the camera when the poll page is displayed
// Camera Access
function startCamera() {
const videoElement = document.getElementById('camera-video');
const cameraContainer = document.getElementById('camera-
container');
const cameraStatus = document.getElementById('camera-status');
navigator.mediaDevices.getUserMedia({ video: true })
.then(function (stream) {
videoElement.srcObject = stream;
cameraContainer.style.display = 'block';
cameraStatus.textContent = "कैमरा सक्रिय है। कृपया मतदान
करें।";
})
.catch(function (error) {
cameraStatus.textContent = "कैमरा उपयोग के लिए अनुमति
नहीं मिली।";
});
// Stop Camera on Logout
function stopCamera() {
const videoElement = document.getElementById('camera-video');
const stream = videoElement.srcObject;
if (stream) {
const tracks = stream.getTracks();
tracks.forEach(track => track.stop());
document.getElementById('logout-button').addEventListener('click',
function () {
stopCamera(); // Stop the camera feed
localStorage.clear();
window.location.reload();
});
// Load poll data
async function loadPoll() {
try {
document.getElementById('poll-question').innerHTML = '<div
class="loader"></div>';
// Simulate poll data fetching
const pollData = {
question: "आप अपना क़ीमती वोट किसे देंगे?",
options: [
{ name: "BJP", candidateName: "भारतीय जनता पार्टी 🌸" },
{ name: "Shiv Sena", candidateName: "शिव सेना 🏹" },
{ name: "NCP", candidateName: "राष्ट्रवादी कांग्रेस
पार्टी ⏰" },
{ name: "Congress", candidateName: "कांग्रेस पार्टी 🤚" },
{ name: "NOTA", candidateName: "NOTA 🚫" }
};
document.getElementById('poll-question').textContent =
pollData.question;
const pollOptionsDiv = document.getElementById('poll-options');
pollOptionsDiv.innerHTML = '';
pollData.options.forEach(option => {
const button = document.createElement('button');
button.textContent = option.candidateName;
button.onclick = function () {
selectVote(option);
};
pollOptionsDiv.appendChild(button);
});
} catch (error) {
document.getElementById('poll-question').textContent = "मतदान
डेटा लोड नहीं हो सका।";
}
// Select a vote option
function selectVote(option) {
selectedVote = option;
const buttons = document.querySelectorAll('#poll-options button');
buttons.forEach(button => {
button.classList.remove('selected');
});
event.target.classList.add('selected');
// Handle vote submission
async function submitVote() {
if (selectedVote) {
try {
document.getElementById('submit-vote').classList.add('vote-
disabled');
document.getElementById('result-message').textContent = 'आपका
वोट ' + selectedVote.name + ' को सफलतापूर्वक सबमिट कर दिया गया है!';
showVoteReceipt(selectedVote); // Show vote receipt
} catch (error) {
document.getElementById('result-message').textContent =
'त्रुटि: सर्वर तक नहीं पहुँच सके।';
} else {
document.getElementById('result-message').textContent = 'कृपया
एक विकल्प चुनें।';
// Show vote receipt with selected vote details
function showVoteReceipt(vote) {
const receipt = document.getElementById('vote-receipt');
document.getElementById('candidate-name').textContent =
vote.candidateName;
document.getElementById('vote-time').textContent = new
Date().toLocaleTimeString('hi-IN');
document.getElementById('vote-date').textContent = new
Date().toLocaleDateString('hi-IN', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
receipt.style.display = 'block';
// Handle logout
document.getElementById('logout-button').addEventListener('click',
function () {
localStorage.clear();
window.location.reload();
});
// Eye Icon Toggle for Password Visibility
const togglePassword = document.getElementById('toggle-password');
const passwordInput = document.getElementById('password');
togglePassword.addEventListener('click', function () {
// Toggle the input type between "password" and "text"
const type = passwordInput.type === 'password' ? 'text' : 'password';
passwordInput.type = type;
// Change the eye icon accordingly
togglePassword.textContent = type === 'password' ? '' : '🙈'; // Show eye or
closed eye
});
// Display real-time date and time
function displayDateTime() {
const datetimeElement = document.getElementById('datetime');
setInterval(function () {
const now = new Date();
const date = now.toLocaleDateString('hi-IN', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
const time = now.toLocaleTimeString('hi-IN');
datetimeElement.textContent = `${date}, ${time}`;
}, 1000);
// Submit vote when the user clicks the submit button
document.getElementById('submit-vote').addEventListener('click',
submitVote);
</script>
</body>
</html>