CINXE.COM

Oxford University Press Jobs

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- OneTrust Cookies Consent Notice start for jobs.oup.com --> <script type="text/javascript" src="https://cdn-ukwest.onetrust.com/consent/019191d4-eeb8-724b-b0e9-e3447a04bb98/OtAutoBlock.js"></script> <script src="https://cdn-ukwest.onetrust.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="019191d4-eeb8-724b-b0e9-e3447a04bb98"></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for jobs.oup.com --> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="content-language" content="en" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="expires" content="0" /> <meta http-equiv="cache-control" content="no-cache" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="description" content="Welcome to our career site. This is the first place that we broadcast our latest and most inspiring career opportunities." /> <meta name="keywords" content="Oxford University Press, Oxford University Press Careers, Oxford University Jobs, OUP, Oxford Press" /> <meta name="author" content="eArcu" /> <!-- Facebook and Twitter integration --> <meta property="og:title" content="Oxford University Press Careers" /> <meta property="og:description" content="Oxford University Press Careers, Jobs, Search and Apply" /> <meta property="og:image" content="https://jobs.oup.com/uk/jobs/custom/oup_03/assets/images/oup-og.png" /> <meta property="og:url" content="https://jobs.oup.com/uk/jobs" /> <meta name="twitter:card" content="summary_large_image" /> <meta property="og:site_name" content="Oxford University Press Careers" /> <meta name="twitter:image:alt" content="Oxford University Press Careers" /> <link rel="shortcut icon" href="https://jobs.oup.com/jobs/custom/oup_03/assets/images/favicon.png" /> <link rel="stylesheet" type="text/css" href="https://jobs.oup.com/jobs/custom/oup_03/assets/css/fonts/flaticon.css" /> <link rel="stylesheet" type="text/css" href="https://jobs.oup.com/jobs/custom/oup_03/assets/css/fonts/font-awesome.min.css" /> <link href="https://fonts.googleapis.com/css?family=Raleway" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet" /> <link href="https://fonts.googleapis.com/css?family=Montserrat" rel="stylesheet" /> <link rel="stylesheet" type="text/css" href="https://jobs.oup.com/jobs/custom/oup_03/assets/css/style.css" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="earcu-details" content="version: 3.73, patch: 33"/> <title>Oxford University Press Jobs</title> <link href="https://jobs.oup.com/CommonIncludes/intl-tel-input/17.0.12/css/intlTelInput.min.css?eav=3.73" type="text/css" rel="stylesheet" /> <link href="https://jobs.oup.com/CommonIncludes/jQueryCore/v3_63/jquery-ui.min.css?eav=3.73" type="text/css" rel="stylesheet" /> <link href="/jobs/css_3_73.css?baseUrl=https%3A%2F%2Fjobs.oup.com%2Fjobs" type="text/css" rel="stylesheet" /> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/jQueryCore/v3_63/jquery-3.6.3.min.js?eav=3.73"></script> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/jQueryCore/v3_63/jquery-ui.min.js?eav=3.73"></script> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/jQueryCore/v3_63/jquery-migrate-3.4.0.min.js?eav=3.73"></script> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/basics/baseScripts.min.js?eav=3.73" id="basescripts"></script> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/intl-tel-input/17.0.12/js/intlTelInput.min.js?eav=3.73"></script> <script type="text/javascript" src="https://jobs.oup.com/CommonIncludes/intl-tel-input/17.0.12/js/utils.js?eav=3.73"></script> <script src="https://jobs.oup.com/jobs/custom/oup_03/assets/js/parallax.min.js"></script> <script type="text/javascript" src="https://jobs.oup.com/jobs/custom/oup_03/assets/js/featherlight.min.js"></script> <link rel="stylesheet" type="text/css" href="https://jobs.oup.com/jobs/custom/oup_03/assets/css/featherlight.min.css" /> <link rel="stylesheet" type="text/css" href="https://jobs.oup.com/jobs/custom/oup_03/assets/css/earcu.css" /> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-V9CJKMECP1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-V9CJKMECP1'); </script> </head> <body class="ProfileRegisterWithAlerts_earcuBody EarcuBody"> <header> <div class="wrapper"> <div class="row"> <div id="logoleft"> <div class="logo" onclick="window.location = '/jobs/home/';"> <img src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/logo-white.png" alt="Oxford University Press Logo" /> </div> </div> <div id="New_Nav"> <label id="Hamburger" for="show-menu" class="show-menu"></label> <script> $("label#Hamburger").click(function () { $(this).toggleClass("highlight"); }); </script> <input type="checkbox" id="show-menu" role="button" /> <ul id="menu"> <li class="HomePageLink"><a title="Home Page" href="/jobs/home/">Home <span class="MabileOnly">&nbsp;></span></a></li> <li class="Top_WAOUP"> <a title="Working at OUP Page" class="WorkingatOUP" href="/jobs/workingatoup/">Working at OUP <span class="MabileOnly">&nbsp;></span></a> <ul class="hidden"> <li><a title="Our story Page" class="TextPage_About" href="/jobs/work-with-us/">Our story <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="OUP qualities Page" href="/jobs/oup_qualities/">OUP qualities <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="OUP locations Page" href="/jobs/ouplocations/">OUP locations <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="Developing our people Page" href="/jobs/developing_our_people/">Developing our people <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="Rewards and recognition Page" href="/jobs/rewards_and_recognition/">Rewards and recognition <span class="MabileOnly">&nbsp;></span> </a></li> <li><a title="Making an impact Page" href="/jobs/profiles/">Making an impact <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="Diversity and Inclusion Page" href="/jobs/diversity_and_inclusion/">Diversity and Inclusion<span class="MabileOnly">&nbsp;></span></a></li> </ul> </li> <li> <a title="Fields of work Page" class="FieldsofWork" href="/jobs/fields_of_work/">Fields of work <span class="MabileOnly">&nbsp;></span></a> </li> <li><a title="Jobs Page" class="JobsLink" href="/jobs/vacancy/find/results/action/posbrowser_resetto/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f">Jobs <span class="MabileOnly">&nbsp;></span></a></li> <li><a title="FAQs Page" class="FaqLink" href="/jobs/faqs/">FAQs <span class="MabileOnly">&nbsp;></span></a></li> <li class="LoginRegisterWhenOFF"><a title="Login and Register page" class="LoginRegister" href="/jobs/login/">Login/Register <span class="MabileOnly">&nbsp;></span></a></li> </ul> </div> </div> </div> </header> <section> <div id="OnlyOnResults"> <div class="HeaderText_New"> <h1>Current vacancies</h1> <p><span class="MiniHeaderrrr">Search for a particular role, or use the filters to refine results and find the position that鈥檚 right for you.</span></p> </div> <!-- Start of block - quicksearch //--> <div id="quicksearch_pageBlockContainer" data-blockid="quicksearch" class="pageBlockContainer pageBlockContainer_FormBlock"><div class="pageBlockContainerTop"></div><div class="pageBlockContainerMiddle"> <div id="quicksearch_pageBlockOverlay" class="pageBlockContentOverlay"></div> <div id="quicksearch_pageBlockLoadingContainer" class="pageBlockContentLoadingContainer"><div id="quicksearch_pageBlockLoading" class="pageBlockContentLoading"><span>Loading...</span></div></div> <div id="quicksearch_pageBlock" class="pageBlockContent pageBlockContent_FormBlock pageBlockContentNoHeader "><div class="pageBlockInner pageBlockInner_FormBlock"> <form id="quicksearch_form" name="quicksearch_form" method="post" action="/jobs/vacancy/find/results/action/posbrowser_resetto/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" class="unlockedForm"> <input name="formId" value="quicksearch" type="hidden"/> <input type="hidden" name="longitude_control" value="" id="ProfileRegisterWithAlerts_quicksearch_longitude"/> <input type="hidden" name="latitude_control" value="" id="ProfileRegisterWithAlerts_quicksearch_latitude"/> <input type="hidden" name="mapFitBounds_control" value="" id="ProfileRegisterWithAlerts_quicksearch_mapFitBounds"/> <input type="hidden" name="distance_control" value="" id="ProfileRegisterWithAlerts_quicksearch_distance"/> <input type="hidden" name="locationRadiusText_control" value="" id="ProfileRegisterWithAlerts_quicksearch_locationRadiusText"/> <div id="quicksearch_filter_text_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_quicksearch_filter_text"><span class="mandatoryContainer">&nbsp;</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="filter_text_control" value="" id="ProfileRegisterWithAlerts_quicksearch_filter_text" class="inputText"/></div></div> <div id="quicksearch_filter_locationradius_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_quicksearch_filter_locationradius"><span class="mandatoryContainer">&nbsp;</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="filter_locationradius_control" value="" id="ProfileRegisterWithAlerts_quicksearch_filter_locationradius" class="inputText"/></div></div> <div id="quicksearch_SaveButtonRow_formRow" class="formRow formRowButtonRow"><div class="allButtonsPopup popupMenu allButtonsPopup_3f07e1b4_530c_4b43_954e_8b5e997b3a48 above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_save"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Search</div></a></div></div></div><div class="buttonsRight"><ul><li><input type="submit" name="save" value="Search" class="buttonSubmit buttonRight buttonActionId_save" id="buttonSubmit_save"/></li></ul></div></div> </form> <script type="text/javascript"> function setupBlock_quicksearch() { var textSearchField = $('#quicksearch_pageBlock input[name=filter_text_control]'); if (textSearchField.length == 1) { if (textSearchField.val() == '') { textSearchField.val('Job title, keyword'); } textSearchField.click(function() { if (textSearchField.val() == 'Job title, keyword') { textSearchField.val(''); } }); textSearchField.blur(function() { if (textSearchField.val() == '') { textSearchField.val('Job title, keyword'); if($(this).closest('.formRow').hasClass('curFocusActive')) { $(this).closest('.formRow').removeClass('curFocusActive'); } } else { $(this).closest('.formRow').addClass('curFocusActive'); } }); } var locationSearchField = $('#quicksearch_pageBlock input[name=filter_locationradius_control]'); if (locationSearchField.length == 1) { if (locationSearchField.val() == '') { locationSearchField.val('Town, postcode'); } locationSearchField.click(function() { if (locationSearchField.val() == 'Town, postcode') { locationSearchField.val(''); } }); locationSearchField.blur(function() { if (locationSearchField.val() == '') { locationSearchField.val('Town, postcode'); if($(this).closest('.formRow').hasClass('curFocusActive')) { $(this).closest('.formRow').removeClass('curFocusActive'); } } else { $(this).closest('.formRow').addClass('curFocusActive'); } }); } $('#quicksearch_pageBlock .buttonSubmit').click(function() { var textSearchField = $('#quicksearch_pageBlock input[name=filter_text_control]'); if (textSearchField.length == 1) { if (textSearchField.val() == 'Job title, keyword') { textSearchField.val(''); } } var locationSearchField = $('#quicksearch_pageBlock input[name=filter_locationradius_control]'); if (locationSearchField.length == 1) { if (locationSearchField.val() == 'Town, postcode') { locationSearchField.val(''); } } var form = $(this).closest('form'); var address = ''; if (form.find('input[name=filter_locationradius_control]:visible').length > 0) { address = form.find('input[name=filter_locationradius_control]').val(); } else { form.find('input[name=filter_locationradius_control]').val(''); } if (address != '') { form.find('input[name=longitude_control]').val(''); form.find('input[name=latitude_control]').val(''); form.find('input[name=mapFitBounds_control]').val(''); form.find('input[name=distance_control]').val(''); form.find('input[name=locationRadiusText_control]').val(''); (function() { if (address.toLowerCase() == 'my location') { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { form.find('input[name=longitude_control]').val(position.coords.longitude); form.find('input[name=latitude_control]').val(position.coords.latitude); form.find('input[name=mapFitBounds_control]').val(0); form.find('input[name=distance_control]').val(0); form.find('input[name=locationRadiusText_control]').val('My Location'); if (form.find('input[name=longitude_control]').val() != '') { form.submit(); } }); } } else { $.get('/jobs/vacancy/find/results/ajaxaction/posbrowser_getgeocoding/?vid=ProfileRegisterWithAlerts&pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f', 'locationText=' + escape(form.find('input[name=filter_locationradius_control]').val()), function(data) { if (data != '') { var json = $.parseJSON(data); form.find('input[name=longitude_control]').val(json.Longitude); form.find('input[name=latitude_control]').val(json.Latitude); form.find('input[name=mapFitBounds_control]').val(((json.MapFitBounds + '').toLowerCase()=='true' ? 1 : 0)); form.find('input[name=distance_control]').val(json.Distance); form.find('input[name=locationRadiusText_control]').val(json.FormattedAddress); } if (form.find('input[name=longitude_control]').val() != '') { form.submit(); } }); } })(); } else { form.submit(); } return false; }); removeBlockOverlay('quicksearch'); $('.tooltip2_Surround').remove(); $('#quicksearch_pageBlock .tooltiprow:input').tooltip2({ isFormToolTip: true }); applyFormBlockFocusBehaviour('#quicksearch_pageBlock'); $('#quicksearch_pageBlock .allButtonsPopup_3f07e1b4_530c_4b43_954e_8b5e997b3a48 .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); } $(document).ready(function() { setupBlock_quicksearch(); }); </script></div></div> </div><div class="pageBlockContainerBottom"></div> </div> <!-- End of block - quicksearch //--> </div> </section> <section class="earcuMainContent"> <div id="pageContent"><div id="ProfileRegisterWithAlerts_pageView" class="pageView"><div class="pageViewMain pageViewMainArea pageViewMainAreaWithoutLayoutTable"> <!-- Start of block - UsernameForm //--> <div id="UsernameForm_pageBlockContainer" data-blockid="UsernameForm" class="pageBlockContainer pageBlockContainer_FormBlock"><div class="pageBlockContainerTop"></div><div class="pageBlockContainerMiddle"><div class="pageBlockHeader"><div class="pageBlockHeader2"><div class="pageBlockTitle">Sign In/Register</div></div></div> <div id="UsernameForm_pageBlockOverlay" class="pageBlockContentOverlay"></div> <div id="UsernameForm_pageBlockLoadingContainer" class="pageBlockContentLoadingContainer"><div id="UsernameForm_pageBlockLoading" class="pageBlockContentLoading"><span>Loading...</span></div></div> <div id="UsernameForm_pageBlock" class="pageBlockContent pageBlockContent_FormBlock "><div class="pageBlockInner pageBlockInner_FormBlock"> <form id="UsernameForm_form" name="UsernameForm_form" method="post" action="/jobs/alertregister/ajaxaction/signin_checkusername/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" class="unlockedForm"> <input name="formId" value="UsernameForm" type="hidden"/> <div id="UsernameForm_UseSSO1_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown">Use one of the buttons below to sign in or create a new account. <br> Alternatively, you can use your email address to get started.</div></div> <div id="UsernameForm_ssoicons_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown"><div class="ssoIconsContainer"><div class="ssoIconsInnerContainer twoColumnLayout"><div class="ssoIcon linkedin_ssoIcon"><a class="ssoIconLink" href="/jobs/alertregister/action/linkedinauth/?mode=register&amp;pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" title="LinkedIn"><img src="https://jobs.oup.com/ApplicantPortalIncludes/sso/linkedin_round_64x64.png?eav=3.73" class="ssoIconImage" alt="sign in/register with LinkedIn" /></a></div><div class="ssoIcon google_ssoIcon"><a class="ssoIconLink" href="/jobs/alertregister/action/googleauth/?mode=register&amp;pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" title="Google"><img src="https://jobs.oup.com/ApplicantPortalIncludes/sso/google_round_64x64.png?eav=3.73" class="ssoIconImage" alt="sign in/register with Google" /></a></div><div class="ssoIcon facebook_ssoIcon"><a class="ssoIconLink" href="/jobs/alertregister/action/facebookauth/?mode=register&amp;pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" title="Facebook"><img src="https://jobs.oup.com/ApplicantPortalIncludes/sso/facebook_round_64x64.png?eav=3.73" class="ssoIconImage" alt="sign in/register with Facebook" /></a></div><div class="ssoIcon microsoft_ssoIcon"><a class="ssoIconLink" href="/jobs/alertregister/action/microsoftauth/?mode=register&amp;pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" title="Microsoft"><img src="https://jobs.oup.com/ApplicantPortalIncludes/sso/microsoft_round_64x64.png?eav=3.73" class="ssoIconImage" alt="sign in/register with Microsoft" /></a></div></div></div></div></div> <div id="UsernameForm_sso_or_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown">Or</div></div> <div id="UsernameForm_username_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_UsernameForm_username">Email<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="username_control" value="" id="ProfileRegisterWithAlerts_UsernameForm_username" placeholder="Enter Your Email..." autocomplete="off" title="Enter &lt;span class=&quot;labelText&quot;>Email&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="UsernameForm_buttons_formRow" class="formRow formRowButtonRow"><div class="allButtonsPopup popupMenu allButtonsPopup_b9d15296_4a2a_4139_b428_a1a10776bb66 above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_next"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Next</div></a></div></div></div><div class="buttonsRight"><ul><li><input type="submit" name="next" value="Next" class="buttonSubmit buttonRight buttonActionId_next" id="buttonSubmit_next"/></li></ul></div></div> </form> <script type="text/javascript"> /* Embedded Script Blocks - UsernameForm */ var DelaySubmit=false; var DelaySubmitCnt=0; var DelaySubmitInterval; </script> <script type="text/javascript"> function setupBlock_UsernameForm() { removeBlockOverlay('UsernameForm'); $('#UsernameForm_pageBlock #UsernameForm_form').on('form-pre-serialize', function(e, el, opts, veto) { var upload1Rows = $(this).find('.formRow.FileUploadMultiRow1:visible').length; var upload1RowsLoaded = $(this).find('.formRow.FileUploadMultiRow1:visible .uploadedFilesContainer:visible').length; var upload2Rows = $(this).find('.formRow.FileUploadMultiRow2:visible').length; var upload2RowsLoaded = $(this).find('.formRow.FileUploadMultiRow2:visible .uploadedFilesContainer:visible').length; if (upload1Rows != upload1RowsLoaded || upload2Rows != upload2RowsLoaded) { veto.veto = true; } }); (function() { var fileUploads = []; $('#UsernameForm_pageBlock #UsernameForm_form').ajaxForm( { target: '#UsernameForm_pageBlock', beforeSubmit: function(formData, jqForm, options) { $('#UsernameForm_pageBlockContainer #UsernameForm_form input[type="file"]').each(function(el) { var fileUpload = [$(this).attr('name'), $(this).prop('files')]; fileUploads.push(fileUpload); }); return true; }, success2: function(data, status, xhr) { fileUploads.forEach((fileUpload) => { $('#UsernameForm_pageBlockContainer #UsernameForm_form input[type="file"][name="' + fileUpload[0] + '"]').each(function(el){ $(this).prop('files', fileUpload[1]); }); }); }, beforeSerialize: function($form, options) { loadAjaxPrep('UsernameForm_pageBlock'); return true; } }); })(); $('.tooltip2_Surround').remove(); $('#UsernameForm_pageBlock .tooltiprow:input').tooltip2({ isFormToolTip: true }); applyFormBlockFocusBehaviour('#UsernameForm_pageBlock'); $('#UsernameForm_pageBlock .allButtonsPopup_b9d15296_4a2a_4139_b428_a1a10776bb66 .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); } $(document).ready(function() { setupBlock_UsernameForm(); }); </script></div></div> </div><div class="pageBlockContainerBottom"></div> </div> <!-- End of block - UsernameForm //--> <!-- Start of block - PasswordForm //--> <div id="PasswordForm_pageBlockContainer" data-blockid="PasswordForm" class="pageBlockContainer pageBlockContainer_FormBlock hiddenElement"><div class="pageBlockContainerTop"></div><div class="pageBlockContainerMiddle"><div class="pageBlockHeader"><div class="pageBlockHeader2"><div class="pageBlockTitle">Sign In</div></div></div> <div id="PasswordForm_pageBlockOverlay" class="pageBlockContentOverlay"></div> <div id="PasswordForm_pageBlockLoadingContainer" class="pageBlockContentLoadingContainer"><div id="PasswordForm_pageBlockLoading" class="pageBlockContentLoading"><span>Loading...</span></div></div> <div id="PasswordForm_pageBlock" class="pageBlockContent pageBlockContent_FormBlock "><div class="pageBlockInner pageBlockInner_FormBlock"> <form id="PasswordForm_form" name="PasswordForm_form" method="post" action="/jobs/alertregister/ajaxaction/signin_login/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" class="unlockedForm"> <input name="formId" value="PasswordForm" type="hidden"/> <div id="PasswordForm_Sign_In_Info_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown">Enter your password below to sign in.</div></div> <div id="PasswordForm_infospacer_formRow" class="formRow formRowSpacerRow"><div class="spacerRow"></div></div> <div id="PasswordForm_username_formRow" class="formRow formRowTextInputRow hiddenElement"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_PasswordForm_username">Email<span class="mandatoryContainer">&nbsp;</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="username_control" value="" id="ProfileRegisterWithAlerts_PasswordForm_username" title="Enter &lt;span class=&quot;labelText&quot;>Email&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="PasswordForm_password_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_PasswordForm_password">Password<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="password" name="password_control" value="" id="ProfileRegisterWithAlerts_PasswordForm_password" autocomplete="off" title="Enter &lt;span class=&quot;labelText&quot;>Password&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="PasswordForm_buttons_formRow" class="formRow formRowButtonRow"><div class="allButtonsPopup popupMenu allButtonsPopup_a7b3d972_9e5e_4a71_a0c5_be16bcf0c31d above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_back"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Back</div></a></div></div></div><div class="allButtonsPopup popupMenu allButtonsPopup_e6bb3858_792c_4b74_9d56_97eea538b43a above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_SignIn"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Sign In</div></a></div></div></div><div class="buttonsRight"><ul><li><input type="submit" name="SignIn" value="Sign In" class="buttonSubmit buttonRight buttonActionId_SignIn" id="buttonSubmit_SignIn"/></li></ul></div><div class="buttonsLeft"><ul><li><a href="" class="buttonAnchor buttonLeft buttonActionId_back">Back</a></li></ul></div></div> <div id="PasswordForm_buttons2_formRow" class="formRow formRowButtonRow"><div class="allButtonsPopup popupMenu allButtonsPopup_92135241_7277_459c_8d51_c6143c570524 above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_forgotten"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Forgotten your password?</div></a></div></div></div><div class="buttonsRight"><ul><li><a href="/jobs/passwordreset/request/" class="buttonAnchor buttonRight buttonActionId_forgotten">Forgotten your password?</a></li></ul></div></div> </form> <script type="text/javascript"> /* Embedded Script Blocks - PasswordForm */ var DelaySubmit=false; var DelaySubmitCnt=0; var DelaySubmitInterval; </script> <script type="text/javascript"> function setupBlock_PasswordForm() { $('#PasswordForm_password_formRow input').focus(); $('#PasswordForm_pageBlock .pageBlockInner_FormBlock #PasswordForm_username_view_formRow .textLiteral').click(function(){ return GoBackPassword(); }); $('#PasswordForm_pageBlock .buttonActionId_back').click(function(){ return GoBackPassword(); }); function GoBackPassword(){ $('#PasswordForm_pageBlockContainer').addClass('hiddenElement'); $('#UsernameForm_pageBlockContainer').removeClass('hiddenElement'); loadAjaxContent('UsernameForm_pageBlock','/jobs/alertregister/ajaxaction/signin_getusernameform/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f'); return false; } removeBlockOverlay('PasswordForm'); $('#PasswordForm_pageBlock #PasswordForm_form').on('form-pre-serialize', function(e, el, opts, veto) { var upload1Rows = $(this).find('.formRow.FileUploadMultiRow1:visible').length; var upload1RowsLoaded = $(this).find('.formRow.FileUploadMultiRow1:visible .uploadedFilesContainer:visible').length; var upload2Rows = $(this).find('.formRow.FileUploadMultiRow2:visible').length; var upload2RowsLoaded = $(this).find('.formRow.FileUploadMultiRow2:visible .uploadedFilesContainer:visible').length; if (upload1Rows != upload1RowsLoaded || upload2Rows != upload2RowsLoaded) { veto.veto = true; } }); (function() { var fileUploads = []; $('#PasswordForm_pageBlock #PasswordForm_form').ajaxForm( { target: '#PasswordForm_pageBlock', beforeSubmit: function(formData, jqForm, options) { $('#PasswordForm_pageBlockContainer #PasswordForm_form input[type="file"]').each(function(el) { var fileUpload = [$(this).attr('name'), $(this).prop('files')]; fileUploads.push(fileUpload); }); return true; }, success2: function(data, status, xhr) { fileUploads.forEach((fileUpload) => { $('#PasswordForm_pageBlockContainer #PasswordForm_form input[type="file"][name="' + fileUpload[0] + '"]').each(function(el){ $(this).prop('files', fileUpload[1]); }); }); }, beforeSerialize: function($form, options) { loadAjaxPrep('PasswordForm_pageBlock'); return true; } }); })(); $('.tooltip2_Surround').remove(); $('#PasswordForm_pageBlock .tooltiprow:input').tooltip2({ isFormToolTip: true }); applyFormBlockFocusBehaviour('#PasswordForm_pageBlock'); $('#PasswordForm_pageBlock .allButtonsPopup_a7b3d972_9e5e_4a71_a0c5_be16bcf0c31d .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); $('#PasswordForm_pageBlock .allButtonsPopup_e6bb3858_792c_4b74_9d56_97eea538b43a .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); $('#PasswordForm_pageBlock .allButtonsPopup_92135241_7277_459c_8d51_c6143c570524 .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); } $(document).ready(function() { setupBlock_PasswordForm(); }); </script></div></div> </div><div class="pageBlockContainerBottom"></div> </div> <!-- End of block - PasswordForm //--> <!-- Start of block - RegisterForm //--> <div id="RegisterForm_pageBlockContainer" data-blockid="RegisterForm" class="pageBlockContainer pageBlockContainer_FormBlock hiddenElement"><div class="pageBlockContainerTop"></div><div class="pageBlockContainerMiddle"><div class="pageBlockHeader"><div class="pageBlockHeader2"><div class="pageBlockTitle">Register with Email</div></div></div> <div id="RegisterForm_pageBlockOverlay" class="pageBlockContentOverlay"></div> <div id="RegisterForm_pageBlockLoadingContainer" class="pageBlockContentLoadingContainer"><div id="RegisterForm_pageBlockLoading" class="pageBlockContentLoading"><span>Loading...</span></div></div> <div id="RegisterForm_pageBlock" class="pageBlockContent pageBlockContent_FormBlock "><div class="pageBlockInner pageBlockInner_FormBlock"> <form id="RegisterForm_form" name="RegisterForm_form" method="post" action="/jobs/alertregister/ajaxaction/signin_register/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f" class="unlockedForm"> <input name="formId" value="RegisterForm" type="hidden"/> <div id="RegisterForm_data_source_formRow" class="formRow formRowImageRow"><img src="https://jobs.oup.com/ApplicantPortalIncludes/sso/Email_round_64x64.png?eav=3.73" alt="Sign In/Register With Email" title="Sign In/Register With Email" class="ssoIconImage" /></div> <div id="RegisterForm_Register_Info_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown">Fill out the form below to create an account with us.</div></div> <div id="RegisterForm_infospacer_formRow" class="formRow formRowSpacerRow"><div class="spacerRow"></div></div> <div id="RegisterForm_username_formRow" class="formRow formRowTextInputRow hiddenElement"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_username">Username<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="username_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_username" title="Enter &lt;span class=&quot;labelText&quot;>Username&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="RegisterForm_username_backup_formRow" class="formRow formRowTextInputRow hiddenElement"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_username_backup">Username<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="username_backup_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_username_backup" title="Enter &lt;span class=&quot;labelText&quot;>Username&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="RegisterForm_password_formRow" class="formRow formRowTextInputRow revealerinput"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_password">Password<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="password" autocomplete="new-password" name="password_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_password" class="inputText"/><div class="passwordStrength" id="ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength"><div class="passwordStrengthMessage" id="ProfileRegisterWithAlerts_RegisterForm_password_passwordStrengthMessage"></div><div class="passwordStrengthProgressContainer" id="ProfileRegisterWithAlerts_RegisterForm_password_passwordStrengthProgressContainer"><div class="passwordStrengthProgress" id="ProfileRegisterWithAlerts_RegisterForm_password_passwordStrengthProgress"></div></div></div></div><div class="controlError"></div></div> <div id="RegisterForm_confirmpassword_formRow" class="formRow formRowTextInputRow revealerinput"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_confirmpassword">Confirm Password<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="password" autocomplete="new-password" name="confirmpassword_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_confirmpassword" title="Enter &lt;span class=&quot;labelText&quot;>Confirm Password&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <input type="hidden" name="alerts_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_alerts"/> <div id="RegisterForm_firstname_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_firstname">First Name<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="firstname_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_firstname" autocomplete="off" title="Enter &lt;span class=&quot;labelText&quot;>First Name&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="RegisterForm_surname_formRow" class="formRow formRowTextInputRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_surname">Last name<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><input type="text" name="surname_control" value="" id="ProfileRegisterWithAlerts_RegisterForm_surname" autocomplete="off" title="Enter &lt;span class=&quot;labelText&quot;>Last name&lt;/span>" class="inputText tooltiprow"/></div><div class="controlError"></div></div> <div id="RegisterForm_gdprinfo_formRow" class="formRow formRowTextLiteralRow"><div class="textLiteral textLiteral_Info textLiteralAlignment_Unknown"><br>I hereby consent to OUP collecting, storing and processing my data in accordance with the <a href="http://global.oup.com/privacy?cc=gb" target="_blank">Privacy Policy</a>. <br/>I understand that I may withdraw my consent or update my details at any time.<br></div></div> <div id="RegisterForm_GpdrDeclaration_formRow" class="formRow formRowCheckBoxRow"><div class="labelContainer"><label class="formLabel" for="ProfileRegisterWithAlerts_RegisterForm_GpdrDeclaration">I agree<span class="mandatoryContainer" title="This field is mandatory.">*</span></label></div><div class="controlContainer controlContainer_Editable"><span class="checkboxContainer"><input type="checkbox" name="GpdrDeclaration_control" class="inputCheckBox" value="1" id="ProfileRegisterWithAlerts_RegisterForm_GpdrDeclaration"/></span></div><div class="controlError"></div></div> <div id="RegisterForm_buttons_formRow" class="formRow formRowButtonRow"><div class="allButtonsPopup popupMenu allButtonsPopup_dbfede89_9662_40a0_9011_ec7d186ed26f above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_back"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Back</div></a></div></div></div><div class="allButtonsPopup popupMenu allButtonsPopup_ac05b262_d17c_4864_8c97_56a622f2f713 above"><div class="buttonListContainer"><div class="buttonContainer" data-buttonId="buttonActionId_register"><a class="buttonContainer2 systemHighlightOnHover systemHighlightBackground systemHighlightBorder"><div class="buttonImage"></div><div class="buttonText">Register</div></a></div></div></div><div class="buttonsRight"><ul><li><input type="submit" name="register" value="Register" class="buttonSubmit buttonRight buttonActionId_register" id="buttonSubmit_register"/></li></ul></div><div class="buttonsLeft"><ul><li><a href="" class="buttonAnchor buttonLeft buttonActionId_back">Back</a></li></ul></div></div> </form> <script type="text/javascript"> /* Embedded Script Blocks - RegisterForm */ var DelaySubmit=false; var DelaySubmitCnt=0; var DelaySubmitInterval; </script> <script type="text/javascript"> function setupBlock_RegisterForm() { $('#RegisterForm_pageBlock .pageBlockInner_FormBlock #RegisterForm_username_view_formRow .textLiteral').click(function(){ return GoBackRegister(); }); $('#RegisterForm_pageBlock .buttonActionId_back').click(function(){ return GoBackRegister(); }); function GoBackRegister(){ $('#RegisterForm_pageBlockContainer').addClass('hiddenElement'); $('#UsernameForm_pageBlockContainer').removeClass('hiddenElement'); loadAjaxContent('UsernameForm_pageBlock','/jobs/alertregister/ajaxaction/signin_getusernameform/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f'); return false; } var selectedValue = ''; $('#RegisterForm_adverturlother_formRow').css('display','none'); var toggleAdvertURLFunc = function() { var ticked = false; var theSelect = $('#RegisterForm_adverturlid_formRow .controlContainer_Editable .inputSelect'); if (theSelect.length > 0) { if ( theSelect.val() == 1) ticked = true; } if (ticked) { $('#RegisterForm_pageBlock #RegisterForm_adverturlother_formRow.formRow').addClass('displayOther'); } else { $('#RegisterForm_pageBlock #RegisterForm_adverturlother_formRow.formRow').removeClass('displayOther'); } }; $('#RegisterForm_adverturlid_formRow .controlContainer_Editable .inputSelect').change(function() { toggleAdvertURLFunc(); }); toggleAdvertURLFunc(); removeBlockOverlay('RegisterForm'); $('#RegisterForm_pageBlock #RegisterForm_form').on('form-pre-serialize', function(e, el, opts, veto) { var upload1Rows = $(this).find('.formRow.FileUploadMultiRow1:visible').length; var upload1RowsLoaded = $(this).find('.formRow.FileUploadMultiRow1:visible .uploadedFilesContainer:visible').length; var upload2Rows = $(this).find('.formRow.FileUploadMultiRow2:visible').length; var upload2RowsLoaded = $(this).find('.formRow.FileUploadMultiRow2:visible .uploadedFilesContainer:visible').length; if (upload1Rows != upload1RowsLoaded || upload2Rows != upload2RowsLoaded) { veto.veto = true; } }); (function() { var fileUploads = []; $('#RegisterForm_pageBlock #RegisterForm_form').ajaxForm( { target: '#RegisterForm_pageBlock', beforeSubmit: function(formData, jqForm, options) { $('#RegisterForm_pageBlockContainer #RegisterForm_form input[type="file"]').each(function(el) { var fileUpload = [$(this).attr('name'), $(this).prop('files')]; fileUploads.push(fileUpload); }); if($('#ProfileRegisterWithAlerts_RegisterForm_password').length) { if (checkStrength($('#ProfileRegisterWithAlerts_RegisterForm_password').val(), $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength')) == false) { $('#ProfileRegisterWithAlerts_RegisterForm_password').focus(); removeBlockOverlay('RegisterForm'); return false; } } return true; }, success2: function(data, status, xhr) { fileUploads.forEach((fileUpload) => { $('#RegisterForm_pageBlockContainer #RegisterForm_form input[type="file"][name="' + fileUpload[0] + '"]').each(function(el){ $(this).prop('files', fileUpload[1]); }); }); }, beforeSerialize: function($form, options) { loadAjaxPrep('RegisterForm_pageBlock'); return true; } }); })(); $('.tooltip2_Surround').remove(); $('#RegisterForm_pageBlock .tooltiprow:input').tooltip2({ isFormToolTip: true }); applyFormBlockFocusBehaviour('#RegisterForm_pageBlock'); checkStrength($('#ProfileRegisterWithAlerts_RegisterForm_password').val(), $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength')); $('#ProfileRegisterWithAlerts_RegisterForm_password').keyup(function(){ checkStrength($(this).val(), $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength')); }).focus(function(){ $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength').slideDown(500); checkStrength($(this).val(), $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength')); // Needed for auto-fill }).blur(function(){ if (document.hasFocus()) { $('#ProfileRegisterWithAlerts_RegisterForm_password_passwordStrength').slideUp(500); } }); var revealTimeOut; $('#RegisterForm_password_formRow .controlContainer_Editable .inputText').on('click', function(e) { clearTimeout(revealTimeOut); var t = $(this); var posX = t.position().left; var p = t.width() - (e.pageX - posX); if (parseInt(p) < 32) { if(t.val().length>0) { if (t.attr('type') == 'password') { t.attr('type', 'text'); revealTimeOut = setTimeout(function() { t.attr('type','password'); }, 5000); } else { t.attr('type','password'); } } } }); $('#RegisterForm_password_formRow .controlContainer_Editable .inputText').on('mousemove', function(e) { var t = $(this); var posX = t.position().left; var p = t.width() - (e.pageX - posX); if (parseInt(p) < 32) { t.addClass('revealerover'); } else { t.removeClass('revealerover'); } }); $('#RegisterForm_password_formRow .controlContainer_Editable .inputText').on('mouseout', function(e) { $(this).removeClass('revealerover'); }); var revealTimeOut; $('#RegisterForm_confirmpassword_formRow .controlContainer_Editable .inputText').on('click', function(e) { clearTimeout(revealTimeOut); var t = $(this); var posX = t.position().left; var p = t.width() - (e.pageX - posX); if (parseInt(p) < 32) { if(t.val().length>0) { if (t.attr('type') == 'password') { t.attr('type', 'text'); revealTimeOut = setTimeout(function() { t.attr('type','password'); }, 5000); } else { t.attr('type','password'); } } } }); $('#RegisterForm_confirmpassword_formRow .controlContainer_Editable .inputText').on('mousemove', function(e) { var t = $(this); var posX = t.position().left; var p = t.width() - (e.pageX - posX); if (parseInt(p) < 32) { t.addClass('revealerover'); } else { t.removeClass('revealerover'); } }); $('#RegisterForm_confirmpassword_formRow .controlContainer_Editable .inputText').on('mouseout', function(e) { $(this).removeClass('revealerover'); }); $('#RegisterForm_pageBlock .allButtonsPopup_dbfede89_9662_40a0_9011_ec7d186ed26f .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); $('#RegisterForm_pageBlock .allButtonsPopup_ac05b262_d17c_4864_8c97_56a622f2f713 .buttonContainer2').not('.disabled').click(function(e) { e.preventDefault(); var buttonId = $(this).closest('.buttonContainer').attr('data-buttonId'); var b = $(this).closest('.formRowButtonRow').find('.' + buttonId); if (b.length > 0) { b[0].click(); } return false; }); } $(document).ready(function() { setupBlock_RegisterForm(); }); </script></div></div> </div><div class="pageBlockContainerBottom"></div> </div> <script type="text/javascript"> /* Script Blocks - RegisterForm */ function checkStrength(password, strengthBox) { var valid = true; var message = ''; var strength = 0; if (valid) { if (!/[a-zA-Z]/.test(password)) { valid = false; message = 'Your password must contain at least one letter.'; } else { strength++; } } if (valid) { if (!/\d/.test(password)) { valid = false; message = 'Your password must contain at least one number.'; } else { strength++; } } if (valid) { if (!/[a-z]/.test(password)) { valid = false; message = 'Your password must contain at least one lowercase letter.'; } else { strength++; } } if (valid) { if (!/[A-Z]/.test(password)) { valid = false; message = 'Your password must contain at least one uppercase letter.'; } else { strength++; } } if (valid) { if (password.length < 8) { valid = false; message = 'Register with [provider] to apply'; } else { strength++; } } if (valid) { if (password.length > 30) { valid = false; message = 'Your password must not exceed 30 characters.'; } } if (valid) { if (/([a-zA-Z0-9])\1\1/.test(password)) { valid = false; message = 'Your password must not contain the same character repeated 3 or more times.'; } else { strength++; } } if (valid) { if (password.length != $.trim(password).length) { valid = false; message = 'Your password must not begin or end with a space.'; } else { strength++; } } if (valid && password == $('#ProfileRegisterWithAlerts_RegisterForm_username').val()) { valid = false; message = 'Your password must not match your username.'; } // We want passwords to be long if (password.length > 16) { strength++; } // We want passwords to contain at least two lower and at least two upper case characters. if (/[a-z].*[a-z]/.test(password) && /[A-Z].*[A-Z]/.test(password)) { strength++; } // We want passwords to contain at least two numbers if (/[0-9].*[0-9]/.test(password)) { strength++; } // We want passwords to contain at least one special character if (/([!,",拢,$,%,^,&,*,@,#,?,-,_,=,+,~])/.test(password)) { strength++; } // We want passwords to contain at least two special characters if (/([!,",拢,$,%,^,&,*,@,#,?,-,_,=,+,~]).*([!,",拢,$,%,^,&,*,@,#,?,-,_,=,+,~])/.test(password)) { strength++; } // Remove existing strength classes strengthBox.removeClass (function (index, className) { return (className.match (/(^|\s)strength-\S+/g) || []).join(' '); }); // Add new strength class strengthBox.addClass('strength-' + strength); // Flag errors if (valid) { strengthBox.removeClass('passwordError'); } else { strengthBox.addClass('passwordError'); } // Get strength message if (valid) { switch (strength) { case 0: case 1: case 2: case 3: message = 'Weak'; break; case 4: case 5: case 6: case 7: message = 'Ok'; break; case 8: case 9: case 10: message = 'Good'; break; default: message = 'Excellent'; } } // Set text $(strengthBox).find('.passwordStrengthMessage').html(message); return valid; } </script> <!-- End of block - RegisterForm //--> </div></div><div class="resourceEditingContainer"><div class="resourceEditingContainer2 hiddenElement"><div class="globalResourcesContainer hiddenElement"><div class="globalResourceContainer globalResourceContainer_loading"><span class="globalResourceValue">Loading</span></div></div></div></div></div> </section> <section id="BlocksContainer" class="masonry-layout-2"><div id="BlocksContainer_Inner"><div id="LeftCol" class="two-col col1"><div class="DoubleDecker"><div class="DoubleDeck_Image"></div><div class="DoubleDeck_Content"><span class="MiniHeader">WORKING AT OUP</span><h2>Life at one of the world's leading publishers </h2><br></br><a href="/jobs/workingatoup/">Read more ></a></div></div><div class="DoubleSider"><div id="Video2" class="two-col two-col-Image two-col-Image_video Display_On_Mobile"><div id="mylightbox"><iframe src='https://www.youtube.com/embed/ZcqN1e2mjOs' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe></div></div><div class="two-col"><span class="MiniHeader">OUP IN ACTION</span><h2>Advancing knowledge and learning around the world</h2><a href="https://www.youtube.com/watch?v=ZcqN1e2mjOs">Watch the video ></a></div><div id="Video2" class="two-col two-col-Image two-col-Image_video Hide_On_Mobile"><div id="mylightbox"><iframe src='https://www.youtube.com/embed/ZcqN1e2mjOs' frameborder='0' allow='autoplay; encrypted-media' allowfullscreen></iframe></div></div></div><div class="DoubleSider"><div class="two-col two-col-Image2 Display_On_Mobile"></div><div class="two-col GrayLeft"><span class="MiniHeader">OUP QUALITIES</span><h2>The qualities we look for and the behaviours we value</h2><a href="/jobs/oup_qualities/">Read more ></a></div><div class="two-col two-col-Image2 Hide_On_Mobile"></div></div></div><div id="RightCol" class="two-col col2"><div class="DoubleSider"><div id="storyOne" class="two-col two-col-Image two-col-Image_video Display_On_Mobile"></div><div class="two-col"><span class="MiniHeader">MAKING AN IMPACT</span><h2>Supporting our mission with technology</h2><a href="/jobs/impactstory_one/">Read more ></a></div><div id="storyOne" class="two-col two-col-Image two-col-Image_video Hide_On_Mobile" style="background-image:url(/jobs/image/256657/40aff2c5-2f66-497c-bf73-e84a1e4452c9/325/250)"></div></div><div class="DoubleDecker"><div id="storyTwo" class="DoubleDeck_Image" style="background-image:url(/jobs/image/121374/4a9556df-3151-4b37-9992-576442060869/650/260)"></div><div class="DoubleDeck_Content"><span class="MiniHeader">MAKING AN IMPACT</span><h2>Developing people through inclusive leadership</h2><a href="/jobs/impactstory_two/">Read more ></a></div></div><div class="DoubleSider"><div class="two-col two-col-Image2 Display_On_Mobile"></div><div class="two-col GrayLeft"><span class="MiniHeader">FIELDS OF WORK</span><h2>Find the role that's right for you</h2><a href="/jobs/fields_of_work/">Read more ></a></div><div class="two-col two-col-Image2 Hide_On_Mobile"></div></div></div></div></section> <section id="BlocksContainer" class="masonry-layout-2"> <div id="LatestJobsBlock"> <div id="AllJobsAnchor"> <h2>Latest Jobs</h2> <a title="read more about Latest Vacancies" href="/jobs/vacancy/find/results/action/posbrowser_resetto/?pagestamp=168a9827-c6b6-483e-83d5-e6a92c2c933f">View all jobs > </a> </div> <div id="LatestJobsPos"> <!-- Start of block - latestjobs //--> <div id="latestjobs_pageBlockContainer" data-blockid="latestjobs" class="pageBlockContainer pageBlockContainer_GridBlock posList LastestJobsAsList_pageBlockContainer Renderer_TilesWithTopPagingTopSort"><div class="pageBlockContainerTop"></div><div class="pageBlockContainerMiddle"><div class="pageBlockHeader"><div class="pageBlockHeader2"><div class="pageBlockTitle"><h2>Latest Vacancies</h2></div></div></div> <div id="latestjobs_pageBlockOverlay" class="pageBlockContentOverlay"></div> <div id="latestjobs_pageBlockLoadingContainer" class="pageBlockContentLoadingContainer"><div id="latestjobs_pageBlockLoading" class="pageBlockContentLoading"><span>Loading...</span></div></div> <div id="latestjobs_pageBlock" class="pageBlockContent pageBlockContent_GridBlock LastestJobsAsList_pageBlock"><div class="pageBlockInner pageBlockInner_GridBlock"><div class="oldForm" id="form_latestjobs" data-ajaxgridhandlerurl=""><div class="gridContainer"><div class="gridContent"><div class="gridTableContainer infoPaneHidden"><div class="ListGridContainer"><div class="rowContainerHolder rowContainerHolder1 rowContainerHolder_4620_rowId rowContainerHolder_Odd"><div class="rowContainer rowContainer_First rowContainerId_1 rowContainerCounter_1 rowContainer_Odd"><input type="hidden" class="rowId" value="4620"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/administrator-oxford/4620/description/" class="link__rowlabel_a378b15a-b3b3-4ddc-a3a3-bdfa30333173 rcMenu" title="Administrator ">Administrator </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">In the region of &#163;25,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 9 March 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder2 rowContainerHolder_4622_rowId rowContainerHolder_Even"><div class="rowContainer rowContainerId_2 rowContainerCounter_2 rowContainer_Even"><input type="hidden" class="rowId" value="4622"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/senior-designer-oxford/4622/description/" class="link__rowlabel_e5106086-93ec-4d67-b369-d015617df4cc rcMenu" title="Senior Designer ">Senior Designer </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">In the region of &#163;35,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 9 March 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder3 rowContainerHolder_4612_rowId rowContainerHolder_Odd"><div class="rowContainer rowContainerId_3 rowContainerCounter_3 rowContainer_Odd"><input type="hidden" class="rowId" value="4612"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/policy-implementation--compliance-lead-oxford/4612/description/" class="link__rowlabel_a4a81c0f-c642-40d0-98ba-cad93a6c2da2 rcMenu" title="Policy Implementation &amp; Compliance Lead ">Policy Implementation &amp; Compliance Lead </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 5 March 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder4 rowContainerHolder_4613_rowId rowContainerHolder_Even"><div class="rowContainer rowContainerId_4 rowContainerCounter_4 rowContainer_Even"><input type="hidden" class="rowId" value="4613"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/training--awareness-lead-oxford/4613/description/" class="link__rowlabel_57f4f387-f5e8-4d3d-9cc0-80d65186f825 rcMenu" title="Training &amp; Awareness Lead ">Training &amp; Awareness Lead </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">In the region of &#163;45,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 5 March 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder5 rowContainerHolder_4621_rowId rowContainerHolder_Odd"><div class="rowContainer rowContainerId_5 rowContainerCounter_5 rowContainer_Odd"><input type="hidden" class="rowId" value="4621"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/buyer-technology-fixed-term-contract-oxford/4621/description/" class="link__rowlabel_a1619c00-5ac3-454d-87d1-b04678d604a6 rcMenu" title="Buyer, Technology (Fixed Term Contract) ">Buyer, Technology (Fixed Term Contract) </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">In the region of &#163;35,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 4 March 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder6 rowContainerHolder_4615_rowId rowContainerHolder_Even"><div class="rowContainer rowContainerId_6 rowContainerCounter_6 rowContainer_Even"><input type="hidden" class="rowId" value="4615"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/global-accounts-director-retail-and-wholesale-oxford/4615/description/" class="link__rowlabel_124d91e5-ab38-468c-9e16-9c2a9644e4b6 rcMenu" title="Global Accounts Director, Retail and Wholesale ">Global Accounts Director, Retail and Wholesale </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 26 February 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder7 rowContainerHolder_4616_rowId rowContainerHolder_Odd"><div class="rowContainer rowContainerId_7 rowContainerCounter_7 rowContainer_Odd"><input type="hidden" class="rowId" value="4616"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/product-director---uk-oxford/4616/description/" class="link__rowlabel_27e090c7-53b4-42a4-a040-144709ec7e5c rcMenu" title="Product Director - UK ">Product Director - UK </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 23 February 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder8 rowContainerHolder_4556_rowId rowContainerHolder_Even"><div class="rowContainer rowContainerId_8 rowContainerCounter_8 rowContainer_Even"><input type="hidden" class="rowId" value="4556"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/senior-accounts-payable-clerk-oxford/4556/description/" class="link__rowlabel_3ea6c0bf-d017-40b1-9790-bdef8dfd3359 rcMenu" title="Senior Accounts Payable Clerk ">Senior Accounts Payable Clerk </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Up to &#163;28,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 21 February 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder9 rowContainerHolder_4518_rowId rowContainerHolder_Odd"><div class="rowContainer rowContainerId_9 rowContainerCounter_9 rowContainer_Odd"><input type="hidden" class="rowId" value="4518"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/account-manager-oxford/4518/description/" class="link__rowlabel_1ee28f7c-60ba-4bcf-bc87-a0c8c5a93214 rcMenu" title="Account Manager ">Account Manager </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Up to &#163;25,000 dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 21 February 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div><div class="rowContainerHolder rowContainerHolder10 rowContainerHolder_4599_rowId rowContainerHolder_Even"><div class="rowContainer rowContainer_Last rowContainerId_10 rowContainerCounter_10 rowContainer_Even"><input type="hidden" class="rowId" value="4599"></input><div class="rowHeader"><div class="rowLabel"><a href="/jobs/vacancy/regional-development-manager---midlands-remote-home-base/4599/description/" class="link__rowlabel_3789f16f-1f94-4f0c-84dd-b0dca6ab0ba9 rcMenu" title="Regional Development Manager - Midlands (Remote) ">Regional Development Manager - Midlands (Remote) </a></div></div><div class="rowContentContainer"><div class="rowItemsContainer"><div class="rowItemsContainer2"><div class="rowItemsInnerContainer"><div class="rowItemsInnerContainer2"><span class="displaysalarydescription_vacancyColumn vacancyColumn">Dependent on skills and experience</span><span class="comma">, </span><span class="pospublishenddate_vacancyColumn vacancyColumn">Closing Date 26 February 2025</span><span class="comma">, </span><span class="codelist7value_vacancyColumn vacancyColumn">Full Time</span></div></div></div></div></div></div></div></div></div></div><div class="gridFooter"><div class="gridButtons"><div class="buttonsLeft"><ul></ul></div><div class="buttonsRight"><ul></ul></div></div></div></div></div> <script type="text/javascript"> /* Embedded Script Blocks - latestjobs */ $('#latestjobs_pageBlock .carouselBlock').click(function () { var link = $(this).find('.rowHeader .rowLabel a').attr('href'); window.open(link, '_self'); return false; }); </script> <script type="text/javascript"> function setupBlock_latestjobs() { removeBlockOverlay('latestjobs'); $('#latestjobs_pageBlock .rowSummaryButton.openPopup').click(function(e) { e.preventDefault(); var url = $(this).attr('href'); var height = parseInt($(this).attr('data-popupHeight'), 10); var width = parseInt($(this).attr('data-popupWidth'), 10); OpenModal(url, width, height, ''); return false; }); (function() { var blockInfo = (function() { var blockId = 'latestjobs'; var block = $('#' + blockId + '_pageBlock'); var form = block.find('div#form_' + blockId); var currentMode = 'normal'; if (form.find('.mobileGrid').length > 0) { currentMode = (form.find('.mobileGrid .reloadButton').length > 0 ? 'normal' : 'mobile'); } return { blockId: blockId, blockContentElementId: blockId + '_pageBlock', block: block, form: form, currentMode: currentMode }; })(); var dotsFunc = function(currentMode, requiredMode) { if (currentMode == 'mobile' && requiredMode == 'mobile') { blockInfo.form.find('.rowContainer').each(function() { var canExpand = $(this).hasClass('showLess'); if (canExpand) { canExpand = false; var containerHeight = $(this).find('.rowContentContainer').find('.rowItemsContainer').height(); var container2Height = $(this).find('.rowContentContainer').find('.rowItemsContainer2').height(); if (container2Height > containerHeight) { canExpand = true; } } if (canExpand) { $(this).addClass('showDots'); } else { $(this).removeClass('showDots'); } }); } }; blockInfo.block.find('a.ajaxLoadLink').click(function(e) { e.preventDefault(); if (!$(this).hasClass('buttonDisabled')) { var blockId = $(this).closest('.pageBlockContent').attr('id'); var url = $(this).attr('href'); loadAjaxContent(blockId, url); } return false; }); blockInfo.block.find('a.columnSortLink').click(function(e) { e.preventDefault(); if (!$(this).hasClass('buttonDisabled')) { var column = $(this).attr('data-column'); var o = $(this).closest('.gridContentWithHeader').find('.columnSortOptionsPopup_' + column); if (o.length > 0) { if (o.filter(':visible').length > 0) { $(this).closest('th').removeClass('active'); $(this).removeClass('activeGenericMenuButton'); o.hide(); } else { $('.activeGenericMenuButton').click(); var offset = $(this).closest('th').offset(); o.css('left', offset.left + 'px'); $(this).closest('th').addClass('active'); $(this).addClass('activeGenericMenuButton'); o.show(); } } else { var blockId = $(this).closest('.pageBlockContent').attr('id'); var url = $(this).attr('href'); var scrollLeft = $(this).closest('.gridContentWithHeader')[0].scrollLeft; url += '&scrollLeft=' + scrollLeft; loadAjaxContent(blockId, url); } } return false; }); blockInfo.block.find('a.columnSortOptionButton').click(function(e) { e.preventDefault(); var blockId = $(this).closest('.pageBlockContent').attr('id'); var url = $(this).attr('href'); var scrollLeft = $(this).closest('.gridContentWithHeader')[0].scrollLeft; url += '&scrollLeft=' + scrollLeft; loadAjaxContent(blockId, url); return false; }); blockInfo.block.find('a.buttonActionId_gridsettings').click(function(e) { e.preventDefault(); var gridSettingsControls = $(this).closest('.gridFooter').find('.gridSettingsControls'); var settingsButtonsControls = $(this).closest('.settingsButtonsControls'); if (gridSettingsControls.filter(':visible').length > 0) { gridSettingsControls.hide(); settingsButtonsControls.removeClass('popupOpen'); $(this).removeClass('activeGenericMenuButton'); } else { $('.activeGenericMenuButton').click(); $(this).addClass('activeGenericMenuButton'); settingsButtonsControls.addClass('popupOpen'); gridSettingsControls.css('left', '0px'); gridSettingsControls.css('top', '0px'); gridSettingsControls.css('margin-left', '0px'); gridSettingsControls.css('margin-top', '0px'); gridSettingsControls.show(); var o1 = $(gridSettingsControls).offset(); var o2 = $(this).offset(); gridSettingsControls.css('margin-left', (o2.left - o1.left + $(this).outerWidth() - gridSettingsControls.outerWidth()) + 'px'); gridSettingsControls.css('margin-top', (o2.top - o1.top - gridSettingsControls.outerHeight()) + 'px'); gridSettingsControls.find('.gridViewMode').removeClass('enabled'); var key = $('#latestjobs_pageBlockContainer').attr('data-viewModeKey'); var viewMode = localStorage.getItem(key); if (viewMode == null || viewMode == '') { viewMode = 'auto'; } gridSettingsControls.find('.buttonActionId_view' + viewMode).addClass('enabled'); } return false; }); blockInfo.block.find('.reloadButton').click(function(e) { e.preventDefault(); var url = $(this).attr('href'); url += '&totalWidthInput=' + blockInfo.form.attr('data-totalWidthInput'); var blockId = $(this).closest('.pageBlockContent').attr('id'); loadAjaxContent(blockId, url); return false; }); blockInfo.block.find('input[type=checkbox][name=' + blockInfo.blockId + '_selector]').not('td.cell_grid__selector input').click(function(e) { toggleGridRow(e); }); if (blockInfo.form.find('.mobileGrid').length > 0) { (function() { var inDialog = blockInfo.block.closest('.ui-dialog').length > 0; var availableWidthFunc = function() { if (inDialog) { var pageBlockWidth = blockInfo.block.innerWidth(); return Math.floor(pageBlockWidth); } else { var pageBlockWidth = blockInfo.block.innerWidth(); var pageContentWidth = $('#pageAllContent').width(); var windowWidth = $('#wholePage').width(); return Math.floor(windowWidth - pageContentWidth + pageBlockWidth); } }; var gadgetsWidthFunc = function() { var inDialog = blockInfo.block.closest('.ui-dialog'); if (inDialog) { var box = $('.pageViewRightColumn:visible'); if (box.length > 0) { return Math.floor(box.width()); } } return 0; }; blockInfo.form.attr('data-pageWidthInput', $(window).width()); blockInfo.form.attr('data-availableWidthInput', availableWidthFunc()); blockInfo.form.attr('data-gadgetsWidthInput', gadgetsWidthFunc()); blockInfo.form.attr('data-inDialogInput', inDialog); if (typeof window.gridFunc_latestjobs == 'undefined') { window.gridFunc_latestjobs = 1; (function() { var timeoutId = null; var wholePage = $('#wholePage'); var oldWindowWidth = -1; var key = $('#latestjobs_pageBlockContainer').attr('data-viewModeKey'); var oldViewMode = 'notInitialized'; var timerId = -1; $(window).resize(function() { var windowWidth = wholePage.width(); var viewMode = localStorage.getItem(key); if (windowWidth != oldWindowWidth || oldViewMode != viewMode) { var viewModeChanged = (oldViewMode != viewMode); oldWindowWidth = windowWidth; oldViewMode = viewMode; if (viewMode == null || viewMode == '') { var rForm = $('#latestjobs_pageBlock div#form_latestjobs'); var currentMode = (rForm.find('.mobileGrid .reloadButton').length > 0 ? 'normal' : 'mobile'); var requiredMode = ''; (function() { var availableWidth = availableWidthFunc(); rForm.attr('data-pageWidthInput', $(window).width()); rForm.attr('data-availableWidthInput', availableWidth); rForm.attr('data-gadgetsWidthInput', gadgetsWidthFunc()); rForm.attr('data-viewMode', ''); rForm.attr('data-inDialogInput', blockInfo.block.closest('.ui-dialog').length > 0); var gridTableWidth = parseInt(rForm.attr('data-totalWidthInput')); var forceMobile = false; if (forceMobile || windowWidth < 1000 || windowWidth < 1250 && gridTableWidth > availableWidth) { rForm.closest('.pageBlockContainer').addClass('Renderer_StandardComplex_Mobile'); requiredMode = 'mobile'; } else { rForm.closest('.pageBlockContainer').removeClass('Renderer_StandardComplex_Mobile'); requiredMode = 'normal'; } if (timeoutId != null) { clearTimeout(timeoutId); timeoutId = null; } if (currentMode != requiredMode) { var time = viewModeChanged ? 0 : 1500; timeoutId = setTimeout(function() { $('#latestjobs_pageBlock div#form_latestjobs').find('.reloadButton').click(); }, time); } })(); clearTimeout(timerId); timerId = setTimeout(function() { dotsFunc(currentMode, requiredMode); }, 250); } } }); })(); } })(); } (function() { if (blockInfo.currentMode == 'mobile') { blockInfo.block.closest('.pageBlockContainer').addClass('Renderer_StandardComplex_Mobile'); dotsFunc(blockInfo.currentMode, blockInfo.currentMode); AddGridListBehaviour(); } else { blockInfo.block.closest('.pageBlockContainer').removeClass('Renderer_StandardComplex_Mobile'); AddGridTableBehaviour(); } })(); function AddGridListBehaviour() { blockInfo.form.find('.rowContainer .showLessButton').click(function(e) { e.preventDefault(); var c = $(this).closest('.rowContainer'); c.removeClass('showMore'); c.addClass('showLess'); return false; }); blockInfo.form.find('.ListGridContainer .rowContentContainer').click(function(ev) { var canExpand = $(this).closest('.rowContainer').hasClass('showLess'); if (canExpand) { canExpand = false; var containerHeight = $(this).find('.rowItemsContainer').height(); var container2Height = $(this).find('.rowItemsContainer2').height(); if (container2Height > containerHeight) { canExpand = true; } } var link = $(this).find('a.defaultaction'); if (link.length > 0) { if ($(this).closest('a').length > 0) { return true; } if ($(ev.target).closest('a').length > 0) { return true; } if ( ev.target.tagName == 'A') { return true; } if ( ev.target.tagName == 'AREA') { return true; } if ( ev.target.tagName == 'SELECT' || ev.target.tagName == 'OPTION' || ev.target.tagName == 'INPUT') { return true; } if (canExpand) { $(this).closest('.rowContainer').removeClass('showLess'); $(this).closest('.rowContainer').addClass('showMore'); } else { link.click(); } return false; } else { if (canExpand) { $(this).closest('.rowContainer').removeClass('showLess'); $(this).closest('.rowContainer').addClass('showMore'); } } return true; }); } function AddGridTableBehaviour() { blockInfo.form.find('#' + blockInfo.blockId + '_gridTable td:has(a.rcMenu)').not(':has(img),:has(svg)').hover(function() { $('.gridMenuButton:not(.gridMenuButton_Stick)').remove(); var html = '<div class=\'gridMenuButton\'><a href=\'#\'>&nbsp;</a></div>'; $(this).prepend(html); var cellWidth = $(this).width(); var buttonWidth = $(this).find('.gridMenuButton').outerWidth(); var left = cellWidth - buttonWidth; $(this).find('.gridMenuButton').css('margin-left', left + 'px'); var originalUrl = $(this).find('a.rcMenu').attr('href'); $('.gridMenuButton a').click(function() { $('.gridMenuButton').removeClass('gridMenuButton_Stick'); $(this).closest('.gridMenuButton').addClass('gridMenuButton_Stick'); }); $('.gridMenuButton a').showMenu({ menuId: 'myMenu', loadingText: 'Loading...', event:'click', originalUrl: originalUrl, useEventPositioning:false }); }, function() { $('.gridMenuButton:not(.gridMenuButton_Stick)').remove(); }); } (function() { var gridContainer = blockInfo.form.find('.normalGrid > .gridContainer') var gridContent2 = blockInfo.form.find('.normalGrid > .gridContainer > .gridContentWithHeader') var gridTableContainer = blockInfo.form.find('.normalGrid > .gridContainer > .gridContentWithHeader > .gridTableContainer') var gridTable = $('#latestjobs_gridTable'); //console.log(gridContainer.length); //console.log(gridContent2.length); //console.log(gridTableContainer.length); function checkTableOverflow() { var showHint = false; //console.log('infoPaneVisible = ' + (gridContainer.hasClass('infoPaneVisible').length > 0)); var showingTableView = gridContainer.filter(':visible').length > 0 && !gridContainer.hasClass('infoPaneVisible'); if (showingTableView) { //console.log('gridContent2 = ' + gridContent2.width()); //console.log('gridTable = ' + gridTable.width()); if (gridTable.width() > gridContent2.width()) { var scrollLeft = Math.floor(gridContent2[0].scrollLeft); var scrollLeftMax = Math.floor(gridTable.width() - gridContent2.width()); //console.log('scrollleft = ' + scrollLeft); //console.log('scrollLeftMax = ' + scrollLeftMax); if (scrollLeft < scrollLeftMax) { showHint = true; } } } else { showHint = false; } //console.log(showHint); if (showHint) { gridContent2.addClass('showScrollHint'); } else { gridContent2.removeClass('showScrollHint'); } } $(window).resize(checkTableOverflow); $(gridContent2).scroll(checkTableOverflow); checkTableOverflow(); })(); })(); $('#latestjobs_pageBlock .rowContainer').each(function() { var classNames = $(this).attr('class'); var indexOfStart = classNames.indexOf('rowContainerCounter_'); var indexOfEnd = classNames.indexOf(' ', indexOfStart); var className = ''; if (indexOfEnd > -1) { className = classNames.substring(indexOfStart, indexOfEnd); } else { className = classNames.substring(indexOfStart); } var itemCounter = className.replace('rowContainerCounter_', ''); var delayTime = ((itemCounter - 1) * 75); $(this).css({ 'margin-left':'5px' }); $(this).delay(delayTime).fadeIn('fast', function() { $(this).css('opacity', '1'); }); }); } $(document).ready(function() { setupBlock_latestjobs(); }); </script></div></div> </div><div class="pageBlockContainerBottom"></div> </div> <!-- End of block - latestjobs //--> </div> </div> </section> <footer> <div id="Footer_Quote"> <div class="Inner_CenterAlighn"> <span class="MiniHeader">VACANCY ALERTS</span> <h2>What type of jobs are you looking for?<br /> Sign up for email alerts </h2> <a title="Sign up for alerts" href="/jobs/alertregister/">Sign up &gt;</a> </div> </div> <div id="footer"> <!-- FooterLogo --> <div class="NewLogoGoesHere"> <span id="NewGrayLogo"></span> </div> <br /> <p> Oxford University Press is a department of University of Oxford.<br/> It furthers the University's objective of excellence in research, scholarship, <br/> and education by publishing worldwide. </p> <span class="socMed"> <a title="Twitter Account" href="https://twitter.com/oxunipress" target="_blank"> <img alt="Twitter" src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/xtwittericonnew.png" /></a> </span> <span class="socMed"> <a title="LinkedIn Account" href="https://www.linkedin.com/company/oup/" target="_blank"> <img alt="LinkedIn" src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/xlinkediniconnew.png" /></a> </span> <!--km new--> <span class="socMed"> <a title="Instagram Account" href="https://www.instagram.com/oxunipress/" target="_blank"> <img alt="Instagram" src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/xinstagramiconnew.png" /></a> </span> <span class="socMed"> <a title="YouTube Account" href="https://www.youtube.com/c/OxfordUniversityPress" target="_blank"> <img alt="YouTube" src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/xyoutubeiconnew.png" /></a> </span> <span class="socMed"> <a title="Glassdoor Account" href="https://www.glassdoor.co.uk/Overview/Working-at-Oxford-University-Press-EI_IE587409.11,34.htm" target="_blank"> <img alt="Glassdoor" src="https://jobs.oup.com/jobs/custom/oup_03/assets/images/xglassdooriconnew.png" /></a> </span> <!--km new--> </div> <div id="FooterLinks"> <br /> <a title="Privacy Policy" href="http://global.oup.com/privacy?cc=gb">Privacy Policy</a> <a title="Cookie Policy" href="http://global.oup.com/cookiepolicy/?cc=gb">Cookie Policy</a> <a title="Legal Notice" href="http://global.oup.com/legal?cc=gb">Legal Notice</a> <a title="Legal Notice" href="/jobs/equality/">Equality</a> <a title="Modern Slavery Act statement" href="http://global.oup.com/about/way_we_work/modern_slavery_statement?cc=gb">Modern Slavery Act statement</a> </div> </footer> <script type="text/javascript"> $(document).on('click', '.reviewposlink a', function (e) { e.preventDefault(); var url = $(this).attr('href'); window.open(url, '_blank'); }); $(window).on('keydown', function (event) { if (event.keyCode == 17) { //Ctrl window.localStorage.removeItem("accepted"); } }); </script> <script src="https://jobs.oup.com/jobs/custom/oup_03/assets/js/script.js"></script> </body> </html>

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