function DomObj(n,t,i,r){this.obj=n,this.friendlyName=t,this.inputSpecificEmptyValues=r,this.isRequired=i,this.value="",this.hasValue=null,this.isVisible=null,this.hasError=null,this.setIsVisible=function(){this.isVisible=this.obj.is("[type=hidden]")==!0||this.obj.length==0?!1:!0},this.setValue=function(){var t=!1,i="",n=this.obj.val();this.obj.is("[type=radio]")&&(n=this.obj.filter(":checked").val()),this.obj.is("[type=checkbox]")&&(n=this.obj.prop("checked")),this.inputSpecificEmptyValues.indexOf(n)==-1?(t=!0,i=n):t=!1,this.value=i,this.hasValue=t},this.cleanInputSpecificEmptyValues=function(){var n=[""];Array.isArray(this.inputSpecificEmptyValues)?$.merge(n,this.inputSpecificEmptyValues):typeof this.inputSpecificEmptyValues=="string"&&n.push(this.inputSpecificEmptyValues),this.inputSpecificEmptyValues=n},this.init=function(){this.cleanInputSpecificEmptyValues(),this.setIsVisible(),this.setValue()},this.init()}function ErrorObj(n,t){this.obj=n,this.generalErrorMessage=t,this.hasError=!1;var i="",r=[];this.display_showErrorMessage=function(){this.internal_buildOutputMessage(),this.obj.addClass("alert-danger").show().focus(),this.obj.find("div[data-name='errorMessage']")},this.display_resetErrorMessage=function(){this.obj.hide().removeClass("alert-danger center hidden"),this.obj.find("div[data-name='errorMessage']").html("")},this.display_invalidInputs_resetState=function(n){$.each(n,function(n,t){t.obj.parents(".form-group").removeClass("has-success has-warning has-error")})},this.internal_invalidInputs_highlight=function(n){$.each(n,function(n,t){t.hasError&&t.obj.parents(".form-group").addClass("has-error")})},this.internal_buildOutputMessage=function(){var n=this.obj.find("div[data-name='errorMessage']");n.append($("<h5></h5>").addClass("remove-top-margin").html($("<strong></strong>").text(this.generalErrorMessage))),n.append($("<p></p>").text(i)),$.each(r,function(t,i){n.append($("<p></p>").text(i))})},this.internal_addFailedInputsToFriendlyNames=function(n){$.each(n,function(n,t){t.hasError&&r.push(t.friendlyName)})},this.internal_invalidInputs_ariaMessage_remove=function(n){$.each(n,function(n,t){t.obj.removeAttr("aria-invalid aria-describedBy")})},this.internal_invalidInputs_ariaMessages_set=function(n,t){$.each(n,function(n,i){i.hasError&&i.obj.attr({"aria-invalid":"true","aria-describedBy":t})})},this.validate_checkForRequiredValues=function(n,t){if(!this.hasError){var r=!1;$.each(n,function(n,t){t.isVisible&&t.isRequired&&!t.hasValue&&(r=!0,t.hasError=r)}),r&&(i=t,this.internal_addFailedInputsToFriendlyNames(n),this.internal_invalidInputs_highlight(n),this.internal_invalidInputs_ariaMessages_set(n,"description-ValueRequired")),this.hasError=r}},this.validate_isEmailAddress=function(n,t){if(!this.hasError){var u=new RegExp(emailRegexForJavascript),r=u.test(n.value);r||(this.hasError=!0,i=t,n.hasError=this.hasError,this.internal_invalidInputs_highlight([n]),this.internal_invalidInputs_ariaMessages_set([n],"description-InvalidEmail"))}},this.validate_valuesMatch=function(n,t){if(!this.hasError&&!(n.length<2)){var r=!1,u=n[0].obj.val();$.each(n,function(n,t){u!=t.value&&(r=!0,t.hasError=r)}),r&&(i=t,this.internal_invalidInputs_highlight(n)),this.hasError=r}},this.validate_valuesNotMatch=function(n,t,r){this.hasError||n.value==t.value&&(this.hasError=!0,i=r,n.hasError=this.hasError,t.hasError=this.hasError,this.internal_addFailedInputsToFriendlyNames([n,t]),this.internal_invalidInputs_highlight([n,t]))},this.validate_lengthGreaterThan=function(n,t,r){this.hasError||n.value.length<t&&(this.hasError=!0,i=r,n.hasError=this.hasError,this.internal_invalidInputs_highlight([n]),this.internal_invalidInputs_ariaMessages_set([n],"description-InputTooShort"))},this.validate_lengthLessThan=function(n,t,r){this.hasError||n.value.length>t&&(this.hasError=!0,i=r,n.hasError=this.hasError,this.internal_invalidInputs_highlight([n]),this.internal_invalidInputs_ariaMessages_set([n],"description-InputTooLong"))},this.validate_atLeastOneInputHasAValue=function(n,t){if(!this.hasError){var r=!0;$.each(n,function(n,t){t.hasValue&&(r=!1)}),r&&(this.hasError=r,i=t)}},this.validate_hasSelectedOrCreatedALibraryListToAddTo=function(n,t,i,r){this.hasError||(n.hasValue?this.hasError=!1:this.validate_checkForRequiredValues([t,i],r))},this.reset=function(n){this.display_resetErrorMessage(),this.display_invalidInputs_resetState(n),this.internal_invalidInputs_ariaMessage_remove(n)}}function ipUserPassLoginValidate(){var t={email:new DomObj($("#LoginViewModel_Email"),"Email Address",!0),password:new DomObj($("#LoginViewModel_Password"),"Password",!0)},n=new ErrorObj($("#LoginViewModel_alertContainer"),"Submission failed. Please check these inputs:");n.reset(t),n.validate_checkForRequiredValues(t,"These inputs are required:"),n.validate_isEmailAddress(t.email,"Please enter a valid "+t.email.friendlyName),n.hasError?(stop.propergation,n.display_showErrorMessage()):$("#LoginViewModel_Form").submit()}function ipUserPassRegisterValidate(){var n={email:new DomObj($("#RegisterViewModel_RegistrationEmail"),"Email Address",!0),password:new DomObj($("#RegisterViewModel_RegistrationPassword"),"Password",!0),passwordConfirm:new DomObj($("#RegisterViewModel_RegistrationConfirmPassword"),"Password Confirm",!0)},t=new ErrorObj($("#RegisterViewModel_alertContainer"),"Submission failed. Please check these inputs:");t.reset(n),t.validate_checkForRequiredValues(n,"These inputs are required:"),t.validate_isEmailAddress(n.email,"Please enter a valid "+n.email.friendlyName),t.validate_valuesMatch([n.password,n.passwordConfirm],n.password.friendlyName+" and "+n.passwordConfirm.friendlyName+" must be the same."),t.hasError?(event.stopPropagation(),t.display_showErrorMessage()):$("#RegisterViewModel_Form").submit()}function openAccessibilitySettings(){$("#editAccessibilitySettings").modal("show")}function saveAccessibilitySettings(){AccessibilityObj.saveAndUpdate(),$("#editAccessibilitySettings").modal("hide")}function setNavbarTab(){var t=location.pathname.toLowerCase(),n="",i;t.indexOf("/vleweb")!=-1&&(n="tab-home"),t.indexOf("/bookshelf")!=-1&&(n="tab-bookshelf"),t.indexOf("/librarylist")!=-1&&(n="tab-libraryList"),t.indexOf("/search/advanced")!=-1&&(n="tab-advanced"),t.indexOf("/help")!=-1&&(n="tab-help"),t.indexOf("/account")!=-1&&(n="tab-account"),i=$("ul#navigation-tabs-pages > li[data-param-tabname="+n+"]"),i.addClass("active")}function updateProgressBar(n,t,i){var r=i+1;n.css("width",r*10+"%").attr("aria-valuenow",r*10),t.html(r)}function refreshLink(n,t){var r=$("#download-progressBar"),i=$("#download-progressBar-count"),f=$("#loader"),s=$("#DownloadLinkMain"),h=$("#DownloadLinkAlternate"),o=$("#downloadHref"),u=$("#alternateDownload"),e=$("#EmailLink");return $.ajax({type:"POST",url:baseRoot+"product/RefreshDownloadLink",data:{loanId:n},success:function(c){t<10?(updateProgressBar(r,i,t),t++,c.DownloadUrl!=""?(updateProgressBar(r,i,10),f.hide(),s.removeClass("hidden"),h.attr("href",c.DownloadUrl),u.removeClass("hidden")):setTimeout(function(){refreshLink(n,t)},5e3)):(f.hide(),o.addClass("hidden"),u.addClass("hidden"),e.removeClass("hidden"))},error:function(n){updateProgressBar(r,i,0),growl(n.statusText)}}),!1}function openDownloadPopUp(n,t,i,r){r==0?growl("Disabled for download"):($("#downloadLoanLength-productId").val(n),$("#downloadLoanLength-Jacket").attr("src",i).attr("alt","Cover of "+t),$("#downloadLoanLength-loanDays").empty().append(maximumDownloadDaysSelect(r)),$("#downloadLoanLength").modal())}function openMaxIssuesPopUp(n,t,i,r){$("#maxIssuesPopup-ProductId").val(n),$("#maxIssuesPopup-Jacket").attr("src",i),$("#maxIssuesPopup-Type").val(t),$("#maxIssuesPopup-StartPage").val(r),$("#maxIssuesPopup").modal(),maximumDownloadDaysMaxIssueSelect(n,$("#maxIssuesPopup-Days"),t)}function openExclusivePopUpForMaxIssueLicence(n,t){$("#exclusiveProductId").val(n),$("#exclusiveProductRequestType").val(t),maximumDownloadDaysMaxIssueSelect(n,$("#exclusiveDays"),t),$("#exclusivePopup").modal()}function openExclusivePopUpForConcurrentLicence(n,t,i){$("#exclusiveProductId").val(n),$("#exclusiveProductRequestType").val(t),$("#exclusiveDays").empty().append(maximumDownloadDaysSelect(i)),$("#exclusivePopup").modal()}function maximumDownloadDaysSelect(n){var t="",i;return n==0||n==undefined?t+='<option value="0">Read Online Only</option>':n==1?t+='<option value="1">1</option>':(i=Math.floor(n/2),t+='<option value="1">1</option>',t+='<option value="'+i+'">'+i+"</option>",t+='<option value="'+n+'">'+n+"</option>"),t}function maximumDownloadDaysMaxIssueSelect(n,t,i){var r=JSON.stringify({productId:n,siteUserActionType:i});$.ajax({type:"POST",async:!1,url:baseRoot+"product/MaxIssueGetReservationRangeForTitle",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(n){for(var r="",i=n.MinDays;i<=n.MaxDays;i++)r+='<option value="'+i+'">'+i+"</option>";t.empty().append(r)},error:function(){$(".modal").modal("hide"),growl("We are currently unable to get the loan days for this title. Please try again later.")}})}function createReservation(){var t={email:new DomObj($("#reservationDetails-emailAddress"),"Email Address",!0)},n=new ErrorObj($("#reservationDetails-alertContainer"),"Submission failed."),r,i;n.reset(t),n.validate_checkForRequiredValues(t,"These inputs are required:"),n.validate_isEmailAddress(t.email,"Please enter a valid email address"),n.hasError?n.display_showErrorMessage():(r=$("#productId").val(),i=JSON.stringify({productId:r,email:t.email.value}),$.ajax({type:"POST",timeout:3e4,url:"Account/MakeReservation",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){n.errorStatus==1?growl(n.message):growl("Reservation failed")},error:function(){}}),$("#reservationDetails").modal("hide"))}function getDownloadURL(n,t,i,r){var f=new Date,u=JSON.stringify({downloadProductId:n,loanDays:t,strTimestamp:f.getTime(),siteUserActionType:_siteUserActionTypeDownload});$.ajax({type:"POST",async:!1,url:baseRoot+"product/GetDownload",contentType:"application/json; charset=utf-8",dataType:"json",data:u,success:function(t){if($(".modal").modal("hide"),t.isSuccess)t.URL==""?window.location.replace(baseRoot+"Product/Download?loanId="+t.loanId+"&productId="+n):window.location.replace(t.URL);else switch(t.Status.toString()){case AutoLicencePurchaseInitiated:growl("Acquiring Licence. Please wait."),DownloadPollAccessRequestForNonPDALicences(t.AccountProductAccessRequestId,n,0,i,r,t.friendlyMessage);break;case NeedReservationLength:openExclusivePopUpForConcurrentLicence(n,_siteUserActionTypeDownload,t.dlDays);break;case NeedMaxIssuesReservationLength:openExclusivePopUpForMaxIssueLicence(n,_siteUserActionTypeDownload);break;case NoLicenseAvailableReadByAnotherUser:case TitleReserved:openReservationPopup(n,t.friendlyMessage);break;case MaxIssuesTitle:openMaxIssuesPopUp(n,_siteUserActionTypeDownload,r,1);break;case NeedLoanLength:openDownloadPopUp(n,i,r,t.dlDays);break;default:growl(t.friendlyMessage)}},error:function(){$(".modal").modal("hide"),growl("We are currently unable to offer download, please try again later")}})}function getReadOnlineURL(n,t,i){var f,u,r;if(n==0)return f=$("html").html(),logError(f),growl("The link to read online appears to be malformed, if the problem persists please contact your library helpdesk"),!1;t=Number(t)===0||isNaN(Number(t))?1:parseInt(t),u=new Date,r=JSON.stringify({productId:n,strTimestamp:u.getTime(),page:t,siteUserActionType:_siteUserActionTypeReadOnline}),$.ajax({type:"POST",async:!1,url:baseRoot+"Product/ReadOnline",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(r){$(".modal").modal("hide");switch(r.Status.toString()){case TitleAlreadyDownloadedHasUrl:if(r.URL!=""){var u=window.open(r.url,"_Blank");setTimeout(function(){(!u||u.closed||typeof u.closed=="undefined")&&growl("Are you blocking popups? We are tying to open the vleBooks reader in a separate tab.",5e3)},2e3,u)}break;case AutoLicencePurchaseInitiated:growl("Acquiring Licence. Please wait."),ReadOnlinePollAccessRequestForNonPDALicences(r.AccountProductAccessRequestId,1,n,i);break;case NeedReservationLength:activateReservation(n,0,_siteUserActionTypeReadOnline),getReadOnlineURL(n,0,i);break;case NeedMaxIssuesReservationLength:openExclusivePopUpForMaxIssueLicence(n,_siteUserActionTypeReadOnline);break;case NoLicenseAvailableReadByAnotherUser:case TitleReserved:openReservationPopup(n,r.friendlyMessage);break;case MaxIssuesTitle:openMaxIssuesPopUp(n,_siteUserActionTypeReadOnline,i,t);break;case NeedLoanLength:openDownloadPopUp(n,title,i,r.dlDays);break;default:growl(r.friendlyMessage)}},error:function(){$(".modal").modal("hide"),growl("We are currently unable to offer read online, please try again later")}})}function maxIssuesSetLength(){var t={lengthInDays:new DomObj($("#maxIssuesPopup-Days"),"Loan length (days)",!0,["0"])},n=new ErrorObj($("#maxIssuesPopup-alertContainer"),"Submission failed."),r,u;if(n.reset(t),n.validate_checkForRequiredValues(t,"Please select a value for:"),n.hasError)n.display_showErrorMessage();else{var i=$("#maxIssuesPopup-ProductId").val(),f=$("#maxIssuesPopup-Type").val(),e=$("#maxIssuesPopup-StartPage").val();f==_siteUserActionTypeReadOnline?(r=new Date,u=JSON.stringify({productId:i,length:t.lengthInDays.value,strTimestamp:r.getTime(),siteUserActionType:_siteUserActionTypeReadOnline,startPage:e}),$.ajax({type:"POST",async:!1,url:baseRoot+"Product/maxIssuesSetLengthOpenReadonline",contentType:"application/json; charset=utf-8",dataType:"json",data:u,success:function(n){n.Url!=""?window.open(n.Url,"",null,null):n.Status==NoLicenseAvailableReadByAnotherUser?openReservationPopup(i,n.StatusDescription):growl(n.StatusDescription)},error:function(){growl("We are currently unable to offer read online, please try again later")}})):f==_siteUserActionTypeDownload?getDownloadURL(i,t.lengthInDays.value,"",""):growl("We cannot offer maximum issue title at the moment, please try again later"),$("#maxIssuesPopup").modal("hide")}}function activateReservation(n,t,i){var u=new Date,r=JSON.stringify({productId:n,days:t,strTime:u,siteUserActionType:i});$.ajax({type:"POST",async:!1,url:baseRoot+"Product/ActivateReservation",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(){},error:function(){}})}function activateReservationAndReturnURL(){var t=$("#exclusiveProductId").val(),n=$("#exclusiveDays").val(),i=$("#exclusiveProductRequestType").val();n!="Select"?(activateReservation(t,n,i),getDownloadURL(t,n,"",""),$("#exclusivePopup").modal("hide")):growl("You must select a number of days")}function getQuizURL(n,t){$.ajax({type:"POST",async:!1,url:"Product/GetQuizURL?quizNumber="+n+"&strTimestamp="+t,contentType:"json",success:function(n){n.errorStatus==1?window.open(n.url,"_blank"):growl(n.error)},error:function(n,t,i){growl(i)}})}function getPreviewOnlineURL(n){$.ajax({type:"POST",timeout:3e4,async:!1,url:baseRoot+"Product/PreviewOnline?productId="+n,contentType:"application/json; charset=utf-8",dataType:"json",success:function(n){if(n.isPreviewAllowed){var t=n.url;t!=""&&window.open(t,"_blank"),window.location=window.location}else n.isSearchable?growl("Only one preview of a title allowed within "+n.previewDayLimit+" days."):growl("This product is not available.")},error:function(n){growl(n.StatusDescription)}})}function requestAccess(){var t=function(n){return!$(n).is("[type=hidden]")},n={name:new DomObj($("#suggestBook-username"),"Name",t("#suggestBook-username")),email:new DomObj($("#suggestBook-userEmail"),"Email",t("#suggestBook-userEmail")),reason:new DomObj($("#suggestBook-justification"),"Reason for suggestion",t("#suggestBook-justification"),"Select"),weeks:new DomObj($("#suggestBook-weeks"),"Weeks",t("#suggestBook-weeks"),"Select"),faculty:new DomObj($("#suggestBook-faculty"),"Faculty/Department",t("#suggestBook-faculty"),"Select"),libraryno:new DomObj($("#suggestBook-libraryCard"),"Library Card Number",t("#suggestBook-libraryCard"),"Select"),txt1:new DomObj($("#suggestBook-freetext1"),"Question 1",t("#suggestBook-freetext1"),"Select"),txt2:new DomObj($("#suggestBook-freetext2"),"Question 2",t("#suggestBook-freetext2"),"Select"),txt3:new DomObj($("#suggestBook-freetext3"),"Question 3",t("#suggestBook-freetext3"),"Select"),txt4:new DomObj($("#suggestBook-freetext4"),"Question 4",t("#suggestBook-freetext4"),"Select"),txt5:new DomObj($("#suggestBook-freetext5"),"Question 5",t("#suggestBook-freetext5"),"Select")},r=new ErrorObj($("#suggestBook-alertContainer"),"Submission failed. Please check these inputs:"),i;if(r.reset(n),r.validate_checkForRequiredValues(n,"These inputs are required:"),n.email.isRequired&&r.validate_isEmailAddress(n.email,"Please enter a valid email address"),r.hasError)r.display_showErrorMessage();else{i=$("#modalButton-suggestBook-requestAccess"),i.addClass("disabled");var f=$("#suggestBook-requestType").val(),e=$("#suggestBook-productId").val(),u=JSON.stringify({freetextanswers:n.txt1.value+"|"+n.txt2.value+"|"+n.txt3.value+"|"+n.txt4.value+"|"+n.txt5.value+"|",name:n.name.value,email:n.email.value,reason:n.reason.value,weeks:n.weeks.value,faculty:n.faculty.value,libraryno:n.libraryno.value,type:f,productId:e});switch(f){case AccountProductAccessRequestTypeSuggestion:$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Product/RequestAccess",contentType:"application/json; charset=utf-8",dataType:"json",data:u,success:function(n){i.removeClass("disabled"),n.exists!=!0?n.success&&closeSuggest("Your recommendation has been sent"):closeSuggest("You have already recommended purchase of this book")},error:function(n){closeSuggest(n.statusText)}});break;case AccountProductAccessRequestTypeRentalManual:$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Product/RequestAccess",contentType:"application/json; charset=utf-8",dataType:"json",data:u,success:function(n){i.removeClass("disabled"),n.exists!=!0?n.success&&closeSuggest(n.message):closeSuggest("You already have a pending access request for this book")},error:function(n){closeSuggest(n.statusText)}});break;case AccountProductAccessRequestTypeRentalAutoPurchase:$("#autoPartial-inputs").hide(),$("#autoPartial-aquiringProgressContainer").show().focus(),$.ajax({type:"POST",timeout:3e4,async:!1,url:baseRoot+"Product/RequestAccess",contentType:"application/json; charset=utf-8",dataType:"json",data:u,success:function(n){if(i.removeClass("disabled"),n.exists!=!0){var t={Active:1,OnHold:2,RentalApproved:3,FullPurchase:4};n.AccountProductAccessRequestStatus==null?n.AccountProductAccessRequestId!=0?pollAccessRequests(n.AccountProductAccessRequestId,0,e):closeAutoAccess("Error requesting access, try again later"):n.AccountProductAccessRequestStatus==t.Active?alertCloseAutoSuccess("You already have a pending access request for this book","closeAlert();"):n.AccountProductAccessRequestStatus==t.OnHold?alertCloseAutoSuccess("You already have a pending access request for this book which is waiting for further consideration","closeAlert();"):n.AccountProductAccessRequestStatus==t.RentalApproved?alertCloseAutoSuccess("This title has already been approved for rental for you","closeAlert();window.location=window.location;"):n.AccountProductAccessRequestStatus==t.FullPurchase?alertCloseAutoSuccess("This title has already been purchased for you","closeAlert();window.location=window.location;"):alertCloseAutoSuccess("You already have a pending access request for this book","closeAlert();")}else closeAutoAccess("You already have a pending access request for this book")},error:function(n){closeAutoAccess(n.statusText)}});break;default:growl("Unknown Access Request Type, Please contact an administrator")}}}function ReadOnlinePollAccessRequestForNonPDALicences(n,t,i,r){pollAccessRequestForNonPDALicences(n,1,1,t,i,"","",r,"")}function DownloadPollAccessRequestForNonPDALicences(n,t,i,r,u,f){pollAccessRequestForNonPDALicences(n,1,2,"",t,i,r,u,f)}function pollAccessRequestForNonPDALicences(n,t,i,r,u,f,e,o,s){var h=JSON.stringify({accountProductAccessRequestId:n});$.ajax({type:"POST",async:!1,timeout:1e4,url:"Product/PollAccessRequest",contentType:"application/json; charset=utf-8",dataType:"json",data:h,success:function(h){if(t<10)switch(h.status){case"Active":t++,setTimeout(function(){pollAccessRequestForNonPDALicences(n,t,i,r,u,f,e,o,s)},2e3);break;case"FullPurchase":i==1?getReadOnlineURL(u,r,o):i==2&&getDownloadURL(u,f,e,o);break;case"Rejected":growl("Sorry. We are not able to acquire a licence.")}else growl("There was an error acquiring a licence. Please try again.")},error:function(){growl("There was an error acquiring a licence. Please try again.")}})}function pollAccessRequests(n,t,i){var r=JSON.stringify({accountProductAccessRequestId:n});$.ajax({type:"POST",async:!1,timeout:1e4,url:"Product/PollAccessRequest",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(r){if(t<10)switch(r.status){case"Active":t++,setTimeout(function(){pollAccessRequests(n,t,i)},2e3),$("#autoPartial-authorisingProgressBar").css("width",t*10+"%").attr("aria-valuenow",t*10),$("#autoPartial-authorisingProgressBar-count").text(t);break;case"Rejected":alertCloseAutoSuccess(r.message,"closeAlert(); window.location = baseRoot + 'Product/Index/"+i+"';");break;case"RentalApproved":alertCloseAutoSuccess(r.message,"closeAlert(); window.location = baseRoot + 'Product/Index/"+i+"';");break;case"FullPurchase":alertCloseAutoSuccess(r.message,"closeAlert(); window.location = baseRoot + 'Product/Index/"+i+"';");break;default:closeAutoAccess("Your request has been logged but we have no response yet, we will inform you of its progress")}else closeAutoAccess("Your request has been logged but we have no response yet, we will inform you of its progress")},error:function(){closeAutoAccess("We are unable to request access, at this time please try again later"),window.location=window.location}})}function closeSuggestBookPopUp(){$("#suggestBook").modal("hide"),$("#suggestBook-content").html("")}function closeSuggest(n){closeSuggestBookPopUp(),growl(n)}function closeAutoAccess(n){$("#autoPartial-inputs").show(),$("#autoPartial-aquiringProgressContainer").hide(),closeSuggestBookPopUp(),growl(n)}function alertCloseAutoSuccess(n,t){$("#autoPartial-inputs").show(),$("#autoPartial-aquiringProgressContainer").hide(),closeSuggestBookPopUp(),alert(n,t)}function openRequestAccessPopUp(n,t){var i=JSON.stringify({productId:n});$.ajax({type:"POST",timeout:3e4,async:!1,url:baseRoot+"Product/GetAccessRequestPopup",contentType:"application/json; charset=utf-8",dataType:"html",data:i,success:function(n){$("#suggestBook-content").html(n)},error:function(){closeSuggest("Error getting Access Request, please try again later")}}),$("#suggestBook-productId").val(n),$("#suggestBook-image").attr("src",t),$("#suggestBook").modal()}function openAddToBookshelf(n,t){$("#addToBookshelf-productId").val(n),$("#addToBookshelf-image").attr("src",t),$("#addToBookshelf-createBookshelf").val("");var i=$("#addToBookshelf-bookshelfId");i.val("0"),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Bookshelf/GetBookshelvesForUser",contentType:"application/json; charset=utf-8",dataType:"json",success:function(n){n.length>0&&(i.html(""),$.each(n,function(n,t){i.append($("<option>",{text:t.Name,value:t.BookshelfId}))}))},error:function(n){growl(n.statusText)}}),$("#addToBookshelf").modal()}function addToBookshelf(){var t={bookshelfId:new DomObj($("#addToBookshelf-bookshelfId"),"Existing Bookshelf",!1,["0"]),newName:new DomObj($("#addToBookshelf-createBookshelf"),"New Bookshelf Name",!1)},n=new ErrorObj($("#addToBookshelf-alertContainer"),"The following error occurred:"),i,u,r;n.reset(t),n.validate_atLeastOneInputHasAValue(t,"Select a bookshelf or create a new one."),i=50,n.validate_lengthLessThan(t.newName,i,"New bookshelf name can only be "+i+" characters long."),n.hasError?n.display_showErrorMessage():(u=$("#addToBookshelf-productId").val(),r=JSON.stringify({shelfId:t.bookshelfId.value,name:t.newName.value,productId:u}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Bookshelf/AddToBookshelf",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(n){n.success&&growl("Book added to shelf")},error:function(n){growl(n.statusText)}}),$("#addToBookshelf").modal("hide"))}function openRemoveFromBookshelf(n){$("#removeFromBookshelf-deleteTitleSrc").val(n),$("#removeFromBookshelf").modal("show")}function removeFromBookshelf(){var n=$("#removeFromBookshelf-deleteTitleSrc").val();window.location.href=n}function openAddToList(n,t,i){$("#addToReadingList-productId").val(n),$("#addToReadingList-image").attr("src",t).attr("alt","Cover for "+i+"..."),$("#addToReadingList-newListCategory").val(""),$("#addToReadingList-newListName").val("");var r=$("#addToReadingList-listId");r.html(""),$.ajax({url:baseRoot+"LibraryList/GetAllLibraryListNameAndId",type:"POST",asyn:!0,success:function(n){$(n.list).each(function(){r.append($("<option/>",{value:this.LibraryListId,text:this.Name}))})},error:function(){$("#addToReadingList").modal("hide"),growl("Error getting library lists")}}),r.prepend($("<option/>",{value:0,text:"Select"})).val(0),$("#addToReadingList").modal("show")}function addToReadingList(){var n={listId:new DomObj($("#addToReadingList-listId"),"Library list",!1,["0"]),newListCategory:new DomObj($("#addToReadingList-newListCategory"),"List category",!0),newListName:new DomObj($("#addToReadingList-newListName"),"List name",!0)},t=new ErrorObj($("#addToReadingList-alertContainer"),"Submission failed."),i,u,r;t.reset(n),t.validate_hasSelectedOrCreatedALibraryListToAddTo(n.listId,n.newListCategory,n.newListName,"Please enter or create a library list to add this title to. The following values are required to create a new library list."),i=100,t.validate_lengthLessThan(n.newListCategory,i,"New category name can only be "+i+" characters long."),t.validate_lengthLessThan(n.newListName,i,"New name can only be "+i+" characters long."),t.hasError?t.display_showErrorMessage():(u=$("#addToReadingList-productId").val(),r=JSON.stringify({listid:n.listId.value,groupname:n.newListCategory.value,name:n.newListName.value,productId:u}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"LibraryList/AddToLibraryList",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(){growl("Book added to library list")},error:function(n){growl(n.statusText)}}),$("#addToReadingList").modal("hide"))}function subscribeToReadingList(n,t,i){i.addClass("disabled");var u=$("button[data-name='unsubscribeFromLibraryList'][data-param-libraryListId='"+n+"']"),r=JSON.stringify({libraryListId:n});$.ajax({type:"POST",timeout:3e4,url:baseRoot+"LibraryList/SubscribeLibraryList",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(){i.addClass("hidden"),u.removeClass("hidden"),getSubscribedListsForSidebar(),growl("You have successfully subscribed to: "+t)},error:function(){growl("There was a problem subscribing to this library list")}}),i.removeClass("disabled")}function unsubscribeFromReadingList(n,t,i){i.addClass("disabled");var u=$("button[data-name='subscribeToLibraryList'][data-param-libraryListId='"+n+"']"),r=JSON.stringify({libraryListId:n});$.ajax({type:"POST",timeout:3e4,url:baseRoot+"LibraryList/UnsubscribeLibraryList",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(){i.addClass("hidden"),u.removeClass("hidden"),getSubscribedListsForSidebar(),growl("You have successfully unsubscribed from: "+t)},error:function(){growl("There was a problem unsubscribing from this library list")}}),i.removeClass("disabled")}function openRemoveFromLibraryList(n){$("#removeFromLibraryList-deleteTitleSrc").val(n),$("#removeFromLibraryList").modal("show")}function removeFromLibraryList(){var n=$("#removeFromLibraryList-deleteTitleSrc").val();window.location.href=n}function getSubscribedListsForSidebar(){$.ajax({type:"POST",timeout:3e4,url:baseRoot+"LibraryList/GetSubscribedLibraryListsPartial",dataType:"html",success:function(n){n!=""&&$("#sidebarLibraryList").html(n)},error:function(){}})}function setAdvancedSearchArea(n){var r=$("#allContentIdentifier").val(),i=$("#ownedContentIdentifier").val(),t=$("#FQ").val(r);n=="owned"&&t.val(i)}function openDeleteLibraryList(n,t,i){$("#deleteLibraryList-displayLibraryListName").html(n),$("#deleteLibraryList-displayLibraryListGroupName").html(t),$("#deleteLibraryList-deleteListSrc").val(i),$("#deleteLibraryList").modal("show")}function deleteLibraryList(){var n=$("#deleteLibraryList-deleteListSrc").val();window.location.href=n}function openGetLinkToLibraryList(){$("#libraryListGetLink").modal("show")}function openSaveSearch(n,t){$("#saveSearch-searchDescription").val(""),$("#saveSearch-searchTerm").val(t),$("#saveSearch-saveSearchQuery").val(n);var i=getBreadcrumb();i===undefined&&(i=""),$("#saveSearch-saveBreadCrumb").val(i),$("#saveSearch").modal()}function saveSearch(){var t={description:new DomObj($("#saveSearch-searchDescription"),"Search Description",!0)},n=new ErrorObj($("#saveSearch-alertContainer"),"Submission failed.");if(n.reset(t),n.validate_checkForRequiredValues(t,"This input is required:"),n.hasError)n.display_showErrorMessage();else{var u=$("#saveSearch-saveSearchQuery").val(),r=$("#saveSearch-saveBreadCrumb").val(),i=JSON.stringify({query:u,description:t.description.value,breadcrumb:r});$.ajax({type:"POST",timeout:3e4,url:baseRoot+"search/SaveSearch",contentType:"application/json; charset=utf-8",data:i,success:function(n){growl(n.message)},error:function(n,t,i){growl(n+" "+t+" "+i)}}),$("#saveSearch").modal("hide")}}function getSavedSearch(n){var i=$("#SavedSearchId").val(),t;i>0?(t=JSON.stringify({id:i}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Search/GetSavedSearch",contentType:"application/json; charset=utf-8",dataType:"json",data:t,success:function(t){$("#Title").val(t.title),$("#Author").val(t.author),$("#Keyword").val(t.keyword),$("#FQ").val(t.fq),$("#Series").val(t.series),$("#breadCrumb").text("Searched in: "+t.breadcrumb.substring(7)),$("#ContentType_"+t.contenttype).attr("checked","checked"),n&&($("#ArBookLevelFrom").val(t.booklvlfrom),$("#ArBookLevelTo").val(t.booklvlto)),$("button[data-name='deleteSavedSearch']").removeClass("hidden").show()},error:function(n){growl(n.statusText)}})):($("button[data-name='deleteSavedSearch']").hide(),$("#BreadCrumb").text(""))}function getBreadcrumb(){var n="";return jQuery.each($(".breadcrumb li"),function(){n+=$(this).text().replace("&","%26")+" > "}),n=n.substring(n.length/2,n.length-3).trim()}function openDeleteSavedSearch(){$("#deleteSavedSearch").modal()}function deleteSavedSearch(){var n=$("#SavedSearchId").val();n!=0&&($.ajax({type:"POST",timeout:3e3,async:!1,url:baseRoot+"Search/DeleteSearch/"+n,success:function(t){$("#SavedSearchId option[value="+n+"]").remove(),$("button[data-name='deleteSavedSearch']").hide(),$("#breadCrumb").text(""),$("#advancedSearch-searchForm").find("input[type=text], input[type=hidden][name=FQ]").val(""),growl(t.message)},error:function(n){growl(n.statusText)}}),$("#deleteSavedSearch").modal("hide"))}function buildEmailResponseProductDetails(){var u=window.location.href.toLowerCase().indexOf("/product/index")!=-1;if(u){var n="",f=$("#product-ean").text().trim(),r=$("#product-title").text().trim(),t=$("#product-author").text().trim(),i=$("#emailHelpdesk-message");n="\n\n\nProduct details:\n---------------------------------\nEan: "+f+"\nTitle: "+r+"\nAuthor: "+t,i.val(n)}}function openEmailLibraryHelpdesk(){$("#emailHelpdesk").modal("show")}function growl(n,t){$("#growlmessage").html(n).focus(),$("#growl").modal("show"),growlCloseOnTimeout(t)}function growlCloseOnTimeout(n){var t=growlGetDuration(n);t>0&&setTimeout(function(){growlPreventAutoCloseOnMouseHover()||$("#growl").modal("hide")},t)}function growlGetDuration(n){var t=AccessibilityObj.isPopupAutoClose();return t=="on"?0:$.isNumeric(n)?n:3e3}function growlPreventAutoCloseOnMouseHover(){return $(".modal-content:hover").length>0?!0:!1}function openEditAccountDetails(){$("#editAccountDetails").modal("show")}function saveEditAccountDetails(){var u=$("#modalButton-editAccountDetails-confirm"),n={firstName:new DomObj($("#editAccountDetails-firstName"),"First Name",!0),lastName:new DomObj($("#editAccountDetails-lastName"),"Last Name",!0),email:new DomObj($("#editAccountDetails-emailAddress"),"Email Address",!0)},t=new ErrorObj($("#editAccountDetails-alertContainer"),"Submission failed."),i,r;t.reset(n),t.validate_checkForRequiredValues(n,"These inputs are required:"),t.validate_isEmailAddress(n.email,"Please enter a valid email address"),t.hasError?t.display_showErrorMessage():(i=$("#editAccountDetails-userIdNumber").val(),r=JSON.stringify({Firstname:n.firstName.value,Lastname:n.lastName.value,Email:n.email.value,UserIdNumber:i}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Account/SaveEditAccountDetails",contentType:"application/json; charset=utf-8",dataType:"json",data:r,success:function(t){$("#accountDetails-FirstName").text(n.firstName.value),$("#accountDetails-LastName").text(n.lastName.value),$("#accountDetails-Email").text(n.email.value),growl(t.message)},error:function(n,t,i){growl(i)}}),$("#editAccountDetails").modal("hide"))}function openEditAccountPassword(){$("#editAccountPassword").modal("show")}function saveEditAccountPassword(){var n={oldPassword:new DomObj($("#editAccountPassword-oldPassword"),"Old Password",!0),newPassword:new DomObj($("#editAccountPassword-newPassword"),"New Password",!0),confirmPassword:new DomObj($("#editAccountPassword-confirmPassword"),"Confirm Password",!0)},t=new ErrorObj($("#editAccountPassword-alertContainer"),"The following errors occurred:"),r,i;t.reset(n),t.validate_checkForRequiredValues(n,"These inputs are required:"),t.validate_valuesMatch([n.newPassword,n.confirmPassword],"'New password' and 'Confirm password' must be the same."),t.validate_valuesNotMatch(n.oldPassword,n.newPassword,"These inputs must be different:"),t.validate_lengthGreaterThan(n.newPassword,9,"Your password must be longer than 8 characters."),t.hasError?t.display_showErrorMessage():(r=$("#editAccountPassword-userIdNumber").val(),i=JSON.stringify({UserIdNumber:r,OldPassword:n.oldPassword.value,NewPassword:n.newPassword.value,ConfirmPassword:n.confirmPassword.value}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Account/ChangePassword",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){growl(n.message)},error:function(n,t,i){growl(i)}}),$("#editAccountPassword").modal("hide"))}function saveRegistration(){var n={email:new DomObj($("#registration-email"),"Email Address",!0),password:new DomObj($("#registration-password"),"Password",!0),confirmPassword:new DomObj($("#registration-confirmPassword"),"Confirm Password",!0),gender:new DomObj($("input:radio[name='registration-gender']"),"Gender",!0,[undefined]),TCS:new DomObj($("#registration-TCS"),"Confirm House Rules",!0,[!1])},t=new ErrorObj($("#registration-alertContainer"),"The following errors occurred:"),i;t.reset(n),t.validate_checkForRequiredValues(n,"These inputs are required:"),t.validate_isEmailAddress(n.email,"Please enter a valid email address."),t.validate_valuesMatch([n.password,n.confirmPassword],"'"+n.password.friendlyName+"' and '"+n.confirmPassword.friendlyName+"' must be the same."),t.validate_lengthGreaterThan(n.password,9,"Your password must be longer than 8 characters."),t.validate_lengthLessThan(n.password,19,"Your password must be shorter than 20 characters."),t.hasError?t.display_showErrorMessage():(i=JSON.stringify({RegistrationEmail:n.email.value,RegistrationPassword:n.password.value,RegistrationConfirmPassword:n.confirmPassword.value,RegistrationGender:n.gender.value,TCS:n.TCS.value}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"Account/SaveRegistration",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){n.message=="Session has expired"?window.location=window.location:(growl(n.message),n.errorstatus==0&&$("#registration").modal("hide"))},error:function(){window.location=window.location}}))}function sendEmailResponse(){var n={name:new DomObj($("#emailHelpdesk-name"),"Name",!0),email:new DomObj($("#emailHelpdesk-from"),"Email",!0),subject:new DomObj($("#emailHelpdesk-subject"),"Subject",!0),message:new DomObj($("#emailHelpdesk-message"),"Message",!0),to:new DomObj($("#emailHelpdesk-to"),"Hidden 'To' address",!1)},t=new ErrorObj($("#emailHelpdesk-alertContainer"),"The following errors occurred:"),i;t.reset(n),t.validate_checkForRequiredValues(n,"These inputs are required:"),t.validate_isEmailAddress(n.email,"Please enter a valid email address."),t.hasError?t.display_showErrorMessage():(i=JSON.stringify({name:n.name.value,from:n.email.value,to:n.to.value,subject:n.subject.value,message:n.message.value}),$.ajax({type:"POST",timeout:3e4,url:baseRoot+"home/EmailResponse",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){growl(n.message)},error:function(){growl(response.message)}}),$("#emailHelpdesk").modal("hide"))}function logonValidate(){var i={username:new DomObj($("#usernameenter"),"Username ",!0),password:new DomObj($("#passwordenter"),"Password ",!0)},t=new ErrorObj($("#login_alertContainer"),"The following errors occurred:"),r;t.reset(i),t.validate_checkForRequiredValues(i,"These inputs are required:"),t.hasError?t.display_showErrorMessage():(r=$("#samsId").val()+"_"+i.username.value,$("#user").val(r),$("#login").submit())}function getOrganisation(n){var i={sams:new DomObj($("#sams"),"Organisation ID ",!0)},t=new ErrorObj($("#login_alertContainer"),"The following errors occurred:");t.reset(i),t.validate_checkForRequiredValues(i,"These inputs are required:"),t.hasError?t.display_showErrorMessage():(n=encodeURI(n),$.ajax({type:"POST",timeout:3e4,async:!1,url:baseRoot+"Account/GetOrganisation?accountCode="+n,success:function(t){if(t.Name!=null)$("#samsId").val(t.ID),$("#msg").text(t.Name),$("#Logon_submit").removeAttr("disabled"),$("#forgottenpassword").attr("href",$("#url_base_forgottenPassword").val()+"/?accountcode="+n);else{$("#samsId").val(""),$("#msg").text("");var r=new ErrorObj($("#login_alertContainer"),"No organisation found for that code.");r.reset(i),r.display_showErrorMessage(),$("#Logon_submit").attr("disabled","disabled")}},error:function(){var u=new ErrorObj($("#login_alertContainer"),"There was a error finding your organisation.");u.reset(i),u.display_showErrorMessage()}}))}function confirm(n,t,i,r){return $("#confirmBody").text(t),i!=null&&i!=""&&$("#confirmGo").val(i),$("#confirm").modal(),$("#confirmGo:not(.bound)").addClass("bound").click(function(){switch(typeof n){case"function":n(r),$("#confirm").modal("hide");break;case"object":window.location=n}}),!1}function alert(n,t){$("#alertBody").text(n),$("#alert").modal(),$("#alertokay").bind("click",function(){eval(t)})}function closeAlert(){$("#alert").modal("hide")}function openCreateBookshelf(){$("#createBookshelf").modal("show")}function createBookshelf(){var t={newBookshelfName:new DomObj($("#createBookshelf-newBookshelfName"),"New bookshelf name",!0)},n=new ErrorObj($("#createBookshelf-alertContainer"),"The following errors occurred:");n.reset(t),n.validate_checkForRequiredValues(t,"This input is required:"),n.hasError?n.display_showErrorMessage():($("#shelfname").val(t.newBookshelfName.value),$("#createBookshelf-form").submit())}function openDeleteBookshelf(n,t){$("#deleteBookshelf-displayBookshelfName").text(n),$("#deleteBookshelf-deleteBookshelfSrc").val(t),$("#deleteBookshelf").modal("show")}function deleteBookshelf(){var n=$("#deleteBookshelf-deleteBookshelfSrc").val();window.location.href=n}function openCreateLibraryList(){$("#createLibraryList").modal("show")}function createLibraryList(){var t={category:new DomObj($("#createLibraryList-newListCategory"),"Category",!0),name:new DomObj($("#createLibraryList-newListName"),"Name",!0)},n=new ErrorObj($("#createLibraryList-alertContainer"),"Submission failed.");n.reset(t),n.validate_checkForRequiredValues(t,"Please check these required inputs:"),n.hasError?n.display_showErrorMessage():($("#listname").val(t.category.value),$("#groupname").val(t.name.value),$("#createLibraryList-form").submit())}function getNotifications(){$.ajax({url:baseRoot+"Account/GetNotifications",type:"POST",async:!1,success:function(n){$("#notifications-listOfNotifications").html(n),$("#notifications-listOfNotifications").children().length==0?$("#notifications").modal("hide"):$("#notifications").modal("show")},error:function(){$("#notifications").modal("hide"),growl("Error getting notifications")}})}function openReservationPopup(n,t){t!=null&&$("#reservationMessage").text(t),$("#productId").val(n),$("#reservationDetails").modal()}function closeNotifications(){$.ajax({url:baseRoot+"Account/AcknowledgeNotifications",contentType:"application/json; charset=utf-8",dataType:"json",data:"",type:"POST",async:!0}),$("#notifications").modal("hide")}function stopLoginRedirect(n){$(n).attr("data-param-hasUserStopped","true"),$(n).attr("disabled","disabled");var t=$(n).attr("data-param-onStopMessageText");$("#loginRedirect_progressBar_caption").text(t).focus()}function cancelReservation(n){accountProductReservationId=n,confirm(doCancelReservation,"Are you sure you wish to cancel this reservation?","OK")}function doCancelReservation(){if(accountProductReservationId!=0){var n=JSON.stringify({accountProductReservationId:accountProductReservationId});$(".modal").modal("hide"),$.ajax({type:"POST",timeout:3e3,async:!1,url:baseRoot+"Account/CancelReservation",contentType:"application/json; charset=utf-8",dataType:"json",data:n,success:function(){$("#"+accountProductReservationId).remove(),$("#tabs-3 ul.res li").length==0&&$("#tabs-3 ul.res").html("<li><p>No Reservations outstanding</p></li>")},error:function(){growl(response.message)}})}}function extendLoan(n,t){if(t=="False")growl("Rental titles cannot be extended. The title will need to be requested again.");else{var i=JSON.stringify({loanId:n});$.ajax({type:"POST",async:!1,url:baseRoot+"Account/ExtendLoan",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){n.errorStatus==1?growl(n.message):($("#reservationDetails").modal("hide"),growl("Reservation failed"))},error:function(){growl("Error making reservation, please try again later.")}})}}function returnLoan(n){LoanId=n,confirm(doReturnLoan,"Are you sure you wish to return this loan early? This will also cancel any extension requests on this title","OK")}function doReturnLoan(){var n=JSON.stringify({loanId:LoanId});$.ajax({type:"POST",async:!1,url:baseRoot+"Account/CancelLoan",contentType:"application/json; charset=utf-8",dataType:"json",data:n,success:function(n){n.errorStatus==1?(growl("Loan returned"),window.location=window.location):($("#reservationDetails").modal("hide"),growl("Cancelling loan failed"))},error:function(){growl("Error cancelling loan, please try again later.")}})}function logError(n){var t=JSON.stringify({message:n});$.ajax({url:baseRoot+"Error/LogJSError",type:"POST",contentType:"application/json; charset=utf-8",data:t,success:function(){},error:function(){}})}function displayServerValidationMessagesOnLoad(n){var r="#"+n.attr("data-param-errorObj"),i={serverErrorMessage:new DomObj(n,"Server Error Message",!0)},t;i.serverErrorMessage.hasValue&&(t=new ErrorObj($(r),i.serverErrorMessage.value),t.reset(i),t.hasError=!0,t.display_showErrorMessage())}function validateEnquiryForm(){var t={name:new DomObj($("#Name"),"Name",!0),email:new DomObj($("#Email"),"Email",!0),enquiry:new DomObj($("#EnquiryText"),"Enquiry",!0)},n=new ErrorObj($("#SendEnquiry-alertContainer"),"Submission failed.");n.reset(t),n.validate_checkForRequiredValues(t,"Please check these required inputs:"),n.validate_isEmailAddress(t.email,"Please enter a valid "+t.email.friendlyName),n.hasError?n.display_showErrorMessage():$("#sendEnquiry").submit()}function validateForgottenPasswordFormAndSubmit(){var t={email:new DomObj($("#email"),"Email",!0)},n=new ErrorObj($("#forgottenPassword-alertContainer"),"Submission failed.");n.reset(t),n.validate_checkForRequiredValues(t,"Please check these required inputs:"),n.validate_isEmailAddress(t.email,"Please enter a valid "+t.email.friendlyName),n.hasError?n.display_showErrorMessage():$("#frmForgottenPassword").submit()}function socialSharing(n){var t=baseRoot+"/Share?service="+n;window.open(t,"","width=600, height=400",!1)}function confirmYearGroupWarning(){$.ajax({type:"POST",url:baseRoot+"Account/AgreeYearGroupWarning",success:function(){$("#yearGroupWarning").modal("hide")},error:function(){$("#yearGroupWarning").modal("hide"),growl("Sorry there has been an error, please try again later")}})}function toggleMenus(){var n=$("#navigation-facetsOnMobile"),r=$("#navigation-expandFacetsOnMobile"),i=$("#navigation-expandFacetsOnMobile-icon"),t=$("#navigation-expandFacetsOnMobile-text");n.hasClass("hidden-xs hidden-sm")?(n.removeClass("hidden-xs hidden-sm"),t.text("Hide Menus"),i.removeClass("fa-chevron-down").addClass("fa-chevron-up"),r.attr("aria-expanded",!0)):(n.addClass("hidden-xs hidden-sm"),t.text("Show Menus"),i.removeClass("fa-chevron-up").addClass("fa-chevron-down"),r.attr("aria-expanded",!1))}function toggleChevron(n){var i=$(n.target).prev(".panel-heading"),r=i.find("em.indicator"),u=i.find("span.sr-only"),t="";t=r.toggleClass("fa-chevron-down fa-chevron-up").hasClass("fa-chevron-up")==!0?"Section is expanded":"Section is collapsed",u.html(t)}var accountProductReservationId,LoanId=0,ddl=null,_siteUserActionTypeReadOnline=1,_siteUserActionTypeDownload=3,AccessibilityObj=function(){var n="on",f=function(t){var i=JSON.stringify({isLargeFontEnabled:t.largeFont.value==n,isHighContrastEnabled:t.highContrast.value==n,isHighlightLinksEnabled:t.highlightLinks.value==n,isUnderlineLinksEnabled:t.underlineLinks.value==n,isGreyscaleModeEnabled:t.greyscaleMode.value==n,isDyslexicFontEnabled:t.dyslexicFont.value==n,isPopupAutoCloseEnabled:t.popupAutoClose.value==n});$.ajax({type:"POST",timeout:3e4,url:"Account/SaveAccessibilitySettings",contentType:"application/json; charset=utf-8",dataType:"json",data:i,success:function(n){return n},error:function(){return!1}})},t=function(){return{largeFont:new DomObj($("input:radio[name='editAccessibilitySettings-fontSize']"),"Large Font",!0),highContrast:new DomObj($("input:radio[name='editAccessibilitySettings-highContrast']"),"High Contrast",!0),highlightLinks:new DomObj($("input:radio[name='editAccessibilitySettings-highlightLinks']"),"Highlight Links",!0),underlineLinks:new DomObj($("input:radio[name='editAccessibilitySettings-underlineLinks']"),"Underline Links",!0),greyscaleMode:new DomObj($("input:radio[name='editAccessibilitySettings-greyscaleMode']"),"Greyscale Mode",!0),dyslexicFont:new DomObj($("input:radio[name='editAccessibilitySettings-dyslexicFont']"),"Dyslexic Font",!0),popupAutoClose:new DomObj($("input:radio[name='editAccessibilitySettings-popupAutoClose']"),"Prevent popup Auto Close",!0)}},e=function(t){var i=function(t,i){var u="/VleWeb/Public/CSS/",r;t.value==n?(r={rel:"stylesheet",type:"text/css",href:u+i+".css",name:i},$("<link/>",r).appendTo("head")):$("link[name='"+i+"']").remove()};i(t.largeFont,"accessibility-largeFont"),i(t.highContrast,"accessibility-highContrast"),i(t.highlightLinks,"accessibility-yellowLinks"),i(t.underlineLinks,"accessibility-underlineLinks"),i(t.greyscaleMode,"accessibility-grayscale"),i(t.dyslexicFont,"accessibility-dyslexicFont")},u=function(){var n=t();return n.popupAutoClose.value},i=function(){var n=t();f(n),e(n)};return{isPopupAutoClose:u,saveAndUpdate:i}}();$(window).on("load",function(){var n=window.location.toString();n.toLowerCase().indexOf("http://www.")==-1?$("base").attr("href",$("base").attr("href").replace("http://www.","http://")):n.toLowerCase().indexOf("https://www.")==-1&&$("base").attr("href",$("base").attr("href").replace("https://www.","https://"))});$(document).ready(function(){var t;if(typeof IsYeargroupWarningVisible!="undefined"&&IsYeargroupWarningVisible==!0&&$("#yearGroupWarning").modal("show"),baseRoot=$("base").attr("href"),$("#registration").modal({backdrop:"static",keyboard:!1}),setNavbarTab(),$("#loginRedirectShibboleth").length!=-1&&($("#loginRedirectShibboleth").modal("show"),setTimeout(function(){$("#loginRedirectShibboleth").hasClass("in")&&(window.location.href=$("#WAYFlessUrl").val())},500)),$("#loginRedirectFirefly").length!=-1&&($("#loginRedirectFirefly").modal("show"),setTimeout(function(){$("#loginRedirectFirefly").hasClass("in")&&(window.location.href=$("#SSOAuthenticationURL").val())},3e3)),$("loginRedirect_form").length!=-1)var n=5,i=$("#loginRedirect_progressBar"),r=setInterval(function(){$("#loginRedirect_stop").attr("data-param-hasUserStopped")=="false"?(n--,n==0&&$("#loginRedirect_form").submit(),$("#loginRedirect_secondsRemaining").text(n),i.css("width",n*20+"%").attr("aria-valuenow",n*20)):clearInterval(r)},1e3);getNotifications(),$("#serverErrorMessage").length!=-1&&displayServerValidationMessagesOnLoad($("#serverErrorMessage")),$("#SSOErrorMessage").length!=-1&&displayServerValidationMessagesOnLoad($("#SSOErrorMessage")),$(window).scroll(function(){$(this).scrollTop()>100?$(".scrollToTop").fadeIn():$(".scrollToTop").fadeOut()}),$(".scrollToTop").click(function(){return $("html, body").animate({scrollTop:0},800,function(){$("#main-content").focus()}),!1});$("[data-name='readOnline']").on("click",function(n){var t;if(n.preventDefault(),t=$(n.currentTarget).attr("data-param-isdownloadonly"),t=="True")growl("This title is only available for download");else{$(n.currentTarget).attr("disabled","disabled"),setTimeout(function(){$(n.currentTarget).removeAttr("disabled")},5e3);var u=$(n.currentTarget).attr("data-param-productId"),r=$(n.currentTarget).attr("data-param-page"),i=$(n.currentTarget).attr("data-param-src");getReadOnlineURL(u,r,i)}});$("[data-name='previewTitle']").on("click",function(n){var i,t;n.preventDefault(),i=$(n.currentTarget).attr("data-param-isdownloadonly"),i=="True"?growl("This title is not available for online preview"):($(n.currentTarget).attr("disabled","disabled"),setTimeout(function(){$(n.currentTarget).removeAttr("disabled")},5e3),t=$(n.currentTarget).attr("data-param-productId"),getPreviewOnlineURL(t))});$("[data-name='downloadDRMTitle']").on("click",function(n){var r=$(n.currentTarget).attr("data-param-productId"),u=$(n.currentTarget).attr("data-param-page"),t=$(n.currentTarget).attr("data-param-title"),i=$(n.currentTarget).attr("data-param-src");getDownloadURL(r,u,t,i)});$("[data-name='downloadNonDRMTitle']").on("click",function(n){var t=$(n.currentTarget).attr("data-param-ean");window.location=baseRoot+"Product/OpenContent/?ean="+t});$("[data-name='requestAccess']").on("click",function(n){n.preventDefault();var i=$(n.currentTarget).attr("data-param-productId"),t=$(n.currentTarget).attr("data-param-src");openRequestAccessPopUp(i,t)});$("[data-name='addToBookshelf']").on("click",function(n){n.preventDefault();var i=$(n.currentTarget).attr("data-param-productId"),t=$(n.currentTarget).attr("data-param-src");openAddToBookshelf(i,t)});$("[data-name='addToLibraryList']").on("click",function(n){n.preventDefault();var r=$(n.currentTarget).attr("data-param-productId"),i=$(n.currentTarget).attr("data-param-src"),t=$(n.currentTarget).attr("/data-param-title");openAddToList(r,i,t)});$("[data-name='removeFromBookshelf']").on("click",function(n){var t=$(n.currentTarget).attr("data-param-deleteTitleSrc");openRemoveFromBookshelf(t)});$("[data-name='removeFromLibraryList']").on("click",function(n){var t=$(n.currentTarget).attr("data-param-deleteTitleSrc");openRemoveFromLibraryList(t)});$("a[data-name='saveSearch']").on("click",function(n){var i=$(n.currentTarget).attr("data-param-searchQuery"),t=$(n.currentTarget).attr("data-param-searchTerm");openSaveSearch(i,t)});$("a[data-name='createBookshelf']").on("click",function(){openCreateBookshelf()});$("a[data-name='deleteBookshelf']").on("click",function(n){var i=$(n.currentTarget).attr("data-param-bookshelfTitle"),t=$(n.currentTarget).attr("data-param-deleteShelfSrc");openDeleteBookshelf(i,t)});$("[data-name='createLibraryList']").on("click",function(){openCreateLibraryList()});$("[data-name='deleteLibraryList']").on("click",function(n){var r=$(n.currentTarget).attr("data-param-libraryListName"),i=$(n.currentTarget).attr("data-param-libraryListGroupName"),t=$(n.currentTarget).attr("data-param-deleteShelfSrc");openDeleteLibraryList(r,i,t)});$("button[data-name='subscribeToLibraryList']").on("click",function(n){var r=$(n.currentTarget).attr("data-param-libraryListId"),i=$(n.currentTarget).attr("data-param-libraryListGroupName"),t=$(n.currentTarget);subscribeToReadingList(r,i,t)});$("button[data-name='unsubscribeFromLibraryList']").on("click",function(n){var r=$(n.currentTarget).attr("data-param-libraryListId"),i=$(n.currentTarget).attr("data-param-libraryListGroupName"),t=$(n.currentTarget);unsubscribeFromReadingList(r,i,t)});$("button[data-name='getLinkToLibraryList']").on("click",function(){openGetLinkToLibraryList()});$("button[data-name='deleteSavedSearch']").on("click",function(){openDeleteSavedSearch()});$("button[data-name='editAccountDetails']").on("click",function(){openEditAccountDetails()});$("button[data-name='editAccountPassword']").on("click",function(){openEditAccountPassword()});$("button[data-name='accountExtendLoan']").on("click",function(n){var i=$(n.currentTarget).attr("data-param-loanId"),t=$(n.currentTarget).attr("data-param-canExtend");extendLoan(i,t)});$("button[data-name='accountCancelReservation']").on("click",function(n){var t=$(n.currentTarget).attr("data-param-reservationId");cancelReservation(t)});$("button[data-name='openAccessibilitySettings']").on("click touchstart",function(){openAccessibilitySettings()});$("button[data-name='openEmailLibraryHelpdesk']").on("click",function(){buildEmailResponseProductDetails(),openEmailLibraryHelpdesk()});$("#loginRedirect_stop").on("click",function(n){stopLoginRedirect(n.currentTarget)});$("#loginRedirect_login").on("click",function(){$("#loginRedirect_form").submit()});$("#sendEnquiry_submit").on("click",function(n){n.preventDefault(),validateEnquiryForm()});$("#forgottenPassword_submit").on("click",function(n){n.preventDefault(),validateForgottenPasswordFormAndSubmit()});$("#navigation-expandFacetsOnMobile").on("click",function(){toggleMenus()});$("[data-name='footer-social-facebook'], [data-name='footer-social-twitter']").on("click",function(n){var t=$(n.currentTarget).attr("data-param-serviceId");socialSharing(t)});$("[data-name='arQuiz']").on("click",function(n){n.preventDefault();var r=new Date,i=r.getTime(),t=$(n.currentTarget).attr("data-quizNumber");getQuizURL(t,i)});$("#suggestBook").on("click","#modalButton-suggestBook-requestAccess",function(){requestAccess()});$("#addToReadingList").on("click","#modalButton-addToReadingList-addToList",function(){addToReadingList()}).on("keypress","form",function(n){n.which==13&&(n.preventDefault(),addToReadingList())});$("#addToBookshelf").on("click","#modalButton-addToBookshelf-addToBookshelf",function(){addToBookshelf()}).on("keypress","form",function(n){n.which==13&&(n.preventDefault(),addToBookshelf())});$("#saveSearch").on("click","#modalButton-saveSearch-saveSearch",function(){saveSearch()}).on("keypress","form",function(n){n.which==13&&(n.preventDefault(),saveSearch())});$("#removeFromBookshelf").on("click","#modalButton-removeFromBookshelf-remove",function(){removeFromBookshelf()});$("#createBookshelf").on("click","#modalButton-createBookshelf-create",function(){createBookshelf()});$("#deleteBookshelf").on("click","#modalButton-deleteBookshelf-delete",function(){deleteBookshelf()});$("#createLibraryList").on("click","#modalButton-createLibraryList-create",function(){createLibraryList()});$("#deleteLibraryList").on("click","#modalButton-deleteLibraryList-delete",function(){deleteLibraryList()});$("#deleteSavedSearch").on("click","#modalButton-deleteSavedSearch-delete",function(){deleteSavedSearch()});$("#removeFromLibraryList").on("click","#modalButton-removeFromLibraryList-remove",function(){removeFromLibraryList()});$("#editAccountDetails").on("click","#modalButton-editAccountDetails-confirm",function(){saveEditAccountDetails()}).on("keypress","form",function(n){n.which==13&&(n.preventDefault(),saveEditAccountDetails())});$("#editAccountPassword").on("click","#modalButton-editAccountPassword-confirm",function(){saveEditAccountPassword()}).on("keypress","form",function(n){n.which==13&&(n.preventDefault(),saveEditAccountPassword())});$("#downloadLoanLength").on("click","#modalButton-downloadPopup-confirmDownload",function(){var r=$("#downloadLoanLength-productId").val(),i=$("#downloadLoanLength-loanDays").val(),t=$("#downloadLoanLength-Jacket").attr("src");getDownloadURL(r,i,"",t)});$("#maxIssuesPopup").on("click","#modalButton-maxIssuesPopup-confirmDownload",function(){maxIssuesSetLength()});$("#notifications").on("click","#modalButton-notifications-confirm",function(){closeNotifications()});$("#registration").on("click","#modalButton-registration-confirm",function(){saveRegistration()});$("#LoginViewModel_submit").on("click",function(n){n.preventDefault(),ipUserPassLoginValidate()});$("#RegisterViewModel_submit").on("click",function(n){n.preventDefault(),ipUserPassRegisterValidate()});$("#Logon_submit").on("click",function(n){n.preventDefault(),logonValidate(n)});$("#editAccessibilitySettings").on("click","#modalButton-editAccessibilitySettings-confirm",function(){saveAccessibilitySettings()});$("#emailHelpdesk").on("click","#modalButton-emailHelpdesk-send",function(){sendEmailResponse()});$("#yearGroupWarning").on("click","#modalButton-yearGroupWarning-accept",function(){confirmYearGroupWarning()});$("#reservationDetails").on("click","#modalButton-reservationDetails-confirm",function(){createReservation()});$("#reservationDetails").on("click",'button[data-dismiss="modal"]',function(){});$("#login").on("blur","#sams",function(n){getOrganisation($(n.currentTarget).val())});$("#addToReadingList").on("change","#addToReadingList-listId",function(n){$(n.currentTarget).val()!=0&&($("#addToReadingList-newListCategory").val(""),$("#addToReadingList-newListName").val(""))});$("#addToReadingList").on("blur","input",function(n){$(n.currentTarget).val()!=""&&$("#addToReadingList-listId").val(0)});$("#addToBookshelf").on("change","#addToBookshelf-bookshelfId",function(n){$(n.currentTarget).val()!=0&&$("#addToBookshelf-createBookshelf").val("")});$("#addToBookshelf").on("blur","input",function(n){$(n.currentTarget).val()!=""&&$("#addToBookshelf-bookshelfId").val(0)});$("#SavedSearchId").on("change",function(n){var t=$(n.currentTarget).attr("data-param-isArQuizEnabled");getSavedSearch("@IsARQuizEnabled".toLowerCase()==="true")});$("#ContentType_1").on("click",function(){setAdvancedSearchArea("owned")});$("#ContentType_2").on("click",function(){setAdvancedSearchArea("all")});$("#accessibilityOptions label").on("click",function(n){var t=$(n.currentTarget).attr("for");$("input[type='radio'][data-name='"+t+"']").not(":checked").prop("checked",!0)});$("#downloadTitle-PageLoaded").length&&(t=$("#downloadTitle-PageLoaded").attr("data-param-loanId"),refreshLink(t,0));$("#facets").on("hidden.bs.collapse",toggleChevron);$("#facets").on("shown.bs.collapse",toggleChevron);$(window.document).on("shown.bs.modal",".modal",function(){window.setTimeout(function(){$('[aria-label="Close dialog button"]',this).focus(),$(".modal-dialog",this).draggable({handle:".modal-header"})}.bind(this),100)})})