1// ÐÑпÑавлÑÐµÑ Ð¾ÑÐ¸Ð±ÐºÑ Ð½Ð° ÑеÑвеÑ, Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑлÑжба ÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÑжки могла ÑазобÑаÑÑÑÑ Ð² пÑоблеме как можно бÑÑÑÑее. 2function sendError (desc, page, line) { 3 var img=document.createElement('img'); 4 img.src = 'https://storeland.ru/error/js?desc='+encodeURIComponent(desc)+'&page='+encodeURIComponent(window.location)+'&line=0'; 5 img.style.position = 'absolute'; 6 img.style.top = '-9999px'; 7 8 try { document.getElementsByTagName('head').appendChild(img) } catch (e){} 9 return false; 10} 11 12// ФоÑмаÑиÑÑÐµÑ ÑÐµÐ½Ñ 13function number_format(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+ 14_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);} 15var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';} 16else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';} 17return s;} 18 19// ÐÑевÑаÑÐ°ÐµÑ Ð¿Ð¾Ð»Ðµ паÑÐ¾Ð»Ñ Ð² ÑекÑÑовое поле и обÑаÑно 20// @LinkObject - ÑÑÑлка по коÑоÑой кликнÑли 21// @InputObject - обÑÐµÐºÑ Ñ ÐºÐ¾ÑоÑого нÑжно измениÑÑ Ñип Ð¿Ð¾Ð»Ñ 22function ChangePasswordFieldType (LinkObject, InputObject) { 23 var 24 // СÑÑлка по коÑоÑой кликнÑли 25 LObject = $(LinkObject), 26 // ÐбÑÐµÐºÑ Ñ ÐºÐ¾ÑоÑого изменÑем Ñип Ñ password на text 27 IObject = $(InputObject), 28 // СÑаÑÑй ÑекÑÑ ÑÑÑлки 29 txtOld = LObject.text(), 30 // ÐовÑй ÑекÑÑ ÑÑÑлки 31 txtNew = LObject.attr('rel'); 32 33 // ÐÑли обÑекÑÑ Ð½Ðµ полÑÑенÑ, завеÑÑим ÑабоÑÑ ÑÑнкÑии 34 if( LObject.length==0 || IObject.length==0 ) { 35 return false; 36 } 37 38 // ÐзменÑем Ñ ÑÑÑлки ÑекÑÑ Ñо ÑÑаÑого на новÑй 39 LObject.html(txtNew); 40 // СÑаÑÑй ÑекÑÑ ÑÑÑлки ÑÐ¾Ñ ÑанÑем в аÑÑибÑÑе rel 41 LObject.attr('rel', txtOld); 42 43 // ÐзменÑем Ñип input Ð¿Ð¾Ð»Ñ 44 if(IObject[0].type == 'text') { 45 IObject[0].type = 'password'; 46 } else { 47 IObject[0].type = 'text'; 48 } 49} 50 51// ÐÑÑÑÐ¸Ñ Ð¸Ð·Ð¾Ð±Ñажение пÑи обновлении каÑÑинки заÑиÑÑ Ð¾Ñ ÑобоÑов 52function RefreshImageAction(img,num,cnt) { 53 if(cnt>13) { 54 return false; 55 } 56 57 $(img).attr('src', $(img).attr('rel') + 'icon/refresh/' + num + '.gif'); 58 num = (num==6)?0:num; 59 setTimeout(function(){RefreshImageAction(img, num+1, cnt+1);}, 50); 60} 61 62$(document).ready(function(){ 63 64 // ÐалидаÑÐ¸Ñ ÑоÑÐ¼Ñ Ð½Ð° ÑÑÑаниÑе оÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð°, а Ñак же ÑоÑÐ¼Ñ Ð½Ð° ÑÑÑаниÑÑ ÑвÑзи Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑией 65 $('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){
66 if($(this).valid()) { 67 // Ðнопка оÑпÑавки ÑоÑÐ¼Ñ 68 SubmitButton = $(this).find('input:submit, button:submit'); 69 // ÐÑли ÐºÐ½Ð¾Ð¿ÐºÑ Ñже нажали, видимо оÑпÑавка ÑоÑÐ¼Ñ Ð¿ÑоизводилаÑÑ Ð¿Ð¾ нажаÑÐ¸Ñ Ð½Ð° ÐºÐ½Ð¾Ð¿ÐºÑ enter, не допÑÑкаем ÑÑого. 70 if($(SubmitButton.get(0)).attr('disabled')) { 71 return false; 72 } 73 // УÑÑанавливаем на ÐºÐ½Ð¾Ð¿ÐºÑ Ð¾ÑпÑавки ÑоÑÐ¼Ñ Ð±Ð»Ð¾ÐºÐ¸ÑÐ¾Ð²ÐºÑ Ð¿Ð¾Ð²ÑоÑной опÑÑавки 74 SubmitButton.attr('disabled', true); 75 // ЧеÑез 10 ÑекÑнд блокиÑовка оÑпÑавки ÑоÑÐ¼Ñ ÑнимаеÑÑÑ. 76 setTimeout('SubmitButton.attr("disabled", false);', 10000); 77 } 78 }).validate(); 79 80 // ÐÑпÑавка ÑоÑÐ¼Ñ Ð¿Ð¾ Ctrl+Enter 81 $('form').bind('keypress', function(e){ 82 if((e.ctrlKey) && ((e.which==10)||(e.which==13))) {$(this).submit();} 83 // ÐÑпÑавка даннÑÑ ÑоÑÐ¼Ñ Ð¿Ð¾ нажаÑÐ¸Ñ Ð½Ð° Enter в ÑлÑÑае еÑли кÑÑÑÐ¾Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² input полÑÑ (РнекоÑоÑÑÑ Ð±ÑаÑзеÑÐ°Ñ Ð¿Ñи нажаÑии по enter ÑÑабаÑÑÐ²Ð°ÐµÑ ÐºÐ»Ð¸Ðº по пеÑÐ²Ð¾Ð¼Ñ submit полÑ, коÑоÑое ÑвлÑеÑÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¾Ð¹ назад. ÐÐ»Ñ ÑÑого напиÑан ÑÑÐ¾Ñ ÑикÑ) 84 }).find('input').bind('keypress', function(e){ 85 if(((e.which==10)||(e.which==13))) { try{$(this.form).submit();} catch(e){} return false; } 86 }); 87 88 // пÑи клике на маленÑкие изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½Ð¸ÑиализиÑÑем дейÑÑвие вÑзова галеÑеи fancybox 89 $('a[rel="gallery"]').fancybox(); 90 91 // УвелиÑение изобÑажение пÑи клике на него и оÑкÑÑÑие галеÑеи изобÑажений 92 $('.fullimg a, .zoomimg a').click(function(){ 93 94 // ÐденÑиÑикаÑÐ¾Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð¹ каÑÑинки 95 var goodsImageId = $('.fullimg input').attr("rel"), 96 97 // ÐаленÑкое изобÑажение, по коÑоÑÐ¾Ð¼Ñ Ð½Ð° Ñамом деле бÑдем кликаÑÑ 98 goodsImageIconElement = $('.zoomicon input[rel="'+goodsImageId+'"]').parent().find('a'); 99 100 // ÐÐ»Ñ Ð¸ÐºÐ¾Ð½ÐºÐ¸ изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑÑÑим галеÑÐµÑ 101 // goodsImageIconElement.nyroModalManual(); 102 goodsImageIconElement.click(); 103 return false; 104 }); 105 106 107 // Ðобавление ÑоваÑа в коÑÐ·Ð¸Ð½Ñ ÑеÑез ajax 108 $('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){ 109 110 $(this).nyroModalManual({ 111 formIndicator: 'ajax_q', // Value added when a form is sent 112 minWidth: 450, // Minimum width 113 minHeight: 140, // Minimum height 114 gallery: null // Gallery name if provided 115 }); 116 return false; 117 }); 118 119 // Ðзменение главного изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑоваÑа пÑи нажаÑии на миниаÑÑÑÑ 120 $('.zoomicon a').click(function(){ 121 // ÐÑÑÑ Ðº ÑÑÐµÐ´Ð½ÐµÐ¼Ñ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ 122 var MediumImageUrl = $(this).find('img').attr('rel'), 123 124 // Ðлавное изобÑажение, в коÑоÑое бÑдем вÑÑавлÑÑÑ Ð½Ð¾Ð²Ð¾Ðµ изобÑажение 125 MainImage = $('.fullimg img'), 126 127 // Ð ÑÑом обÑекÑе Ñ ÑаниÑÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ ÐºÐ°ÑÑинки главного изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾ÑекÑной ÑабоÑÑ Ð³Ð°Ð»ÐµÑеи изобÑажений 128 MainImageIdObject = $('.fullimg input'), 129 130 // ÐолÑÑаем иденÑиÑикаÑÐ¾Ñ ÑÑого изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð· ÑоÑеднего input Ð¿Ð¾Ð»Ñ 131 GoodsImageIconId = $(this).parent().find('input').attr("rel"); 132 133 // ÐзменÑем главное изобÑажение 134 MainImage.attr('src',MediumImageUrl); 135 136 // ÐзменÑем иденÑиÑикаÑÐ¾Ñ Ð³Ð»Ð°Ð²Ð½Ð¾Ð³Ð¾ изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ 137 MainImageIdObject.attr("rel",GoodsImageIconId); 138 139 return false;
140 }); 141 142 // ФÑнкÑÐ¸Ñ ÑобиÑÐ°ÐµÑ ÑвойÑÑва в ÑÑÑокÑ, Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑии ÑоваÑа 143 function getSlugFromGoodsDataFormModificationsProperties(obj) { 144 var properties = new Array(); 145 $(obj).each(function(i){ 146 properties[i] = parseInt($(this).val()); 147 }); 148 return properties.sort(function(aaa, bbb){return aaa - bbb}).join('_'); 149 } 150 151 152 var 153 // Ðапоминаем Ð¿Ð¾Ð»Ñ Ð²ÑбоÑа ÑвойÑÑв, Ð´Ð»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ ÑабоÑÑ Ñо знаÑениÑми ÑвойÑÑв 154 goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'), 155 156 // Ðапоминаем блоки Ñ Ð¸Ð½ÑоÑмаÑией по модиÑикаÑиÑм, Ð´Ð»Ñ ÑÑкоÑÐµÐ½Ð¸Ñ ÑабоÑÑ 157 goodsDataModifications = $('div.ModificationsList'); 158 159 // ÐбновлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð²ÑбоÑа ÑвойÑÑв модиÑикаÑии, Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи вÑбоÑа по Ñ Ð°ÑакÑеÑиÑÑикам модиÑикаÑии коÑоÑой не ÑÑÑеÑÑвÑеÑ. 160 function updateVisibility (y) { 161 // ÐÑовеÑÑем в каждом ÑоÑеднем поле вÑбоÑа модиÑикаÑий, возможно ли подобÑаÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑÐ¸Ñ Ð´Ð»Ñ ÑказаннÑÑ ÑвойÑÑв 162 goodsDataProperties.each(function(j){ 163 // ÐÑли Ð¼Ñ ÑÑавниваем знаÑÐµÐ½Ð¸Ñ ÑвойÑÑва не Ñ Ñамим Ñобой, а Ñ Ð´ÑÑгим ÑпиÑком знаÑений ÑвойÑÑв 164 if( j != y ) { 165 // ÐÑÐ¾Ñ Ð¾Ð´Ð¸Ð¼ по вÑем знаÑениÑм ÑекÑÑего ÑвойÑÑва модиÑикаÑии ÑоваÑа 166 $(this).find('option').each(function(){ 167 // ÐапиÑÑваем вÑеменнÑй маÑÑив ÑвойÑÑв, коÑоÑÑе бÑдем иÑполÑзоваÑÑ Ð´Ð»Ñ Ð¿ÑовеÑки ÑÑÑеÑÑÐ²Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑии 168 var checkProperties = new Array(); 169 $(goodsDataProperties).each(function(i){ 170 checkProperties[i] = parseInt($(this).val()); 171 }); 172 // ÐÑÑаемÑÑ Ð½Ð°Ð¹Ñи модиÑикаÑÐ¸Ñ ÑооÑвеÑÑÑвÑÑÑÑÑ Ð²ÑбÑаннÑм знаÑениÑм ÑвойÑÑв 173 checkProperties[j] = parseInt($(this).attr('value')); 174 // СобиÑаем Ñ ÑÑ Ð¾Ð¿ÑеделÑÑÑий модиÑикаÑÐ¸Ñ Ð¿Ð¾ ÑвойÑÑвам 175 slug = checkProperties.sort(function(a,b){return a - b}).join('_'); 176 // ÐÑем модиÑикаÑÐ¸Ñ Ð¿Ð¾ вÑем вÑбÑаннÑм знаÑениÑм ÑвойÑÑв ÑоваÑа. ÐÑли модиÑикаÑии Ð½ÐµÑ Ð² возможном вÑбоÑе, оÑмеÑаем поÑенÑиалÑное знаÑение вÑбоÑа как не доÑÑÑпное Ð´Ð»Ñ Ð²ÑбоÑа, Ñ.к. Ñакой модиÑикаÑии неÑ. 177 if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) { 178 $(this).attr('disabled', true); 179 // ÐÑли вÑбÑав данное знаÑение ÑвойÑÑва ÑоваÑа можно подобÑаÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑиÑ, Ñо вÑделÑем ваÑÐ¸Ð°Ð½Ñ Ð²ÑбоÑа как доÑÑÑпнÑй. 180 } else { 181 $(this).attr('disabled', false); 182 } 183 }); 184 } 185 }); 186 } 187 // ÐбновлÑем возможноÑÑÑ Ð²ÑбоÑа модиÑикаÑии ÑоваÑа по ÑвойÑÑвам. ÐÐ»Ñ ÑÐµÑ ÑвойÑÑв, вÑÐ±Ð¾Ñ Ð¿Ð¾ коÑоÑÑм не возможен, оÑклÑÑаем ÑакÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ. 188 // ÐÑовеÑÑем возможноÑÑÑ Ð²ÑбоÑа на вÑÐµÑ Ð¿Ð¾Ð»ÑÑ ÐºÑоме пеÑвого, ÑÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ Ð²Ð¾ вÑÐµÑ Ð¾ÑÑалÑнÑÑ Ð²Ð°ÑианÑÑ, коÑоÑÑе не возможно вÑбÑаÑÑ 189 updateVisibility (0); 190 // ÐÑовеÑÑем возможноÑÑÑ Ð²ÑбоÑа на вÑÐµÑ Ð¿Ð¾Ð»ÑÑ ÐºÑоме вÑоÑого, ÑÑÐ¾Ð±Ñ Ð² пеÑвом поле Ñак же оÑклÑÑилаÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð²ÑбоÑа не ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑий 191 updateVisibility (1); 192 193 // Ðзменение ÑÐµÐ½Ñ ÑоваÑа пÑи изменении Ñ ÑоваÑа ÑвойÑÑва Ð´Ð»Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑии 194 goodsDataProperties.each(function(y){ 195 $(this).change(function(){ 196 197 var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties), 198 submitButtonBlock = $('li.goodsPageSubmitButtonBlock:eq(0)'), 199 modificationBlock = goodsDataModifications.filter('[rel="'+slug+'"]'), 200 modificationId = parseInt(modificationBlock.find('[name="id"]').val()), 201 modificationArtNumber = modificationBlock.find('[name="art_number"]').val(), 202 modificationPriceNow = parseFloat(modificationBlock.find('[name="price_now"]').val()), 203 modificationPriceNowFormated = modificationBlock.find('.price_now_formated').html(), 204 modificationPriceOld = parseFloat(modificationBlock.find('[name="price_old"]').val()), 205 modificationPriceOldFormated = modificationBlock.find('.price_old_formated').html(), 206 modificationRestValue = parseFloat(modificationBlock.find('[name="rest_value"]').val()), 207 modificationDescription = modificationBlock.find('.description').html(), 208 modificationMeasureId = parseInt(modificationBlock.find('[name="measure_id"]').val()), 209 modificationMeasureName = modificationBlock.find('[name="measure_name"]').val(), 210 modificationMeasureDesc = modificationBlock.find('[name="measure_desc"]').val(), 211 modificationMeasurePrecision = modificationBlock.find('[name="measure_precision"]').val(), 212 modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(), 213 goodsModificationId = $('.goodsDataMainModificationId'), 214 goodsPriceNow = $('.goodsDataMainModificationPriceNow'), 215 goodsPriceOld = $('.goodsDataMainModificationPriceOld'), 216 goodsAvailable = $('.goodsDataMainModificationAvailable'), 217 goodsAvailableTrue = goodsAvailable.find('.available-true'), 218 goodsAvailableFalse = goodsAvailable.find('.available-false'), 219 goodsArtNumberBlock = $('.goodsDataMainModificationArtNumber'), 220 goodsArtNumber = goodsArtNumberBlock.find('span'); 221 goodsCompareAddButton = $('.goodsDataCompareButton.add'); 222 goodsCompareDeleteButton = $('.goodsDataCompareButton.delete'); 223 goodsModDescriptionBlock = $('.goodsDataMainModificationsDescriptionBlock'); 224 225 226 // ÐзменÑем даннÑе ÑоваÑа Ð´Ð»Ñ Ð²ÑбÑаннÑÑ Ð¿Ð°ÑамеÑÑов. ÐÑли наÑлаÑÑ Ð²ÑбÑÐ°Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑÐ¸Ñ 227 if(modificationBlock.length) { 228 // Цена ÑоваÑа 229 goodsPriceNow.html(modificationPriceNowFormated); 230 231 // СÑаÑÐ°Ñ Ñена ÑоваÑа 232 if(modificationPriceOld>modificationPriceNow) { 233 goodsPriceOld.html(modificationPriceOldFormated); 234 } else { 235 goodsPriceOld.html(''); 236 } 237 238 // ÐÑÑÑ Ð»Ð¸ ÑÐ¾Ð²Ð°Ñ ÐµÑÑÑ Ð² налиÑии 239 if(modificationRestValue>0) { 240 // ÐоказÑваем ÐºÐ½Ð¾Ð¿ÐºÑ "ÐоложиÑÑ Ð² коÑзин
240Ñ" 241 submitButtonBlock.show(); 242 // ÐоказÑваем ÑаблиÑкÑ, ÑÑо ÑÐ¾Ð²Ð°Ñ ÐµÑÑÑ Ð² налиÑии 243 goodsAvailableTrue.show(); 244 // СкÑÑваем ÑаблиÑкÑ, о Ñом ÑÑо ÑоваÑа Ð½ÐµÑ Ð² налиÑии 245 goodsAvailableFalse.hide(); 246 // ÐÑли ÑоваÑа Ð½ÐµÑ Ð² налиÑии 247 } else { 248 // СкÑÑваем ÐºÐ½Ð¾Ð¿ÐºÑ "ÐоложиÑÑ Ð² коÑзинÑ" 249 submitButtonBlock.hide(); 250 // СкÑÑваем ÑаблиÑкÑ, ÑÑо ÑÐ¾Ð²Ð°Ñ ÐµÑÑÑ Ð² налиÑии 251 goodsAvailableTrue.hide(); 252 // СкÑÑваем ÑаблиÑкÑ, о Ñом ÑÑо ÑÐ¾Ð²Ð°Ñ ÐµÑÑÑ Ð² налиÑии 253 goodsAvailableFalse.show(); 254 } 255 // ÐÑли ÑÐ¾Ð²Ð°Ñ ÐµÑÑÑ Ð² ÑпиÑке ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ 256 if(modificationIsHasInCompareList>0) { 257 goodsCompareAddButton.hide(); 258 goodsCompareDeleteButton.show(); 259 // ÐÑли ÑоваÑа Ð½ÐµÑ Ð² ÑпиÑке ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ 260 } else { 261 goodsCompareAddButton.show(); 262 goodsCompareDeleteButton.hide(); 263 } 264 265 // Ðокажем аÑÑикÑл модиÑикаÑии ÑоваÑа, еÑли он Ñказан 266 if(modificationArtNumber.length>0) { 267 goodsArtNumberBlock.show(); 268 goodsArtNumber.html(modificationArtNumber); 269 // СкÑоем аÑÑикÑл модиÑикаÑии ÑоваÑа, еÑли он не Ñказан 270 } else { 271 goodsArtNumberBlock.hide(); 272 goodsArtNumber.html(''); 273 } 274 275 // ÐпиÑание модиÑикаÑии ÑоваÑа. Ðокажем еÑли оно еÑÑÑ, ÑпÑÑÑем еÑли его Ñ Ð¼Ð¾Ð´Ð¸ÑикаÑии Ð½ÐµÑ 276 if(modificationDescription.length > 0) { 277 goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>'); 278 } else { 279 goodsModDescriptionBlock.hide().html(); 280 } 281 282 283 // ÐденÑиÑикаÑÐ¾Ñ ÑоваÑной модиÑикаÑии 284 goodsModificationId.val(modificationId); 285 } else { 286 // ÐÑпÑавим запиÑÑ Ð¾Ð± оÑибке на ÑеÑÐ²ÐµÑ 287 sendError('no modification by slug '+slug); 288 alert('Ð ÑÐ¾Ð¶Ð°Ð»ÐµÐ½Ð¸Ñ ÑейÑÐ°Ñ Ð½Ðµ полÑÑаеÑÑÑ Ð¿Ð¾Ð´Ð¾Ð±ÑаÑÑ Ð¼Ð¾Ð´Ð¸ÑикаÑÐ¸Ñ ÑооÑвеÑÑÑвÑÑÑÑÑ Ð²ÑбÑаннÑм паÑамеÑÑам.'); 289 } 290 291 // ÐбновлÑем возможноÑÑÑ Ð²ÑбоÑа дÑÑгой модиÑикаÑии Ð´Ð»Ñ ÑекÑÑÐ¸Ñ Ð·Ð½Ð°Ñений ÑвойÑÑв модиÑикаÑии ÑоваÑа. 292 updateVisibility(y); 293 }); 294 }); 295 296 // Ðнопка Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÑоваÑа на ÑÑавнение ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ ÑоваÑов 297 $('.goodsDataCompareButton').click(function(){ 298 window.location.href = $(this).attr('rel') + 299 ($(this).attr('rel').indexOf( '\?' ) > -1 ? '&' : '?') + 300 'id='+ 301 $('.goodsDataMainModificationId').val()+ 302 '&from='+ 303 $('input[name="form[goods_from]"]').val(); 304 return false; 305 }); 306 307 308 // СÑавнение ÑоваÑов. УвелиÑение изобÑажение пÑи клике на ÑÑÑÐ»ÐºÑ ÑвелиÑÐµÐ½Ð¸Ñ Ð¸ оÑкÑÑÑие галеÑеии Ñ Ð¸Ð·Ð¾Ð±ÑажениÑми ÑÑого ÑоваÑа 309 $('.CompareGoodsImageZoom').click(function(){ 310 311 // ÐаллеÑÐµÑ ÑоÑогÑаÑий Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ модиÑикаÑии ÑоваÑов 312 var galleryBlock = $('.galleryBlock' + $(this).attr('rel')), 313 314 // Ðлавное изобÑажение ÑоваÑа, коÑоÑое ÑейÑÐ°Ñ ÑÑÐ¾Ð¸Ñ Ñ ÑоваÑа 315 galleryMainImage = $('.CompareGoodsImageMain' + $(this).attr('rel')), 316 317 // ÐзобÑажение по коÑоÑÐ¾Ð¼Ñ Ð½Ñжно кликнÑÑÑ Ð² галлеÑее изобÑажений 318 ImageIngallery = galleryBlock.find('.CompareGoodsImageGallery'+galleryMainImage.attr('rel')); 319 320 // ÐапÑÑкаем галлеÑÐµÑ Ð¸Ð·Ð¾Ð±Ñажений Ð¾Ñ Ð¸Ð·Ð¾Ð±ÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑоваÑа, ÑÑÐ¾Ð±Ñ ÐµÑли напÑÐ¸Ð¼ÐµÑ ÐºÐ»Ð¸ÐºÐ½Ñли по гайке, Ñо и оÑкÑÑлиÑÑ Ð³Ð°Ð¹ÐºÐ°, а не еÑе какой-либо изобÑажение ÑÑого ÑоваÑа 321 322 // пÑи клике на маленÑкие изобÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑоздаÑм галеÑÐµÑ Ð¸Ð·Ð¾Ð±Ñажений fancybox и запÑÑкаем ÐµÑ Ð¿ÑоÑмоÑÑ 323 $('a[rel="gallery' + $(this).attr('rel') + '"]').fancybox(); 324 ImageIngallery.click(); 325 326 /* 327 ImageIngallery.nyroModalManual({ 328 gallery: 'gallery' + $(this).attr('rel') 329 }); 330*/ 331 return false;
332 }); 333 334 // СÑавнение ÑоваÑов. ÐнвеÑÑиÑование ÑвойÑÑв Ð´Ð»Ñ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ ÑоваÑа 335 $('.CompareCheckbox.invert').click(function(){ 336 var checked = true, 337 checkboxes = $('.CompareCheckbox:not(.invert)'); 338 339 checkboxes.each(function(){ 340 if($(this).attr('checked')) { 341 checked = false; 342 return false; 343 } 344 }); 345 346 checkboxes.each(function(){ 347 $(this).attr('checked', checked); 348 }); 349 350 $(this).attr('checked', checked); 351 }); 352 353 // СÑавнение ÑоваÑов. СкÑÑÑие Ñ Ð°ÑакÑеÑиÑÑик ÑоваÑа, коÑоÑÑе вÑделил полÑзоваÑÐµÐ»Ñ 354 $('.CompareGoodsHideSelected').click(function(){ 355 356 $('.CompareGoodsTableTbodyComparisonLine').each(function(){ 357 var CheckedCheckbox = $(this).find('.CompareCheckbox:checked:not(.invert)'); 358 if(CheckedCheckbox.length>0) { 359 $(this).hide(); 360 } 361 }); 362 363 // оÑменÑем вÑделение Ñ Ð°ÑакÑеÑиÑÑик ÑоваÑов 364 $('.CompareCheckbox').attr('checked',false); 365 366 return false; 367 }); 368 369 // СÑавнение ÑоваÑов. ÐÑобÑажение ÑкÑÑÑÑÑ Ñ Ð°ÑакÑеÑиÑÑик ÑоваÑа 370 $('.CompareGoodsShowAll').click(function(){ 371 $('.CompareGoodsTableTbodyComparisonLine:hidden').show(); 372 return false; 373 }); 374 375 // СÑавнение ÑоваÑов. ÐеÑÑ Ð½ÑÑ Ð½Ð°Ð²Ð¸Ð³Ð°ÑÐ¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ ÑилÑÑÑа на оÑобÑажение вÑÐµÑ Ñ Ð°ÑакÑеÑиÑÑик ÑоваÑов 376 $('.CompareGoodsTableFilterShowAll').click(function(){ 377 $('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected'); 378 $('.CompareGoodsTableTbodyComparisonLine:hidden').show(); 379 380 $(this).addClass('CompareGoodsTableFilterSelected'); 381 return false; 382 }); 383 384 // СÑавнение ÑоваÑов. ФилÑÑÑ Ð² веÑÑ Ð½ÐµÐ¹ навигаÑии. ÐÑобÑажение ÑолÑко ÑазлиÑаÑÑÐ¸Ñ ÑÑ Ñ Ð°ÑакÑеÑиÑÑик ÑоваÑа 385 $('.CompareGoodsTableFilterShowOnlyDifferent').click(function(){ 386 $('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected'); 387 $('.CompareGoodsTableTbodyComparisonLine:not(.same)').show(); 388 $('.CompareGoodsTableTbodyComparisonLine.same').hide(); 389 390 $(this).addClass('CompareGoodsTableFilterSelected'); 391 return false; 392 }); 393 394 // СÑавнение ÑоваÑов. ÐÑи наведении на ÑÑÑÐ¾ÐºÑ ÑÑавнениÑ, она вÑделÑеÑÑÑ ÑвеÑом 395 $('.CompareGoodsTableTbodyComparisonLine').hover( 396 function () { $(this).addClass('hover'); }, 397 function () { $(this).removeClass('hover'); } 398 ); 399 400 // ÐÑи клике по ÑÑÑоке вÑделÑем ÑвойÑÑво 401 $('.CompareGoodsTableTbodyComparisonLine td:not(.ceil1)').click(function(){ 402 var CompareCheckbox = $(this).parent().find('.CompareCheckbox'); 403 404 if(CompareCheckbox.attr('checked')) { 405 CompareCheckbox.attr('checked', false); 406 } else { 407 CompareCheckbox.attr('checked', true); 408 } 409 }); 410 411 // ФоÑма ÑегиÑÑÑаÑии нового полÑзоваÑелÑ, дейÑÑвие ÑÑÑлки "показаÑÑ Ð¿Ð°ÑолÑ" 412 $('.clientForm .showPass').click(function(){ 413 ChangePasswordFieldType(this, $('#sites_client_pass')); 414 return false; 415 }); 416 417 // ФоÑма ÑегиÑÑÑаÑии нового полÑзоваÑелÑ, пÑи оÑоÑмлении заказа 418 $('.OrderShowPass').click(function(){ 419 ChangePasswordFieldType(this, $('#contactPassWord')); 420 return false; 421 }); 422 423 // ÐÑи вводе паÑÐ¾Ð»Ñ Ñ caps lockом, Ð¿Ð¾ÐºÐ°Ð¶ÐµÑ Ð±Ð»Ð¾Ðº Ñ ÑообÑением Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ 424 $('#sites_client_pass, #contactPassWord').capslock({ 425 caps_lock_on:function(){$("#caps_lock").show();}, 426 caps_lock_off:function(){$("#caps_lock").hide();} 427 }); 428 429 // ÐÑи оÑоÑмлении заказа дадим возможноÑÑÑ Ð·Ð°ÑегиÑÑÑиÑоваÑÑÑÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ 430 $('#contactWantRegister').click(function(){ 431 if($(this).attr("checked")) { 432 $('.contactRegisterNeedElement').show(); 433 $('#contactEmail, #contactPassWord').addClass('required'); 434 } else { 435 $('.contactRegisterNeedElement').hide(); 436 $('#contactEmail, #contactPassWord').removeClass('required'); 437 } 438 }); 439 440 // Ðобавление оÑзÑва о ÑоваÑе. РейÑинг 441 if(typeof($('.goodsDataOpinionTableRating').stars) == "function" ) { 442 $('.goodsDataOpinionTableRating').stars({ 443 inputType: "input", 444 split: 2, 445 captionEl: $(".goodsDataOpinionMsg"), 446 cancelShow: false 447 }); 448 } 449 450 // СпиÑок оÑзÑвов о ÑоваÑе. СÑÑлка на оÑобÑажение ÑоÑÐ¼Ñ Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ оÑзÑва о ÑоваÑе 451 $('.goodsDataOpinionShowAddForm').click(function(){
452 if(0 == $('.otziv:visible').length) { 453 $('.otziv').show('blind'); 454 } else { 455 $('.otziv').hide('blind'); 456 return false; 457 } 458 }); 459 460 // Ðобавление оÑзÑва о ÑоваÑе. кнопка reset ÑкÑÑваÑÑÐ°Ñ ÑоÑÐ¼Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾ÑзÑва о ÑоваÑе 461 $('.goodsDataOpinionAddForm input:reset').click(function(){ 462 $('#goodsDataOpinionAddBlock').hide('blind'); 463 }); 464 465 // Ðконка Ð´Ð»Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¾Ð±Ñажение капÑи 466 $('.goodsDataOpinionCaptchaRefresh').click(function(){ 467 RefreshImageAction(this,1,1); 468 $('.goodsDataOpinionCaptchaImg').attr('src',$('.goodsDataOpinionCaptchaImg').attr('src')+'&rand'+Math.random(0,10000)); 469 return false; 470 }); 471 472 473 // ФилÑÑÑÑ Ð¿Ð¾ ÑоваÑам. 474 // ÐÑи нажании на какÑÑ-либо Ñ Ð°ÑакÑеÑиÑÑÐ¸ÐºÑ Ð¸Ð»Ð¸ ÑвойÑÑво ÑоваÑа пÑоиÑÑ Ð¾Ð´Ð¸Ñ ÑилÑÑÑаÑÐ¸Ñ ÑоваÑов 475 $('.contentTbodySearchFilterBlock input').click(function(){ 476 $(this)[0].form.submit(); 477 }); 478 var 479 // ÐинималÑное знаÑение ÑÐµÐ½Ñ Ð´Ð»Ñ ÑилÑÑÑа 480 priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text()) 481 // ÐакÑималÑное знаÑение ÑÐµÐ½Ñ Ð´Ð»Ñ ÑилÑÑÑа 482 ,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text()) 483 // ÐакÑималÑное знаÑение ÑÐµÐ½Ñ Ð´Ð»Ñ ÑилÑÑÑа 484 ,priceSliderBlock = $('#goods-filter-price-slider') 485 // Ðоле ввода ÑекÑÑего знаÑÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ "ÐÑ" 486 ,priceInputMin = $( "#goods-filter-min-price" ) 487 // Ðоле ввода ÑекÑÑего знаÑÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ "Ðо" 488 ,priceInputMax = $( "#goods-filter-max-price" ) 489 // Ðлок Ñ ÐºÐ½Ð¾Ð¿ÐºÐ¾Ð¹, коÑоÑÑÑ ÐµÑÑÑ ÑмÑÑл нажимаÑÑ ÑолÑко Ñогда, когда изменÑлÑÑ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½ Ñен. 490 ,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" ) 491 ; 492 // ÐзменÑÐµÑ ÑÐ°Ð·Ð¼ÐµÑ ÑÑеек Ñ Ñеной, Ñ.к. Ñ Ð½Ð¸Ñ Ð½ÐµÑ Ñамок, еÑÑÑ ÑмÑÑл менÑÑÑ ÑазмеÑÑ Ð¿Ð¾Ð»ÐµÐ¹ ввода, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ вÑглÑдили как ÑекÑÑ 493 function priceInputsChangeWidthByChars() { 494 // ÐÑли еÑÑÑ Ð±Ð»Ð¾Ðº ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»Ñной ÑÐµÐ½Ñ 495 if(priceInputMin.length) { 496 priceInputMin.css('width', (priceInputMin.val().length*7 + 3) + 'px'); 497 priceInputMax.css('width', (priceInputMax.val().length*7 + 3) + 'px'); 498 } 499 } 500 // СлайдеÑ, коÑоÑÑй иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑдобÑÑва вÑбоÑа ÑÐµÐ½Ñ 501 priceSliderBlock.slider({ 502 range: true, 503 min: priceFilterMinAvailable, 504 max: priceFilterMaxAvailable, 505 values: [ 506 parseInt($('#goods-filter-min-price').val()) 507 ,parseInt($('#goods-filter-max-price').val()) 508 ], 509 slide: function( event, ui ) { 510 priceInputMin.val( ui.values[ 0 ] ); 511 priceInputMax.val( ui.values[ 1 ] ); 512 priceSubmitButtonBlock.show(); 513 priceInputsChangeWidthByChars(); 514 } 515 }); 516 // ÐÑи изменении минималÑного знаÑÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ 517 priceInputMin.keyup(function(){ 518 var newVal = parseInt($(this).val()); 519 if(newVal < priceFilterMinAvailable) { 520 newVal = priceFilterMinAvailable; 521 } 522 priceSliderBlock.slider("values", 0, newVal); 523 priceSubmitButtonBlock.show(); 524 priceInputsChangeWidthByChars(); 525 }); 526 // ÐÑи изменении макÑималÑного знаÑÐµÐ½Ð¸Ñ ÑÐµÐ½Ñ 527 priceInputMax.keyup(function(){ 528 var newVal = parseInt($(this).val()); 529 if(newVal > priceFilterMaxAvailable) { 530 newVal = priceFilterMaxAvailable; 531 } 532 priceSliderBlock.slider("values", 1, newVal); 533 priceSubmitButtonBlock.show(); 534 priceInputsChangeWidthByChars(); 535 }); 536 // ÐбновиÑÑ ÑазмеÑÑ Ð¿Ð¾Ð»ÐµÐ¹ ввода диапазона Ñен 537 priceInputsChangeWidthByChars(); 538 // END ФилÑÑÑÑ Ð¿Ð¾ ÑоваÑам. 539 540 541 // ÐейÑÑÐ²Ð¸Ñ Ð¿Ñи вÑбоÑе ваÑианÑа доÑÑавки на ÑÑапе оÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð°
542 $('.deliveryRadio').click(function(){ 543 544 // ÐÑли ÑекÑÑÐ°Ñ Ð²ÑÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ Ð·Ð¾Ð½Ð° доÑÑавки не оÑноÑиÑÑÑ Ðº вÑбÑÐ°Ð½Ð½Ð¾Ð¼Ñ Ð²Ð°ÑианÑÑ Ð´Ð¾ÑÑавки, Ñнимаем вÑделение Ñ Ð·Ð¾Ð½Ñ Ð´Ð¾ÑÑавки 545 if($('.deliveryZoneRadio:checked').attr('deliveryid') != $(this).val()) { 546 $('.deliveryZoneRadio:checked').click().attr('checked', false); 547 } 548 549 550 if ($(this).val() === '342870') { 551 boxberry.open(function(result) { 552 $('#deliveryAddress').html(result.name + '(' + result.id + ') ' + result.address); 553 }); 554 } else { 555 $('#deliveryAddress').html(''); 556 } 557 }); 558 559 // ÐейÑÑÐ²Ð¸Ñ Ð¿Ñи вÑбоÑе Ð·Ð¾Ð½Ñ Ð²Ð½ÑÑÑи ваÑианÑа доÑÑавки на ÑÑапе оÑоÑÐ¼Ð»ÐµÐ½Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð° 560 $('.deliveryZoneRadio').click(function(){ 561 562 var 563 deliveryId = $(this).attr('deliveryid') 564 ,deliveryZonePrice = $(this).parent().parent().find('.deliveryZonePrice b span') // ++++++++++++++++++++++++ 565 ,deliveryTbody = $('.orderStageDeliveryListTable tbody[rel="' + deliveryId + '"]') 566 ,deliveryBlock = deliveryTbody.find('#deliveryId' + deliveryId) 567 ,deliveryZonePriceBlock = deliveryTbody.find('.orderStageDeliveryZonePrice') // ++++++++++++++++++++++++ 568 ,deliveryDefaultPriceBlock = deliveryTbody.find('.orderStageDeliveryDefaultPrice') // ++++++++++++++++++++++++ 569 ; 570 571 // ÐÑли ÑÑÐ¾Ñ Ð¿ÑÐ½ÐºÑ Ñже вÑбÑан, пÑи повÑоÑном клике полÑзоваÑÐµÐ»Ñ Ð²Ð¸Ð´Ð¸Ð¼Ð¾ Ñ Ð¾ÑÐµÑ ÑнÑÑÑ Ð²Ñделение Ð·Ð¾Ð½Ñ Ð´Ð¾ÑÑавки 572 if('true' == $(this).attr('rel')) { 573 $(this).attr('checked', false); 574 $(this).attr('rel', 'false'); 575 576 // ÐоказÑваем ÑÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ 577 deliveryDefaultPriceBlock.show(); 578 // СкÑÑваем ÑÐµÐ½Ñ Ð¾Ð±ÑазованнÑÑ Ð¾Ñ Ð·Ð¾Ð½Ñ 579 deliveryZonePriceBlock.hide(); 580 581 // ÐÑмеÑаем Ñ Ð²ÑÐµÑ Ñадио баÑÑонов зон доÑÑавки ÑвойÑÑво говоÑÑÑее ÑÑо они не оÑмеÑÐµÐ½Ñ 582 } else { 583 $('.deliveryZoneRadio').attr('rel', 'false'); 584 $(this).attr('rel', 'true'); 585 586 // ÐоказÑваем ÑÐµÐ½Ñ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ 587 deliveryDefaultPriceBlock.hide(); 588 // СкÑÑваем ÑÐµÐ½Ñ Ð¾Ð±ÑазованнÑÑ Ð¾Ñ Ð·Ð¾Ð½Ñ 589 deliveryZonePriceBlock.show().html(deliveryZonePrice.html()); 590 591 // ÐÑделÑем ваÑÐ¸Ð°Ð½Ñ Ð´Ð¾ÑÑавки к коÑоÑÐ¾Ð¼Ñ Ð¾ÑноÑиÑÑÑ Ð·Ð¾Ð½Ð° доÑÑавки 592 deliveryBlock.attr('checked', true); 593 } 594 595 }); 596 597 $("#deliveryConvenientDate").datepicker({ 598 dayNames : ['ÐонеделÑник', 'ÐÑоÑник', 'СÑеда', 'ЧеÑвеÑг', 'ÐÑÑниÑа', 'СÑббоÑа', 'ÐоÑкÑеÑенÑе'], 599 dayNamesMin : ['ÐÑ', 'Ðн', 'ÐÑ', 'СÑ', 'ЧÑ', 'ÐÑ', 'Сб' ], 600 closeText : 'ÐоÑово', 601 currentText : 'СегоднÑ' , 602 duration : '', 603 monthNames : ['ЯнваÑÑ','ФевÑалÑ','ÐаÑÑ','ÐпÑелÑ','Ðай','ÐÑнÑ','ÐÑлÑ','ÐвгÑÑÑ','СенÑÑбÑÑ','ÐкÑÑбÑÑ','ÐоÑбÑÑ','ÐекабÑÑ'], 604 monthNamesShort : ['Янв','Фев','ÐаÑÑ','ÐпÑ','Ðай','ÐÑнÑ','ÐÑлÑ','Ðвг','Сен','ÐкÑ','ÐоÑ','Ðек'], 605 yearRange : "-6:+6", 606 dateFormat : 'dd.mm.yy', 607 minDate : new Date(), 608 firstDay : 1 609 }); 610});
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.