/*Цвет темы*/
$(document).ready(function(){
var themeCol = $('.main-color').css('color');
$('.main-color').append('<style> .theme-color{background-color:'+themeCol+';}.ftheme-color{color:'+themeCol+'!important;}.btheme-color{border-color:'+themeCol+';} a.list-act div .dot , a.list-act div .line{background-color:'+themeCol+';} a.table-act div .square{background-color:'+themeCol+';}</style>');
})
function prodHeight(){
a = $('.prod_hold').height();
$('.item_prop').each(function(){
if($(this).height() > a){
$(this).remove();
}
})
}
function prodWidth(){
prodW = parseInt($('.goods-cat-image-medium-square').css('width'));
prodW += 20;
$('.prod_hold,.cat_prod_hold').css('width',prodW+'px');
$('.list_prod_wrp').css('min-height',prodW+'px');
}
$(document).ready(function(){
prodWidth();
});
$(function(){
function getClientWidth(){
return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;
}
var width = getClientWidth();
$('.prod_hold').each(function(){
var offs = width - $(this).offset().left - $(this).width();
if(offs < 200){$(this).addClass('rightProd')}
})
$(window).resize(function(){
var width = getClientWidth();
$('.prod_hold').each(function(){
$(this).removeClass('rightProd');
var offs = $(this).offset();
rightOff = width - offs.left - $(this).width();
if(rightOff < 200){$(this).addClass('rightProd');
}
})
})
})
$(function(){
aImgPath = $('.assets_images_path').attr('href');
browser = null;
qwe = navigator.userAgent;
if (qwe.search(/MSIE/) != -1){browser = 'IE'}
if(browser === 'IE'){
$('.customNavigation .btn.prev').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r1.png""/></div>');
$('.customNavigation .btn.next').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r2.png""/></div>');
$('.customNavigation .btn.prev2').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r1.png""/></div>');
$('.customNavigation .btn.next2').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r2.png""/></div>');
$('.customNavigation .btn.prev3').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r1.png""/></div>');
$('.customNavigation .btn.next3').html('<div class="arrows"><img class="arrows-on-main" src="' + aImgPath + 'r2.png""/></div>');
}
})
function addTo(){
$('.succAddMessage').remove();
// Объект ссылки, по которой кликнули
var
a = $(this)
,addUrl = a.attr('data-action-add-url')
,delUrl = a.attr('data-action-delete-url')
,addTitle = a.attr('data-action-add-title')
,delTitle = a.attr('data-action-delete-title')
,isAdd = a.attr('data-action-is-add')
,aText = a.parent().find('.add_to_wishlist_small_text, .add_to_compare_small_text')
requestUrl = a.attr('href')
,msg = a.data('msgtype')
,name = a.data('gname');
// Если в ссылке присутствует идентификатор, который мы можем узнать только вытащив его с текущей страницы
if( /GET_GOODS_MOD_ID_FROM_PAGE/.test(requestUrl)) {
requestUrl = requestUrl.replace(new RegExp('GET_GOODS_MOD_ID_FROM_PAGE'), $('.goodsDataMainModificationId').val());
}
if(msg == 3){
a.parent().after('<div class="succAddMessage red" style="display:none;"><div>Вам необходимо авторизоваться в нашем магазине!</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove()})
}
// Если есть информация о том какие URL адреса будут изменены, то можено не перегружать страницу и сделать запрос через ajax
if(addUrl && delUrl) {
$.ajax({
type : "POST",
dataType: 'json',
cache : false,
url : requestUrl,
data : {
'ajax_q': 1
},
success: function(data) {
if('ok' == data.status) {
if(isAdd == 1) {
var
from = addUrl
,to = delUrl
,newIsAddStatus = 0
,newTitle = delTitle ? delTitle : ''
;
$('.succAddMessage').remove();
if(msg == 1){
a.parent().after('<div class="succAddMessage" style="display:none;"><div>Товар "'+ name +'" добавлен в список сравнения</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove()})}
else if(msg == 2){
a.parent().after('<div class="succAddMessage" style="display:none;"><div>Товар "'+ name +'" добавлен в избранное</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove()})}
a.addClass('added ftheme-color');
} else {
var
from = delUrl
,to = addUrl
,newIsAddStatus = 1
,newTitle = addTitle ? addTitle : ''
;
$('.succAddMessage').remove();
if(msg == 1){
a.parent().after('<div class="succAddMessage" style="display:none;"><div>Товар "'+ name +'" убран из списка сравнения</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove()})}
else if(msg == 2){
a.parent().after('<div class="succAddMessage" style="display:none;"><div>Товар "'+ name +'" убран из избранного</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove()})}
a.removeClass('added ftheme-color');
}
// Если указано, что изменилось число товаров на сравнении
if(typeof(data.compare_goods_count) != 'undefined') {
// Блок информации о том, что есть товары на сравнении
var compareBlock = $('.showCompare');
// Если на сравнении больше нет товаров
if(0 < data.compare_goods_count) {
compareBlock.show();
// Если на сравнении есть новые товары
} else {
compareBlock.hide();
}
// Указываем информацию о новом количестве товаров на сравнении
compareBlock.find('.nb_goods').text( data.compare_goods_count + ( typeof(genWordEnd) == 'function' ? ' товар' + genWordEnd(data.compare_goods_count, "", "а", "ов") : '') );
}
// Обновляем ссылку, на которую будет уходить запрос и информацию о ней
a.attr('href', a.attr('href').replace(new RegExp(from), to))
.attr('title', newTitle)
.attr('data-action-is-add', newIsAddStatus);
// Если рядом с ссылкой в виде круга есть текстовая надпись с описанием действия
if(aText.length) {
aText.text(aText.attr(isAdd == 1 ? 'data-action-text-delete' : 'data-action-text-add'));
}
// Если есть функция, которая отображает сообщения пользователю
} else if('error' == data.status) {
// Если есть функция, которая отображает сообщения пользователю
if(typeof(noty) == "function") {
noty({
text:data.message
,layout:"center"
,type:"error"
,textAlign:"center"
,easing:"swing"
,animateOpen:{"height":"toggle"}
,animateClose:{"opacity":"hide"}
,speed:"500"
,timeout:"3000"
,closable: false
,modal: false
,dismissQueue: true
,onClose: true
,killer: true
});
}
}
}
});
return false;
}
};
/*END Цвет темы*/
/*Карусели на главной(добавление класса для анимации)*/
$(document).ready(function(){
$('.mainnewitem').hover(function(){$('.mainnewitem').not(this).addClass('overprod')},function(){$('.mainnewitem').removeClass('overprod')});
$('.mainfavoriteitem').hover(function(){$('.mainfavoriteitem').not(this).addClass('overprod')},function(){$('.mainfavoriteitem').removeClass('overprod')});
$('.mainpageitem').hover(function(){$('.mainpageitem').not(this).addClass('overprod')},function(){$('.mainpageitem').removeClass('overprod')});
});
/*END Карусели на главной(добавление класса для анимации)*/
function themeCol(){
$('.add_to_wishlist_small.added,.add_to_compare_small.added').addClass('ftheme-color');
$('.add_to_wishlist_small,.add_to_compare_small').not('.added').removeClass('ftheme-color')
$('.compareInfoAnchor,.category-name,.add_to_cart_small,.add_to_wishlist,.add_to_compare,.add_to_wishlist_line,.add_to_compare_line,.prodName,.newsanch,.hover-f,.saleH,.accAnchor,.anch').not('.no_avalible_in_recently').hover(function(){$(this).addClass('ftheme-color')},function(){$(this).removeClass('ftheme-color')})
$('.addToCart,.addToCartWithMod,.CompareAddToCart,.add_to_cart_small').not('.no_avalible_in_recently').hover(function(){$(this).addClass('btheme-color').addClass('ftheme-color')},function(){$(this).removeClass('btheme-color').removeClass('ftheme-color')})
$('.close').hover(function(){$(this).addClass('theme-color')},function(){$(this).removeClass('theme-color');});
$('.add_to_wishlist.added > .icon-heart,.add_to_compare.added > .icon-resize-shrink,.add_to_compare.added > .icon-checkmark,.add_to_compare_line.added > .icon-checkmark,.add_to_compare_line.added > .icon-resize-shrink').addClass('ftheme-color');
$('.success').addClass('theme-color');
$('.prod_hold').hover(function(){
$('.prod_hold').not(this).addClass('prod_hover');
},function(){
$('.prod_hold').removeClass('prod_hover');
});
};
/*заупуск слайдера на главной*/
$(window).load(function() {
$('.flexslider').flexslider({
animation: "fade",
pauseOnHover: true,
touch: true,
animationSpeed: 1300,
slideshowSpeed: 6500,
smoothHeight: false,
controlNav: false,
directionNav: true
});
});
/*END заупуск слайдера на главной*/
/* Возвращает правильное окончание для слова */
function genWordEnd(num, e, m, mm) {
// Если забыли указать окончания
if(typeof (e) == "undefined") { e = ''; }
if(typeof (m) == "undefined") { e = 'а'; }
if(typeof (mm) == "undefined"){ e = 'oв'; }
// Если передали пустую строку, вместо цифры
if(0 == num.length) { num = 0; }
// Превращаем цифру в правильный INT
num = GetSum(num).toString();
// Получаем последний символ цифры
ch1 = num.substring(num.length-1);
// Получаем последний символ цифры
ch2 = num.length == 1 ? 0 : num.substring(num.length-2, num.length-1);
// Если последняя цифра - 1, вернем единственное число
if(ch2!=1 && ch1==1) {return e;}
// Если последняя цифра - от 2 до 4х , вернем множественное чило из массива с индексом 2
else if(ch2!=1 && ch1>1 && ch1<=4) {return m;}
// Если последняя цифра - от 5 до 0 , вернем множественное чило из массива с индексом 3
else if(ch2==1 || ch1>4 || ch1==0) {return mm;}
}
/*END Возвращает правильное окончание для слова */
/* Меню-аккардеон. Каталог */
jQuery(document).ready(function () {
jQuery("ul.accordion li.parent").each(function(){
jQuery(this).append('<em class="open-close down"><span style="width: 34px;height: 46px;padding: 10px;position: absolute;border: 2px solid rgba(253, 2, 2, 0);display: block;transform: rotateZ(45deg);top: -16px;left: -4px;"> </span></em>');
});
jQuery('ul.accordion').accordion();
jQuery("ul.accordion li.active").each(function(){
jQuery(this).children().next("ul").css('display', 'block');
});
});
/*END Меню-аккардеон. Каталог */
// Инициализация табов на странице товара
function initTabs() {
// Блок в котором находятся табы
var tabBlock = $('#contents');
if(!tabBlock.length) {
return false;
}
// По умолчанию делаем отметку о том что активного таба не найдено
var isFind = 0;
tabBlock.find('#tabs a').each(function(i){
// Если нашёлся активный там
if($(this).hasClass('active')) {
// Инициализируем найденный таб
$(this).click();
// Ставим отметку, о том что не нужно инициализировать первый таб на странице
isFind = 1;
}
});
// Если не найдено ни одного таба с отметкой о том что он активен
if(!isFind) {
// Ставим активным первый таб на странице.
var tab = $('#tabs > a:first-of-type').attr('id').slice(-1);
tabSwitch(tab);
}
// Проверяет хэш и если по нему была открыта вкладка, то эта функция автоматически откроет её.
checkTabHash();
// Если текущий адрес страницы предполагает добавление отзыва
if('#goodsDataOpinionAdd' == document.location.hash) {
$('#goodsDataOpinionAddBlock').show();
}
// Биндим изменение хэша - проверка какой таб нужно открыть.
$(window).bind('hashchange', function() { checkTabHash(); });
}
// Проверяет хэш, переданый пользователем и открывает соответствующий раздел
function checkTabHash() {
// Определяем текущий хэш страницы
var hash = window.location.hash.substr(1);
if(hash == 'goodsDataOpinionAdd') {
hash = 'show_tab_4';
}
if(!hash.length || hash.indexOf('show_tab_') == -1) {
return false;
}
// Открываем тот таб, который был указан в hash-е
tabSwitch(hash.replace("show_tab_", ''))
}
// Выбор вкладки на странице товара
function tabSwitch(nb) {
var tabBlock = $('#contents');
tabBlock.find('#tabs a').removeClass('active theme-color');
tabBlock.find('div.tab-content').hide();
$('#tab_' + nb).addClass('active theme-color');
$('#content_' + nb).show();
if('#goodsDataOpinionAdd' != document.location.hash) {
// Записываем в хэш информацию о том какой таб сейчас открыт, для возможности скопировать и передать ссылку с открытым нужным табом
document.location.hash = "#show_tab_" + nb;
}
}
// Инициализируем табы на странице
$(function() { initTabs(); });
// Возвращает правильное окончание для слова
function genWordEnd(num, e, m, mm) {
// Если забыли указать окончания
if(typeof (e) == "undefined") { e = ''; }
if(typeof (m) == "undefined") { e = 'а'; }
if(typeof (mm) == "undefined"){ e = 'oв'; }
// Если передали пустую строку, вместо цифры
if(0 == num.length) { num = 0; }
// Превращаем цифру в правильный INT
num = GetSum(num).toString();
// Получаем последний символ цифры
ch1 = num.substring(num.length-1);
// Получаем последний символ цифры
ch2 = num.length == 1 ? 0 : num.substring(num.length-2, num.length-1);
// Если последняя цифра - 1, вернем единственное число
if(ch2!=1 && ch1==1) {return e;}
// Если последняя цифра - от 2 до 4х , вернем множественное чило из массива с индексом 2
else if(ch2!=1 && ch1>1 && ch1<=4) {return m;}
// Если последняя цифра - от 5 до 0 , вернем множественное чило из массива с индексом 3
else if(ch2==1 || ch1>4 || ch1==0) {return mm;}
}
$(document).ready(function(){
$('#column-left .box-heading').click(function(){
var vis = $('#column-left').find('.box-content');
if ($(this).hasClass('up'))
{
vis.fadeOut();
$(this).removeClass('up');
}
else
{
vis.fadeIn();
$(this).addClass('up');
}
});
$('.qty-plus').click(function(){
var
quantity = $(this).parent().find('.quantity')
,currentVal = parseInt(quantity.val())
;
if (!isNaN(currentVal)){
quantity.val(currentVal + 1);
quantity.trigger('keyup');
}
return false;
});
$('.qty-minus').click(function(){
var
quantity = $(this).parent().find('.quantity')
,currentVal = parseInt(quantity.val())
;
if (!isNaN(currentVal) && !(currentVal <= 1) ){
quantity.val(currentVal - 1);
quantity.trigger('keyup');
}
return false;
});
});
// Работа с cookie файлами.
// Получение переменной из cookie
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
// Установка переменной в cookie
function setCookie(name, value, options) {
options = options || {};
var expires = options.expires;
if (typeof expires == "number" && expires) {
var d = new Date();
d.setTime(d.getTime() + expires*1000);
expires = options.expires = d;
}
if (expires && expires.toUTCString) {
options.expires = expires.toUTCString();
}
value = encodeURIComponent(value);
var updatedCookie = name + "=" + value;
for(var propName in options) {
updatedCookie += "; " + propName;
var propValue = options[propName];
if (propValue !== true) {
updatedCookie += "=" + propValue;
}
}
document.cookie = updatedCookie;
}
// Удаление переменной из cookie
function deleteCookie(name, options ) {
options = options || {};
options.expires = -1;
setCookie(name, "", options)
}
// Отправляет ошибку на сервер, для того чтобы служба тех поддержки могла разобраться в проблеме как можно быстрее.
function sendError (desc, page, line) {
var img=document.createElement('img');
img.src = '
http://storeland.ru/...IComponent(desc)+'&page='+encodeURIComponent(window.location)+'&line=0';
img.style.position = 'absolute';
img.style.top = '-9999px';
try { document.getElementsByTagName('head').appendChild(img) } catch (e){}
return false;
}
// Форматирует цену
function 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))+
_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);}
var 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';}
else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';}
return s;}
// Превращает поле пароля в текстовое поле и обратно
// @LinkObject - ссылка по которой кликнули
// @InputObject - объект у которого нужно изменить тип поля
function ChangePasswordFieldType (LinkObject, InputObject) {
var
// Ссылка по которой кликнули
LObject = $(LinkObject),
// Объект у которого изменяем тип с password на text
IObject = $(InputObject),
// Старый текст ссылки
txtOld = LObject.text(),
// Новый текст ссылки
txtNew = LObject.attr('rel');
// Если объекты не получены, завершим работу функции
if( LObject.length==0 || IObject.length==0 ) {
return false;
}
// Изменяем у ссылки текст со старого на новый
LObject.html(txtNew);
// Старый текст ссылки сохраняем в атрибуте rel
LObject.attr('rel', txtOld);
// Изменяем тип input поля
if(IObject[0].type == 'text') {
IObject[0].type = 'password';
} else {
IObject[0].type = 'text';
}
}
// Крутит изображение при обновлении картинки защиты от роботов
function RefreshImageAction(img,num,cnt) {
if(cnt>13) {
return false;
}
$(img).attr('src', $(img).attr('rel') + 'icon/refresh/' + num + '.gif');
num = (num==6)?0:num;
setTimeout(function(){RefreshImageAction(img, num+1, cnt+1);}, 50);
}
$(document).ready(function(){
//$('#tabs a').tabs();
/* Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
$('.order form, .feedbackForm, .clientForm, .goodsDataOpinionAddForm').submit(function(){
if($(this).valid()) {
// Кнопка отправки формы
SubmitButton = $(this).find('input:submit, button:submit');
// Если кнопку уже нажали, видимо отправка формы производилась по нажатию на кнопку enter, не допускаем этого.
if($(SubmitButton.get(0)).attr('disabled')) {
return false;
}
// Устанавливаем на кнопку отправки формы блокировку повторной оптравки
SubmitButton.attr('disabled', true);
// Через 10 секунд блокировка отправки формы снимается.
setTimeout('SubmitButton.attr("disabled", false);', 10000);
}
}).validate();*/
// Кнопки на сайте если подгружен модуль Jquery.UI
if(typeof($('button.submit, button:submit, input:submit, input.button').button) == "function" ) {
$('button.submit, button:submit, input:submit, input.button').button();
}
// Валидация формы на странице оформления заказа, а так же формы на страницы связи с администрацией
$("#myform, .feedbackForm, .clientForm, #quickform").validate({
rules: {
reg_name: "required"
}
});
// Отправка формы по Ctrl+Enter
$('form').bind('keypress', function(e){
if((e.ctrlKey) && ((e.which==10)||(e.which==13))) {$(this).submit();}
// Отправка данных формы по нажатию на Enter в случае если курсор находится в input полях (В некоторых браузерах при нажатии по enter срабатывает клик по первому submit полю, которое является кнопкой назад. Для этого написан этот фикс)
}).find('input').bind('keypress', function(e){
if(((e.which==10)||(e.which==13))) { try{$(this.form).submit();} catch(e){} return false; }
});
// В форме оформления заказа при клике на кнопку назад просто переходим на предыдущую страницу
$('.order form input:submit[name="toprev"]').click(function(){
var act = this.form.action;
this.form.action = act + ( act.indexOf( '\?' ) > -1 ? '&' : '?' ) + 'toprev=1';
this.form.submit();
return false;
});
/* Настройки галереи изображений
$.nyroModalSettings({
// из всех элементов с атрибут rel="gallery" будем создавать галерею
gallery: 'gallery',
// Включаем прокрутку с последнего изображения на первое
galleryLoop: true
});*/
// Увеличение изображение при клике на него и открытие галереи изображений
$('.goodsDataMainImage a, .goodsDataMainImageZoom a').click(function(){
// Идентификатор главной картинки
var goodsImageId = $('.goodsDataMainImage input').attr("rel"),
// Маленькое изображение, по которому на самом деле будем кликать
goodsImageIconElement = $('.goodsDataMainImagesIcon input[rel="'+goodsImageId+'"]').parent().find('a');
// Для иконки изображения запустим галерею
goodsImageIconElement.nyroModalManual();
return false;
});
// Добавление товара в корзину через ajax
$('.goodsDataForm, .goodsToCartFromCompareForm, .goodsListForm').submit(function(){
$(this).nyroModalManual({
formIndicator: 'ajax_q', // Value added when a form is sent
minWidth: 450, // Minimum width
minHeight: 140, // Minimum height
gallery: null // Gallery name if provided
});
return false;
});
// Изменение главного изображения товара при нажатии на миниатюру
$('.goodsDataMainImagesIcon a').click(function(){
// Путь к среднему изображению
var MediumImageUrl = $(this).find('img').attr('rel'),
// Главное изображение, в которое будем вставлять новое изображение
MainImage = $('.goodsDataMainImage img'),
// В этом объекте хранится идентификатор картинки главного изображения для коректной работы галереи изображений
MainImageIdObject = $('.goodsDataMainImage input'),
// Получаем идентификатор этого изображения из соседнего input поля
GoodsImageIconId = $(this).parent().find('input').attr("rel");
// Изменяем главное изображение
MainImage.attr('src',MediumImageUrl);
// Изменяем идентификатор главного изображения
MainImageIdObject.attr("rel",GoodsImageIconId);
return false;
});
// Функция собирает свойства в строку, для определения модификации товара
function getSlugFromGoodsDataFormModificationsProperties(obj) {
var properties = new Array();
$(obj).each(function(i){
properties[i] = parseInt($(this).val());
});
return properties.sort(function(a,
{return a - b}).join('_');
}
var
// Запоминаем поля выбора свойств, для ускорения работы со значениями свойств
goodsDataProperties = $('form.goodsDataForm select[name="form[properties][]"]'),
// Запоминаем блоки с информацией по модификациям, для ускорения работы
goodsDataModifications = $('div.goodsDataMainModificationsList');
// Обновляет возможность выбора свойств модификации, для отключения возможности выбора по характеристикам модификации которой не существует.
function updateVisibility (y) {
// Проверяем в каждом соседнем поле выбора модификаций, возможно ли подобрать модификацию для указанных свойств
goodsDataProperties.each(function(j){
// Если мы сравниваем значения свойства не с самим собой, а с другим списком значений свойств
if( j != y ) {
// Проходим по всем значениям текущего свойства модификации товара
$(this).find('option').each(function(){
// Записываем временный массив свойств, которые будем использовать для проверки существования модификации
var checkProperties = new Array();
$(goodsDataProperties).each(function(i){
checkProperties[i] = parseInt($(this).val());
});
// Пытаемся найти модификацию соответствующую выбранным значениям свойств
checkProperties[j] = parseInt($(this).attr('value'));
// Собираем хэш определяющий модификацию по свойствам
slug = checkProperties.sort(function(a,
{return a - b}).join('_');
// Ищем модификацию по всем выбранным значениям свойств товара. Если модификации нет в возможном выборе, отмечаем потенциальное значение выбора как не доступное для выбора, т.к. такой модификации нет.
if(!goodsDataModifications.filter('[rel="'+slug+'"]').length) {
$(this).attr('disabled', true);
// Если выбрав данное значение свойства товара можно подобрать модификацию, то выделяем вариант выбора как доступный.
} else {
$(this).attr('disabled', false);
}
});
}
});
}
// Обновляем возможность выбора модификации товара по свойствам. Для тех свойств, выбор по которым не возможен, отключаем такую возможность.
// Проверяем возможность выбора на всех полях кроме первого, чтобы отключить во всех остальных варианты, которые не возможно выбрать
updateVisibility (0);
// Проверяем возможность выбора на всех полях кроме второго, чтобы в первом поле так же отключилась возможность выбора не существующих модификаций
updateVisibility (1);
//var goodsDataProperties = $('.goodsDataForm [name="form[properties][]"]');
// Изменение цены товара при изменении у товара свойства для модификации
goodsDataProperties.each(function(){
$(this).change(function(){
var slug = getSlugFromGoodsDataFormModificationsProperties(goodsDataProperties),
modificationBlock = $('.goodsDataMainModificationsList[rel="'+slug+'"]'),
modificationId = parseInt(modificationBlock.find('[name="id"]').val()),
modificationArtNumber = modificationBlock.find('[name="art_number"]').val(),
modificationPriceNow = parseFloat(modificationBlock.find('[name="price_now"]').val()),
modificationPriceNowFormated = modificationBlock.find('.price_now_formated').html(),
modificationPriceOld = parseFloat(modificationBlock.find('[name="price_old"]').val()),
modificationPriceOldFormated = modificationBlock.find('.price_old_formated').html(),
modificationRestValue = parseFloat(modificationBlock.find('[name="rest_value"]').val()),
modificationDescription = modificationBlock.find('.description').html(),
modificationMeasureId = parseInt(modificationBlock.find('[name="measure_id"]').val()),
modificationMeasureName = modificationBlock.find('[name="measure_name"]').val(),
modificationMeasureDesc = modificationBlock.find('[name="measure_desc"]').val(),
modificationMeasurePrecision = modificationBlock.find('[name="measure_precision"]').val(),
modificationIsHasInCompareList= modificationBlock.find('[name="is_has_in_compare_list"]').val(),
goodsModificationId = $('.goodsDataMainModificationId'),
goodsPriceNow = $('.goodsDataMainModificationPriceNow'),
goodsPriceOld = $('.goodsDataMainModificationPriceOld'),
goodsAvailable = $('.goodsDataMainModificationAvailable'),
goodsAvailableTrue = goodsAvailable.find('.available-true'),
goodsAvailableFalse = goodsAvailable.find('.available-false'),
goodsArtNumberBlock = $('.goodsDataMainModificationArtNumber'),
goodsArtNumber = goodsArtNumberBlock.find('span');
goodsCompareAddButton = $('.goodsDataCompareButton.add');
goodsCompareDeleteButton = $('.goodsDataCompareButton.delete');
goodsModDescriptionBlock = $('.goodsDataMainModificationsDescriptionBlock');
// Изменяем данные товара для выбранных параметров. Если нашлась выбранная модификация
if(modificationBlock.length) {
// Цена товара
goodsPriceNow.html(modificationPriceNowFormated);
// Старая цена товара
if(modificationPriceOld>modificationPriceNow) {
goodsPriceOld.html(modificationPriceOldFormated);
} else {
goodsPriceOld.html('');
}
// Есть ли товар есть в наличии
if(modificationRestValue>0) {
goodsAvailableTrue.show();
goodsAvailableFalse.hide();
// Если товара нет в наличии
} else {
goodsAvailableTrue.hide();
goodsAvailableFalse.show();
}
// Если товар есть в списке сравнения
if(modificationIsHasInCompareList>0) {
goodsCompareAddButton.hide();
goodsCompareDeleteButton.show();
// Если товара нет в списке сравнения
} else {
goodsCompareAddButton.show();
goodsCompareDeleteButton.hide();
}
// Покажем артикул модификации товара, если он указан
if(modificationArtNumber.length>0) {
goodsArtNumberBlock.show();
goodsArtNumber.html(modificationArtNumber);
// Скроем артикул модификации товара, если он не указан
} else {
goodsArtNumberBlock.hide();
goodsArtNumber.html('');
}
// Описание модификации товара. Покажем если оно есть, спрячем если его у модификации нет
if(modificationDescription.length > 0) {
goodsModDescriptionBlock.show().html('<div>' + modificationDescription + '</div>');
} else {
goodsModDescriptionBlock.hide().html();
}
// Идентификатор товарной модификации
goodsModificationId.val(modificationId);
} else {
// Отправим запись об ошибке на сервер
sendError('no modification by slug '+slug);
alert('К сожалению сейчас не получается подобрать модификацию соответствующую выбранным параметрам.');
}
});
});
var
// Минимальное значение цены для фильтра
priceFilterMinAvailable = parseInt($('.goodsFilterPriceRangePointers .min').text())
// Максимальное значение цены для фильтра
,priceFilterMaxAvailable = parseInt($('.goodsFilterPriceRangePointers .max').text())
// Максимальное значение цены для фильтра
,priceSliderBlock = $('#goods-filter-price-slider')
// Поле ввода текущего значения цены "От"
,priceInputMin = $( "#goods-filter-min-price" )
// Поле ввода текущего значения цены "До"
,priceInputMax = $( "#goods-filter-max-price" )
// Блок с кнопкой, которую есть смысл нажимать только тогда, когда изменялся диапазон цен.
,priceSubmitButtonBlock = $( ".goodsFilterPriceSubmit" )
;
// Изменяет размер ячеек с ценой, т.к. у них нет рамок, есть смысл менять размеры полей ввода, чтобы они выглядили как текст
function priceInputsChangeWidthByChars() {
// Если есть блок указания минимальной цены
if(priceInputMin.length) {
priceInputMin.css('width', (priceInputMin.val().length*7 + 30) + 'px');
priceInputMax.css('width', (priceInputMax.val().length*7 + 30) + 'px');
}
}
// Слайдер, который используется для удобства выбора цены
priceSliderBlock.slider({
range: true,
min: priceFilterMinAvailable,
max: priceFilterMaxAvailable,
values: [
parseInt($('#goods-filter-min-price').val())
,parseInt($('#goods-filter-max-price').val())
],
slide: function( event, ui ) {
priceInputMin.val( ui.values[ 0 ] );
priceInputMax.val( ui.values[ 1 ] );
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
}
});
// При изменении минимального значения цены
priceInputMin.keyup(function(){
var newVal = parseInt($(this).val());
if(newVal < priceFilterMinAvailable) {
newVal = priceFilterMinAvailable;
}
priceSliderBlock.slider("values", 0, newVal);
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
});
// При изменении максимального значения цены
priceInputMax.keyup(function(){
var newVal = parseInt($(this).val());
if(newVal > priceFilterMaxAvailable) {
newVal = priceFilterMaxAvailable;
}
priceSliderBlock.slider("values", 1, newVal);
priceSubmitButtonBlock.show();
priceInputsChangeWidthByChars();
});
// Обновить размеры полей ввода диапазона цен
priceInputsChangeWidthByChars();
/* Кнопка добавления товара на сравнение товаров
$('.goodsDataCompareButton').click(function(){
window.location.href = $(this).attr('rel') +
($(this).attr('rel').indexOf( '\?' ) > -1 ? '&' : '?') +
'id='+
$('.goodsDataMainModificationId').val()+
'&from='+
$('input[name="form[goods_from]"]').val();
return false;
});*/
// Добавление/удаление товара на сравнение/избранное через ajax
// Сравнение товаров. Увеличение изображение при клике на ссылку увеличения и открытие галереии с изображениями этого товара
$('.CompareGoodsImageZoom').click(function(){
// Галлерея фотографий для данной модификации товаров
var galleryBlock = $('.galleryBlock' + $(this).attr('rel')),
// Главное изображение товара, которое сейчас стоит у товара
galleryMainImage = $('.CompareGoodsImageMain' + $(this).attr('rel')),
// Изображение по которому нужно кликнуть в галлерее изображений
ImageIngallery = galleryBlock.find('.CompareGoodsImageGallery'+galleryMainImage.attr('rel'));
// Запускаем галлерею изображений от изображения товара, чтобы если например кликнули по гайке, то и открылись гайка, а не еще какой-либо изображение этого товара
ImageIngallery.nyroModalManual({
gallery: 'gallery' + $(this).attr('rel')
});
return false;
});
// Сравнение товаров. Инвертирование свойств для сравнения товара
$('.CompareCheckbox.invert').click(function(){
var checked = true,
checkboxes = $('.CompareCheckbox:not(.invert)');
checkboxes.each(function(){
if($(this).attr('checked')) {
checked = false;
return false;
}
});
checkboxes.each(function(){
$(this).attr('checked', checked);
});
$(this).attr('checked', checked);
});
// Сравнение товаров. Скрытие характеристик товара, которые выделил пользователь
$('.CompareGoodsHideSelected').click(function(){
$('.CompareGoodsShowAll').show();
$('.CompareGoodsTableTbodyComparisonLine').each(function(){
var CheckedCheckbox = $(this).find('.CompareCheckbox:checked:not(.invert)');
if(CheckedCheckbox.length>0) {
$(this).hide();
}
});
// отменяем выделение характеристик товаров
$('.CompareCheckbox').attr('checked',false);
return false;
});
// Сравнение товаров. Отображение скрытых характеристик товара
$('.CompareGoodsShowAll').click(function(){
$(this).hide();
$('.CompareGoodsTableTbodyComparisonLine:hidden').show();
return false;
});
// Сравнение товаров. Верхняя навигация изменение фильтра на отображение всех характеристик товаров
$('.CompareGoodsTableFilterShowAll').click(function(){
$('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected');
$('.CompareGoodsTableTbodyComparisonLine:hidden').show();
$(this).addClass('CompareGoodsTableFilterSelected');
return false;
});
// Сравнение товаров. Фильтр в верхней навигации. Отображение только различающихся характеристик товара
$('.CompareGoodsTableFilterShowOnlyDifferent').click(function(){
$('.CompareGoodsTableFilterSelected').removeClass('CompareGoodsTableFilterSelected');
$('.CompareGoodsTableTbodyComparisonLine:not(.same)').show();
$('.CompareGoodsTableTbodyComparisonLine.same').hide();
$(this).addClass('CompareGoodsTableFilterSelected');
return false;
});
// Сравнение товаров. При наведении на строку сравнения, она выделяется цветом
$('.CompareGoodsTableTbodyComparisonLine').hover(
function () { $(this).addClass('hover'); },
function () { $(this).removeClass('hover'); }
);
// При клике по строке выделяем свойство
$('.CompareGoodsTableTbodyComparisonLine td:not(.ceil1)').click(function(){
var CompareCheckbox = $(this).parent().find('.CompareCheckbox');
if(CompareCheckbox.attr('checked')) {
CompareCheckbox.attr('checked', false);
} else {
CompareCheckbox.attr('checked', true);
}
});
function compareGetVars () {
return new Array(
$('.CompareGoodsTableTbody tr:first td').length - 1,
parseInt($('.CompareGoodsTableTbody tr:first td:visible:not(.ceil1)').attr('class').replace(new RegExp('noBorderBottom compare\-td compare\-td\-'), '')),
parseInt($('.CompareGoodsTableTbody tr:first td:visible:last').attr('class').replace(new RegExp('noBorderBottom compare\-td compare\-td\-'), ''))
);
}
// Прокрутка списка сравнения вправо
$('.CompareGoodsTableNext').click(function(){
// Определяем используемые поляasfffffff
var data = compareGetVars();
// Изменяем их если это возможно.
if(data[0] > data[2]) {
$('.compare-td-' + data[1]).hide();
$('.compare-td-' + (data[2] + 1)).show();
if((data[2] + 1) >= data[0]) {
$(this).find('a').addClass('disable');
}
if(data[1] + 1 != 1) {
$('.CompareGoodsTablePrev a').removeClass('disable');
}
}
return false;
});
// Прокрутка списка сравнения влево
$('.CompareGoodsTablePrev').click(function(){
// Определяем используемые поля
var data = compareGetVars();
// Изменяем их если это возможно.
if(1 < data[1]) {
$('.compare-td-' + (data[1] - 1)).show();
$('.compare-td-' + data[2]).hide();
if((data[1] - 1) <= 1) {
$(this).find('a').addClass('disable');
}
if(data[2] - 1 != data[0]) {
$('.CompareGoodsTableNext a').removeClass('disable');
}
}
return false;
});
// Форма регистрации нового пользователя, при оформлении заказа
$('.OrderShowPass').click(function(){
ChangePasswordFieldType(this, $('#contactPassWord'));
return false;
});
/* $('#sites_client_pass, #contactPassWord').capslock({
caps_lock_on:function(){$("#caps_lock").show();},
caps_lock_off:function(){$("#caps_lock").hide();}
});*/
// При оформлении заказа дадим возможность зарегистрироваться пользователю
// Добавление отзыва о товаре. Рейтинг
if(typeof($('.goodsDataOpinionTableRating').stars) == "function" ) {
$('.goodsDataOpinionTableRating').stars({
inputType: "input",
split: 2,
captionEl: $(".goodsDataOpinionMsg"),
cancelShow: false
});
}
// Список отзывов о товаре. Ссылка на отображение формы для добавление отзыва о товаре
$('.goodsDataOpinionShowAddForm').click(function(){
if(0 == $('#goodsDataOpinionAddBlock:visible').length) {
$('#goodsDataOpinionAddBlock').show('blind');
} else {
$('#goodsDataOpinionAddBlock').hide('blind');
return false;
}
});
// Добавление отзыва о товаре. кнопка reset скрывающая форму добавления отзыва о товаре
$('.goodsDataOpinionFormReset').click(function(){
$('#goodsDataOpinionAddBlock').hide('blind');
return false;
});
// Иконка для обновления изображение капчи
$('.goodsDataOpinionCaptchaRefresh').click(function(){
RefreshImageAction(this,1,1);
$('.goodsDataOpinionCaptchaImg').attr('src',$('.goodsDataOpinionCaptchaImg').attr('src')+'&rand'+Math.random(0,10000));
return false;
});
// Фильтры по товарам. При нажании на какую либо характеристику или свойство товара происходит фильтрация товаров
$('.contentTbodySearchFilterBlock input').click(function(){
$(this)[0].form.submit();
});
$("#deliveryConvenientDate").datepicker({
dayNames : ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье'],
dayNamesMin : ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб' ],
closeText : 'Готово',
currentText : 'Сегодня' ,
duration : '',
monthNames : ['Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь','Окрябрь','Ноябрь','Декабрь'],
monthNamesShort : ['Янв','Фев','Март','Апр','Май','Июнь','Июль','Авг','Сен','Окт','Ноя','Дек'],
yearRange : "-6:+6",
dateFormat : 'dd.mm.yy',
minDate : new Date(),
firstDay : 1
});
});
// Быстрый заказ
function quickorder(formSelector) {
// Находим форму, которую отправляем на сервер, для добавления товара в корзину
var formBlock = $($(formSelector).get(0));
// Проверка на существование формы отправки запроса на добавление товара в корзину
if(1 > formBlock.length || formBlock.get(0).tagName != 'FORM') {
alert('Не удалось найти форму добавления товара в корзину');
return false;
}
// Получаем данные формы, которые будем отправлять на сервер
var formData = formBlock.serializeArray();
// Сообщаем серверу, что мы пришли через ajax запрос
formData.push({name: 'ajax_q', value: 1});
// Так же сообщим ему, что нужно сразу отобразить форму быстрого заказа
formData.push({name: 'fast_order', value: 1});
// Аяксом добавляем товар в корзину и вызываем форму быстрого заказа товара
$.ajax({
type : "POST",
cache : false,
url : formBlock.attr('action'),
data : formData,
success: function(data) {
$.fancybox({
content : data
});
}
});
return false;
}
function getClientWidth(){
return document.compatMode=='CSS1Compat' && !window.opera?document.documentElement.clientWidth:document.body.clientWidth;}
function getClientSize(){
var scroll = 1;
var width = getClientWidth();
if(width >= 1670 && width < 2500){
scroll = 4;
}
else if(width < 1670 && width > 800){
scroll = 3;
}
else if(width <= 800 && width > 450){
scroll = 2;
}
return scroll;
}
/*Карусель новинок*/
$(document).ready(function() {
var scrolls = getClientSize();
var owl = $("#owl-demo");
owl.owlCarousel({
items : 5, //10 items above 1000px browser width
itemsDesktop : [1000,3], //4 items between 1650px and 901px
itemsDesktopSmall : [800,2], // betweem 1250px and 101px
itemsTablet: [450,1], //1 items between 600 and 0
itemsMobile : false // itemsMobile disabled - inherit from itemsTablet option
});
// Custom Navigation Events
$(document).ready(function(){
owl.trigger('owl.play',5000);
});
$(".next").click(function(){
owl.trigger('owl.next');
})
$(".prev").click(function(){
owl.trigger('owl.prev');
})
$(".owl-item").hover(function(){
owl.trigger('owl.stop');},function(){owl.trigger('owl.play',5000);
})
});
/*END карусель новинок*/
/*Карусель новинок*/
$(document).ready(function() {
var owl = $("#owl-demo2");
owl.owlCarousel({
items : 5, //10 items above 1000px browser width
itemsDesktop : [1200,3], //4 items between 1650px and 901px
itemsDesktopSmall : [800,2], // betweem 1250px and 601px
itemsTablet: [450,1], //1 items between 600 and 0
itemsMobile : false // itemsMobile disabled - inherit from itemsTablet option
});
var scrolls = getClientSize();
// Custom Navigation Events
$(document).ready(function(){
owl.trigger('owl.play',5000);
});
$(".next2").click(function(){
owl.trigger('owl.next');
})
$(".prev2").click(function(){
owl.trigger('owl.prev');
})
$(".owl-item").hover(function(){
owl.trigger('owl.stop');},function(){owl.trigger('owl.play',5000);
})
});
/*END карусель новинок*/
/*Карусель новинок*/
$(document).ready(function() {
var scrolls = getClientSize();
var owl = $("#owl-demo3");
owl.owlCarousel({
items : 5, //10 items above 1000px browser width
itemsDesktop : [1000,3], //4 items between 1650px and 901px
itemsDesktopSmall : [800,2], // betweem 1250px and 601px
itemsTablet: [450,1], //1 items between 600 and 0
itemsMobile : false // itemsMobile disabled - inherit from itemsTablet option
});
// Custom Navigation Events
$(document).ready(function(){
owl.trigger('owl.play',5000);
});
$(".next3").click(function(){
owl.trigger('owl.next');
})
$(".prev3").click(function(){
owl.trigger('owl.prev');
})
$(".owl-item").hover(function(){
owl.trigger('owl.stop');},function(){owl.trigger('owl.play',5000);
})
});
function showResCompare(){
$('.add_to_compare').on('click',function(){
})
}
/*END карусель новинок*/
function ajaxnewqty(){
$('.cartqty').change(function(){
$(this).attr('readonly','readonly');
if($(this).val() < 1){
$(this).val(1);
}
s = $(this);
id = $(this).closest('tr').data('id');
qty = $(this).val();
data = $('.cartForm').serializeArray();
data.push({name: 'only_body', value: 1});
$('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','0');
$('.TotalSum').css('opacity','0');
$.ajax({
data: data,
cache:false,
success:function(d){
s.val($(d).find('tr[data-id="' + id + '"] .cartqty').val())
$('tr[data-id="' + id + '"] .ajaxtotal').css('opacity','1');
$('.TotalSum').css('opacity','1');
tr = $('tr[data-id="' + id + '"]');
tr.find('.ajaxtotal').html($(d).find('tr[data-id="' + id + '"] .ajaxtotal').html());
$('.TotalSum').html($(d).find('.TotalSum').html());
$('#cart').html($(d).find('#cart1').html());
$('.discounttr').each(function(){
$(this).remove();
})
$(d).find('.discounttr').each(function(){
$('.cartTable tbody tr:last-child').after($(this));
})
c = $(d).find('tr[data-id="' + id + '"] .qty');
qw = c.val();
$('.cartqty').removeAttr('readonly');
if(qty > qw){
$('.cartErr').remove();
$('.cartTable').after('<div class="cartErr" style="display:none;">Вы пытаетесь положить в корзину товара больше, чем есть в наличии</div>');
$('.cartErr').fadeIn(500).delay(2500).fadeOut(500, function(){$('.cartErr').remove();})
$('.cartqty').removeAttr('readonly');
}
}
})
})
}
function ajaxdelete(s){
var yep = confirm('Вы точно хотите удалить товар из корзины?');
if(yep == true){
var closeimg = s;
s.closest('tr').fadeOut();
url = closeimg.data('href');
$.ajax({
url:url,
cache:false,
success:function(d){
$('.cart-info').html($(d).find('.cart-info').html());
$('#cart').html($(d).find('#cart1').html());
ajaxnewqty();
themeCol();
}
})}else{
return false;
}
}
/*ajax вывод товаров списком/таблицей*/
$(document).ready(function(){
themeCol();
$('.col-9').on('click', '.view-mode > a.act', function(){
href = document.location.href;
if (href.indexOf('?') + 1) { separator = '&'; }
else { separator = '?'; }
browser = null;
qwe = navigator.userAgent;
if (qwe.search(/MSIE/) != -1){browser = 'IE'}
if(browser === 'IE'){
var url = encodeURI(document.location.href+separator+$(this).data('href').slice(1)+'&only_body=1');
}else{
var url = document.location.href+separator+$(this).data('href').slice(1)+'&only_body=1';
}
$('.product-list,.product-list2').addClass('opazero');
$('.product-list,.product-list2').prepend('<div class="loader"><img src="' + zoomloaderPath + '"/></div>');
$.ajax({
url: url,
cache: false,
success: function(d){
$('#ajaxprod').parent().html($(d).find('#ajaxprod').parent().html());
$('.ajaxbuttons').html($(d).find('.ajaxbuttons').html());
themeCol();
prodWidth();
$($('.add_to_compare_small, .add_to_wishlist_small').click(addTo))
}
});
});
})
/*END ajax вывод товаров списком/таблицей*/
jQuery(document).ready(function() {
// Initialise the first and second carousel by class selector.
// Note that they use both the same configuration options (none in this case).
jQuery('.d-carousel .carousel').jcarousel({
scroll: 1
});
});
$(document).ready(function(){
$('.menuopen').click(function(){
if($(this).hasClass('active')){
$(this).removeClass('active');
}else{
$(this).addClass('active');
}
$('.menuLowRes').toggle('normal');
})
$('.catalogButtonLowRes').click(function(){
if($(this).hasClass('active')){
$(this).removeClass('active');
}else{
$(this).addClass('active');
}
$('.catwrp').toggle('normal');
})
$('.recentButtonLowRes').click(function(){
if($(this).hasClass('active')){
$(this).removeClass('active');
}else{
$(this).addClass('active');
}
$('.rvGoods').toggle('normal');
})
})
function validName(){
name = $('#callback_person').val();
if(name != ''){
$('.name-error').remove();
q2 = true;
}else{
$('.name-error').remove();
$('#callback_person').parent().after('<div class="feedblabel name-error"> ! Вы не указали ваше Имя ! </div>');
}
}
function validPhone(){
tel = $('#callback_phone').val();
check = /^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/.test(tel);
if(check == true && check != ''){
$('.tel-error').remove();
q1 = true;
}
else{
$('.tel-error').remove();
$('#callback_phone').parent().after('<div class="feedblabel tel-error"> ! Вы ввели неверный номер телефона ! </div>');
}
}
//Проверка телефона в обратном звонке.
function validCallBack(){q1 = false;q2 = false;validName();validPhone();return q1 && q2;}
/* модификации в каталоге , при выводе товаров таблицей */
$(function(){$('#callback_person').change(validName)})
$(function(){$('#callback_phone').change(validPhone)})
$(document).ready(function(){$('.add_to_compare_small, .add_to_wishlist_small').click(addTo)})
$(document).ready(ajaxnewqty)
$(document).ready(prodHeight)
$(function(){
$('.no_avalible_in_recently').click(function(){
$('.succAddMessage').remove();
$(this).parent().after('<div class="succAddMessage red" style="display:none;"><div>Данного товара нет в наличии</div></div>');
$('.succAddMessage').slideDown(200).delay(2000).slideUp(200,function(){$('.succAddMessage').remove();
})
})
})
$(function(){
$('.goods-cat-image-medium-square').click(function(){
uri = $(this).find('a').attr('href');
document.location.href = uri
})
})