CINXE.COM
J. Willard Marriott Library
<!--Form Top Content--> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"><title>J. Willard Marriott Library</title> <meta name="keywords" content="marriott library, university of utah, library, usearch, catalog, research, hours"/> <meta name="description" content="" /> <meta name="robots" content="index, follow"/> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <link rel="shortcut icon" href="https://forms.lib.utah.edu/includes/templates/favicon.ico"/> <link href="https://forms.lib.utah.edu/includes/templates/css/bootstrap.min.css" rel="stylesheet"/> <link rel="stylesheet" href="https://forms.lib.utah.edu/includes/templates/css/fontawesome-all.css"/> <link href="https://fonts.googleapis.com/css?family=Encode+Sans+Condensed:300,400,500,600,700,800,900" rel="stylesheet"/> <link href="https://forms.lib.utah.edu/includes/templates/css/flexslider.css" rel="stylesheet" media="screen"/> <link href="https://forms.lib.utah.edu/includes/templates/css/marriott.css" rel="stylesheet"/> <link href="https://forms.lib.utah.edu/includes/templates/css/alert.css" rel="stylesheet"/> <script src="https://code.jquery.com/jquery-3.6.4.min.js"> </script> <script src="https://forms.lib.utah.edu/includes/templates/js/bootstrap.bundle.min.js"> </script> <script src="https://forms.lib.utah.edu/includes/templates/js/jquery.flexslider.js"> </script> </head> <body> <header> <a id="skip" class="sr-only sr-only-focusable" href="#content">Skip to main content</a> <!-- Start Topbar --> <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 & Access</span><span class="sr-only">Show Hours Toggle</span> </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" href="#" data-toggle="dropdown" role="button" 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&section=overview&lang=en_US">Library Account</a> <a class="dropdown-item" href="https://lib.utah.edu/help/off-campus.php">Off Campus</a> <a class="dropdown-item" href="https://scheduling.tools.lib.utah.edu/">Library Scheduling</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="https://lib.utah.edu/info/policies.php">More on library access </a> </div> </li> </ul> </div> </div> </div> </div> <!-- End Topbar --> <!-- 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="https://lib.utah.edu/"><img src="https://forms.lib.utah.edu/includes/templates/images/marriott-library-logo.png" alt="Marriott Library Logo" /></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="https://lib.utah.edu/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&lang=en_US">Online Journals <span>Search peer-reviewed academic and scholarly journals.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/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, & other items.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/collections/middle-east/">Middle East Library <span>A major center for research in Middle East studies</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/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 & Spaces</h5> <a class="dropdown-item" href="https://lib.utah.edu/services/knowledge-commons/">Knowledge Commons <span>Computers, software, print/copy/scan, research & technology assistance, & more.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/spaces/">Study Spaces <span>Find & schedule a variety of study, group, and collaborative spaces.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/spaces/" role="button">All Spaces</a> </div> <div class="col-6 megamenu-col"> <h5>Services for...</h5> <a class="dropdown-item" href="https://lib.utah.edu/services/borrowing.php">Borrowing & Renewals <span>Services and information to request, renew, recall, & suggest purchases.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/services/education/instructors.php">Faculty & Instructors <span>Research, scholarly communication, & teaching support needs of faculty & staff.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/services/creativity-innovation.php">Creativity & Innovation <span>Services for arts & design, multimedia, 3D & prototyping technologies, and more. </span> </a> <a class="dropdown-item last" href="https://lib.utah.edu/services/alumni.php">Alumni & Visitors <span>Permits, guest passes, and policies for alumni, independent researches, etc.</span> </a> <a class="btn btn-block btn-secondary" href="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/info/news.php">News & Events <span>Current news, events, and press releases from the J. Willard Marriott Library</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/info/hours.php">Hours <span>Our hours and holiday closings.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/info/directions.php">Directions & Parking <span>Google map with directions from off campus to the Marriott Library and parking information.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/spaces/">Spaces <span>Building, spaces, and room information.</span> </a> <a class="dropdown-item last" href="https://lib.utah.edu/services/security.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="https://lib.utah.edu/info/">General Information <span>Our vision and mission, strategic plan, history, and friends.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/collections/">Collections <span>Extensive special, print, and digital collections which serve as vital extensions of teaching & research facilities.</span> </a> <a class="dropdown-item last" href="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/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="https://lib.utah.edu/help/">Contact Us / Get Help <span>Assistance through a number of methods to suit your schedule & preferences.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/services/events-scheduling/">Book Events & Scheduling <span>Let us host your next event or reserve space in the library for teaching.</span></a> <a class="dropdown-item" href="https://lib.utah.edu/services/suggest-a-purchase.php">Suggest a Purchase <span>Suggest books, audio-visual materials, relevant curriculum, & research resources.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/info/lost-found.php">Lost & 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="https://lib.utah.edu/services/guest-passes.php">Guest Passes <span>How to get a guest pass and their policies & requirements</span> </a> </div> <div class="col-6 megamenu-col"> <h5>Teaching & Consulting</h5> <a class="dropdown-item" href="https://lib.utah.edu/services/advising.php">Academic Advising <span>Assistance for new, transfer, and transitioning students, through academic advising.</span></a> <a class="dropdown-item" href="https://lib.utah.edu/services/knowledge-commons/">Computer Questions <span>A variety of technology assistance from friendly staff & faculty.</span> </a> <a class="dropdown-item" href="https://lib.utah.edu/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="https://lib.utah.edu/info/hours.php" class="" #title="See more library hours"><span>View hours for all Library departments & events</span></a> </span> </div> </li> </ul> </div> </div> <!-- End Main Nav --> </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> <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" type="text" name="search" value="" /> </div> </div> <div class="col-auto search-options-container"> <select id="SearchOptions" class="form-control form-control-lg search-options"> <option value="all">Everything</option> <option value="us">USearch Catalog</option> <option value="w">Website</option> <option value="cr">Course Reserves</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" onclick="Teleport(); return false;"><em class="fas fa-search"><!--Search Icon --></em></button></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&mode=advanced">Advanced Catalog Search</a> <h2>All U Need</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://utah-primoprod.hosted.exlibrisgroup.com/primo-explore/search?tab=uuu_alma_cr_restricted&search_scope=UUU_ALMA_CR_RESTRICTED&vid=UTAH&lang=en_US&offset=0">Course Reserves</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&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="https://lib.utah.edu/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&lang=en_US">Journals</a> <a class="button content-button" href="https://campusguides.lib.utah.edu/index.php?b=s">Research Guides</a> </div> <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 = "https://lib.utah.edu/discover/?search=" + searchString; 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 = "https://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> </div> </div> </div> </div> </div> <!-- Start Main Content --> </header><script type="text/javascript"> /* * This form checker contains validation for file, radio, checkbox and recaptcha * Validation on form submission and input value change */ var email_verification = false; $(document).ready(function () { //Remove modal verification code on show $('#verification_code_input').on('show.bs.modal', function (e) { $('input[name="verification_code"]').val(""); }) //enable only when verify needed $('input[name="client_email"]').on("change", function(){ var client_email = $('input[name="client_email"]').val(); var check_flag = false; //CAS true, unid_name empty, email_verification_require true if(false) check_flag = true; //CAS false, is_client_info_mandatory true else if(true) check_flag = true; //CAS false, is_client_info_mandatory false, email_verification_require true else if(false) check_flag = true; //Enable this only when email verification required if(check_flag){ var valid_email = false; //$is_client_info_mandatory // try { //if rule for client_email exists valid_email = $('#form').form("is valid", "client_email"); } catch(err) { //if rule for client_email does not exists, addrule addregexprule('client_email', '^(.+@.+\\..+)$', 'Please enter your email'); valid_email = $('#form').form("is valid", "client_email"); } if(!valid_email){ //Disable Button $('#verification_code_modal').prop("disabled", true); } else { //Enable Button $('#verification_code_modal').prop("disabled", false); } } }); //Validate Email Address $('#verify_email_send_btn').on("click", function(){ //Get Client Email value var client_email = $('input[name="client_email"]').val(); var valid_email = $('#form').form("is valid", "client_email"); if(!valid_email) $('#form').form("validate field", "client_email"); else{ //If given, call ajax function var requester = $('#content').find('h1').first().html(); //Send Email verification code using AJAX $.ajax({ url: "/includes/email_validation_send.php", method: 'post', data: {"client_email": client_email, "request_form": requester}, success: function(data){ var response = JSON.parse(data).response; console.log(response); if(response == true){ //Disable button for Send with 60 s cool down $('#verify_email_send_btn').prop("disabled", true); var cooldown = 60; const element = document.getElementById("verify_email_send_btn"); let myInterval = setInterval(cooldown_cnt, 1000); //Re-enable on cooldown function cooldown_cnt() { element.innerHTML = "Resend in "+ cooldown + " S"; cooldown--; if(cooldown < 0){ clearInterval(myInterval); $('#verify_email_send_btn').html("Resend Code"); $('#verify_email_send_btn').prop("disabled", false); } } } }, error: function(e){ console.log(e); } }); } }); //verify code sent to patron using Ajax $('#verify_email_verify_btn').on("click", function(){ //Get Verification Code input var verification_code = $('input[name="verification_code"]').val(); var client_email = $('input[name="client_email"]').val(); var requester = $('#content').find('h1').first().html(); $.ajax({ url: "/includes/email_validation_receive.php", method: 'post', data: {"verification_code": verification_code, "client_email": client_email, "request_form": requester}, beforeSend: function(){ //Remove Error status $('input[name="client_email"]').closest(".field").find('.ui.basic.red').remove(); }, success: function(data){ var data = JSON.parse(data); var response = data.response; if(response == true){ //Make Client Email readonly $('input[name="client_email"]').prop("readonly", true); $('input[name="client_email"]').closest(".field").addClass("disabled"); //Add success status $('input[name="client_email"]').closest(".ui.icon").append('<i id="verification_status" class="check circle icon text-success"></i>'); //Disable and Hide verification Buttons $('#verification_btns').remove(); //Append hidden field with requested_form $('#form').append('<input type="hidden" name="request_form" value="'+requester+'">'); //Set Email Verification Flag as true email_verification = true; } else if(response == false){ var reason = data.reason; // display error in status var html_str = '<div class="ui basic red pointing prompt label transition visible">'+reason+'</div>'; $('input[name="client_email"]').closest(".field").append(html_str); } }, error: function(e){ console.log(e); } }); }); //Validate Form content, google reCaptcha, file upload and,session before submission $("form").submit(function (event) { var file_validation = true; var radio_validation = true; var check_validation = true; var recaptcha_validation = true; var session_validation = false; form = event; if(true) session_validation = true; else if(!(true)){ //session validation $.ajax({ url: "https://forms.lib.utah.edu/includes/check_sessions.php" , async: false, success: function (data) { session = JSON.parse(data); session_validation = ((('phpCAS' in session) && ('user' in session.phpCAS)) || ('unid' in session)); if (session_validation == false) { var message = '<div id="session_expire" class="alert alert-danger"> <p>Your Session expired. Please click <a onclick="relogin();" style="font-weight: bold; cursor: pointer;">here</a> to login. </p> </div>'; $("form").find(".alert.alert-info:first").after(message); } } }); } //email verification validation //Verify Email if /* var truevar unid_name = ''; 1. CAS required, unid_name not empty, email_verification = true; 2. CAS required, unid_name empty email_verification = empty($email_verification_require));?> 3. CAS not required, $is_client_info_mandatory true email_verification = email_verification 4. CAS not required, $is_client_info_mandatory false empty($email_verification_require));?> */ // //If CAS require, unid_name given, no email verification requried if(false){ email_verification = true; } //If CAS require, unid_name not given, check $email_verification_require else if(false){ if((true)){ email_verification = true; } else if((false)){ //console.log("CAS, unid_name not given: verify, email verify flag true: verify"); //done } } //If CAS not require,$is_client_info_mandatory is true, email verification requried else if(true){ //console.log("no CAS, is_client_info_mandatory: verify"); //Done } //If CAS not require,$is_client_info_mandatory is false, check $email_verification_require else if(false){ if((true)){ email_verification = true; } else if((false)){ //console.log("no CAS, no is_client_info_mandatory, email verify flag true: verify"); //done } } if(!email_verification){ var html_str = '<div class="ui basic red pointing prompt label transition visible">Please verify your email address</div>'; $('input[name="client_email"]').closest(".field").append(html_str); } //Unicode free validation unicode_validation = checkUnicodeCharacters(); //recaptcha validation resetrecaptchastatus(); var use_recaptcha = true; if (use_recaptcha) recaptcha_validation = recaptchavalidate(); //TODO: color fix and remove on validated if (!recaptcha_validation) { $('#recaptcha').addClass('error'); $('#recaptcha').append('<div class="ui basic red pointing prompt label transition visible">recaptcha validation fail</div>'); } //For files that have a limited upload size $('.max_file_size').each(function () { event = $(this); resetfilestatus(event); file_validation = file_validation && validatefile(event); if (validatefile(event) == false) { checkfile(event); } }); //check required radiobox $('.radio.require').each(function () { event = $(this); resetinputstatus(event); var single_radio_validation = checkradio(event); radio_validation = single_radio_validation && radio_validation; }); //check required checkbox $('.check.require').each(function () { event = $(this); resetinputstatus(event); var single_check_validation = checkcheckbox(event); check_validation = single_check_validation && check_validation; }); if (!(unicode_validation && file_validation && radio_validation && check_validation && recaptcha_validation && session_validation && email_verification)) { form.preventDefault(); $( "#MessageBar" ).show( 'slide', {direction:'up'}, 500 ); close = document.getElementById("close"); close.addEventListener('click', function() { MessageBar = document.getElementById("MessageBar"); MessageBar.style.display = 'none'; }, false); } else { var unid_name = ''; if(unid_name == ''){ //If spam detect if($(":text[name='signature']").val().trim() != $(":text[name='client_name']").val().trim()){ resetinputstatus($(":text[name='signature']").closest("div")); $(":text[name='signature']").closest("div").append('<div class="ui basic red pointing prompt label transition visible">Name has to match your contact name</div>'); $( "#MessageBar" ).show( 'slide', {direction:'up'}, 500 ); close = document.getElementById("close"); close.addEventListener('click', function() { MessageBar = document.getElementById("MessageBar"); MessageBar.style.display = 'none'; }, false); form.preventDefault(); return; } } //Handle JIRA User or Heart Employee else if(unid_name != ''){ resetinputstatus($(":text[name='signature']").closest("div")); //If signature is not matching the unid name if($(":text[name='signature']").val().trim() != unid_name.trim()){ $(":text[name='signature']").closest("div").append('<div class="ui basic red pointing prompt label transition visible">Name has to match your contact name</div>'); $( "#MessageBar" ).show( 'slide', {direction:'up'}, 500 ); close = document.getElementById("close"); close.addEventListener('click', function() { MessageBar = document.getElementById("MessageBar"); MessageBar.style.display = 'none'; }, false); form.preventDefault(); return; } } if ($('#form').form('is valid')) { $("#form").append('<input type="hidden" name="marriott_verify" value="verified!"/>'); if($('#form').find('.large.ui.loading.button').length == 0){ $('input[name="button"]').hide(); $('#form').append('<button class="large ui loading button " disabled="disabled">Loading</button>'); } //overwrite handle logic to false when trying to resubmit $(this).submit(function() { return false; }); return true; } else{ $( "#MessageBar" ).show( 'slide', {direction:'up'}, 500 ); close = document.getElementById("close"); close.addEventListener('click', function() { MessageBar = document.getElementById("MessageBar"); MessageBar.style.display = 'none'; }, false); } } }); }); /* * Validate HTMLDOM on value change */ $(document).on('change', 'textarea[name=g-recaptcha-response]', function () { //recaptcha validation resetrecaptchastatus(); var use_recaptcha = true; if (use_recaptcha) recaptchavalidate(); }); $(document).on('change', ':file', function () { var input = $(this); resetfilestatus(input); checkfile(input); }); $(document).on('change', '.radio.require', function () { var input = $(this); resetinputstatus(input); checkradio(input); }); $(document).on('change', '.check.require', function () { var input = $(this); resetinputstatus(input); checkcheckbox(input); }); //relogin function relogin() { var extension = ''; var link = "https://forms.lib.utah.edu/includes/form_login.php?action=relogin"; popout = window.open(link, 'login', 'width=1200,height=800,resizable=yes,scrollbars=yes'); } //call back function on relogin window close for removing alert bar function popupCallback(callback_val) { valid = callback_val; if (valid) { $('#session_expire').remove(); } } function checkfile(event) { var file_validation_fail = false; var error_message = ""; if ($(event).closest('.file.require').length > 0) { if ($(event).prop("files").length == 0) { file_validation_fail = true; error_message += "<p>" + "Please upload file</p>"; $(event).closest('.field').addClass('error'); $(event).closest('.field').append('<div class="ui basic red pointing prompt label transition visible">' + error_message + '</div>'); } else if ($(event).prop("files").length > 0) { file_validation_fail = checkfilesizeandtype(event); } } else if ($(event).prop("files").length > 0) { file_validation_fail = checkfilesizeandtype(event); } return !file_validation_fail; } function validatefile(event) { var file_validation_fail = false; if ($(event).closest('.file.require').length > 0) { if ($(event).prop("files").length == 0) { file_validation_fail = true; } else if ($(event).prop("files").length > 0) { file_validation_fail = valiatefilesizeandtype(event); } } else if ($(event).prop("files").length > 0) { file_validation_fail = valiatefilesizeandtype(event); } return !file_validation_fail; } function valiatefilesizeandtype(event) { var file_types = ["jpeg","jpg","png"]; var file_validation_fail = false; //check if exceed file size limit if ($(event).prop("files")[0].size > ($(event).attr("max_file") == 0 ? $(':hidden[name=max_file_size_setting]').val() : $(event).attr("max_file"))) { var file_validation_fail = true; } //check if not in allowed file types if (file_types.indexOf($(event).prop("files")[0].name.split(".")[$(event).prop("files")[0].name.split(".").length - 1].toLowerCase()) == -1) { var file_validation_fail = true; } return file_validation_fail; } function checkfilesizeandtype(event) { var file_types = ["jpeg","jpg","png"]; var error_message = ""; var file_validation_fail = false; //check if exceed file size limit if ($(event).prop("files")[0].size > ($(event).attr("max_file") == 0 ? $(':hidden[name=max_file_size_setting]').val() : $(event).attr("max_file"))) { var file_validation_fail = true; error_message += "<p>" + $(event).prop('name') + "'s file exceeds file max size limit</p>"; } //check if not in allowed file types if (file_types.indexOf($(event).prop("files")[0].name.split(".")[$(event).prop("files")[0].name.split(".").length - 1].toLowerCase()) == -1) { var file_validation_fail = true; error_message += "<p>" + $(event).prop("files")[0].name.split(".")[$(event).prop("files")[0].name.split(".").length - 1] + " type is not allowed</p>"; } if (file_validation_fail) { $(event).closest('.field').addClass('error'); $(event).closest('.field').append('<div class="ui basic red pointing prompt label transition visible">' + error_message + '</div>'); } return file_validation_fail; } function checkradio(event) { var radio_validation_fail = true; var error_message = ""; $(event).find(':radio').each(function () { if ($(this).prop('checked')) radio_validation_fail = false; }); if (radio_validation_fail) { error_message += "" + "Please select an option"; $(event).addClass('error'); $(event).append('<div class="ui basic red pointing prompt label transition visible">' + error_message + '</div>'); } ; return !radio_validation_fail; } function checkcheckbox(event) { var check_validation_fail = true; var error_message = ""; $(event).find(':checkbox').each(function () { if ($(this).prop('checked')) check_validation_fail = false; }); if (check_validation_fail) { error_message += "" + "Please select an option"; $(event).addClass('error'); $(event).append('<div class="ui basic red pointing prompt label transition visible">' + error_message + '</div>'); } ; return !check_validation_fail; } function resetfilestatus(event) { $(event).closest('div').removeClass('error'); $(event).closest('div').children().remove('div'); } function resetinputstatus(event) { $(event).removeClass('error'); $(event).children().remove('.ui.basic.red.pointing.prompt.label.transition.visible'); } function resetrecaptchastatus() { $('#recaptcha').removeClass('error'); $('#recaptcha').children().remove('.ui.basic.red.pointing.prompt.label.transition.visible'); } /* Semantic validation method */ //dynamically add given id/name semantic validation rule , [identifier, type, prompt] function addrule(fieldname, rulename = "", prompt = "") { $('#form').form('add rule', fieldname, { identifier: fieldname, rules: [ { type: rulename != "" ? rulename : 'empty', prompt: prompt != "" ? prompt : 'Please enter ' + fieldname } ] } ); } //dynamically add given id/name semantic validation rule , [identifier, type, prompt] function addregexprule(fieldname, value, prompt = "") { $('#form').form('add rule', fieldname, { identifier: fieldname, rules: [ { type: 'regExp[' + value + ']', prompt: prompt != "" ? prompt : 'Please enter valid ' + fieldname } ] } ); } //dynamically remove given id/name semantic validation rule , [identifier] function removerule(fieldname) { $('#form').form('add rule', fieldname, { identifier: fieldname, rules: [ { type: 'empty', prompt: 'Please enter your ' + fieldname } ] } ); if ($('#form').form('has field', fieldname)) $('#form').form('remove field', fieldname); } //dynamically add given id/name class list function add_require_class(identifier_list, class_name) { var element; for (i = 0; i < identifier_list.length; i++) { element = document.getElementById(identifier_list[i]); element.classList.add("require"); if ($('#' + identifier_list[i]).find('input').prop('type') == 'file') $('#' + identifier_list[i]).find('input').addClass('require'); if (!(class_name === undefined)) element.classList.add(class_name); } } //dynamically remove given id/name class list, [classname] function remove_require_class(identifier_list, class_name) { var element; for (i = 0; i < identifier_list.length; i++) { element = document.getElementById(identifier_list[i]); element.classList.remove("require"); if ($('#' + identifier_list[i]).find('input').prop('type') == 'file') $('#' + identifier_list[i]).find('input').removeClass('require'); if (!(class_name === undefined)) element.classList.remove(class_name); } } //Google Recaptcha validation function recaptchavalidate() { if ($('textarea[name=g-recaptcha-response]').val() == null || $('textarea[name=g-recaptcha-response]').val() == "") return false; else return true; } //Unicode Detect function checkUnicodeCharacters() { var unicode_validation_fail = false; var error_message = ""; $('textarea, input').each(function () { var value = $(this).val(); var contains = /[^\u0000-\u007F]/.test(value); unicode_validation_fail = contains || unicode_validation_fail; if (contains) { error_message += "" + "Your content includes Unicode characters. Please remove any text formatting."; $(this).closest(".field").addClass('error'); $(this).closest(".field").append('<div class="ui basic red pointing prompt label transition visible">' + error_message + '</div>'); } }); return !unicode_validation_fail; } </script> <!--Include Form Functionality and Layout CSS Files--> <!--Datepicker--> <link rel="stylesheet" href="../includes/css/jquery-ui.min.css"/> <!--Datepicker--> <script type="text/javascript" src="../includes/js/jquery-ui.min.js"></script> <!--Semantic UI --> <link href="../includes/css/semantic.css" rel="stylesheet"/> <script type="text/javascript" src="../includes/js/semantic.js"></script> <link href="../includes/css/checkbox.css" rel="stylesheet"/> <script type="text/javascript" src="../includes/js/checkbox.js"></script> <link href="../includes/css/dropdown.css" rel="stylesheet"/> <script type="text/javascript" src="../includes/js/dropdown.js"></script> <!--Semantic UI End here--> <script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit" async defer> </script> <!--Defined CSS here to fix the CSS Issue--> <link href="../includes/css/formbody.css" rel="stylesheet"/> <!--Prevent Resubmission--> <script> if ( window.history.replaceState ) { window.history.replaceState( null, null, window.location.href ); } </script> <div class="ml-breadcrumb"></div> <div class='container' id="content"> <div class = "row"> <!--Main Form Body--> <div class = "col-sm-9 main-content"> <h1>Ask the Library</h1> <p><p>Use this form to contact the library. Please enter your contact information (or log in using your uNID).</p></p> <div id="status"> </div> <form id="form" class="ldpforms ui form segment" enctype="multipart/form-data" method="post"> <div class="alert alert-secondary" role="alert">If you are associated with the University of Utah and have a valid uNID, you may <a href="/ask-the-library/?login=true">click here</a> to login.</div> <div class="alert alert-info"> <p>Please enter your contact information.</p><div class='two fields'><div id="client_name" class="field error"> <label for="client_name">Contact Name*</label> <input type="text" name="client_name" id="client_name" /></div> <div id="client_email" class="field error"> <label for="client_email">Contact Email*</label> <div class="ui icon input"> <input type="text" name="client_email" id="client_email"> <!--i id="verification_status" class="check circle icon text-success"></i--> </div> </div> <!--// add Email Verification Send button--> <div id="verification_btns" class="field error"> <label for="client_email">Verify Email using Code</label> <div > <button type="button" class="btn btn-secondary" id="verify_email_send_btn">Send Code</button> <!-- Button trigger verification enter modal --> <button id="verification_code_modal" disabled type="button" class="btn btn-warning" data-toggle="modal" data-target="#verification_code_input">Enter Code</button> </div> </div> <!-- Modal --> <div class="modal fade" id="verification_code_input" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLongTitle">Email Verification</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> </div> <div class="modal-body"> <p>To prevent spam submission, we require email verification for using this form.</p> <p><b class='text-danger'>Once verified, you cannot change email address for this submission.</b></p> <p>We've sent out an email containing 6-digit verification code to the email address provided. Please enter verification code to verify your email address</p> <div id="verification_code" class="field error"> <label for="verification_code">Verification Code</label> <input type="text" name="verification_code" id="verification_code" /></div> </div> <div class="modal-footer"> <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> <button type="button" class="btn btn-success" id="verify_email_verify_btn" data-dismiss="modal">Verify</button> </div> </div> </div> </div> </div> </div> <!--Form Content specified in form.php--> <!-- ---------------------------- HTML Form starts here ---------------------------- --> <!----------------------- Modify the following section -----------------------------> <div class="row-fluid"> <div id="subject" class="field empty"> <label for="subject">Subject*</label> <input type="text" name="subject" id="subject" /></div><div id="extra_info" class="field empty"> <label for="extra_info">Question/Comment*</label> <textarea name="extra_info" id="extra_info" maxlength="3500"></textarea></div></div> <br> <div class="row-fluid"> <b>Please attach screen shots or other files as needed</b> <a class="btn btn-success" id="add_file_btn" >Add File</a> </div> <br> <!--Attachments here--> <div id="attachments"> </div> <!--Attachments end here--> <br> <div class="row-fluid"> <div class="two fields"> <div class="field empty"><label>University Status*</label><div class="ui selection dropdown"><input name="uni_status" type="hidden" ><div class="default text"></div><i class="dropdown icon"></i><div class="menu"><div class="item" data-value="Community - Not Currently with The U of U">Community - Not Currently with The U of U</div><div class="item" data-value="International Student">International Student</div><div class="item" data-value="U of U Faculty">U of U Faculty</div><div class="item" data-value="U of U Graduate Student">U of U Graduate Student</div><div class="item" data-value="U of U Staff">U of U Staff</div><div class="item" data-value="U of U Undergraduate">U of U Undergraduate</div></div></div></div><div id="dept" class="field "> <label for="dept">Department/Course</label> <input type="text" name="dept" id="dept" /></div> </div> <div class="two fields"> <div class="field"><label>How did you hear about us?</label><div class="ui selection dropdown"><input name="hear_opt" type="hidden" ><div class="default text"></div><i class="dropdown icon"></i><div class="menu"><div class="item" data-value="Library Website">Library Website</div><div class="item" data-value="Flyer">Flyer</div><div class="item" data-value="Magnet">Magnet</div><div class="item" data-value="ASUU planner">ASUU planner</div><div class="item" data-value="Professor/Instructor">Professor/Instructor</div><div class="item" data-value="Librarian">Librarian</div><div class="item" data-value="Other">Other</div></div></div></div><div class="field"><label>Please select campus*</label><div class="ui selection dropdown"><input name="campus" type="hidden" value ="Main Campus" ><div class="default text"></div><i class="dropdown icon"></i><div class="menu"><div class="item" data-value="Main Campus">Main Campus</div><div class="item" data-value="Utah Asia Campus(UAC)">Utah Asia Campus(UAC)</div></div></div></div> </div> <div class="two fields"> <div id="signature" class="field error"> <label for="signature">Please type your name to verify you are not spam*</label> <input type="text" name="signature" id="signature" /></div> </div> </div> <br> <!-- ---------------------------- HTML Form ends here ---------------------------- --> <!-- ----------------------------------------------------------------------------- --> <!--Form Attachment Animation--> <script> $('#form') .form({ fields: {}, inline: true, on: 'change' }); function remove_attachment(event) { $(event).closest('div').remove(); } $('#add_file_btn').click(function () { create_attacchment(); }); //create new file uploader on button click function create_attacchment() { //console.log('vfsd'); var i = 1; while ($('#ticketattachment' + i).length > 0) { i++; } var attachment_uploader = '<div class="field"><label>Attachment   <a class="remove" onclick="remove_attachment(this);">remove</a> </label><input type="file" name="' + 'ticketattachment' + i + '" id="' + 'ticketattachment' + i + '" max_file="0" value="" class="max_file_size file"></div>'; $('#attachments').append(attachment_uploader); } </script> <!-- proxy submission BEG --> <script> function f_proxy_unid() { var checkBox = document.getElementById("chk_proxy_unid"); var div_proxy_unid = document.getElementById("div_proxy_unid"); // If the checkbox is checked, display the unid textbox if (checkBox.checked == true) { div_proxy_unid.style.display = "block"; } else { div_proxy_unid.style.display = "none"; $(':text[name="proxy_unid"]').val(""); $(':text[name="proxy_unid"]').closest('div').find('.red').remove(); $(':text[name="proxy_unid"]').closest('div').removeClass('error'); } } </script> <!-- proxy submission END --> <!-- Google reCaptcha BEG --> <div id="recaptcha" class="field"></div> <script type = "text/javascript"> var onloadCallback = function () { grecaptcha.render("recaptcha", { "sitekey": "6LcqzFYUAAAAAIiTVCmqzIL8ep9V5FQr0wPY1_4v", "theme" : "dark", "callback": function(response){ resetrecaptchastatus(); } }); } </script> <!-- Google reCaptcha BEG --> <br/> <input type='hidden' name="max_file_size_setting" value='1048576'> <input type="submit" name="button" id="btn btn-info" class="btn-danger submit btn btn-large" value="Submit"/> </form> <!--Add Validation rules here--> <script> $('#form') .form({ fields: {}, inline: true, on: 'change' }); addrule('client_name', 'empty', 'Please enter your name'); //addrule('client_email', 'empty', 'Please enter your email'); addregexprule('client_email', '^(.+@.+\\..+)$', 'Please enter your email'); addregexprule('proxy_unid', '^(u[0-9]+)?$', 'Please enter valid unid starting with "u"'); </script> <!--Validation specified in form.php--> <script> //----------------------- Modify the following section --------------------------- $(':text[name="client_name"],:text[name="signature"]').bind("cut copy paste",function(e) { e.preventDefault(); }); // -----------------------Semantic Form Validation------------------------------------------ /*For "file", "radio", "checkbox" types, add "require" class tag to mark it required field For "textbox", "textarea", "dropdown", "multi select dropdown" and "single checkbox", add rule below reference and tutorial at https://semantic-ui.com/behaviors/form.html */ addrule('subject', 'empty', 'Required field'); addrule('extra_info', 'empty', 'Required field'); addrule('uni_status', 'empty', 'Required field'); addrule('signature', 'empty', 'Please type your name to match your contact name'); //-----------------------Form Validation Script ends here-------------------------------- //--------------------------------------------------------------------------------- </script> <!--End Add Validation rules here--> <!--Include Form Animation JS File--> <script type="text/javascript" src="../includes/js/form_animation.js"></script> </div> <!--Right Column--> <div class="col-sm-3"> <h3 class="short_headline">Contact</h3> <p> <strong>Ask the Library</strong> <br> 801-581-6273<br> </p> <h3 class="short_headline">Related Links</h3> <p> <a href="http://lib.utah.edu/help/desks.php">In-Person</a><br/> <a href="http://lib.utah.edu/services/research-consultation.php">Research Consultation</a><br/> <a href="http://campusguides.lib.utah.edu/index.php">Research Guides</a> & <a href="http://lib.utah.edu/collections/subject-specialists.php">Specialists</a> </p> <h3 class="short_headline">Library Chat</h3> <p>Monday through Friday 9 AM - 5 PM</p> <p> <a class="btn btn-secondary" href="#" role="button" 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> Live Chat</a> </p> </div> </div> </div> <!-- End Main Content --> <!-- Start Footer --> <footer> <div class="container"> <div class="row"> <div class="col"> <img src="https://forms.lib.utah.edu/includes/templates/images/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&um=1&ie=UTF-8&sa=X&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> <p>FAX: 801.585.3464</p> <div class="spacer-32"></div> <p><a href="https://intranet.lib.utah.edu"> Staff Intranet</a></p> </div> <div class="col-md-3"> <h6>J. Willard Marriott Library</h6> <hr /> <ul> <li><a href="https://lib.utah.edu/info/hours.php">Hours</a></li> <li><a href="https://lib.utah.edu/info/library-maps.php">Library Floor Maps</a></li> <li><a href="https://lib.utah.edu/info/departments.php">Library Departments</a></li> <li><a href="https://staffdirectory.tools.lib.utah.edu/">Staff Directory</a></li> <li><a href="https://lib.utah.edu/jobs.php">Jobs</a></li> <li><a href="https://lib.utah.edu/info/news.php">News & 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 & Trademark Resource Center</a></li> </ul> </div> <div class="col-md-3"> <h6>Information for...</h6> <hr /> <ul> <li><a href="https://lib.utah.edu/services/alumni.php">Alumni & Friends</a></li> <li><a href="https://lib.utah.edu/services/distance-students/">Distance Learners</a></li> <li><a href="https://lib.utah.edu/services/education/instructors.php">Faculty</a></li> <li><a href="https://lib.utah.edu/services/education/">Undergraduates</a></li> <li><a href="https://lib.utah.edu/services/education/gradstudents.php">Graduates</a></li> </ul> </div> <div class="col-md-3"> <h6>Connect</h6> <hr /> <ul> <li><a href="https://www.facebook.com/pages/Salt-Lake-City-UT/J-Willard-Marriott-Library-University-of-Utah/42623589421"><em class="fab fa-facebook-square"><!--Facebook Icon--></em> Facebook</a></li> <li><a href="https://twitter.com/MarriottLibrary"><em class="fab fa-twitter-square"><!--Twitter Icon --></em> Twitter</a></li> <li><a href="https://instagram.com/marriottlibrary"><em class="fab fa-instagram"><!--Instagram Icon --></em> Instagram</a></li> <li><a href="https://www.youtube.com/user/MarriottLibrary"><em class="fab fa-youtube-square"><!--Youtube Icon --></em> YouTube</a></li> <li><a href="https://newsletter.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="https://lib.utah.edu/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 漏 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="https://www.utah.edu/privacy">Privacy</a>/</li> <li class="nav-item"><a class="nav-link" href="https://www.utah.edu/nondiscrimination/">Nondiscrimination & Accessibility</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="https://www.utah.edu/disclaimer">Disclaimer</a>/</li> <li class="nav-item"><a class="nav-link" href="https://lib.utah.edu/info/policies.php">Policies</a></li> </ul> </div> </div> </div> </footer> <!-- End Footer --> <script src="https://forms.lib.utah.edu/includes/templates/js/marriott-custom.js"> </script> </body> </html> <div id="MessageBar" class="alert alert-danger" style="display:none"> Incorrect Information found in your request. Click <a href="javascript:highlight_error();" class="btn-link" >here</a> to highlight the error. <button id="close" type="button" class="close" aria-label="Close"> <span aria-hidden="true">×</span></button> </div> <style> #MessageBar { position: fixed; z-index: 101; top: 0; left: 0; right: 0; text-align: center; line-height: 2.5; overflow: hidden; -webkit-box-shadow: 0 0 5px black; -moz-box-shadow: 0 0 5px black; box-shadow: 0 0 5px black; } </style> <script> function highlight_error(){ var error = $('.ui.basic.red:first'); if(error.length > 0) $('html, body').animate({ scrollTop: error.position().top }, 1000, function() { }); } $('#form').find('input, textarea').on("change", function(){ if($('#form').form("is valid")){ $( "#MessageBar" ).hide( 'slide', {direction:'up'}, 500 ); } }); </script>