1/** 2 * авÑÐ¾ÐºÐ¾Ð¼Ð¿Ð»Ð¸Ñ 3 * подÑÑгиваем ÑпиÑок гоÑодов ajax`ом, даннÑе jsonp в завиÑмоÑÑи Ð¾Ñ Ð²Ð²ÐµÐ´ÑннÑÑ Ñимволов 4 */ 5(function($) { 6 var $regionsSelect = $('#regions-select'); 7 var $cdekCities = $('#cdek-cities-box'); 8 9 var totalPrice = $('#total-price').val(); 10 var $deliveries = $('.deliveries'); 11 var $btnBox = $('.cart-btn-box'); 12 13 var loaded = {'137': false, '136': false}; 14 15 // Russian post 16 var $rissianPostPrice = $('[for=delivery_11] .price'); 17 18 $regionsSelect 19 .on('change', '[name=cdekRegion]', function(){ 20 $('.deliveries-blank').css('display', 'block'); 21 $('.deliveries').css('display', 'none'); 22 23 $regionsSelect.find('[name=cdekCity]').addClass('hidden'); 24 25 $regionsSelect 26 .find('[name=cdekCity][data-region="' + $(this).find('option:selected').val() + '"]').removeClass('hidden') 27 .find('option').first().attr('selected', 'selected') 28 29 if($(this).find('option:selected').val() != '') 30 $cdekCities.removeClass('hidden') 31 else 32 $cdekCities.addClass('hidden') 33 34 $('[name=cdekCity]:not(.hidden)').change(); 35 36 // Russian post 37 $rissianPostPrice.text('(' + this.options[this.selectedIndex].getAttribute('data-price') + ')'); 38 }) 39 .on('change', '[name=cdekCity]', function(){ 40 var cityId = $(this).find('option:selected').val(); 41 42 $btnBox.addClass('not-ready'); 43 44 loaded['137'] = false; 45 loaded['136'] = false; 46 $deliveries.addClass('loading'); 47 48 //ÐÑли вÑбÑан гоÑод 49 if(cityId) 50 { 51 52 $('.deliveries-blank').css('display', 'none'); 53 $('.deliveries').css('display', 'block'); 54 55 $('.deliveries').find('.selected').removeClass('selected'); 56 $('.delivery-head').css('display', 'block'); //ÐÑли вÑбиÑаÑÑ ÑазнÑе гоÑода ÑбÑаÑÑваем ÑкÑÑÑÑе доÑÑавки 57 58 if(cityId != 462){ 59 $('[for = "delivery_9"]').css('display', 'none'); 60 } 61 62 if(cityId == 44){ //ÐÐ»Ñ Ð¼Ð¾ÑÐºÐ²Ñ Ñ Ð½Ð°Ñ ÑÐ²Ð¾Ñ Ð´Ð¾ÑÑавка 63 $('[for = "delivery_6"]').css('display', 'none'); 64 $('[for = "delivery_7"]').css('display', 'none'); 65 } 66 if(cityId == 137){ //ÐÐ»Ñ Ð¡ÐÐ Ñ Ð½Ð°Ñ ÑÐ²Ð¾Ñ Ð´Ð¾ÑÑавка 67 $('[for = "delivery_1"]').css('display', 'none'); 68 $('[for = "delivery_7"]').css('display', 'none'); 69 } 70 if(cityId != 44 && cityId != 137){ //ÐÑли не ÐСРи не СÐÐ, ÑкÑоем Ñвои ваÑианÑÑ 71 $('[for = "delivery_1"]').css('display', 'none'); 72 $('[for = "delivery_6"]').css('display', 'none'); 73 } 74 75 if(cityId == 462){ //ÐÐ»Ñ ÐºÐ¸Ð½ÐµÑÐ¼Ñ Ñ Ð½Ð°Ñ ÑÐ²Ð¾Ñ Ð´Ð¾ÑÑавка 76 $('[for = "delivery_3"]').css('display', 'none'); 77 $('[for = "delivery_7"]').css('display', 'none'); 78 $('[for = "delivery_8"]').css('display', 'none'); 79 $('[for = "delivery_9"]').css('display', 'block'); 80 } 81 82 $('#cdekCity').val(cityId) 83 $('#receiverCityId').val(cityId); 84 85 var formData = form2js('cart', '.', true); 86 formData['tariffId'] = 137; 87 88 $.ajax({ 89 url : 'https://api.cdek.ru/calculator/calculate_price_by_jsonp.php', 90 jsonp : 'callback', 91 data : { 92 "json" : JSON.stringify(formData) 93 }, 94 type : 'GET', 95 dataType : "jsonp", 96 success : function(data) { 97 console.log(data) 98 if(data.hasOwnProperty("result")) { 99 var deliveryPrice = parseInt(data.result.price) + (parseInt(data.result.price) + parseInt(totalPrice)) / 100 * 3; 100 $('.js-delivery-price-7').text('(' + deliveryPrice.toFixed() + ' ÑÑб)') 101 102 var description = 'СÑок доÑÑавки: ' + data.result.deliveryPeriodMin + '-' + data.result.deliveryPeriodMax + ' дн. + ÑÑок изгоÑовлениÑ.'; 103 104 if(data.result.hasOwnProperty("cashOnDelivery")) 105 if(data.result.cashOnDelivery > 0) 106 description += '<br>ÐгÑаниÑение оплаÑÑ Ð½Ð°Ð»Ð¸ÑнÑми, Ð¾Ñ ' + data.result.cashOnDelivery + ' ÑÑб.'; 107 108 $('.js-delivery-description-7').html(description + ' <p>ÐÑÑÑÑÑй ÑпоÑоб доÑÑавки наÑÐ¸Ñ ÐºÐ¾Ð²Ñиков поÑÑи в лÑбой Ñегион РоÑÑии. ÐоÑÑлка доÑÑавлÑеÑÑÑ Ðº Ðам кÑÑÑеÑом непоÑÑедÑÑвенно в ÑÑки.</p>') 109 } else { 110 $('[for = "delivery_7"]').css('display', 'none'); 111 $('.js-delivery-price-7').text(''); 112 113 $('.js-delivery-description-7').html(''); 114 for(var key in data["error"]) { 115 console.log(data["error"][key].text) 116 if(data["error"][key].text == 'Ðе задан гоÑод-полÑÑаÑелÑ')
117 $('.js-delivery-description-7').append('ÐÐ»Ñ ÑаÑÑеÑа ÑÑоимоÑÑи, вÑбеÑеÑе Ñегион и гоÑод' + '<br>') 118 } 119 $('.js-delivery-description-7').find('br').last().remove(); 120 } 121 122 loaded['137'] = true; 123 if(loaded['136'] == true) 124 $deliveries.removeClass('loading'); 125 } 126 }); 127 128 var formData = form2js('cart', '.', true); 129 formData['tariffId'] = 136; 130 131 $.ajax({ 132 url : 'https://api.cdek.ru/calculator/calculate_price_by_jsonp.php', 133 jsonp : 'callback', 134 data : { 135 "json" : JSON.stringify(formData) 136 }, 137 type : 'GET', 138 dataType : "jsonp", 139 success : function(data) { 140 console.log(data) 141 if(data.hasOwnProperty("result")) { 142 var deliveryPrice = parseInt(data.result.price) + (parseInt(data.result.price) + parseInt(totalPrice)) / 100 * 3; 143 $('.js-delivery-price-8').text('(' + deliveryPrice.toFixed() + ' ÑÑб)') 144 145 // 420 146 var description = 'СÑок доÑÑавки: ' + data.result.deliveryPeriodMin + '-' + data.result.deliveryPeriodMax + ' дн. + ÑÑок изгоÑовлениÑ.'; 147 148 if(data.result.hasOwnProperty("cashOnDelivery")) 149 if(data.result.cashOnDelivery > 0) 150 description += '<br>ÐгÑаниÑение оплаÑÑ Ð½Ð°Ð»Ð¸ÑнÑми, Ð¾Ñ ' + data.result.cashOnDelivery + ' ÑÑб.'; 151 152 $('.js-delivery-description-8').html(description + ' <p>ÐÑÑÑÑÑй ÑпоÑоб доÑÑавки наÑÐ¸Ñ ÐºÐ¾Ð²Ñиков поÑÑи в лÑбой Ñегион РоÑÑии. ÐоÑÑлка доÑÑавлÑеÑÑÑ Ð½Ð° Ñклад СÐÐРв ÐаÑем гоÑоде. ÐакÑималÑнÑй ÑÑок Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¾ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° пÑнкÑе вÑдаÑи - 14 дней Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñа пÑибÑÑиÑ.</p>') 153 } else { 154 $('[for = "delivery_8"]').css('display', 'none'); 155 $('.js-delivery-price-8').text(''); 156 157 $('.js-delivery-description-8').html(''); 158 for(var key in data["error"]) { 159 console.log(data["error"][key].text) 160 if(data["error"][key].text == 'Ðе задан гоÑод-полÑÑаÑелÑ') 161 $('.js-delivery-description-8').append('ÐÐ»Ñ ÑаÑÑеÑа ÑÑоимоÑÑи, вÑбеÑеÑе Ñегион и гоÑод' + '<br>') 162 } 163 $('.js-delivery-description-8').find('br').last().remove(); 164 } 165 166 loaded['136'] = true; 167 if(loaded['137'] == true) 168 $deliveries.removeClass('loading'); 169 } 170 }); 171 172 } 173 }); 174 175 $('[name=cdekCity]:not(.hidden)').change(); 176 177 $("#cart").submit(function(){ 178 if($('.deliveries label.selected').length < 1) 179 { 180 alert ('ÐÑбеÑиÑе ÑпоÑоб доÑÑавки'); 181 return false; 182 } 183 else 184 $btnBox.addClass('loading'); 185 186 //ÐÑпÑавка ÑобÑÑий в Analytics и меÑÑÐ¸ÐºÑ 187 ga('send', 'event','button','order'); 188 ym(43781309,'reachGoal','orderNew'); 189 ym(43781309,'reachGoal','orderNewFast'); 190 191 192 }); 193 194 $('.deliveries').delegate('.delivery-head','click',function(){ 195 196 $btnBox.removeClass('not-ready'); 197 }); 198})(window.jQuery);
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.