CINXE.COM

Hours Marriott Library

<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><title>Hours Marriott Library</title> <!-- com.omniupdate.properties --> <meta name="keywords" content="marriott library, current semester hours, facilities, book arts, special collections, hours, today, open, when, u card access, access, public, patron, protospace, help, desk, knowledge commons"/> <meta name="description" content="Current semester open hours for Marriott Library facilities &amp; areas of operation."/> <meta name="breadcrumb" content="Hours"/> <!-- /com.omniupdate.properties --> <meta name="robots" content="index, follow"/> <link rel="canonical" href="https://lib.utah.edu/info/hours.php"/> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <link rel="shortcut icon" href="/favicon.ico"/> <link rel="apple-touch-icon-precomposed" href="/templates/img/apple-touch-icon.png"/> <link href="/templates/css/bootstrap.min.css" rel="stylesheet"/> <link href="/templates/css/marriott.css?v=2" rel="stylesheet"/> <link rel="preload" href="/templates/css/fontawesome-all.css" as="style" onload="this.onload=null;this.rel='stylesheet'"/> <noscript> <link rel="stylesheet" href="/templates/css/fontawesome-all.css"/> </noscript> <link rel="preload" href="https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:300,400,500,600,700,800,900" as="style" onload="this.onload=null;this.rel='stylesheet'"/> <noscript> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:300,400,500,600,700,800,900"/> </noscript> <link rel="preload" href="/templates/css/flexslider.css" as="style" onload="this.onload=null;this.rel='stylesheet'"/> <noscript> <link rel="stylesheet" href="/templates/css/flexslider.css"/> </noscript> <script src="https://code.jquery.com/jquery-3.6.4.min.js" integrity="sha256-oP6HI9z1XaZNBrJURtCoUT5SUnxFr8s3BzRl+cbzUq8=" crossorigin="anonymous"> </script> <script src="/templates/js/bootstrap.bundle.min.js"> </script> <!-- com.omniupdate.div label="header-scripts" group="Everyone" button="673"--> <!-- /com.omniupdate.div --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-25376102-1', 'auto'); ga('send', 'pageview'); </script> <!-- Matomo --> <script type="text/javascript"> 聽聽var _paq = window._paq = window._paq || []; 聽聽/* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 聽聽_paq.push(["setCookieDomain", "*.lib.utah.edu"]); 聽聽_paq.push(['trackPageView']); 聽聽_paq.push(['enableLinkTracking']); 聽聽(function() { 聽聽聽聽var u="https://analytics.lib.utah.edu/"; 聽聽聽聽_paq.push(['setTrackerUrl', u+'matomo.php']); 聽聽聽聽_paq.push(['setSiteId', '36']); 聽聽聽聽var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 聽聽聽聽g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 聽聽})(); </script> <!-- End Matomo Code --><script>// var page_id="https://lib.utah.edu/info/hours.php"; </script> </head> <body> <header><!-- com.omniupdate.div label="shared-header" group="Admins" button="756" path="/includes/sharedHeader.php"--><a id="skip" class="sr-only sr-only-focusable" href="#content">Skip to main content</a> <!-- Start Topbar --> <!-- <div class="p-3 bg-warning text-center" style="margin: 0 0 0 0;" role="alert"> <div class="pb-2" style="font-size: 18px;"><i class="fas fa-exclamation-triangle"></i> The Marriott Library will be closed December 23 - January 1. We will reopen on January 2, 2024 at 8:00 am.</div> </div> --> <!-- <div id="library-covid-alert" role="alert"> <span class="u-alert-icon"><img src="/template/img/alert-ribbon-icon.png" alt="alert icon" /></span> <a class="covid-hub" href="/covid-19.php"> <p class="u-alert-text">Marriott Library Covid-19 Updates</p> </a> </div> --> <div id="subhead"> <div class="container-fluid"> <div class="row"> <div class="col-9"> <ul class="nav"> <li class="nav-item ml-hours-mobile d-block d-sm-none"><a class="nav-link" role="button" data-toggle="collapse" data-target="#quick-hours" aria-expanded="false" aria-controls="quick-hours"> <em class="far fa-clock"><!-- Clock Icon --></em> <span>Hours &amp; Access</span><span class="sr-only">Show Hours Toggle</span></a></li> <li class="nav-item ml-chat"><a class="nav-link" role="button" href="#" onclick="window.open('https://libraryh3lp.com/chat/mlibs-queue@chat.libraryh3lp.com?skin=27584', 'AskUs', 'resizable=1,width=500,height=300'); return false;"><em class="far fa-comments"><!--Chat Icon --></em> Chat</a></li> <li class="nav-item ml-phone"><a class="nav-link" href="tel:801-581-8558"> 801-581-8558</a></li> </ul> </div> <div class="col-3"> <ul class="nav justify-content-end"> <li class="nav-item"><a class="nav-link dropdown-toggle" role="button" href="#" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Log in </a> <div class="dropdown-menu dropdown-menu-right"><a class="dropdown-item" href="https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/account?vid=UTAH&amp;section=overview&amp;lang=en_US">Library Account</a> <a class="dropdown-item" href="https://login.ezproxy.lib.utah.edu/login?url=http://lib.utah.edu.ezproxy.lib.utah.edu/">Off Campus Access</a> <a class="dropdown-item" href="https://scheduling.tools.lib.utah.edu/">Library Scheduling</a> <div class="dropdown-divider">&nbsp;</div> <a class="dropdown-item" href="/info/policies.php">Library Access Policy</a></div> </li> </ul> </div> </div> </div> </div> <!-- End Topbar --><!-- /com.omniupdate.div --><!-- com.omniupdate.div label="main-nav" group="Admins" button="861" path="/includes/mainNav.php"--><!-- Start Main Nav --> <div id="Mnav"> <div class="container"> <div class="row"> <div class="col-12"><nav class="navbar navbar-expand-lg navbar-light"><a class="navbar-brand" href="/"><img src="/templates/img/marriott-library-logo.png" alt="Marriott Library Logo" width="302" height="45" /></a> <button class="navbar-toggler" data-toggle="collapse" data-target="#ml-main-navbar" aria-controls="ml-main-navbar" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"><!--Toggle Icon --></span> </button> <!-- Start Nav Search and Hours Toggle --> <button class="btn nav-search-btn" data-toggle="collapse" data-target="#main-search" aria-expanded="false" aria-controls="main-search"><span class="sr-only">Search Area Toggle</span></button> <button class="btn nav-hours-btn d-none d-sm-block d-md-block d-xl-block collapsed" data-toggle="collapse" data-target="#quick-hours" aria-expanded="false" aria-controls="quick-hours"> <em class="far fa-clock"><!-- Clock Icon --></em> <span>Hours</span><span class="sr-only">Show Hours Toggle</span></button> <!-- End Nav Search and Hours Toggle --> <div id="ml-main-navbar" class="collapse navbar-collapse"> <ul class="navbar-nav"><!-- Start Research Nav Item --> <li class="nav-item dropdown megamenu-li"><a id="research-menu" class="nav-link dropdown-toggle" href="/includes/" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Research</a> <div class="dropdown-menu megamenu" aria-labelledby="research-menu"> <div class="row"> <div class="col-6 megamenu-col"> <h5>Research Support</h5> <a class="dropdown-item" href="https://databases.tools.lib.utah.edu/">Databases A-Z <span>Full access to databases licensed by the University of Utah.</span></a> <a class="dropdown-item" href="http://campusguides.lib.utah.edu/index.php?b=s">Research Guides <span>Guides by subject aimed to assist in specific research areas.</span></a> <a class="dropdown-item" href="https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/jsearch?vid=UTAH&amp;lang=en_US">Online Journals <span>Search peer-reviewed academic and scholarly journals.</span></a> <a class="dropdown-item" href="/research/copyright.php">Copyright and Fair Use <span>Understand and abide by the copyright law of the United States.</span></a> <a class="dropdown-item last" href="/collections/subject-specialists.php">Subject Specialists <span>Individuals who may be consulted in their areas of expertise.</span></a> <a class="btn btn-block btn-secondary" href="/research/" role="button">More Research Support</a></div> <div class="col-6 megamenu-col"> <h5>Unique Collections</h5> <a class="dropdown-item" href="https://collections.lib.utah.edu/">Digital Library <span>Historical digital photographs, newspapers, maps, books, audio, &amp; other items.</span></a> <a class="dropdown-item" href="/collections/special-collections/index.php">Special Collections <span>Enrich your understanding of the world with our vast special collections and archives.</span></a> <a class="dropdown-item" href="/collections/middle-east/">Middle East Library <span>A major center for research in Middle East studies</span></a> <a class="dropdown-item" href="/collections/rarebooks/">Rare Books <span>More than 80,000 books, maps, ephemera, and realia documenting the record of human communication.</span></a> <a class="dropdown-item last" href="/collections/gov-docs.php">Government Documents <span>Congressionally designed depository for U.S. Government documents</span></a><a class="btn btn-block btn-secondary" href="/collections/" role="button">All Collections</a></div> </div> </div> </li> <!-- End Research Nav Item --> <!-- Start Services Nav Item --> <li class="nav-item dropdown megamenu-li"><a id="services-menu" class="nav-link dropdown-toggle" href="/includes/" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Services</a> <div class="dropdown-menu megamenu" aria-labelledby="services-menu"> <div class="row"> <div class="col-6 megamenu-col"> <h5>Technology &amp; Spaces</h5> <a class="dropdown-item" href="/services/knowledge-commons/">Knowledge Commons <span>Computers, software, print/copy/scan, research &amp; technology assistance, &amp; more.</span></a> <a class="dropdown-item" href="/spaces/">Study Spaces <span>Find &amp; schedule a variety of study, group, and collaborative spaces.</span></a> <a class="dropdown-item" href="/collections/book-arts/">Book Arts Studio<span>A fully equipped book arts studio; with modern and traditional and bookmaking equipment.</span></a> <a class="dropdown-item" href="/spaces/family-reading-room.php">Family Reading Room <span>A room for student parents/guardians accompanied by young children</span></a> <a class="dropdown-item last" href="https://writingcenter.utah.edu/">Writing Center <span>Become a more confident writer with individual peer tutor consultations</span></a> <a class="btn btn-block btn-secondary" href="/spaces/" role="button">All Spaces</a></div> <div class="col-6 megamenu-col"> <h5>Services for...</h5> <a class="dropdown-item" href="/services/borrowing.php">Borrowing &amp; Renewals <span>Services and information to request, renew, recall, &amp; suggest purchases.</span></a> <a class="dropdown-item" href="/services/education/index.php">Graduate and Undergraduates<span>Consult with a team dedicated to providing information and support to graduates and undergraduates.</span></a> <a class="dropdown-item" href="/services/education/instructors.php">Faculty &amp; Instructors <span>Research, scholarly communication, &amp; teaching support needs of faculty &amp; staff.</span></a> <a class="dropdown-item" href="/services/creativity-innovation.php">Creativity &amp; Innovation <span>Services for arts &amp; design, multimedia, 3D &amp; prototyping technologies, and more. </span></a> <a class="dropdown-item last" href="/services/alumni.php">Alumni &amp; Visitors <span>Permits, guest passes, and policies for alumni, independent researches, etc.</span></a> <a class="btn btn-block btn-secondary" href="/services/" role="button">All Services</a></div> </div> </div> </li> <!-- End Services Nav Item --> <!-- Start About Nav Item --> <li class="nav-item dropdown megamenu-li"><a id="about-menu" class="nav-link dropdown-toggle" href="/includes/" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">About</a> <div class="dropdown-menu megamenu" aria-labelledby="about-menu"> <div class="row"> <div class="col-6 megamenu-col"> <div class="no-heading-space"></div> <a class="dropdown-item" href="/info/news.php">News &amp; Events <span>Current news, events, and press releases from the J. Willard Marriott Library</span></a> <a class="dropdown-item" href="/info/hours.php">Hours <span>Our hours and holiday closings.</span></a> <a class="dropdown-item" href="/info/directions.php">Directions &amp; Parking <span>Google map with directions from off campus to the Marriott Library and parking information.</span></a> <a class="dropdown-item" href="/spaces/">Spaces <span>Building, spaces, and room information.</span></a> <a class="dropdown-item last" href="/info/policies.php">Policies, Use, and Security <span>Public policies and security information.</span></a></div> <div class="col-6 megamenu-col"> <div class="no-heading-space"></div> <a class="dropdown-item" href="/info/">General Information <span>Our vision and mission, strategic plan, history, and friends.</span></a> <a class="dropdown-item" href="/collections/">Collections<span>Extensive special, print, and digital collections which serve as vital extensions of teaching &amp; research facilities.</span></a> <a class="dropdown-item last" href="/give.php">Giving Opportunities <span>Donations to the Library and an explanation of our campaign priorities.</span></a> <a class="btn btn-block btn-secondary" href="/info/" role="button">More about the Marriott Library</a></div> </div> </div> </li> <!-- End About Nav Item --> <!-- Start Ask Us Nav Item --> <li class="nav-item dropdown megamenu-li"><a id="askus-menu" class="nav-link dropdown-toggle" href="/includes/" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Ask Us</a> <div class="dropdown-menu megamenu" aria-labelledby="askus-menu"> <div class="row"> <div class="col-6 megamenu-col"> <div class="no-heading-space"></div> <a class="dropdown-item" href="/help/">Contact Us / Get Help <span>Assistance through a number of methods to suit your schedule &amp; preferences.</span></a> <a class="dropdown-item" href="/services/events-scheduling/">Book Events &amp; Scheduling <span>Let us host your next event or reserve space in the library for teaching.</span></a> <a class="dropdown-item" href="/services/suggest-a-purchase.php">Suggest a Purchase <span>Suggest books, audio-visual materials, relevant curriculum, &amp; research resources.</span></a> <!--<a class="dropdown-item" href="https://forms.lib.utah.edu/advertising-request-ua/">Advertising Requests <span>Advertising in the Library for University Affiliates.</span></a> --> <a class="dropdown-item" href="/info/lost-found.php">Lost &amp; Found <span>Located at the Level 1 Circulation, Information, and Library Information Desk near the West Entrance. </span></a> <a class="dropdown-item last" href="/services/guest-passes.php">Guest Passes <span>How to get a guest pass and their policies &amp; requirements</span></a></div> <div class="col-6 megamenu-col"> <h5>Teaching &amp; Consulting</h5> <a class="dropdown-item" href="/services/knowledge-commons/">Computer Questions <span>A variety of technology assistance from friendly staff &amp; faculty.</span></a> <a class="dropdown-item" href="/services/research-consultation.php">Research Consultations <span>In-depth research consultations in a specific research assignment, topic, or thesis.</span></a> <a class="dropdown-item last" href="https://forms.lib.utah.edu/request-librarian/">Invite a Librarian to Teach <span>Have a Librarian teach or speak on a variety of topics.</span></a> <a class="btn btn-block btn-secondary" onclick="window.open('https://libraryh3lp.com/chat/mlibs-queue@chat.libraryh3lp.com?skin=27584', 'AskUs', 'resizable=1,width=500,height=300'); return false;" href="#" role="button"><em class="far fa-comments"><!--Chat Icon --></em> Live Chat</a></div> </div> </div> </li> <!-- End Ask Us Nav Item --> </ul> </div> </nav> </div> </div> </div> </div> <div class="todays-hours collapse" id="quick-hours"> <div class="container"> <!--<span class="ml-hours-header">Marriott Library Hours</span> --> <ul class="ml-hours-items"> <li class="ml-hours-item"> <h3><span>UCard Access</span></h3> <div class="ml-featured-hours"> <em class="far fa-clock"><!-- Clock Icon --></em> <span class="ml-featured-hours-status">Today</span> <span class="ml-featured-hours-time" id="ucard-access-hour"> - </span> </div> <div class="quick-info" style="display: none;"> <small> Patrons with active UCards. <a href="/info/policies.php"> Library Policies</a> </small> </div> </li> <li class="ml-hours-item"> <h3><span>Public Access</span></h3> <div class="ml-featured-hours"> <em class="far fa-clock"><!-- Clock Icon --></em> <span class="ml-featured-hours-status">Today</span> <span class="ml-featured-hours-time" id="public-access-hour"> - </span> </div> <div class="quick-info" style="display: none;"> <small> Open to visitors. <a href="/services/guest-passes.php">Guest Pass Policy</a> </small> </div> </li> <li class="ml-hours-item"> <h3 style="display: none;" class="ml_hours_all"><span>see all hours</span></h3> <div class="ml-featured-hours see-more"> <em class="far fa-clock"><!-- Clock Icon --></em> <span class="hl__featured-libraries__more-link"> <a href="/info/hours.php" class="" #title="See more library hours"><span>View hours for all Library departments &amp; events</span></a> </span> </div> </li> </ul> </div> </div> <!-- End Main Nav --><!-- <div class="alert alert-warning" style="margin-bottom: 0px;" role="alert"><div class="container">The site is fully functioning despite the error message above. We are working to address the issue. Thank you for your patience.</div></div>--><!-- /com.omniupdate.div --></header> <div class="main-search collapse" id="main-search"> <div class="container"> <div class="row "> <div class="col-12"> <div class="homesearch-container"><div class="searchbox"><form role="search" aria-label="Main Search"> <div class="form-row"> <div class="col"> <label class="sr-only" for="marriottFederatedSearch">Search Marriott Library Resources</label> <div class="input-group"> <div class="input-group-prepend"> <!--<div class="input-group-text">Search</div> --> </div> <input id="marriottFederatedSearch" class="form-control form-control-lg" name="search" type="text" value="" placeholder="Search..." /></div> </div> <div class="col-auto search-options-container"><select id="SearchOptions" class="form-control form-control-lg search-options" aria-label="main search source selector"> <option value="all">Everything</option> <option value="us">USearch Catalog</option> <option value="w">Website</option> <option value="lg">Subject Guides</option> <option value="dl">Digital Library</option> </select></div> <div class="col-auto"><button class="btn btn-search btn-lg" tabindex="0" aria-label="search" onclick="Teleport(); return false;"><em class="fas fa-search" aria-hidden="true"><!--Search Icon --></em><span class="sr-only">Search Button</span></button></div> <div id="SearchOptions" class="col-12 search-options-radio d-none"> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-us" value="us" checked="checked"> <label class="form-check-label" for="search-us">Catalog</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-bo" value="bo"> <label class="form-check-label" for="search-bo">Books</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-w" value="w"> <label class="form-check-label" for="search-w">Library Website</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-lg" value="lg"> <label class="form-check-label" for="search-lg">Subject Guides</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-dl" value="dl"> <label class="form-check-label" for="search-dl">Digital Library</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="search-opttions" id="search-all" value="all" > <label class="form-check-label" for="search-all">All</label> </div> </div> </div> </form></div> <div class="one-search-welcome"><a class="float-right advanced-search" href="https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/search?vid=UTAH&amp;mode=advanced">Advanced Catalog Search</a> <h2>Success Starts Here</h2> <p>Your gateway to the <a href="https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/search?vid=UTAH">Library Catalog</a>, <a href="https://collections.lib.utah.edu">Digital Items</a>, <a href="https://gcse.search.utah.edu/index.php?site=Look-only-in-marriott-library-main-website&amp;gcse_action=site_search">Library Website search results</a>, and more simultaneously!</p> </div> <div class="buttons-flex-links"><a class="button content-button" href="/collections/">Collections</a> <a class="button content-button" href="https://databases.tools.lib.utah.edu/">Databases</a> <a class="button content-button" href="https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/jsearch?vid=UTAH&amp;lang=en_US">Online Journals</a> <a class="button content-button" href="http://campusguides.lib.utah.edu/index.php?b=s">Research Guides</a></div> <p> <script type="text/javascript">// <![CDATA[ //Takes you to the correct search depending on what area you select to search on the dropdown. function Teleport() { var searchArea = document.getElementById("SearchOptions").value; var searchString = document.getElementById("marriottFederatedSearch").value; var location = ""; switch (searchArea) { case "all": location = "http://lib.utah.edu/discover/?search=" + encodeURIComponent(searchString) + "#gsc.tab=0&gsc.q="+ encodeURIComponent(searchString) +"&gsc.sort=&gsc.sort=&gsc.site=Look-only-in-marriott-library-main-website"; break; case "us": location = "https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/search?query=any,contains," + searchString + "&tab=everything&search_scope=EVERYTHING&vid=UTAH&offset=0"; break; case "cr": location = "https://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/search?query=any,contains," + searchString + "&tab=uuu_alma_cr_restricted&search_scope=UUU_ALMA_CR_RESTRICTED&vid=UTAH&offset=0"; break; case "lg": location = "http://campusguides.lib.utah.edu/srch.php?q=" + searchString; break; case "dl": location = "https://collections.lib.utah.edu/search?q=" + searchString; break; case "w": location = "https://gcse.search.utah.edu/index.php?q=" + searchString + "&site=Look-only-in-marriott-library-main-website&gcse_action=site_search"; break; } window.location.href = location; } // ]]></script> </p></div> </div> </div> </div> </div> <div class="ml-breadcrumb"> <div class="container"> <ul class="breadcrumb"> <li class="firstitem"> <a href="/"> Home </a> </li> <li class="icon-angle-double-right"> <a href="/info/">About the Library</a> </li> <li class="icon-angle-double-right">Hours</li> </ul> </div> </div> <div class="container" id="content"> <div class="row"> <div class="col-lg-auto leftNav"> <div class="navbar-expand-lg"> <!-- com.omniupdate.div label="left-nav" group="Everyone" ="658"--><!-- ouc:editor csspath="/_resources/ou/editor/css/leftNavBlankBackground.css" cssmenu="/_resources/ou/editor/css/styles.txt" width="1216"/ --><!-- /com.omniupdate.div --> </div> </div> <div class="col-lg main-content"> <!-- com.omniupdate.div label="three-col-main-content" group="Everyone" button="658"--><!-- ouc:editor csspath="/_resources/ou/editor/css/threeColMainContent.css" cssmenu="/_resources/ou/editor/css/styles.txt" width="1216"/ --> <h1> <span style="color: inherit;">Library Hours</span> </h1> <ul> <li>After 8:00 p.m., access to the Marriott Library is limited to current University of Utah students, faculty, and staff. A valid UCard is required for entry and public visitors may be asked to leave the building.</li> <li>Levels 3, 4, and 5 may close earlier than regular posted time depending on usage in which an announcement will be made over the library PA system.</li> <li>Building hours are subject to change. Always check the library鈥檚 website for the most up to date information about service hours.</li> <li>ProtoSpace is open during normal library operating hours. The ProtoSpace Desk Hours calendar indicates when staff is available to answer questions.聽</li> </ul> <!--<div class="container-fluid"> <div class="row text-center mb-3 flex-hours"> <div class="col col-lg col-md-6 col-sm-6 col-6"> <p>Monday - Friday<br /><strong>8:00 am - 6:00 pm</strong></p> </div> <div class="col col-lg col-md-6 col-sm-6 col-6"> <p>Saturday &amp; Sunday<br /><strong>12:00 pm - 6:00 pm</strong></p> </div> </div> </div>--> <h2 class="mt-5 mb-3">Department Hours Calendar (MST)</h2> <div id="v-calHours-tab" class="nav nav-pills" role="tablist" aria-orientation="horizontal"> <a id="v-dept-ml-tab" class="nav-link active" role="tab" href="#v-dept-ml" data-toggle="pill" aria-controls="v-dept-ml" aria-selected="true"> UCard Access</a> <a id="v-dept-ml-public-tab" class="nav-link" role="tab" href="#v-dept-ml-public" data-toggle="pill" aria-controls="v-dept-ml-public" aria-selected="true">Public Access</a> <!--<a id="v-dept-events-tab" class="nav-link" role="tab" href="#v-dept-events" data-toggle="pill" aria-controls="v-dept-events" aria-selected="false">Events</a> --> <a id="v-dept-specialCollections-tab" class="nav-link" role="tab" href="#v-dept-specialCollections" data-toggle="pill" aria-controls="v-dept-specialCollections" aria-selected="false">Special Collections</a> <a id="v-dept-protoSpace-tab" class="nav-link" role="tab" href="#v-dept-protoSpace" data-toggle="pill" aria-controls="v-dept-protoSpace" aria-selected="false">ProtoSpace Help Desk</a> <a id="v-dept-bookArts-tab" class="nav-link" role="tab" href="#v-dept-bookArts" data-toggle="pill" aria-controls="v-dept-bookArts" aria-selected="false">Book Arts</a> <a id="v-dept-kc-tab" class="nav-link" role="tab" href="#v-dept-kc" data-toggle="pill" aria-controls="v-dept-kc" aria-selected="false">Knowledge Commons</a> <!--<a id="v-dept-market-tab" class="nav-link" role="tab" href="#v-dept-market" data-toggle="pill" aria-controls="v-dept-market" aria-selected="false">Market</a> <a id="v-dept-marketToGo-tab" class="nav-link" href="#v-dept-marketToGo" data-toggle="pill" role="tab" aria-controls="v-dept-marketToGo" aria-selected="false">Market To Go</a--> </div> <!--Control Groups--> <div class="d-flex flex-row-reverse"> <div class="m-2"> <button id="reset" class="btn btn-warning">reset</button> </div> <div class="m-2"> <select class="custom-select" name="year_months"> <option selected="selected"/> </select> </div> </div> <div id="v-calHours-tabContent" class="tab-content"> <div id="v-dept-ml" class="tab-pane fade show active" role="tabpanel" aria-labelledby="v-dept-ml-tab">...</div> <div id="v-dept-ml-public" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-ml-public-tab">...</div> <!--<div id="v-dept-events" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-events-tab">...</div> --> <div id="v-dept-specialCollections" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-specialCollections-tab">...</div> <div id="v-dept-protoSpace" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-protoSpace-tab">...</div> <div id="v-dept-bookArts" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-bookArts-tab">...</div> <div id="v-dept-kc" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-kc-tab">...</div> <!--<div id="v-dept-market" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-market-tab">...</div> <div id="v-dept-marketToGo" class="tab-pane fade" role="tabpanel" aria-labelledby="v-dept-marketToGo-tab">...</div--> </div> <!-- /com.omniupdate.div --> </div> <div class="col-lg-3"> <!-- com.omniupdate.div label="right-col-content" group="Everyone" button="658"--><!-- ouc:editor csspath="/_resources/ou/editor/css/rightColContent.css" cssmenu="/_resources/ou/editor/css/styles.txt" width="1216"/ --> <h3 class="short_headline">Contact</h3> <address> <a href="https://lib.utah.edu/services/security.php"> <strong>Library Operations &amp; Protection Services</strong> </a> <br/> <em class="fas fa-phone"><!-- phone icon --></em> 801-581-8558 <br/> <em class="fas fa-phone"><!-- phone icon --></em> 801-581-8600 (emergencies only)</address> <address> <strong> <a href="https://lib.utah.edu/services/knowledge-commons/index.php">Knowledge Commons</a> </strong> <br/> <em class="icon-phone"><!-- phone icon --></em> 801-581-6273</address> <!-- /com.omniupdate.div --> </div> </div> <div class="spacer-32">聽</div> </div> <!-- com.omniupdate.div label="main-footer" group="Admins" button="780" path="/includes/footer.php"--> <!-- Start Footer --> <footer> <div class="container"> <div class="row"> <div class="col"><img src="/templates/img/marriottLibrary-logo-footer.png" alt="Marriott Library Logo" /></div> </div> <div class="row footer-4-col"> <div class="col-md-3"> <p class="address"><a href="https://www.google.com/maps?q=marriott+library&amp;um=1&amp;ie=UTF-8&amp;sa=X&amp;ved=0ahUKEwj96fDBqr_jAhUGilQKHcJrCb4Q_AUIESgB"> 295 S 1500 E <br />SLC UT 84112-0860 </a></p> <p><a href="https://forms.lib.utah.edu/ask-the-library/"><em class="fas fa-envelope"><!--Email Icon --></em> Contact Us </a></p> <p><em class="fas fa-phone"><!--Phone Icon --></em> 801.581.8558</p> <div class="spacer-32">&nbsp;</div> <p><a href="https://intranet.lib.utah.edu"> Staff Intranet</a></p> <p style="margin-top: 15px;"><em class="fas fa-edit"><!--Edit Icon --></em><span id="directedit"></span></p> </div> <div class="col-md-3"> <h3>J. Willard Marriott Library</h3> <hr /> <ul> <li><a href="/info/hours.php">Hours</a></li> <li><a href="/info/library-maps.php">Library Floor Maps</a></li> <li><a href="/info/departments.php">Library Departments</a></li> <li><a href="https://staffdirectory.tools.lib.utah.edu/">Staff Directory</a></li> <li><a href="/jobs.php">Jobs</a></li> <li><a href="/info/news.php">News &amp; Events</a></li> <li><a href="https://campusguides.lib.utah.edu/govt_info">FDLP Depository Information</a></li> <li><a href="http://campusguides.lib.utah.edu/patents">Patent &amp; Trademark Resource Center</a></li> </ul> </div> <div class="col-md-3"> <h3>Information for...</h3> <hr /> <ul> <li><a href="/services/alumni.php">Alumni &amp; Friends</a></li> <li><a href="/services/distance-students/">Distance Learners</a></li> <li><a href="/services/education/instructors.php">Faculty</a></li> <li><a href="/services/education/">Undergraduates</a></li> <li><a href="/services/education/gradstudents.php">Graduates</a></li> </ul> </div> <div class="col-md-3"> <h3>Connect</h3> <hr /> <ul> <li><a href="https://www.facebook.com/marriottlibrary/"><em class="fab fa-facebook-square"><!--Facebook Icon--></em> Facebook</a></li> <li><a href="http://twitter.com/MarriottLibrary"><em class="fa-brands fa-square-x-twitter"><!--Twitter Icon --></em> X Twitter</a></li> <li><a href="http://instagram.com/marriottlibrary"><em class="fab fa-instagram"><!--Instagram Icon --></em> Instagram</a></li> <li><a href="https://bsky.app/profile/marriottlibrary.bsky.social"><em class="fa-brands fa-square-bluesky"><!--BlueSky Icon --></em> Bluesky</a></li> <li><a href="http://www.youtube.com/user/MarriottLibrary"><em class="fab fa-youtube-square"><!--Youtube Icon --></em> YouTube</a></li> <li><a href="https://blog.lib.utah.edu/"><em class="fas fa-rss-square"><!-- BLog Icon --></em> Library Blog</a></li> <li><a href="http://www.flickr.com/photos/27208842%40N04/"><em class="fab fa-flickr"><!--Flickr Icon --></em> Flickr</a></li> <li><a href="https://www.tiktok.com/@marriottlibrary?lang=en"><em class="fa-brands fa-tiktok"><!--TikTok Icon --></em> TikTok</a></li> <li style="margin-top: 15px;"><a class="btn btn-outline-light btn-sm" href="/give.php"><em class="far fa-heart"><!-- Heart Icon --></em> Donate to the Marriott Library</a></li> <li style="margin-top: 15px;"><a href="https://forms.lib.utah.edu/website-feedback/">Website Feedback</a></li> </ul> </div> </div> <div class="row sub-footer"> <div class="col-md-4"> <p>Copyright &copy; J. Willard Marriott Library. All rights reserved.</p> </div> <div class="col-md-8"> <ul class="nav justify-content-end"> <li class="nav-item"><a class="nav-link" href="http://www.utah.edu/privacy">Privacy</a>/</li> <li class="nav-item"><a class="nav-link" href="https://www.utah.edu/nondiscrimination/">Nondiscrimination &amp; Accessibility</a>/</li> <li class="nav-item"><a class="nav-link" href="https://president.utah.edu/indigenous-land-acknowledgment/">Land Acknowledgment</a>/</li> <li class="nav-item"><a class="nav-link" href="https://safeu.utah.edu/">Safe U</a>/</li> <li class="nav-item"><a class="nav-link" href="http://www.utah.edu/disclaimer">Disclaimer</a>/</li> <li class="nav-item"><a class="nav-link" href="/info/policies.php">Policies</a></li> </ul> </div> </div> </div> </footer> <!-- End Footer --> <div><span class="sticky-chat" role="button" onclick="window.open('https://libraryh3lp.com/chat/mlibs-queue@chat.libraryh3lp.com?skin=27584', 'AskUs', 'resizable=1,width=700,height=420'); return false;" tabindex="0"><span class="sr-only">Open Chat</span><em class="far fa-comments"><!-- Chat Icon --></em></span></div> <!-- /com.omniupdate.div --> <script defer="defer" src="/templates/js/jquery.flexslider.js"> </script> <script src="/templates/js/marriott-custom.js"> </script> <script defer="defer" src="/_resources/js/directedit.js"> </script> <!-- com.omniupdate.div label="footer-scripts" group="Everyone" button="673"--> <style> .loading{ padding: 25%; width: 100%; padding: 25%; min-height: 500px; position: absolute; z-index: 99; text-align: center; } </style> <script> const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; //Test Date defined here var date = ""; //load month Range const month_year_list = render_month_range(date); //fill year month select with data for(var i = 0; i < month_year_list.length; i++ ){ var data = month_year_list[i]; var data_d = new Date(data); $('select[name="year_months"]').append("<option value="+ data + ">" + monthNames[data_d.getMonth()] + " " + data_d.getFullYear() + "</option>"); } //get current date, year month var d = to_mt_time(new Date()); var current_month = (d.getMonth()+1) + "/01/" + d.getFullYear(); var current_year = d.getFullYear(); var current_value = d.getMonth(); $(function () { //handle uri parameter to auto focus calendar if($.urlParam('cal_name') != "" || $.urlParam('cal_name') != null){ var cal_name = $.urlParam('cal_name'); switch (cal_name) { case "book_arts":$('#v-dept-bookArts-tab').tab('show');break; case "events":$('#v-dept-events-tab').tab('show');break; case "knowledge_commons":$('#v-dept-kc-tab').tab('show');break; case "market":$('#v-dept-market-tab').tab('show');break; //case "market_togo":$('#v-dept-marketToGo-tab').tab('show');break; case "mlib":$('#v-dept-ml-tab').tab('show');break; case "mlib_public":$('#v-dept-ml-public-tab').tab('show');break; case "special_collections":$('#v-dept-specialCollections-tab').tab('show');break; } } //load monthly hours on page load load_all_hours(date); //load monthly events load_events(date); }); //Load data on selected year month $(document).on("change", "select[name='year_months']", function(){ //get current active calendar and get year month VALUES var dom = $('.tab-pane.active.show'); var value = dom.find('.current_month').prop("title"); var panel_id = dom.prop("id"); //if select year month is null, then compare with current year month if($(this).val() == ""){ if(value != current_value){ var d = new Date(current_month); var month_name = monthNames[d.getMonth()]; var year = d.getFullYear(); $('#'+panel_id).find('.current_month').html(month_name + " " + year); $('#'+panel_id).find('.current_month').prop('title', current_value); check_edge_reach(current_value, panel_id); switch(panel_id){ case "v-dept-events": load_events();break; default: load_cal_hours(panel_id);break; } } } //if year month is different from the selected value, then load data else if($(this).val() != month_year_list[value]){ var new_value = $(this).prop('selectedIndex'); new_value = parseInt(new_value) - 1; var d = new Date($(this).val()); var month_name = monthNames[d.getMonth()]; var year = d.getFullYear(); $('#'+panel_id).find('.current_month').html(month_name + " " + year); $('#'+panel_id).find('.current_month').prop('title', new_value); check_edge_reach(new_value, panel_id); switch(panel_id){ case "v-dept-events": load_events($(this).val());break; default: load_cal_hours(panel_id, $(this).val());break; } } }); //Adjust selected value for switching calendar $('#v-calHours-tab a.nav-link').on('shown.bs.tab', function (e) { select_month_year(); }); //if reset button click, load all datas $('#reset').on("click", function(){ load_all_hours(date); }); //Convert date to Mountain Time with Daylight Saving and Standard Time Adjustment function to_mt_time(d){ // convert to msec // add local time zone offset // get UTC time in msec utc = d.getTime() + (d.getTimezoneOffset() * 60000); // create new Date object for different city // using supplied offset nd = new Date(utc + (3600000*-7 )); return nd; } //adjust selected value after loading month data or switch calendars function select_month_year(){ //find active calendar and get year month VALUES var dom = $('.tab-pane.active.show'); var value = dom.find('.current_month').prop("title"); value = parseInt(value) + 1; //update selected value for select box var new_val = $('select[name="year_months"]').find("option").eq(value).val(); $('select[name="year_months"]').val(new_val); } //parse data from uri query $.urlParam = function(name){ var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href); if (results==null) { return null; } return decodeURI(results[1]) || 0; } $(document).ajaxStart(function() { //console.log("ajax started"); }); $(document).ajaxStop(function() { //remove loading bar $('.loading').remove(); //update select value select_month_year(); }); //Available range from January to December for the year of current month //Pagination to load previous month's data $(document).on('click', 'button[title="Previous month"]', function(){ var value = $(this).closest('div').find('.current_month').prop('title'); //Get Prevous Month value = parseInt(value) - 1; //get current panel var panel_id = $(this).closest('.tab-pane').prop("id"); check_edge_reach(value, panel_id); $(this).closest('div').find('.current_month').prop('title', value); //Load month label var d = new Date(month_year_list[value]); var month_name = monthNames[d.getMonth()]; var year = d.getFullYear(); $('#'+panel_id).find('.current_month').html(month_name + " " + year); //load corresponding previous month data switch(panel_id){ case "v-dept-events": load_events(month_year_list[value]);break; default: load_cal_hours(panel_id, month_year_list[value]);break; } }); //Pagination to load previous month's data $(document).on('click', 'button[title="Next month"]', function(){ var value = $(this).closest('div').find('.current_month').prop('title'); //get current panel var panel_id = $(this).closest('.tab-pane').prop("id"); //Get Next Month value = parseInt(value) + 1; check_edge_reach(value, panel_id); $(this).closest('div').find('.current_month').prop('title', value); //Load month label var d = new Date(month_year_list[value]); var month_name = monthNames[d.getMonth()]; var year = d.getFullYear(); $('#'+panel_id).find('.current_month').html(month_name + " " + year); //load corresponding next month data switch(panel_id){ case "v-dept-events": load_events(month_year_list[value]);break; default: load_cal_hours(panel_id, month_year_list[value]);break; } }); //Load single calendar months data function load_cal_hours(panel_id, date){ var url = "https://mlib-api.lib.utah.edu/calendar/sync_month_cal_hour_api.php"; if (date == null || date == "") { //if not date given, load current month hours var d = to_mt_time(new Date()); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } else{ var d = new Date(date); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } var cal_name = ""; switch(panel_id){ //Marriott Library case "v-dept-bookArts": cal_name = "Book Arts Studio";break; case "v-dept-kc": cal_name = "Knowledge Commons";break; case "v-dept-ml": cal_name = "Marriott Library";break; case "v-dept-ml-public": cal_name = "Marriott Library Public";break; case "v-dept-market": cal_name = "Market";break; //case "v-dept-marketToGo": cal_name = "Market To Go";break; case "v-dept-specialCollections": cal_name = "Special Collections";break; case "v-dept-protoSpace": cal_name = "ProtoSpace";break; } $.ajax({ type: 'GET', //TODO: use jsonp later //dataType: 'jsonp', url: url, async: false, data: {date: date, cal_name: cal_name}, beforeSend: function(){ $('#'+panel_id).find('p').remove(); var loading_bar = '<div class="loading d-flex justify-content-center"><div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div></div>'; if($('#'+panel_id).find('.loading').length == 0) $('#'+panel_id).find('table').before(loading_bar); }, success: function (data) { //TODO: use jsonp later, reenable this //data = JSON.stringify(data); var calendars = JSON.parse(data); //render month render_calendar_month(calendars, d, '#'+panel_id); //load hours data for (var row = 0; row < calendars.length; row++) { for (var col = 0; col < calendars[row].length; col++) { var date_str = calendars[row][col].date; var col_date = new Date(date_str); var date_name = col_date.getDate(); var hours = calendars[row][col].hours; for (var i = 0; i < hours.length; i++){ switch (hours[i].Cal_name){ case "Marriott Library": fill_calendar("v-dept-ml", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Marriott Library Public": fill_calendar("v-dept-ml-public", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Special Collections": fill_calendar("v-dept-specialCollections", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "ProtoSpace": fill_calendar("v-dept-protoSpace", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Book Arts Studio": fill_calendar("v-dept-bookArts", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Knowledge Commons": fill_calendar("v-dept-kc", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Market": fill_calendar("v-dept-market", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; //case "Market To Go": fill_calendar("v-dept-marketToGo", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; } } } } $('#'+panel_id).find('td').each(function(){ if ($(this).find('.cal-day').length > 0 && $(this).find('p .day-hours').length == 0){ var content = '<p><span class="badge badge-warning day-hours">TBD</span></p>'; $(this).append(content); } }); }, error: function (requestObject, error, errorThrown) { console.log(error); console.log(errorThrown); } }); return ; } //load monthly open hours from sync_month_hours_api function load_all_hours(date) { var url = "https://mlib-api.lib.utah.edu/calendar/sync_month_hours_api.php"; if (date == null || date == "") { //if not date given, load current month hours var d = to_mt_time(new Date()); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } else{ var d = new Date(date); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } $.ajax({ type: 'GET', //TODO use jsonp later //dataType: 'jsonp', url: url, data: {date: date}, beforeSend: function(){ $('.tab-pane:not(#v-dept-events)').html(""); var loading_bar = '<div class="loading d-flex justify-content-center"><div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div></div>'; $('.tab-pane:not(#v-dept-events)').each(function(){ if($(this).find('.loading').length == 0) $('.tab-pane:not(#v-dept-events)').html(loading_bar); }); }, success: function (data) { var dom_html = ""; //TODO reenable this //data = JSON.stringify(data); var calendars = JSON.parse(data); //render current month dates in calendar view render_calendar_month(calendars, d, '.tab-pane:not(#v-dept-events)'); //load hours data for (var row = 0; row < calendars.length; row++) { for (var col = 0; col < calendars[row].length; col++) { var date_str = calendars[row][col].date; var col_date = to_mt_time(new Date(date_str)); var date_name = col_date.getDate(); var hours = calendars[row][col].hours; for (var i = 0; i < hours.length; i++){ switch (hours[i].Cal_name){ case "Marriott Library": fill_calendar("v-dept-ml", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Marriott Library Public": fill_calendar("v-dept-ml-public", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Special Collections": fill_calendar("v-dept-specialCollections", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "ProtoSpace": fill_calendar("v-dept-protoSpace", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Book Arts Studio": fill_calendar("v-dept-bookArts", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Knowledge Commons": fill_calendar("v-dept-kc", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; case "Market": fill_calendar("v-dept-market", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; //case "Market To Go": fill_calendar("v-dept-marketToGo", row, col, hours[i].start, hours[i].end, hours[i].closed, hours[i].tag, hours[i].note); ; break; } } } } $('.tab-pane:not(#v-dept-events)').find('td').each(function(){ if ($(this).find('.cal-day').length > 0 && $(this).find('p .day-hours').length == 0){ var content = '<p><span class="badge badge-warning day-hours">TBD</span></p>'; $(this).append(content); } }); }, error: function (requestObject, error, errorThrown) { console.log(error); console.log(errorThrown); } }); } //load monthly events from sync_events_api function load_events(date){ var url = "https://mlib-api.lib.utah.edu/calendar/sync_events_api.php"; if (date == null || date == "") { //if not date given, load current month hours var d = to_mt_time(new Date()); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } else{ var d = new Date(date); date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); } $.ajax({ type: 'GET', //TODO use jsonp later //dataType: 'jsonp', url: url, data: {date: date}, beforeSend: function () { $('#v-dept-events').find("a").remove(); $(document).find(".modal.fade").remove(); var loading_bar = '<div class="loading d-flex justify-content-center"><div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div></div>'; if($('#v-dept-events').find('.loading').length == 0) $('#v-dept-events').prepend(loading_bar); }, success: function (data) { var dom_html = ""; //TODO reenable this //data = JSON.stringify(data); var calendars = JSON.parse(data); //render current month dates in calendar view render_calendar_month(calendars, d, '#v-dept-events'); //load events data for (var row = 0; row < calendars.length; row++) { for (var col = 0; col < calendars[row].length; col++) { var date_str = calendars[row][col].date; var col_date = new Date(date_str); var date_name = col_date.getDate(); var events = calendars[row][col].events; for (var i = 0; i < events.length; i++){ var month_name = monthNames[col_date.getMonth()]; if ((events[i].start + " " + events[i].title).length >= 7){ var label = events[i].start + " " + events[i].title.slice(0, 7); label = label.slice(0, label.length - 3) + '..'; } else var label = events[i].start + " " + events[i].title; content = '<a class="cal-event" href="#" data-toggle="modal" data-target="#' + month_name + date_name + '-' + i + '"><span class="badge badge-info day-hours" data-placement="top" data-toggle="tooltip" title="' + events[i].title + ' ' + events[i].start + '-' + events[i].end + '" >' + label + '</span></a>'; $('#v-dept-events').find('.text-center').nextAll("tr").eq(row).find('td').eq(col).append(content); //add event modal var modal = '<div id="' + month_name + date_name + '-' + i + '" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="' + month_name + date_name + '-' + i + '-event-title" aria-hidden="true">'; modal += '<div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h5 id="' + month_name + date_name + '-' + i + '-event-title" class="modal-title"> ' + events[i].title + '</h5>'; modal += '<button class="close" type="button" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">脳</span></button></div><div class="modal-body">'; //todo modal += '<img class="event-cal-pic" src="' + events[i].img + '" alt="" />'; modal += '<p>' + events[i].date_str + '</p>'; modal += '<p><b>Location: </b>' + events[i].room + '</p>'; modal += '<p>' + events[i].desc + '</p>'; modal += '<p><a target="_blank" href="' + events[i].link + '">More info</a></p>'; modal += '</div> <div class="modal-footer"><button class="btn btn-secondary" type="button" data-dismiss="modal">Close</button></div>'; modal += '</div></div></div>'; $('.main-content').append(modal); }}}}, error: function (requestObject, error, errorThrown) { console.log(error); console.log(errorThrown); } }); } //fill start date str and end date str into corresponding calendar and col and row function fill_calendar(cal_name, row, col, start, end, closed, label, note){ start = format_time(start); end = format_time(end); content = ""; //Special Event if(label !=null){ var tag = label.trim(); switch(tag){ case "exception": content += '<p><span class="badge badge-danger day-hours">';;break; case "extended": content += '<p><span class="badge badge-info day-hours">';;break; default: var exception = true;break; } if(exception){ if(closed == true) content = '<p><span class="badge badge-light day-hours">'; else if(closed != true && start != null){ content = '<p><span class="badge badge-success day-hours">'; } } } else if(label == null){ if(closed == true) content = '<p><span class="badge badge-light day-hours">'; else if(closed != true && start != null){ content = '<p><span class="badge badge-success day-hours">'; } } //load Note if provided if(note != null){ content +="<i class=\"font-weight-light\">"+note + "</i>"; } if(closed == true){ content += 'CLOSED'; } else if(closed != true && start != null){ content += start + ' - ' + end; } content += '</span></p>'; $('#' + cal_name).find('.text-center').nextAll("tr").eq(row).find('td').eq(col).append(content); } //format raw date string into formatted hour and min function format_time(date_str){ var d = to_mt_time(new Date(date_str)); var afterfix = "am"; var Hr = d.getHours(); if (Hr >= 12) { afterfix = "pm"; if (Hr != 12) Hr -= 12; } else if (Hr == 0) { Hr = 12; } var Min = d.getMinutes(); if (Min < 10 && Min > 0) { Min = ":0" + Min; } else if (Min == 0) Min = ""; else { Min = ":" + Min; } var format_result = Hr + Min + afterfix; return format_result; } //render month dates in the calendar view with given date object function render_calendar_month(calendars, d, calendar_selector){ //if calendar not exist then render entire, otherwise just fill data if($(calendar_selector).find("table").length == 0){ var month_name = monthNames[d.getMonth()]; var year = d.getFullYear(); var dom_str = '<table class="table table-bordered table-striped hours-cal table-responsive-lg"><tbody><tr><th colspan="7"><div class="d-flex justify-content-between"><button class="btn btn-default btn-sm" title="Previous month">&laquo;</button><span class="current_month" title="' + d.getMonth() + '">' + month_name + ' ' + year + ' </span><button class="btn btn-default btn-sm" title="Next month">&raquo;</button></div></th></tr>'; dom_str += '<tr class="text-center"><td>Sunday</td><td>Monday</td><td>Tuesday</td><td>Wednesday</td><td>Thursday</td><td>Friday</td><td>Saturday</td></tr>'; for (var row = 0; row < calendars.length; row++) { dom_str += '<tr>'; for (var col = 0; col < calendars[row].length; col++) { var date_str = calendars[row][col].date; var col_date = new Date(date_str); var date_name = col_date.getDate(); dom_str += '<td><div class="cal-day">' + date_name + '</div></td>'; } dom_str += '</tr>'; } dom_str += '</tbody></table>'; $(calendar_selector).html(dom_str); $(calendar_selector).each(function(){ var panel_id = $(this).prop("id"); //Check edge check_edge_reach(d.getMonth(), panel_id); }); } else if($(calendar_selector).find("table").length > 0){ //fill calendar body for (var row = 0; row < calendars.length; row++) { for (var col = 0; col < calendars[row].length; col++) { var date_str = calendars[row][col].date; var col_date = new Date(date_str); var date_name = col_date.getDate(); //fill date label $(calendar_selector).find('.text-center').nextAll("tr").eq(row).find('td').eq(col).find(".cal-day").html(date_name); } } } } //Check reaching edge of month range, if so, disalbe button for the edge function check_edge_reach(value, panel_id){ if(value == 0){ //Disable Prevous Month button $('#'+panel_id).find('button[title="Previous month"]').prop("disabled", true); $('#'+panel_id).find('button[title="Next month"]').prop("disabled", false); } else if(value == (month_year_list.length - 1)){ $('#'+panel_id).find('button[title="Next month"]').prop("disabled", true); $('#'+panel_id).find('button[title="Previous month"]').prop("disabled", false); } else{ $('#'+panel_id).find('button[title="Next month"], button[title="Previous month"]').prop("disabled", false); } } //Get Search Range function render_month_range(date){ if(date != null && date != "" ){ var d = new Date(date); } else{ var d = to_mt_time(new Date()); } var month_year_list = []; date = (d.getMonth() + 1) + "/01/" + d.getFullYear(); //first month of current year till next spring semester for(var i = 1; i <= 24; i ++){ var year = d.getFullYear(); if(i > 12){ var month = i - 12; year = year + 1; } else { var month = i; } month_year_list.push(month + "/01/"+ year); } return month_year_list; } </script> <!-- /com.omniupdate.div --> <div id="hidden"><!-- com.omniupdate.ob --><a id="de" href="https://a.cms.omniupdate.com/11/?skin=utah&amp;account=utah_marriott_library&amp;site=Marriott-dev&amp;action=de&amp;path=/info/hours.pcf">聽Last Modified 11/22/24</a><!-- /com.omniupdate.ob --></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10