1 2var docReady = false; 3 4$(document).ready(function() { 5 docReady = true; 6 initQuantityButtonStatus(); 7}); 8 9function increaseQuantity(e, id) { 10 var quantityField = $(e).parent().find('[name$="[quantity]"]'); 11 var formId = '#' + $('form').attr('id'); 12 var max = 15; 13 var min = 0; 14 var fieldMax = $(quantityField).attr('max'); 15 var fieldMin = $(quantityField).attr('data-parsley-custom-min'); 16 if(typeof fieldMax !== typeof undefined && fieldMax !== false) { 17 max = fieldMax; 18 } 19 if(typeof fieldMin !== typeof undefined && fieldMin !== false) { 20 min = fieldMin; 21 } 22 23 var currQty = +quantityField.val(); 24 if (currQty < min) { 25 var changed = true; 26 var newQty = min; 27 } else if (currQty >= max) { 28 var newQty = max; 29 if (currQty === max) { 30 var changed = false; 31 } else { 32 var changed = true; 33 } 34 } else { 35 var newQty = currQty + 1; 36 var changed = true; 37 } 38 39 quantityField.val(newQty); 40 41 if (changed) { 42 // changed - run calculations 43 calculateOrder(formId); 44 45 //changed, trigger any ticket type popup if appropriate 46 process_popup(newQty, id); 47 } 48 49 updateInputQuantityButtons(quantityField); 50} 51 52function decreaseQuantity(e) { 53 var quantityField = $(e).parent().find('[name$="[quantity]"]'); 54 var formId = '#' + $('form').attr('id'); 55 var max = 15; 56 var min = 0; 57 var fieldMax = $(quantityField).attr('max'); 58 var fieldMin = $(quantityField).attr('data-parsley-custom-min'); 59 if(typeof fieldMax !== typeof undefined && fieldMax !== false) { 60 max = fieldMax; 61 } 62 if(typeof fieldMin !== typeof undefined && fieldMin !== false) { 63 min = fieldMin; 64 } 65 66 var currQty = +quantityField.val(); 67 if (currQty <= min) { 68 var newQty = 0 69 if (currQty === 0) { 70 var changed = false; 71 } else { 72 var changed = true; 73 } 74 } else { 75 var newQty = currQty - 1; 76 var changed = true; 77 } 78 79 quantityField.val(newQty); 80 81 if (changed) { 82 // changed - run calculations 83 calculateOrder(formId); 84 } 85 86 updateInputQuantityButtons(quantityField); 87} 88 89function initQuantityButtonStatus() { 90 $('.input.number input[type="number"]').each(function() { 91 updateInputQuantityButtons(this); 92 }); 93} 94function updateInputQuantityButtons(input) { 95 var qty = $(input).val(); 96 var floor = 0; 97 var min = $(input).attr('data-parsley-custom-min'); 98 var max = $(input).attr('max'); 99 var btnSubtract = $(input).parent().parent().find('.btn-input-subtract'); 100 var btnAdd = $(input).parent().parent().find('.btn-input-add'); 101 102 //double check to make sure someone didn't manually enter an illegal value 103 if (+qty > +floor && +qty < +min) { 104 $(input).val(min); 105 qty = min; 106 } else if(+qty < +floor) { 107 $(input).val(floor); 108 qty = floor; 109 } else if(+qty > +max) { 110 $(input).val(max); 111 qty = max; 112 } 113 114 if(+qty >= +max) { 115 btnAdd.addClass('disabled'); 116 } else { 117 btnAdd.removeClass('disabled'); 118 } 119 if(+qty <= +floor) { 120 btnSubtract.addClass('disabled'); 121 } else { 122 btnSubtract.removeClass('disabled'); 123 } 124}
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.