PageSourceSearch

https://footballprizes.co.uk/wp-content/plugins/woocommerce-lotter…/js/wc-lottery-pn-public.js?ver=1.0.0.7

js footballprizes.co.uk collected 2026-10-06 20:48:49 UTC 9,468 bytes, 246 lines download raw bytes

1jQuery(document).ready(function($){
2
3	$('.wc-lottery-pn').on('click','ul:not(.working) li.tn:not(.taken, .in_cart)',function(e){
4
5		var max_qty = $('input[name=max_quantity]').val();
6		var current_number = $( this );
7		
8		if( max_qty <= 0 && ! current_number.hasClass('selected')){
9			$.alertable.alert(wc_lottery_pn.maximum_text);
10			return;
11		}
12		if($('.wc-lottery-pn').hasClass('guest')){
13			$.alertable.alert(wc_lottery_pn.logintext, { 'html' : true } );
14			return;
15		}
16		
17		$( this ).addClass('working');
18		$( '.tickets_numbers_tab' ).addClass('working');
19
20		var numbers = $( 'ul.tickets_numbers');
21		var lottery_id = numbers.data( 'product-id' );
22		var selected_number = $( this ).data( 'ticket-number' );
23
24		$('html, body').css("cursor", "wait");
25		numbers.addClass('working');
26
27		jQuery.ajax({
28			type : "get",
29			url : woocommerce_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'wc_lottery_get_taken_numbers' ),
30			data : { 'selected_number' : selected_number, 'lottery_id' : lottery_id, 'reserve_ticket' : wc_lottery_pn.reserve_ticket },
31			success: function(response) {
32
33				$( 'ul.tickets_numbers').children('li.tn').each(function(index, el) {
34					if( jQuery.inArray( $( this ).data( 'ticket-number' ).toString(), response.taken ) !== -1){
35						$( this ).addClass('taken');
36					}
37					if( jQuery.inArray( $( this ).data( 'ticket-number' ).toString(), response.in_cart ) !== -1){
38						$( this ).addClass('in_cart');
39					}
40					if( jQuery.inArray( $( this ).data( 'ticket-number' ).toString(), response.reserved ) !== -1){
41						$( this ).addClass('in_cart');
42					}
43				});
44				if( jQuery.inArray( selected_number.toString(), response.taken ) > 0) {
45					$.alertable.alert(wc_lottery_pn.sold_text);
46					numbers.removeClass('working');
47					$( '.tickets_numbers_tab' ).addClass('working');
48					current_number.removeClass('working');
49					return;
50				}
51				
52				if( jQuery.inArray( selected_number.toString(), response.in_cart ) > 0) {
53					$.alertable.alert(wc_lottery_pn.in_cart_text);
54					numbers.removeClass('working');
55					$( '.tickets_numbers_tab' ).addClass('working');
56					current_number.removeClass('working');
57					return;
58				}
59
60				if( jQuery.inArray( selected_number.toString(), response.taken ) === -1) {
61					current_number.toggleClass('selected');
62				}
63				var lottery_tickets_numbers = $('input[name=lottery_tickets_number]').val();
64				var lottery_tickets_numbers_array = [];
65				if( lottery_tickets_numbers ) {
66					lottery_tickets_numbers_array = lottery_tickets_numbers.split(',');	
67				}
68				if (current_number.hasClass('selected') && (jQuery.inArray(selected_number , lottery_tickets_numbers_array ) === -1)) {
69					lottery_tickets_numbers_array.push( parseInt(selected_number) );
70					$('input[name=lottery_tickets_number]').val( lottery_tickets_numbers_array.join(',') );
71					$('input[name=max_quantity]').val( parseInt(max_qty) - 1);
72				} else {
73					lottery_tickets_numbers_array = jQuery.grep(lottery_tickets_numbers_array, function(value) {
74					  return value != selected_number;
75					});
76					$('input[name=lottery_tickets_number]').val( lottery_tickets_numbers_array.join(',') );
77					$('input[name=max_quantity]').val( parseInt(max_qty) + 1);
78				}
79
80				$('input[name=quantity]:not(#qty_dip)').val( parseInt(lottery_tickets_numbers_array.length) ).trigger('change');
81				jQuery( document.body ).trigger('sa-wachlist-action',[response.taken,lottery_id, selected_number] );
82				$('html, body').css("cursor", "auto");
83				numbers.removeClass('working');
84				$( '.tickets_numbers_tab' ).addClass('working');
85				current_number.removeClass('working');
86
87				if ( $('input[name=quantity]:not(#qty_dip)').val() > 0) { 
88					$(':input[name=add-to-cart]').removeClass('lottery-must-pick');
89				} else { 
90					$(':input[name=add-to-cart]').addClass('lottery-must-pick');
91				}
92			},
93			error: function() {
94				numbers.removeClass('working');
95				$( '.tickets_numbers_tab' ).addClass('working');
96				current_number.removeClass('working');
97
98			}
99		});
100		
101		
102	});
103
104
105	$(document).on('click','.lottery-pn-answers li',function(e){
106		var answer_id = $(this).data('answer-id');
107		if($(this).hasClass('selected')){
108			answer_id = -2;
109		}
110		$('input[name=lottery_answer]').val( parseInt(answer_id) );
111		$(this).siblings("li.selected").removeClass("selected").removeClass("false");
112		$(this).toggleClass("selected");
113
114		if ( $('input[name=lottery_true_answers]').val() ) {
115			lottery_true_answers = $('input[name=lottery_true_answers]').val().split(',');
116
117			if( answer_id == -2) {
118				$(':input[name=add-to-cart]').addClass('lottery-must-answer-true');
119			}else if(jQuery.inArray( answer_id.toString(), lottery_true_answers ) === -1) {
120				$(this).toggleClass('false');
121				$(':input[name=add-to-cart]').addClass('lottery-must-answer-true');
122			} else{
123				$(':input[name=add-to-cart]').removeClass('lottery-must-answer-true');
124			}
125		}
126		if ( $('input[name=lottery_answer]').val() > 0) {
127			$(':input[name=add-to-cart]').removeClass('lottery-must-answer'); 
128			$('#lucky-dip, .lucky-dip-button').prop('disabled', false).prop('title', '').attr('alt', '');
129
130		} else { 
131			$(':input[name=add-to-cart]').addClass('lottery-must-answer');
132			$('#lucky-dip, .lucky-dip-button').prop('disabled', true).prop('title', wc_lottery_pn.please_answer).attr('alt', wc_lottery_pn.please_answer);
133		}
134	});
135	$(document).on('change','#lottery_answer_drop',function(e){
136		var answer_id = $(this).val();
137		$('input[name=lottery_answer]').val( parseInt(answer_id) );
138		if ( $('input[name=lottery_true_answers]').val() ) {
139			lottery_true_answers = $('input[name=lottery_true_answers]').val().split(',');
140			
141			if( jQuery.inArray( answer_id.toString(), lottery_true_answers ) === -1) {
142				$(this).toggleClass('false');
143				$(':input[name=add-to-cart]').addClass('lottery-must-answer-true');
144			} else{
145				$(':input[name=add-to-cart]').removeClass('lottery-must-answer-true');
146			}
147		}
148		if ( $('input[name=lottery_answer]').val() > 0) {
149			$(':input[name=add-to-cart]').removeClass('lottery-must-answer'); 
150			$('#lucky-dip, .lucky-dip-button').prop('disabled', false).prop('title', '').attr('alt', '');
151
152		} else { 
153			$(':input[name=add-to-cart]').addClass('lottery-must-answer');
154			$('#lucky-dip, .lucky-dip-button').prop('disabled', true).prop('title', wc_lottery_pn.please_answer).attr('alt', wc_lottery_pn.please_answer);
155		}
156	});
157
158
159	$(document).on('submit','.cart.pick-number', function(e){
160		var message = '';
161		var pass = true;
162		if ( $(':input[name=add-to-cart]').hasClass('lottery-must-pick') ){
163			message = message + wc_lottery_pn.please_pick;
164			pass = false;
165		}
166		if ( $(':input[name=add-to-cart]').hasClass('lottery-must-answer') ){
167			message = message + wc_lottery_pn.please_answer;
168			pass = false;
169		}
170		if ( $(':input[name=add-to-cart]').hasClass('lottery-must-answer-true') ){
171			message = message + wc_lottery_pn.please_true_answer;
172			pass = false;
173		}
174		if ( pass == false ){
175			$.alertable.alert(message).always(function() {
176				$('.cart.pick-number').find(':submit').removeClass('loading');
177			});
178			e.preventDefault();
179		}
180
181	});
182	$(document).on('click','.lucky-dip-button',function(e){
183		e.preventDefault();
184		if ( $(':input[name=add-to-cart]').hasClass('lottery-must-answer-true') ){
185			$.alertable.alert(wc_lottery_pn.please_true_answer)
186			return;
187		}
188		var lottery_answer = false;
189		var numbers = $( 'ul.tickets_numbers');
190		var lottery_id = $(this).data( 'product-id' );
191		var qty = parseInt( $(this).parent().find('input[name="qty_dip"]').val() );
192		var max_qty = parseInt( $('input[name=max_quantity]').val() );
193		var new_max_qty = max_qty - qty;
194		if( max_qty <= 0 ){
195			$.alertable.alert(wc_lottery_pn.maximum_text);
196			return;
197		}
198		if (  qty > max_qty ){
199			$.alertable.alert(wc_lottery_pn.maximum_add_text +' '+ max_qty);
200			return;
201		}
202		if ( $('input[name=lottery_answer]').val() > 0) {
203			lottery_answer = $('input[name=lottery_answer]').val();
204		}
205		$('.qty.lucky-dip').attr('max', new_max_qty)
206		$('input[name=max_quantity]').val(new_max_qty)
207		if ( new_max_qty < 1 ){
208			$('div.lucky_dip button').prop('disabled', true);
209		}
210
211		jQuery.ajax({
212			type : "get",
213			url : woocommerce_params.wc_ajax_url.toString().replace( '%%endpoint%%', 'wc_lottery_lucky_dip' ),
214			data : { 'lottery_id' : lottery_id, 'lottery_answer' : lottery_answer,'qty' : qty},
215			success: function(response) {
216				$.alertable.alert( response.message, { html : true } );
217				jQuery.each(response.ticket_numbers, function(index, value){
218					$( 'li.tn[data-ticket-number=' + value + ' ]' ).addClass('in_cart');
219				});
220				jQuery( document.body).trigger('lottery_lucky_dip_finished',[response,lottery_id] );
221				$('input[name=max_quantity]').val( parseInt(new_max_qty));
222				$('.qty.lucky-dip').val('1');
223				$(document.body).trigger('wc_fragment_refresh');
224				$(document.body).trigger('added_to_cart');
225			},
226			error: function() {
227
228			}
229		});
230		$(document.body).trigger('wc_fragment_refresh');
231		$(document.body).trigger('added_to_cart');
232
233		e.preventDefault();
234	});
235        
236        $('.button_lottery_tabs').on('click', function(e){
237            e.preventDefault();
238            let el            = $(this);
239            let numberRange   = el.data('numberrange');
240            $('.button_lottery_tabs').removeClass('ticket-tab-active');
241            $('.button-tab' + numberRange).addClass('ticket-tab-active');
242            $('.ticketnumber-tab-container').hide();
243            $('.tab' + numberRange).show();
244        });
245
246});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.