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.