1ACC.checkoutsummary = { 2 3 _autoload: [ 4 "bindAllButtons", 5 "bindScheduleReplenishment", 6 "replenishmentInit" 7 ], 8 9 bindAllButtons: function() 10 { 11 ACC.checkoutsummary.toggleActionButtons('.place-order-form'); 12 13 }, 14 15 toggleActionButtons: function(selector) { 16 17 var cssClass = $(document).find(selector); 18 var checkoutBtns = cssClass.find('.checkoutSummaryButton'); 19 var checkBox = cssClass.find('input[name=termsCheck]') 20 21 if(checkBox.is(':checked')) { 22 checkoutBtns.prop('disabled', false); 23 } 24 25 checkBox.on('click', function() { 26 var checked = $(this).prop('checked'); 27 28 if(checked) { 29 checkoutBtns.prop('disabled', false); 30 } else { 31 checkoutBtns.prop('disabled', true); 32 } 33 }); 34 }, 35 36 validateDate: function(date,dateFormat) { 37 var validDate = true; 38 try{ 39 $.datepicker.parseDate(dateFormat, date); 40 } catch(err){ 41 //Bad date detected 42 validDate = false; 43 } 44 return validDate; 45 }, 46 47 toggleReplenishmentScheduleDateError: function(showError) { 48 if (showError) { 49 var datePickerElem = $('#replenishmentSchedule .datepicker'); 50 if (!datePickerElem.hasClass('has-error')) { 51 datePickerElem.addClass('has-error'); 52 } 53 $('#errorReplenishmentStartDate').show(); 54 } else { 55 $('#replenishmentSchedule .datepicker').removeClass('has-error'); 56 $('#errorReplenishmentStartDate').hide(); 57 } 58 }, 59 60 bindScheduleReplenishment: function(data) 61 { 62 var form = $('#placeOrderForm1'); 63 var placeReplenishment = false; 64 65 $(document).on("click",".scheduleReplenishmentButton",function(e){ 66 e.preventDefault(); 67 68 var termChecked = $(this).closest("form").find('input[name=termsCheck]').is(':checked'); 69 form.find('input[name=termsCheck]').prop('checked', termChecked); 70 71 var titleHtml =$('.scheduleReplenishmentButton').first().html(); 72 73 ACC.colorbox.open(titleHtml,{ 74 href: "#replenishmentSchedule", 75 inline: true, 76 width:"620px", 77 onComplete: function(){ 78 ACC.checkoutsummary.toggleReplenishmentScheduleDateError(false); 79 $(this).colorbox.resize(); 80 placeReplenishment = false; 81 }, 82 onClosed: function() { 83 84 if (placeReplenishment) { 85 form.submit(); 86 } 87 88 $(".replenishmentOrderClass").val(false); 89 } 90 }); 91 92 $("input:radio[name=replenishmentRecurrence]").click(function() { 93 if ($("#replenishmentStartDate").val() != '') { 94 $('#replenishmentSchedule .js-replenishment-actions').show(); 95 } 96 switch(this.value) 97 { 98 case "DAILY": 99 100 $('.scheduleformD').show(); 101 $('.scheduleformW').hide(); 102 $('.scheduleformM').hide(); 103 104 break; 105 case "WEEKLY": 106 $('.scheduleformD').hide(); 107 $('.scheduleformW').show(); 108 $('.scheduleformM').hide(); 109 break; 110 default: 111 $('.scheduleformD').hide(); 112 $('.scheduleformW').hide(); 113 $('.scheduleformM').show(); 114 }; 115 116 117 $.colorbox.resize(); 118 }); 119 120 }); 121 122 $(document).on("click",'#replenishmentSchedule #cancelReplenishmentOrder', function (e) { 123 e.preventDefault(); 124 $(".replenishmentOrderClass").val(false); 125 $.colorbox.close(); 126 }); 127 128 $(document).on("click",'#replenishmentSchedule #placeReplenishmentOrder', function (e){ 129 e.preventDefault(); 130 131 var localeDateFormat = $('#replenishmentSchedule').data('dateForDatePicker'); 132 var dateEntered = $("#replenishmentStartDate").val(); 133 134 if(ACC.checkoutsummary.validateDate(dateEntered, localeDateFormat)){ 135 $(".replenishmentOrderClass").val(true); 136 placeReplenishment = true; 137 $.colorbox.close(); 138 } else{ 139 ACC.checkoutsummary.toggleReplenishmentScheduleDateError(true); 140 $.colorbox.resize(); 141 } 142 143 }); 144 145 $(document).on("change",'#replenishmentStartDate', function (e) { 146 ACC.checkoutsummary.toggleReplenishmentScheduleDateError(false); 147 $.colorbox.resize(); 148 }); 149 150 151 $(document).on("click",'#replenishmentSchedule .js-open-datepicker', function (){ 152 $('#replenishmentSchedule .hasDatepicker').datepicker('show'); 153 }); 154 155 }, 156 157 replenishmentInit: function () 158 { 159 var placeOrderFormReplenishmentOrder = $('#replenishmentSchedule').data("placeOrderFormReplenishmentOrder"); 160 var placeOrderFormReplenishmentRecurrence = $('#replenishmentSchedule').data("placeOrderFormReplenishmentRecurrence"); 161 var dateForDatePicker = $('#replenishmentSchedule').data("dateForDatePicker"); 162 var placeOrderFormNDays = $('#replenishmentSchedule').data("placeOrderFormNDays"); 163 var placeOrderFormNthDayOfMonth = $('#replenishmentSchedule').data("placeOrderFormNthDayOfMonth"); 164 165 if (placeOrderFormReplenishmentOrder === undefined) { 166 return; 167 } 168 169 // replenishment schedule data not set to cart yet 170 if (!placeOrderFormReplenishmentOrder) { 171 172 $('#replenishmentSchedule .js-replenishment-actions').hide(); 173 174 // default value for daily 175 $("input:radio[name='replenishmentRecurrence'][value=DAILY]").prop('checked', false); 176 $('.scheduleformD').hide(); 177 $("#nDays option[value=" + placeOrderFormNDays + "]").attr('selected', 'selected'); 178 179 // default value for weekly 180 $("input:radio[name='replenishmentRecurrence'][value=WEEKLY]").prop('checked', false); 181 $('.scheduleformW').hide(); 182 183 // default value for monthly 184 $("input:radio[name='replenishmentRecurrence'][value=MONTHLY]").prop('checked', false); 185 $('.scheduleformM').hide(); 186 187 if (placeOrderFormNthDayOfMonth != '') 188 $("#nthDayOfMonth option[value=" + placeOrderFormNthDayOfMonth + "]").attr('selected', 'selected'); 189 190 $("#replenishmentStartDate").val(""); 191 } 192 else { 193 switch(placeOrderFormReplenishmentRecurrence) 194 { 195 case "DAILY": 196 $('.scheduleformD').show(); 197 break; 198 case "WEEKLY": 199 $('.scheduleformW').show(); 200 break; 201 default: 202 $('.scheduleformM').show(); 203 }; 204 205 } 206 207 $(".js-replenishment-datepicker").datepicker({ 208 dateFormat: dateForDatePicker, 209 onClose: function() { 210 if ($(this).val() == '' ) { 211 $('#replenishmentSchedule .js-replenishment-actions').hide(); 212 } 213 else { 214 if ($("input:radio[name=replenishmentRecurrence]").is(':checked')) { 215 $('#replenishmentSchedule .js-replenishment-actions').show(); 216 $.colorbox.resize(); 217 } 218 } 219 220 } 221 }); 222 223 } 224 225};
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.