function ShowIsThisYouModal(n){var i="is-this-you-modal",t=parent.$("#"+i);t.length===0&&(parent.$("body").append('<div class="modal fade no-header alert-modal" id="'+i+'" tabindex="-1" role="dialog" aria-hidden="true"><div class="modal-dialog"><div class="modal-content"><div class="modal-body"><\/div><\/div><\/div><\/div>'),t=parent.$("#"+i));parent.$(".modal:visible").length>0&&t.css("z-index",parseInt(parent.$(".modal:visible").css("z-index"))+2);var r=t.find(".modal-body"),u='<div class="message-container">   <h3 style="margin-top:0px">Is This You?<\/h3>   <div class="" style="padding-bottom: 5px;">       <p>We found an existing user account with your email address - click below to login and make sure you receive the best member pricing!       <\/p>   <\/div><\/div>',f='<div class="buttons clearfix">   <a href="javascript:void(0);" class="btn btn-default" data-dismiss="modal" id="dismiss-button">Continue as guest<\/a>   <a href="javascript:void(0);" class="btn btn-primary" id="do-confirmed-action">Login<\/a><\/div>';return r.html(u),r.append(f),t.modal({backdrop:"static",keyboard:!1}),$(r).find("#do-confirmed-action").click(function(){t.modal("hide");n()}),t.modal(),parent.$(".modal:visible").length>0&&(t.css("z-index",parseInt(parent.$(".modal:visible").css("z-index"))+2),parent.$(".modal-backdrop:last").css("z-index",parseInt(parent.$(".modal:visible").css("z-index"))+1)),!1}function updateConvenienceFee(n){viewModel.ConvenienceFee(n)}function resetFormValidation(){$("#register-form").removeData("validator");$("#register-form").removeData("unobtrusiveValidation");$.validator.unobtrusive.parse("#register-form");$("#register-form").validate().settings.ignore=":hidden:not([class~=selectized]),:hidden > .selectized, .selectize-control .selectize-input input";$("form input[name*='Email'][type=text]").on("change paste input",function(){this.value=this.value.replace(/\s/g,"")})}function wireUpSelectize(n){$(n).find(".company-member").each(function(){WireUpAttendeeSelectize($(this))});$(n).find(".masked").each(function(){SetupMaskedInput($(this))});$(n).find("select.use-selectize-multi").each(function(){ApplySelectionLimits($(this))});$(".date-picker").each(function(){InitializeDatePicker($(this))});resetFormValidation();$(n).find(".selectized.required[name*='CustomField_']").bind("change",ValidateSelect)}function WireUpAttendeeSelectize(n){n.selectize($.extend({},attendeeSelectizeOptions,{create:n.data("create")}))}var viewModel={Attendees:ko.observableArray([]),Addons:ko.observableArray([]),ConvenienceFee:ko.observable(0),DiscountToApply:ko.observable(0),DiscountCode:ko.observable(""),DiscountPercent:ko.observable(0),DiscountTickets:ko.observableArray([]),DiscountError:ko.observable(""),ApplyingDiscount:ko.observable(!1),OverbookedMessage:ko.observable(""),OverbookedShortMessage:ko.observable(""),Tickets:ko.observableArray([]),Errors:ko.observable("").extend({notify:"always"}),Saving:ko.observable(!1),AllowSubmit:ko.observable(!0),CompanyMembers:ko.observableArray(companyMembers),GuestEmail:ko.observable()},ticketModel=function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y=this;this.ID=n;this.Name=t;this.Description=i;this.Taxable=r;this.CategoryDisplayOrder=e;this.DisplayOrder=o;this.Price=ko.observable(u);this.Quantity=ko.observable(f);this.Invoicing=ko.observable(s);this.IsDonation=h;this.ContinuingEducationUnits=c;this.AttendeeRequired=ko.observable(l);this.ShowOnForm=ko.observable(a);this.NoGuestsAllowed=ko.observable(v);this.SubTotal=ko.computed(function(){return y.Quantity()*y.Price()})},attendeeModel=function(n,t,i){var r=this;this.Ticket=n;this.TicketAttendeeNumber=t;this.FullName=ko.observable("");this.CompanyName=ko.observable("");this.AttendeeCustomerId=ko.observable(null);this.Email=ko.observable("");this.Phone=ko.observable("");this.CustomFieldHtml=ko.observable(i.replace(/number/g,t));this.IsCurrentUser=ko.observable(!1);this.FullName.subscribe(function(n){var t=ko.utils.arrayFirst(viewModel.CompanyMembers(),function(t){return t.ID==n}),i="Ticket_"+r.Ticket.ID+"_Attendee_"+r.TicketAttendeeNumber+"_CustomField_";$("[id^="+i+"]").each(ClearInput);t!=null&&(r.Email(t.Email),r.Phone(t.Phone),r.CompanyName(t.CompanyName),r.IsCurrentUser(t.IsCurrentUser),ko.utils.arrayForEach(t.CustomerCustomFields,function(n){var r="#"+i+n.CustomField_ID,t=$(r);t&&t[0]&&t[0].selectize?ko.utils.arrayForEach(n.Value.split(";"),function(n){t[0].selectize.addItem(n)}):t.is(":checkbox")?t.prop("checked",n.Value==="true"?!0:!1):t.val(n.Value)}),setTimeout(function(){$("[id^=AttendeeEmail]").change()},0))})},addonModel=function(n,t,i,r,u,f,e,o){var s=this;this.ID=n;this.Name=t;this.Description=i;this.Taxable=r;this.Subscription=u;this.Price=ko.observable(f);this.Quantity=ko.observable(e);this.AutoRenew=ko.observable(o);this.SubTotal=ko.computed(function(){return s.Quantity()*s.Price()})},ticketId,ticket,attendeeSelectizeOptions;viewModel.SubTotal=ko.pureComputed(function(){var n=0;return ko.utils.arrayForEach(viewModel.Tickets(),function(t){n+=t.SubTotal()}),ko.utils.arrayForEach(viewModel.Addons(),function(t){n+=t.SubTotal()}),n}).extend({notify:"always"});viewModel.TaxableSubTotal=ko.computed(function(){var n=0;return ko.utils.arrayForEach(viewModel.Tickets(),function(t){n+=t.Taxable?t.SubTotal():0}),n});viewModel.SubTotal.subscribe(function(n){n==0&&viewModel.ConvenienceFee(0)});viewModel.Discount=ko.computed(function(){var n=0;return viewModel.DiscountPercent()>0?(ko.utils.arrayForEach(viewModel.Tickets(),function(t){(viewModel.DiscountTickets().length==0||viewModel.DiscountTickets().indexOf(t.ID)>=0)&&!t.IsDonation&&(n+=t.SubTotal())}),n*viewModel.DiscountPercent()):viewModel.DiscountTickets().length>0?(ko.utils.arrayForEach(viewModel.Tickets(),function(t){viewModel.DiscountTickets().indexOf(t.ID)>=0&&!t.IsDonation&&(n+=t.SubTotal())}),Math.min(viewModel.DiscountToApply(),n)):(ko.utils.arrayForEach(viewModel.Tickets(),function(t){t.IsDonation||(n+=t.SubTotal())}),Math.min(viewModel.DiscountToApply(),n))});viewModel.DiscountTaxable=ko.computed(function(){var n=0;return ko.utils.arrayForEach(viewModel.Tickets(),function(t){(viewModel.DiscountTickets().length==0||viewModel.DiscountTickets().indexOf(t.ID)>=0)&&!t.IsDonation&&(n+=t.SubTotal())}),n>0?viewModel.TaxableSubTotal()/n*viewModel.Discount():0});viewModel.TaxTotal=ko.computed(function(){var n=0;return ko.utils.arrayForEach(viewModel.Tickets(),function(t){t.Taxable&&(n+=t.SubTotal())}),ko.utils.arrayForEach(viewModel.Addons(),function(t){t.Taxable&&(n+=t.SubTotal())}),n-=viewModel.DiscountTaxable(),parseFloat((Math.max(n,0)*taxRate).toFixed(2))});viewModel.Total=ko.pureComputed(function(){return viewModel.SubTotal()+viewModel.TaxTotal()+viewModel.ConvenienceFee()-viewModel.Discount()}).extend({notify:"always"});viewModel.Total.subscribe(function(n){n>0&&setTimeout(function(){$(".add-tooltip").tooltip()},200)});viewModel.ProcessPayment=ko.computed(function(){return viewModel.Total()>0&&!viewModel.Overbooked()});viewModel.TicketsToPost=ko.computed(function(){var n=[];return ko.utils.arrayForEach(viewModel.Tickets(),function(t){var i={};i.ID=t.ID;i.Quantity=t.Quantity();i.Price=t.Price();n.push(i)}),n});for(ticketId in unlockableTickets)ticket=unlockableTickets[ticketId],ticket.Unlocked=ko.computed(function(){var n=!1;return this.DependentTicketTypes.forEach(function(t){!n&&viewModel.Tickets().some(function(n){return n.ID===t})&&(n=!0)}),n},ticket),ticket.Unlocked.subscribe(function(n){n||setTimeout(function(){$("#ticket_quantity_input_"+ticket.ID).val(0).change()},200)});viewModel.AttendeesToPost=ko.computed(function(){var n=[];return ko.utils.arrayForEach(viewModel.Attendees(),function(t){var i={};i.Ticket_ID=t.Ticket.ID;i.FullName=t.FullName();i.CompanyName=t.CompanyName();i.Email=t.Email();i.Phone=t.Phone();n.push(i)}),n});viewModel.AddonsToPost=ko.computed(function(){var n=[];return ko.utils.arrayForEach(viewModel.Addons(),function(t){var i={};i.ID=t.ID;i.Quantity=t.Quantity();i.Price=t.Price();i.AutoRenew=t.AutoRenew();n.push(i)}),n});viewModel.AnySubscriptions=ko.computed(function(){return ko.utils.arrayFirst(viewModel.Addons(),function(n){return n.Subscription})!=null});viewModel.AnySubscriptions.subscribe(function(n){typeof onForceSaveCardUpdated=="function"&&onForceSaveCardUpdated(n);noviNs.initialForceSaveCard=n});viewModel.InvoiceWarningMessage=ko.computed(function(){var n=ko.utils.arrayFirst(viewModel.Tickets(),function(n){return!n.Invoicing()});return n?"Invoicing is not available for the selected ticket(s).":""});viewModel.InvoiceWarningMessage.subscribe(function(n){typeof onInvoiceWarningUpdated=="function"&&onInvoiceWarningUpdated(n);typeof onToggleInvoicingAllow=="function"&&onToggleInvoicingAllow(n?!1:!0)});viewModel.Overbooked=ko.computed(function(){var n=viewModel.Attendees().length,r=eventCapacity-n,t=r<0,i=eventCapacity>1?"s":"",u=n>1?"s":"";return t?(viewModel.OverbookedMessage("Event over capacity: The event has capacity for "+eventCapacity+" more attendee"+i+", but you have selected "+n+" ticket"+u+". Please update ticket selections above to reflect the available number."),viewModel.OverbookedShortMessage("Event only has "+eventCapacity+" ticket"+i+" available.")):(viewModel.OverbookedMessage(""),viewModel.OverbookedShortMessage("")),t});viewModel.Errors.subscribe(function(n){n?typeof onGeneralError=="function"&&onGeneralError(n):typeof onClearErrors=="function"&&onClearErrors()});viewModel.AllowSubmit.subscribe(function(n){typeof onToggleAllowSubmit=="function"&&onToggleAllowSubmit(n)});viewModel.Total.subscribe(function(n){typeof onTotalUpdated=="function"&&onTotalUpdated(n);noviNs.initialTotal=n});viewModel.Saving.subscribe(function(n){typeof onSavingUpdated=="function"&&onSavingUpdated(n)});attendeeSelectizeOptions={render:{option:function(n){var u=$(this)[0].$input.data("ticketid"),i=ko.utils.arrayFirst(existingAttendees,function(t){return t.MemberID==n.value&&t.TicketID==u})!=null,r=!1,t;return i||(t=ko.utils.arrayFirst(companyMembers,function(t){return t.ID==n.value}),t&&t.IneligibleTickets&&(r=t.IneligibleTickets.includes(u))),(i||r)&&(n.disabled=!0),"<div>"+n.text+(i?'<span class="second-line">Already Attending<\/span>':"")+(r?'<span class="second-line">Not Eligible<\/span>':"")+"<\/div>"}}};$.validator.unobtrusive.adapters.addBool("mandatory","required");$(function(){function t(){var n=[],t=[];$("#tickets tbody tr").each(function(){var r=$(this).find("td:last input:visible"),i,f,u,e,c,s,h,l,o;if(r.length!=0&&((r.val()==""||isNaN(r.val())||parseInt(r.val())<0)&&r.val("0"),i=Math.max(0,parseInt(r.val())),f=parseInt(r.attr("max")),$(this).find("td:last > .text-danger.ticket-quantity-error").toggleClass("hide",i<=f),$(this).find("td:last > .text-danger.event-overbook-error").toggleClass("hide",i==0),i>f&&(r.val(f),i=f),i>0)){for(u=$(this).find("input.price:visible"),u.length>0&&u.val()==""&&u.val("0"),e=Math.max(0,parseFloat(u.length>0?u.val():$(this).data("price"))),$(this).data("tiers")&&(c=$(this).data("tiers"),s=ko.utils.arrayFirst(c,function(n){return n.Minimum<=i&&(n.Maximum==null||n.Maximum>=i)}),s&&(e=s.Price),$(this).find(".price-per").html("$"+e.toFixed(2))),h=new ticketModel($(this).data("id"),$(this).find("td:first strong").html(),$(this).find(".description").html(),$(this).data("taxable"),e,i,$(this).closest(".ticket-category").index(),$(this).index(),$(this).data("invoice")!=!1,u.length>0,$(this).find(".continuingEducationUnits").html(),$(this).data("attendeerequired"),$(this).data("showonform"),$(this).data("noguestsallowed")),l=parseFloat($(this).data("seats")),o=1;o<=i*l;o++)t.push(new attendeeModel(h,o,$(this).find(".custom-fields").html()));n.push(h)}});viewModel.Tickets(n);f(t)}function f(t){var i=ko.utils.arrayFilter(viewModel.Attendees(),function(n){return ko.utils.arrayFirst(t,function(t){return t.Ticket.ID==n.Ticket.ID&&t.TicketAttendeeNumber==n.TicketAttendeeNumber})!=null}),r;ko.utils.arrayForEach(t,function(n){ko.utils.arrayFirst(viewModel.Attendees(),function(t){return n.Ticket.ID==t.Ticket.ID&&n.TicketAttendeeNumber==t.TicketAttendeeNumber})==null&&i.push(n)});r=viewModel.Attendees().length==0&&i.length>0;r&&$("#guest-form").length>0&&setTimeout(function(){var n=$("#register-form .member-fields select.company-member:first");n.length>0&&($("#GuestFirstName").val()+$("#GuestLastName").val()!=""&&n[0].selectize.createItem($("#GuestFirstName").val()+" "+$("#GuestLastName").val()),n.parents(".member-fields").find("input[name^=AttendeeEmail]").val($("#GuestEmail").val()),n.parents(".member-fields").find("input[name^=AttendeePhone]").val($("#GuestPhone").val()))},500);viewModel.Attendees(ko.utils.arrayFilter(i,function(n){return n.CustomFieldHtml()!=""}).sort(function(n,t){function i(n,t){return n==t?0:n>t?1:-1}return n.Ticket.CategoryDisplayOrder!==t.Ticket.CategoryDisplayOrder?i(n.Ticket.CategoryDisplayOrder,t.Ticket.CategoryDisplayOrder):n.Ticket.DisplayOrder!==t.Ticket.DisplayOrder?i(n.Ticket.DisplayOrder,t.Ticket.DisplayOrder):i(n.TicketAttendeeNumber,t.TicketAttendeeNumber)}));r&&n&&($("#register-form .attendee:first input:first").focus(),n=!1)}function i(){var n=[];$("#products tbody tr").each(function(){var l=$(this).data("id"),t=$(this).find("td:last input.quantity"),r=1,u,f,e,s,i,o,h,c;t.length>0&&(u=t.val(),f=t.data("maxAvailable")?+t.data("maxAvailable"):999,(u===""||isNaN(u))&&t.val(""),e=t.val()===""?-1:parseInt(t.val()),e>=0&&t.val(e),parseInt(t.val())>f&&(t.val(f),$("#max-available-msg_"+l).toggleClass("hide",!1)),r=Math.max(0,parseInt(t.val())));r>0&&(s=t.attr("max"),s&&r>1&&(t.val(1),r=1),i=$(this).find("input.price:visible"),i.length>0&&i.val()==""&&i.val("0"),o=Math.max(0,parseFloat(i.length>0?i.val():$(this).data("price"))),o>0&&(h=$(this).find("input[type=checkbox]").length>0?$(this).find("input[type=checkbox]").is(":checked"):!1,c=new addonModel($(this).data("id"),$(this).find("td:first strong").html(),$(this).find(".description").html(),$(this).data("taxable"),$(this).data("subscription"),o,r,h),n.push(c)))});viewModel.Addons(n)}function e(n){if(n)for(var t=0;t<n.split(",").length;t++)$("#ConfirmationEmail")[0].selectize.removeItem(n.split(",")[t].trim())}function r(){(u(),$("#Promo").val())&&(viewModel.ApplyingDiscount(!0),$.ajax({url:couponUrl,type:"POST",dataType:"json",data:AddAntiForgeryToken({code:$("#Promo").val(),eventID:eventID}),success:function(n){viewModel.ApplyingDiscount(!1);n.Status=="OK"?(n.DiscountAmount?viewModel.DiscountToApply(n.DiscountAmount):viewModel.DiscountPercent(n.DiscountPercent),viewModel.DiscountTickets(n.Tickets),viewModel.DiscountCode($("#Promo").val())):viewModel.DiscountError(n.Status)},error:function(n){viewModel.ApplyingDiscount(!1);viewModel.DiscountError(n.responseText)}}))}function u(){viewModel.DiscountToApply(0);viewModel.DiscountPercent(0);viewModel.DiscountCode("");viewModel.DiscountError("")}function o(){viewModel.GuestEmail()&&viewModel.GuestEmail().length!=0&&$.ajax({url:duplicateEmailUrl+"?email="+viewModel.GuestEmail(),type:"GET",success:function(n){n.hasDuplicate&&n.userId&&ShowIsThisYouModal(function(){$("#event-login-tab").tab("show");$("#Email").val(viewModel.GuestEmail());setTimeout(function(){$("#Password").focus()},500)})}})}$(".finish").attr("data-bind","visible: !viewModel.Saving() && !viewModel.Overbooked() && viewModel.AllowSubmit()");$("#GuestEmail").change(function(){$("#ConfirmationEmail").val()==""&&$("#ConfirmationEmail")[0].selectize.createItem($("#GuestEmail").val())});ko.applyBindings(viewModel);$("#tickets input").change(t);t();var n=!1;$("#tickets input:last").keydown(function(t){n=t.key=="Tab"&&!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey});$("#products input").change(i);i();$("[data-toggle=popover]").popover();$(document).on("change paste input",".member-fields input.email",function(n){var u=$(this).data("pre"),r,t,i;for(e(u),r=$(n.target),t=0;t<r.val().split(",").length;t++)i=r.val().split(",")[t].trim(),i&&$.inArray(i,$("#ConfirmationEmail")[0].selectize.items)<0&&($("#ConfirmationEmail")[0].selectize.createItem(i,!1),$(this).data("pre",$(this).val()))});$(".use-selectize").selectize({delimiter:" ",persist:!1,maxItems:null,createOnBlur:!0,create:function(n){if(new RegExp("^"+REGEX_EMAIL+"$","i").test(n))return{value:n,text:n};var t=n.match(new RegExp("^([^<]*)<"+REGEX_EMAIL+">$","i"));return t?{value:n,text:n}:!1}});$("#apply-coupon").click(r);$("#Promo").blur(r);$("#clear-coupon").click(function(){u()});$("#GuestEmail").change(o);$("#register-form").submit(function(n){var i=$(this),t=$("#guest-form"),r;if($("#must-login").toggleClass("hidden",$(".login-or-guest").length==0||$("#guest").hasClass("active")),!i.valid())return viewModel.Errors("There are issues with parts of your registration. Please double check your entries and try again."),!1;if(t.length>0&&!t.valid()||$("#must-login").length>0&&!$("#must-login").hasClass("hidden"))return viewModel.Errors("Please correct the errors shown in the registration contact form before submitting."),!1;if(viewModel.TicketsToPost().length==0)return viewModel.Errors("Please choose a ticket to purchase."),!1;if(viewModel.DiscountError())return viewModel.Errors(viewModel.DiscountError()+" Please double check your promo code before checking out."),!1;if($("#Promo").val()&&!viewModel.DiscountCode())return viewModel.Errors("It looks like you have an unapplied promo code entered. Please apply your code or clear the code before checking out."),!1;if(n.isDefaultPrevented()){viewModel.Errors("There are issues with parts of your registration. Please double check your entries and try again. ");return}return viewModel.Saving(!0),viewModel.Errors(""),r=t.length>0?t.serialize()+"&":"",$.ajax({url:i.attr("action"),type:"POST",dataType:"json",data:r+i.serialize(),success:function(n){n.Status==="OK"?window.location.href=confirmRegistrationUrl+"?eventId="+n.eventId+"&registrationId="+n.registrationId+"&checkout-success=true":(n.AllowResubmit===!1&&(viewModel.AllowSubmit(!1),n.Error="There was a problem completing your registration, please contact our staff to complete the process. Error Details: "+n.Error),viewModel.Errors(n.Error),viewModel.Saving(!1))},error:function(n){viewModel.Errors(n.responseText);viewModel.Saving(!1)}}),!1})});AddAntiForgeryToken=function(n){return n.__RequestVerificationToken=$("[name='__RequestVerificationToken']").val(),n}