1. JavaScript / Говнокод #13977

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    jQuery('#index_submit').click(function(){
    			var val = jQuery('#indexCity').val(),obj,
    				allWeightCeil = Math.ceil(allWeight/1000),
    				new_del_address = jQuery('#new_del_address');
    			if (val.toString() == parseFloat(val, 10) && val.length == 6) {
    				obj = answerFunc(val,allWeight,'info_zip');
    				if (obj != 'undefined' && obj != '') {
    					if (obj.cityname != '') {
    						jQuery('#cityIndex').text('Ваш город: '+obj.cityname); jQuery('#new_del_address').slideDown('normal');jQuery('#new_del_address>*').show();city_field.val(obj.cityname);index_field.val(val);
    						if (obj.cityname == 'Москва' || obj.cityname == 'Калуга') {
    								jQuery(".from_russia_block #selectPVZ_russia").show();
    								jQuery('#moscow').click();
    							} else {jQuery(".from_russia_block #selectPVZ_russia").hide();}
    							
    								jQuery('.from_russia_block input.deliv-radio').change(function(){
    									var thisRadio = jQuery(this),
    										percent = parseFloat(thisRadio.attr('percent'))/100,
    										procent_price = Math.ceil(actual_price * percent);
    										delivery = answerFunc(val,allWeight,'tarif');
    										
    										selectAddressPVZ = jQuery('.from_russia_block #selectPVZ_russia .address_moscow_select');
    										if (thisRadio.val() == '2072' || thisRadio.val() == '2073') {
    											var deliv = parseFloat(delivery.delivery_ways[0]["Стоимость"], 10),
    												textDel = deliv+' р.';
    											if (thisRadio.val() == '2073')  deliv = Math.ceil(deliv + procent_price);
    											textDel = deliv + ' р.';
    											thisRadio.parent().after(formAddress);
    											formAddress.slideDown('normal');
    										} else jQuery('#form_address').remove();
    										if (thisRadio.val() == '2077') {
    											thisRadio.parent().after(formAddress);
    											formAddress.slideDown('normal');
    										}
    									if (delivery.delivery_ways[1]){
    										if (thisRadio.val() == '2074' || thisRadio.val() == '2075') {
    											var deliv = parseFloat(delivery.delivery_ways[1]["Стоимость"], 10);
    											if (allWeightCeil>10){
    													deliv = deliv+((allWeightCeil-10)*100);
    												}
    											if (actual_price>3000 && allWeightCeil<10) {
    												deliv = 'Бесплатно';
    											}
    											if (thisRadio.val() == '2075') {deliv = (deliv=='Бесплатно') ?  procent_price : Math.ceil(deliv + procent_price);}
    											textDel = (deliv=='Бесплатно') ?  deliv : deliv+' р.';
    										}
    										address_pickup_delivery.val(delivery.delivery_ways[1]["Адрес"]);
    									}
    									if (thisRadio.val() == 'pickup_custom_russia')	{jQuery('.from_russia_block .address_moscow_select').show();} else jQuery('.from_russia_block .address_moscow_select').hide();
    										thisRadio.parent().find('.price-delivery').empty().text(textDel);
    										jQuery('#price_delivery').val(deliv);
    									return false;
    								});
    								jQuery('.from_russia_block input.deliv-radio').click();jQuery('.from_russia_block input.deliv-radio:first').click();jQuery('#form_address').remove();
    						
    					} else {jQuery('#cityIndex').text('Извините, город не найден').css({'font-weight':'bold','color' : '#EC411C'});
    						console.log(true);
    					 //jQuery('#new_del_address').hide('normal');formAddress.hide();
    						jQuery('#new_del_address').show();
    						jQuery('#new_del_address>*').not('.deliveryMode__layout__field_2077').hide();
    					 }
    				}
    			} else {jQuery('#new_del_address').hide();jQuery('#cityIndex').empty();
    			}
    			return false;
    		});

    Нашел на проекте, как понял происходить расчет стоимости доставки по индексу... Весь код не скинуть так как ограничение по количеству строк

    Запостил: farit_slv, 20 Октября 2013

    Комментарии (7) RSS

    Добавить комментарий