|
|
@@ -109,6 +109,36 @@
|
|
|
</section>
|
|
|
</div>
|
|
|
|
|
|
+<div class="free-ticket-error-45" id="freeTicketError45Modal" role="dialog" aria-modal="true"
|
|
|
+ aria-label="Free Tickets Are Sold Out" hidden>
|
|
|
+ <div class="free-ticket-error-45__backdrop" data-free-ticket-error-45-close></div>
|
|
|
+ <section class="free-ticket-error-45__panel">
|
|
|
+ <img class="free-ticket-error-45__image"
|
|
|
+ src="~/Millions/assets/images/free-ticket-error-45-no-text.png"
|
|
|
+ alt="" aria-hidden="true" />
|
|
|
+ <strong class="free-ticket-error-45__copy free-ticket-error-45__copy--ticket-free">@Lang.free_ticket_error_45_ticket_free</strong>
|
|
|
+ <strong class="free-ticket-error-45__copy free-ticket-error-45__copy--ticket-tickets">@Lang.free_ticket_error_45_ticket_tickets</strong>
|
|
|
+ <strong class="free-ticket-error-45__copy free-ticket-error-45__copy--ticket-sold-out">@Lang.free_ticket_error_45_ticket_sold_out</strong>
|
|
|
+ <h2 class="free-ticket-error-45__copy free-ticket-error-45__copy--title">
|
|
|
+ @Lang.free_ticket_error_45_title <span>@Lang.free_ticket_error_45_title_emphasis</span>
|
|
|
+ </h2>
|
|
|
+ <p class="free-ticket-error-45__copy free-ticket-error-45__copy--description">@Lang.free_ticket_error_45_description</p>
|
|
|
+ <strong class="free-ticket-error-45__copy free-ticket-error-45__copy--next-title">@Lang.free_ticket_error_45_next_title</strong>
|
|
|
+ <p class="free-ticket-error-45__copy free-ticket-error-45__copy--next-primary">@Lang.free_ticket_error_45_next_primary</p>
|
|
|
+ <p class="free-ticket-error-45__copy free-ticket-error-45__copy--next-secondary">@Lang.free_ticket_error_45_next_secondary</p>
|
|
|
+ <span class="free-ticket-error-45__copy free-ticket-error-45__copy--buy">@Lang.millions_buy_ticket_label</span>
|
|
|
+ <span class="free-ticket-error-45__copy free-ticket-error-45__copy--close">@Lang.millions_close</span>
|
|
|
+ <p class="free-ticket-error-45__copy free-ticket-error-45__copy--footer">@Lang.free_ticket_error_45_footer</p>
|
|
|
+ <button type="button" class="free-ticket-error-45__action free-ticket-error-45__action--dismiss-icon"
|
|
|
+ data-free-ticket-error-45-close aria-label="@Lang.millions_close"></button>
|
|
|
+ <a class="free-ticket-error-45__action free-ticket-error-45__action--buy"
|
|
|
+ href="@Url.Action("BuyTicket", "Home", new { area = "Millions" })"
|
|
|
+ aria-label="@Lang.millions_buy_ticket_label"></a>
|
|
|
+ <button type="button" class="free-ticket-error-45__action free-ticket-error-45__action--close"
|
|
|
+ data-free-ticket-error-45-close aria-label="@Lang.millions_close"></button>
|
|
|
+ </section>
|
|
|
+</div>
|
|
|
+
|
|
|
<script>
|
|
|
(function () {
|
|
|
var popup = document.querySelector('.free-ticket-popup');
|
|
|
@@ -116,8 +146,10 @@
|
|
|
var resultModal = document.getElementById('freeTicketResultModal');
|
|
|
var error43Modal = document.getElementById('freeTicketError43Modal');
|
|
|
var error44Modal = document.getElementById('freeTicketError44Modal');
|
|
|
+ var error45Modal = document.getElementById('freeTicketError45Modal');
|
|
|
var error43ReturnFocus = null;
|
|
|
var error44ReturnFocus = null;
|
|
|
+ var error45ReturnFocus = null;
|
|
|
if (!popup) return;
|
|
|
|
|
|
function showFreeTicketResult(result) {
|
|
|
@@ -192,6 +224,37 @@
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ function showFreeTicketError45() {
|
|
|
+ if (!error45Modal) return false;
|
|
|
+
|
|
|
+ error45ReturnFocus = document.activeElement;
|
|
|
+ error45Modal.hidden = false;
|
|
|
+ document.body.classList.add('free-ticket-result-open');
|
|
|
+ var closeButton = error45Modal.querySelector('[data-free-ticket-error-45-close]');
|
|
|
+ if (closeButton) closeButton.focus();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ function closeFreeTicketError45() {
|
|
|
+ if (!error45Modal) return;
|
|
|
+
|
|
|
+ error45Modal.hidden = true;
|
|
|
+ document.body.classList.remove('free-ticket-result-open');
|
|
|
+ if (error45ReturnFocus && typeof error45ReturnFocus.focus === 'function') {
|
|
|
+ error45ReturnFocus.focus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (error45Modal) {
|
|
|
+ error45Modal.querySelectorAll('[data-free-ticket-error-45-close]').forEach(function (closeButton) {
|
|
|
+ closeButton.addEventListener('click', closeFreeTicketError45);
|
|
|
+ });
|
|
|
+
|
|
|
+ error45Modal.addEventListener('keydown', function (event) {
|
|
|
+ if (event.key === 'Escape') closeFreeTicketError45();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
if (resultModal) {
|
|
|
resultModal.querySelectorAll('[data-free-ticket-close]').forEach(function (closeButton) {
|
|
|
closeButton.addEventListener('click', function () {
|
|
|
@@ -259,6 +322,9 @@
|
|
|
if (responseCode === '44' && showFreeTicketError44(result)) {
|
|
|
return;
|
|
|
}
|
|
|
+ if (responseCode === '45' && showFreeTicketError45()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
var responseMessage = freeTicketMessages[responseCode]
|
|
|
|| (result && result.responseMessage)
|
|
|
|| 'Unable to get free ticket.';
|