
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>
	Class Notes | VIRGINIA Magazine
</title><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous" /><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.3/font/bootstrap-icons.css" /><link rel="stylesheet" type="text/css" href="https://cloud.typography.com/6679554/7111832/css/fonts.css" /><link href="Styles/BS5.css" rel="stylesheet" />

	<!-- Fav Icons -->
	<link rel="apple-touch-icon" sizes="57x57" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-57x57.png" /><link rel="apple-touch-icon" sizes="60x60" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-60x60.png" /><link rel="apple-touch-icon" sizes="72x72" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-72x72.png" /><link rel="apple-touch-icon" sizes="76x76" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-76x76.png" /><link rel="apple-touch-icon" sizes="114x114" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-114x114.png" /><link rel="apple-touch-icon" sizes="120x120" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-120x120.png" /><link rel="apple-touch-icon" sizes="144x144" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-144x144.png" /><link rel="apple-touch-icon" sizes="152x152" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-152x152.png" /><link rel="apple-touch-icon" sizes="180x180" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/apple-icon-180x180.png" /><link rel="icon" type="image/png" sizes="192x192" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/android-icon-192x192.png" /><link rel="icon" type="image/png" sizes="32x32" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/favicon-32x32.png" /><link rel="icon" type="image/png" sizes="96x96" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/favicon-96x96.png" /><link rel="icon" type="image/png" sizes="16x16" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/favicon-16x16.png" /><link rel="manifest" href="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/manifest.json" /><meta name="msapplication-TileColor" content="#ffffff" /><meta name="msapplication-TileImage" content="https://d2eutd4w7jyil8.cloudfront.net/images/favicons/ms-icon-144x144.png" /><meta name="theme-color" content="#ffffff" />
	<script src="https://cdn.usefathom.com/script.js" data-site="XQQYRALW" defer="defer"></script>

	<link rel="stylesheet" href="/ClassNotes/ThirdParty/jquery-ui-1.12.1/jquery-ui.css" />
</head>
<body>
	<div class="skippy visually-hidden-focusable overflow-hidden">
		<div class="container-xl">
			<a class="d-inline-flex p-2 m-1" href="#main">Skip to main content</a>
		</div>
	</div>
    <header class="page-header">
		<nav class="navbar navbar-expand-lg" aria-label="Global Magazine Navigation">
			<div class="container">
				<a class="navbar-brand" href="https://uvamagazine.org">Virginia<span class="visually-hidden"> Magazine</span></a>
				<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#collapsible-nav-content" aria-controls="collapsible-nav-content" aria-expanded="false" aria-label="Toggle navigation">
					<span class="navbar-toggler-icon"></span>
				</button>
				<div class="collapse navbar-collapse" id="collapsible-nav-content">
					<ul class="navbar-nav me-auto mb-2 mb-lg-0">
						<li class="nav-item">
							<a class="nav-link" href="https://uvamagazine.org/issues">Current Issue</a>
						</li>
						<li class="nav-item">
							<a class="nav-link" href="https://uvamagazine.org/archive">Archives</a>
						</li>
						<li class="nav-item dropdown">
							<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
								Class Notes
							</a>
							<ul class="dropdown-menu">
								<li><a class="dropdown-item" href="/ClassNotes/"><i class="bi bi-house" aria-hidden="true"></i> Home</a></li>
								<li><a class="dropdown-item" href="/ClassNotes/Submit.aspx"><i class="bi bi-plus-circle-fill" aria-hidden="true"></i> Submit a class note</a></li>
								<li><a class="dropdown-item" href="/ClassNotes/Edit.aspx"><i class="bi bi-pencil" aria-hidden="true"></i> Edit a class note</a></li>
								<li><a class="dropdown-item" href="/ClassNotes/BrowseByYear.aspx"><i class="bi bi-search" aria-hidden="true"></i> Browse by year</a></li>
								<li><a class="dropdown-item" href="/ClassNotes/Help.aspx"><i class="bi bi-info-circle-fill" aria-hidden="true"></i> Help and policies</a></li>
								<li><a class="dropdown-item" href="mailto:alumnews@virginia.edu"><i class="bi bi-envelope-fill" aria-hidden="true"></i> Email us</a></li>

							</ul>
						</li>
						<li class="nav-item dropdown">
							<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
								Departments
							</a>
							<ul class="dropdown-menu">
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/letters">Letters</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/university_digest">University Digest</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/student_life">Student Life</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/features">Features</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/research_and_discovery">Discovery</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/sports">Sports</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/first_person">First Person</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/short_course">Short Course</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/arts">Arts</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/presidents_letter">President&rsquo;s Letter</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/alumni_news">Alumni News</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/in_memoriam">In Memoriam</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/retrospect">Retrospect</a></li>
								<li><hr class="dropdown-divider" /></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/departments/digital_exclusives">Digital Exclusives</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/photos">Photo Gallery</a></li>
								<li><a class="dropdown-item" href="https://uvamagazine.org/videos">Video</a></li>
							</ul>
						</li>
						<li class="nav-item dropdown">
							<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
								Topics
							</a>
							<ul class="dropdown-menu">
								
								<li><a class="dropdown-item" href="https://uvamagazine.org/categories/category/academics/">Academics</a></li>
								
								<li><a class="dropdown-item" href="https://uvamagazine.org/categories/category/alumni/">Alumni</a></li>
								
								<li><a class="dropdown-item" href="https://uvamagazine.org/categories/category/history_traditions_grounds/">History, Traditions &amp; Grounds</a></li>
								
								<li><a class="dropdown-item" href="https://uvamagazine.org/categories/category/student_life/">Student Life</a></li>
								
								<li><a class="dropdown-item" href="https://uvamagazine.org/categories/category/the_university/">The University</a></li>
								
							</ul>
						</li>
					</ul>
				</div>
			</div>
		</nav>
	</header>
	<nav class="d-block d-lg-none dropdown-center sticky-top" aria-label="Mobile Navigation & Tools">
		<button class="d-block w-100 btn btn-primary rounded-0 dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
			Navigation &amp; Tools
		</button>
		<ul class="dropdown-menu">
			<li><a class="dropdown-item" href="/ClassNotes/"><i class="bi bi-house" aria-hidden="true"></i> Home</a></li>
			<li><a class="dropdown-item" href="/ClassNotes/Submit.aspx"><i class="bi bi-plus-circle-fill" aria-hidden="true"></i> Submit a class note</a></li>
			<li><a class="dropdown-item" href="/ClassNotes/BrowseByYear.aspx"><i class="bi bi-search" aria-hidden="true"></i> Browse by year</a></li>
			<li><a class="dropdown-item" href="/ClassNotes/Edit.aspx"><i class="bi bi-pencil" aria-hidden="true"></i> Edit a class note</a></li>
			<li><a class="dropdown-item" href="/ClassNotes/Help.aspx"><i class="bi bi-info-circle-fill" aria-hidden="true"></i> Help and policies</a></li>
			<li><a class="dropdown-item" href="mailto:alumnews@virginia.edu"><i class="bi bi-envelope-fill" aria-hidden="true"></i> Email us</a></li>
		</ul>
	</nav>
	<form method="post" action="./" id="TheForm" class="py-4" style="background-color: #f3f3f3; min-height: 70vh;">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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" />

<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="3A7B1F8D" />
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="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" />
		<div class="container">
			<div class="row">
				<nav class="d-none d-lg-block col-lg-3" aria-label="Class Notes Navigation">
					<div class="sticky-top">
						<div class="heading-bar text-uppercase serif fs-4">
							<a href="/ClassNotes/">Class Notes</a>
						</div>
						<ul class="nav nav-pills flex-column">
						
							<li class="nav-item"><a class="nav-link" href="/ClassNotes/Submit.aspx"><i class="bi bi-plus-circle-fill" aria-hidden="true"></i> Submit a note</a></li>
							<li class="nav-item"><a class="nav-link" href="/ClassNotes/BrowseByYear.aspx"><i class="bi bi-search" aria-hidden="true"></i> Browse by year</a></li>
							<li class="nav-item dropdown-center">
								<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">More options</a>
								<ul class="dropdown-menu">
									<li><a class="dropdown-item" href="/ClassNotes/Edit.aspx"><i class="bi bi-pencil" aria-hidden="true"></i> Edit a class note</a></li>
									<li><a class="dropdown-item" href="/ClassNotes/Help.aspx"><i class="bi bi-info-circle-fill" aria-hidden="true"></i> Help and policies</a></li>
									<li><a class="dropdown-item" href="mailto:alumnews@virginia.edu"><i class="bi bi-envelope-fill" aria-hidden="true"></i> Email us</a></li>
								</ul>
							</li>
						
						</ul>
						
	<div class="heading-bar text-uppercase mt-3">
		Filter by&hellip;
	</div>
	<div class="row filter">
		<div class="col-12">
			<a href="#NameFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="NameFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_NameBox" class="form-label">Name</label>
			</a>
			<div id="NameFilter" class="collapse">
				<input name="ctl00$LeftColumn$NameBox" type="text" id="LeftColumn_NameBox" class="form-control" />
			</div>
		</div>
	</div>
	<div class="row filter">
		<div class="col-12">
			<a href="#SchoolFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="SchoolFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_SchoolList" class="form-label">School</label>
			</a>
			<div id="SchoolFilter" class="collapse">
				<select name="ctl00$LeftColumn$SchoolList" id="LeftColumn_SchoolList" class="form-select">
	<option value="">Select...</option>
	<option value="Arch">Architecture</option>
	<option value="Batten">Batten</option>
	<option value="Col">College of Arts &amp; Sciences</option>
	<option value="Com">Commerce</option>
	<option value="Darden">Darden School of Business</option>
	<option value="Data">School of Data Science</option>
	<option value="Educ">Education (Curry)</option>
	<option value="Engr">Engineering</option>
	<option value="Fellow">Fellow (Medical School)</option>
	<option value="Grad">Graduate School of Arts &amp; Sciences</option>
	<option value="Intern">Intern (Medical School)</option>
	<option value="Law">Law</option>
	<option value="Med">Medical School</option>
	<option value="Nurs">Nursing</option>
	<option value="Res">Residency (Medical School)</option>
	<option value="SCPS">School of Continuing &amp; Professional Studies</option>

</select>
			</div>
		</div>
	</div>
	<div class="row filter">
		<div class="col-12">
			<a href="#YearFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="YearFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
			<label for="LeftColumn_YearList" class="form-label">Year</label>
			</a>
			<div id="YearFilter" class="collapse">
				<select name="ctl00$LeftColumn$YearList" id="LeftColumn_YearList" class="form-select">
	<option value="-1">Select...</option>
	<option value="2027">2027</option>
	<option value="2026">2026</option>
	<option value="2025">2025</option>
	<option value="2024">2024</option>
	<option value="2023">2023</option>
	<option value="2022">2022</option>
	<option value="2021">2021</option>
	<option value="2020">2020</option>
	<option value="2019">2019</option>
	<option value="2018">2018</option>
	<option value="2017">2017</option>
	<option value="2016">2016</option>
	<option value="2015">2015</option>
	<option value="2014">2014</option>
	<option value="2013">2013</option>
	<option value="2012">2012</option>
	<option value="2011">2011</option>
	<option value="2010">2010</option>
	<option value="2009">2009</option>
	<option value="2008">2008</option>
	<option value="2007">2007</option>
	<option value="2006">2006</option>
	<option value="2005">2005</option>
	<option value="2004">2004</option>
	<option value="2003">2003</option>
	<option value="2002">2002</option>
	<option value="2001">2001</option>
	<option value="2000">2000</option>
	<option value="1999">1999</option>
	<option value="1998">1998</option>
	<option value="1997">1997</option>
	<option value="1996">1996</option>
	<option value="1995">1995</option>
	<option value="1994">1994</option>
	<option value="1993">1993</option>
	<option value="1992">1992</option>
	<option value="1991">1991</option>
	<option value="1990">1990</option>
	<option value="1989">1989</option>
	<option value="1988">1988</option>
	<option value="1987">1987</option>
	<option value="1986">1986</option>
	<option value="1985">1985</option>
	<option value="1984">1984</option>
	<option value="1983">1983</option>
	<option value="1982">1982</option>
	<option value="1981">1981</option>
	<option value="1980">1980</option>
	<option value="1979">1979</option>
	<option value="1978">1978</option>
	<option value="1977">1977</option>
	<option value="1976">1976</option>
	<option value="1975">1975</option>
	<option value="1974">1974</option>
	<option value="1973">1973</option>
	<option value="1972">1972</option>
	<option value="1971">1971</option>
	<option value="1970">1970</option>
	<option value="1969">1969</option>
	<option value="1968">1968</option>
	<option value="1967">1967</option>
	<option value="1966">1966</option>
	<option value="1965">1965</option>
	<option value="1964">1964</option>
	<option value="1963">1963</option>
	<option value="1962">1962</option>
	<option value="1961">1961</option>
	<option value="1960">1960</option>
	<option value="1959">1959</option>
	<option value="1958">1958</option>
	<option value="1957">1957</option>
	<option value="1956">1956</option>
	<option value="1955">1955</option>
	<option value="1954">1954</option>
	<option value="1953">1953</option>
	<option value="1952">1952</option>
	<option value="1951">1951</option>
	<option value="1950">1950</option>
	<option value="1949">1949</option>
	<option value="1948">1948</option>
	<option value="1947">1947</option>
	<option value="1946">1946</option>
	<option value="1945">1945</option>
	<option value="1944">1944</option>
	<option value="1943">1943</option>
	<option value="1942">1942</option>
	<option value="1941">1941</option>
	<option value="1940">1940</option>
	<option value="1939">1939</option>
	<option value="1938">1938</option>
	<option value="1937">1937</option>
	<option value="1936">1936</option>
	<option value="1935">1935</option>
	<option value="1934">1934</option>
	<option value="1933">1933</option>

</select>
			</div>
		</div>
	</div>
	<div id="LeftColumn_MajorFilter1" class="row filter">
		<div class="col-12">
			<a href="#MajorFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="MajorFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_MajorBox" class="form-label">Major</label>
			</a>
			<div id="MajorFilter" class="collapse">
				<input name="ctl00$LeftColumn$MajorBox" type="text" id="LeftColumn_MajorBox" class="form-control AutoCompleteMajor" />
			</div>
		</div>
	</div>
	<div id="LeftColumn_AffiliationFilter1" class="row filter">
		<div class="col-12">
			<a href="#AffiliationFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="AffiliationFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_AffiliationBox" class="form-label">Student Organization</label>
			</a>
			<div id="AffiliationFilter" class="collapse">
				<input name="ctl00$LeftColumn$AffiliationBox" type="text" id="LeftColumn_AffiliationBox" class="form-control" />
			</div>
		</div>
	</div>
	<div id="LeftColumn_ResidenceFilter1" class="row filter">
		<div class="col-12">
			<a href="#ResidenceFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="ResidenceFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_ResidenceBox" class="form-label">Dorm/Residence</label>
			</a>
			<div id="ResidenceFilter" class="collapse">
				<input name="ctl00$LeftColumn$ResidenceBox" type="text" id="LeftColumn_ResidenceBox" class="form-control AutoCompleteResidence" />
			</div>
		</div>
	</div>
	<div class="row filter">
		<div class="col-12">
			<a href="#CategoryFilter" role="button" data-bs-toggle="collapse" aria-expanded="false" aria-controls="CategoryFilter">
				<i class="bi bi-caret-down-fill float-end" aria-label="Expand"></i>
				<label for="LeftColumn_CategoryList" class="form-label">Category</label>
			</a>
			<div id="CategoryFilter" class="collapse">
				<select name="ctl00$LeftColumn$CategoryList" id="LeftColumn_CategoryList" class="form-select">
	<option value="">Select...</option>
	<option value="Academic Accomplishment">Academic Accomplishment</option>
	<option value="Award/Recognition">Award/Recognition</option>
	<option value="Birth">Birth</option>
	<option value="Job">Job</option>
	<option value="Move/Relocation">Move/Relocation</option>
	<option value="Publication">Publication</option>
	<option value="Retirement">Retirement</option>
	<option value="Wedding">Wedding</option>

</select>
			</div>
		</div>
	</div>
	<div class="row filter">
		<div class="col-12 mb-3">
			<div class="mb-3"">
				<label>
					<input id="LeftColumn_RememberFiltersCheck" type="checkbox" name="ctl00$LeftColumn$RememberFiltersCheck" />
					Remember my filters?
				</label>
			</div>
			<div class="text-center">
				<a id="LeftColumn_FiltersButton" class="btn btn-success" href="javascript:__doPostBack(&#39;ctl00$LeftColumn$FiltersButton&#39;,&#39;&#39;)">
					<i class="bi bi-funnel-fill" aria-hidden="true"></i> Apply filters
				</a>
			</div>
		</div>
	</div>

					</div>
				</nav>
				<main id="main" class="col-12 col-lg-9">
					<h1 class="visually-hidden">Class Notes</h1>
					
	<div class="page-header visually-hidden">
		<h1>Class Notes | VIRGINIA Magazine</h1>
	</div>
	<div class="row">
		<div class="col-12 col-lg-10">

			

			<div class="note note-template card d-none">
				<div class="card-header"></div>
				<div class="card-body">
					<div class="loading-container text-center">
						<div class="spinner-border" role="status" style="color: var(--secondary-web-orange);">
							<span class="visually-hidden">Loading...</span>
						</div>
					</div>
				</div>
			</div>

			<div id="NotesContainer"></div>

			<div class="loading-container text-center d-none my-3">
				<div class="spinner-border" role="status" style="color: var(--secondary-web-orange);">
					<span class="visually-hidden">Loading...</span>
				</div>
			</div>

			<div id="EndOfResults" class="alert alert-info d-none">
				<p>That&rsquo;s all we have. Thanks for reading!</p>
			</div>

			<div id="LoadMore" class="row justify-content-center">
				<div class="col-10 col-sm-8 col-md-6">
					<button type="button" onclick="GetRecords();" class="btn btn-primary form-control">
						<i class="bi bi-arrow-repeat" aria-hidden="true"></i> Load More
					</button>
				</div>
			</div>

		</div>

		<a href="#Top" class="return-to-top text-uppercase"><i class="bi bi-chevron-bar-up" aria-hidden="true"></i><br />Top</a>
	</div>


				</main>
			</div>
		</div>
	</form>
	<footer class="py-4">
		<div class="container">
			<div class="footer-nav row">
				<div class="col">
					<nav aria-label="Footer" class="pb-3">
						<ul class="nav justify-content-center">
							<li class="nav-item"><a class="nav-link" href="https://uvamagazine.org/issues/">Current Issue</a></li>
							<li class="nav-item"><a class="nav-link" href="https://uvamagazine.org/archive">Archives</a></li>
							<li class="nav-item"><a class="nav-link" href="https://www2.alumni.virginia.edu/ClassNotes">Class Notes</a></li>
							<li class="nav-item"><a class="nav-link" href="https://uvamagazine.org/contact/">Contact</a></li>
							<li class="nav-item"><a class="nav-link" href="https://uvamagazine.org/advertising/">Advertising</a></li>
							<li class="nav-item"><a class="nav-link" href="https://alumni.virginia.edu/update-contact-info/?utm_source=www2.alumni.virginia.edu&utm_medium=referral">Update Your Address</a></li>
							<li class="nav-item"><a class="nav-link" href="https://uvamagazine.org/terms_of_use/">Terms of Use/Privacy Policy</a></li>
						</ul>
					</nav>
				</div>
			</div>
			<div class="row">
				<div class="footer-social col-md-6 order-md-2">
					<nav class="nav justify-content-center justify-content-md-end mb-3 mb-md-0 fs-3 lh-1" aria-label="Social media">
						<a class="nav-link" href="https://www.facebook.com/uvamagazine"><i class="bi bi-facebook" aria-label="Find us on Facebook"></i></a>
						<a class="nav-link" href="https://twitter.com/uva_alumni"><i class="bi bi-twitter" aria-label="Find us on Twitter"></i></a>
						<a class="nav-link" href="http://instagram.com/UVA_Alumni"><i class="bi bi-instagram" aria-label="Find us on Instagram"></i></a>
						<a class="nav-link" href="https://vimeo.com/uvamagazine"><i class="bi bi-vimeo" aria-label="Find us on Vimeo"></i></a>
					</nav>
				</div>
				<div class="col-md-6 text-center text-md-start order-md-1">
					<p>Copyright &copy; 2023 Virginia Magazine<br />Published by the <a href="https://alumni.virginia.edu/?utm_medium=referral&utm_source=www2.alumni.virginia.edu">UVA Alumni Association</a></p>
				</div>
			</div>
		</div>
	</footer>

	<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
	<script src="https://code.jquery.com/jquery-3.7.0.min.js" integrity="sha256-2Pmvv0kuTBOenSvLm6bvfBSSHrUJ+3A7x6P5Ebd07/g=" crossorigin="anonymous"></script>
	
	<script type="text/javascript" src="/ClassNotes/ThirdParty/jquery-ui-1.12.1/jquery-ui.min.js"></script>
	<script type="text/javascript" src="/ClassNotes/Scripts/AutoComplete.js"></script>
	<script type="text/javascript">
		
		var PageIndex		= 1; // This is only incremented after the succesful loading of a page.
		var PageCount		= 1; // Defaults to 1, but is updated whenever we get data from the backend.
		var PageRequested	= false; // When this is true, it means a page is currently being requested.  We use it to make sure we don't request the same page multiple times, and to make sure we don't move on to future pages until we've dealt with the current one.

		function CopyField() {
			var $SourceField	= $(this);
			var TargetFieldId	= $SourceField.data("copy-to");

			if (TargetFieldId !== null && TargetFieldId !== "") {
				var $TargetField = $("#" + TargetFieldId);
				$TargetField.val($SourceField.val());
			}
		}

		function CleanForJson(input) {
			return input.replace(/"/g, '\\"');
		}
		
		function GetRecords() {
			// Only proceed if we're not already waiting on a page, and if there are still more pages.
			if (PageRequested === false && PageIndex <= PageCount) {
				PageRequested = true;

				$(".loading-container").show();

				var Name		= $("#LeftColumn_NameBox").val();
				var School		= $("#LeftColumn_SchoolList").val();
				var Year		= $("#LeftColumn_YearList").val();
				var Major		= $("#LeftColumn_MajorBox").val();
				var Affiliation	= $("#LeftColumn_AffiliationBox").val();
				var Residence	= $("#LeftColumn_ResidenceBox").val()
				var Category	= $("#LeftColumn_CategoryList").val();

				console.log("Querying for page " + PageIndex);

				$.ajax({
					type: "POST",
					url: "Default.aspx/GetNotes",
					data: '{pageIndex: ' + PageIndex + ', name: "' + CleanForJson(Name) + '", school: "' + CleanForJson(School) + '", year: "' + CleanForJson(Year) + '", major: "' + CleanForJson(Major) + '", affiliation: "' + CleanForJson(Affiliation) + '", residence: "' + CleanForJson(Residence) + '", category: "' + CleanForJson(Category) + '"}',
					contentType: "application/json; charset=utf-8",
					dataType: "json",
					success: OnSuccess,
					failure: function (response) {
						$(".loading-container").hide();
						console.log("Failure: " + response.d);
						PageRequested = false; // Reset PageRequested
					},
					error: function (response) {
						$(".loading-container").hide();
						console.log("Error: " + response.d);
						PageRequested = false; // Reset PageRequested
					}
				});
			}
		}
		
		function OnSuccess(response) {
			var NoteXml	= $($.parseXML(response.d));
			PageCount	= NoteXml.find("notes").eq(0).attr("pageCount");

			NoteXml.find("note").each(function () {
				var $Template		= $(".note-template").eq(0).clone(true).removeClass("note-template").removeClass("d-none");
				var $Note			= $(this);
				var $Photos			= $Note.find("photo");
				var NoteId			= $Note.attr("id");
				var NoteDate		= $Note.attr("date");
				var NoteCategory	= $Note.attr("category").trim();

				$Template.attr("id", "Note_" + NoteId);

				if ($Note.attr("isSuper").toLowerCase() === "true") {
					$Template.addClass("super-note");
				}

				$(".card-header", $Template).empty();
				$(".card-body", $Template).empty();

				if ($Photos.length > 0) {
					var $PhotoRow		= $('<div class="row photo-row"></div>');
					var PhotoDivClass	= "col-sm-" + (12 / $Photos.length);

					$Photos.each(function (photoindex, photoNode) {
						var $Photo		= $(photoNode);
						var PhotoUrl	= $Photo.attr("url");

						$PhotoRow.append('<div class="' + PhotoDivClass + ' text-center"><a href="' + PhotoUrl + '" target="_blank" rel="noopener noreferrer"><img src="' + PhotoUrl + '" class="img-fluid ratio" alt="User-submitted photo" onload="SetAspectRatio(this);" /></a></div>');
					});

					$(".card-body", $Template).append($PhotoRow);
				}

				$(".card-body", $Template).append($Note.find("webText").text());

				

				var Persons = [];

				$Note.find("person").each(function(personIndex, personNode) {
					var $Person		= $(personNode);
					var $Links		= $Person.find("link");
					var PersonId	= $Person.attr("id");
					var PersonName	= $Person.attr("name");

					Persons.push('<a href="Person/' + PersonId + '">' + PersonName + '</a>');

					if ($Links.length > 0) {
						var $LinksDiv = $('<div class="links"></div>');

						$Links.each(function (linkIndex, linkNode) {
							$Link			= $(linkNode);
							var LinkUrl		= $Link.attr("url");
							var LinkLabel	= $Link.attr("label");
							var LinkIcon	= '<i class="bi bi-link-45deg" aria-hidden="true"></i>';

							switch (LinkLabel) {
								case "Facebook":
									LinkIcon = '<i class="bi bi-facebook" aria-hidden="true"></i>';
									break;
								case "Twitter":
									LinkIcon = '<i class="bi bi-twitter" aria-hidden="true"></i>';
									break;
								case "Instagram":
									LinkIcon = '<i class="bi bi-instagram" aria-hidden="true"></i>';
									break;
								case "Google+":
									LinkIcon = '<img src="/ClassNotes/Images/GooglePlus.svg" />';
									break;
								case "LinkedIn":
									LinkIcon = '<i class="bi bi-linkedin" aria-hidden="true"></i>';
									break;
								case "Pinterest":
									LinkIcon = '<i class="bi bi-pinterest" aria-hidden="true"></i>';
									break;
							}

							$LinksDiv.append('<div class="link"><a class="icon-link icon-link-hover" href="' + LinkUrl + '">' + LinkIcon + ' ' + LinkLabel + '</a></div>');
						});

						$(".card-body", $Template).append($LinksDiv);
					}
				});

				$(".card-header", $Template).append('<h2 class="card-title">' + Persons.join(", ") + '</h2>').append('<div class="card-subtitle text-body-secondary">' + NoteCategory + ' announcement on ' + NoteDate + '</div>');

				$("#NotesContainer").append($Template);
			});

			$(".loading-container").hide();

			PageIndex++;
			PageRequested = false;

			if (PageIndex >= PageCount || NoteXml.find("note").length == 0) {
				$("#EndOfResults").removeClass("d-none");
				$("#LoadMore button").prop("disabled", true);
				$("#LoadMore").hide();
			}
		}

		function SetAspectRatio(element) {
			$(element).addClass(element.width > element.height ? 'landscape' : 'portrait');
		}

		$(document).ready(function () {
			GetRecords();

			$(".filter .collapse").on("show.bs.collapse", function () {
				$(this).parent().find(".bi-caret-down-fill").addClass("bi-caret-up-fill").removeClass("bi-caret-down-fill").attr("aria-label", "Collapse");
			});
			$(".filter .collapse").on("hide.bs.collapse", function () {
				$(this).parent().find(".bi-caret-up-fill").addClass("bi-caret-down-fill").removeClass("bi-caret-up-fill").attr("aria-label", "Expand");
			});
			$(".filter").each(function (index, element) {
				var $ThisRow = $(element);

				var NonEmptyTexts = $ThisRow.find("input[type=text]").filter(function () {
						return this.value.length > 0;
					}).length;
				var NonEmptySelects = $ThisRow.find("select").filter(function () {
						return ($(this).val() != "" && $(this).val() != "-1");
					}).length;

				if (NonEmptyTexts + NonEmptySelects > 0) {
					$ThisRow.find(".collapse").addClass("show");
					$ThisRow.find(".bi-caret-down-fill").addClass("bi-caret-up-fill").removeClass("bi-caret-down-fill");
				}
			});
		});
		
		$(window).scroll(function () {
			// $(document).height() - $(window).height() is the total height of the document minus the viewport height.  It should be equal to $(window).scrollTop() when
			// you scroll all the way to the bottom (assuming no infinite scrolling, of course).  The -50 is there to provide a little leeway in how exactly all these
			// variables are calculated.

			if ($(window).scrollTop() >= $(document).height() -$(window).height() -50) {
				GetRecords();
			}
		});

	</script>

</body>
</html>
