function width(min,max){ w = document.documentElement.clientWidth; return (w <= min) ? min + "px" : ((w >= max) ? max + "px" : "auto"); } var documentIsReadyUpdated = false; // Этот флаг нужен для корзины $(document).ready(function(){ if ($.browser.msie && $.browser.version == 6) { $("img.png").ifixpng(); }; if ($('div.right-basket.dynamic-move').size() > 0) {// Это чтобы корзинa ездила за скроллом $(document).bind('mousemove', rightBasketMove); $(document).bind('scroll', rightBasketMove); } if ($('div.working.good-detail, div.working.basket-list').size() > 0) { // Раздел с детальным описанием товара $('.table_js_counting tr td p i.rs').click(goodCount.update); $('.table_js_counting tr td p i.ls').click(goodCount.update); $('input.goodCount').bind('keyup', goodCount.updateSumm2); $('div.working.good-detail .goodCount, div.working.basket-list .goodCount').each(function() { goodCount.updateSumm(this); }); $('table.basket-list-table td.delete a').click(basket.deleteItemFromList); } if ($('div.basket-list').size() > 0) { // Раздел с корзиной $('table.basket-list-table tr').hover(function() { $(this).addClass('hover-row'); }, function() { $(this).removeClass('hover-row'); }); } var jsAnimate_l = $(".jsAnimate_l").height()+100; var jsAnimate_r = $(".jsAnimate_r").height()+100; if (jsAnimate_l != jsAnimate_r) { $('.working').height(Math.max(jsAnimate_l, jsAnimate_r)); } $('#js_r').addClass('js_r'); $('#js_c').addClass('js_c'); var widthParent = $('.working').width()+55; var widthDiv_Animate_r = $('.jsAnimate_r, .jsAnimate_c ').css('width', function() { return $(this).width(); }).css('left', - widthParent); $('#js_l').click(function(){ if($(this).hasClass('.js_l')){ if ($('.working').children().hasClass('.jsAnimate_r')) { $('#js_l').removeClass('js_l'); $('#js_r').addClass('js_r'); $('#js_c').addClass('js_c'); $('.jsAnimate_r, .jsAnimate_c').css("width", function(){ return $(this).width(); }).animate({ left: - widthParent }, 300, function(){ $('.working').animate({ height: $('.working').children('.jsAnimate_l').height() }, 300); $('.working').children('.jsAnimate_l').animate({ left: '23px' }, 300); }); } } }); $('#js_r').click(function(){ if($(this).hasClass('js_r')){ if ($('.working').children().hasClass('jsAnimate_l')) { $('#js_r').removeClass('js_r'); $('#js_l').addClass('js_l'); $('#js_c').addClass('js_c'); $('.jsAnimate_l, .jsAnimate_c ').css("width", function(){ return $(this).width(); }).animate({ left: - widthParent }, 300, function(){ $('.working').animate({ height: $('.working').children('.jsAnimate_r').height() }, 300); $('.working').children('.jsAnimate_r').animate({ left: '23px' }, 300); }); } } }); $('#js_c').click(function(){ if($(this).hasClass('js_c')){ if ($('.working').children().hasClass('jsAnimate_c')) { $('#js_r').addClass('js_r'); $('#js_l').addClass('js_l'); $('#js_c').removeClass('js_c'); $('.jsAnimate_l, .jsAnimate_r ').css("width", function(){ return $(this).width(); }).animate({ left: - widthParent }, 300, function(){ $('.working').animate({ height: $('.working').children('.jsAnimate_c').height() }, 300); $('.working').children('.jsAnimate_c').animate({ left: '23px' }, 300); }); } } }); var needPreloadedImages = [ 'templates/images/basket-loader.gif', 'templates/images/icons/checked.png', 'templates/images/icons/small-basket.png' ]; var tmp = []; for (var i=0; i < needPreloadedImages.length; i++) { tmp.push(''); } $('body').append('
'+ tmp.join(' ') +'
'); $('.cement').find("a[href$='.jpg'], a[href$='.png'], a[href$='.gif']").each(function(i) { $(this).addClass('highslide').click(function(){ return hs.expand(this); }); }); documentIsReadyUpdated = true; }); var lastScrollPositionTop = 0; // Это что бы корзинка ездила за скроллом function rightBasketMove(evnt) { if (lastScrollPositionTop == getBodyScrollTop()) { return; // Если положение скролла не изменилось } lastScrollPositionTop = getBodyScrollTop(); var defaultOffset = 0; var startWhen = 130; // Стартует, когда скролл опускается больше, чем это var scrolling = lastScrollPositionTop; if (scrolling < startWhen) { rightBasketPosSet(defaultOffset); } else { rightBasketPosSet(scrolling - startWhen); } } function rightBasketPosSet(pos) { // pr2(pos, 400, 500); pos += 'px'; $('#dynamicMove').stop(); $('#dynamicMove').animate({'marginTop':pos}, 800, 'bounceEaseOut'); } /** * Получить положение скролла для окна */ function getBodyScrollTop() { return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop); } var goodCount = { update : function() { var t = $(this); var num = t.hasClass('rs')? 1 : -1; var input = t.parent().find('.goodCount'); var cnt = parseInt(input.val()); input.val(Math.max(cnt + num, 1)); goodCount.updateSumm(this); }, updateSumm : function(t) { var tr = $(t).parent().parent().parent(); var price = parseInt($('.price', tr).text().replace(',', '.').replace(' ', '')); var input = $('.goodCount', tr); var cnt = parseInt(input.val()); if (isNaN(cnt)) { $('.cost', tr).text('0 руб'); return; } var cnt = Math.min(Math.max(cnt, 1), 999); if (input.val() != cnt) { // Это хак для ИЕ6. иначе он пытается изменять значение, когда я стрелочками перемещаюсь. При этом, каретка перепыгивает в конец текста. И получается, что я левой стрелкой не могу переместиться влево - каретка всё время спрыгивает вправо сразу после перемещения input.val(cnt); } $('.cost', tr).text(cnt * price + ' руб'); if ($('.basket-list div.summary').size() > 0) { // Если находимся в разделе "корзина", то надо пересчитать сумму goodCount.needReloadPage(); } }, updateSumm2 : function(e) { goodCount.updateSumm(e.target); }, needReloadPage : function() { if ($('.basket-list div.summary').size() <= 0) { // Если не находимся в разделе "корзина" return; } if (documentIsReadyUpdated) { $('.basket-list div.summary div.summ > div').slideUp(500, function() { $('.basket-list div.summary a.actions.reload').slideDown(500); }); } } }; var basket = { deletedItems : [], add : function(id) { var div = $('#price' + id); $('a', div).get(0).blur(); div.append('
Загрузка...   Загрузка...
'); basket.send(id); }, send : function(id) { var cnt = 1; if ($('.good-detail').size() > 0) { // Если находимся на странице детального просмотра, то подцепляем количество из соответствующего поля. cnt = parseInt($('input.goodCount').val()); } $.getScript('basketAjax.php?action=addItem&id='+ id +'&cnt=' + cnt); }, successAdded : function(id, count, unitName, rightBasketHTML) { $('div.right-basket').html(rightBasketHTML); var div = $('#price' + id); var inProgress = $('div.in-progress', div); inProgress.html('Добавлено   Добавлено'); basket.addBasketNotice(div, count, unitName); setTimeout(function(){ inProgress.fadeOut(500, function() { inProgress.remove(); }); }, 2000); }, addBasketNotice : function(div, count, unitName) { var text = 'В корзине '+ count +' '+ unitName +''; var basketNotice = $('div.basketNotice', div); if (basketNotice.size() <= 0){ // Если ещё нет. div.append('
'+ text +'
'); } else { basketNotice.html(text); } }, reloadList : function(needOrder) { var inputs = ['', '']; for (var i=0; i'); } $('#basketListFormAction').val('reload'); if (needOrder) { inputs.push(''); } var frm = $('#basketListForm'); frm.append(inputs.join('')).submit(); }, deleteItemFromList : function() { var id = parseInt($(this).attr('rel')); basket.deletedItems.push(id); $('#item' + id).remove(); basket.reloadList(); // goodCount.needReloadPage(); } }; function searchReplace(t) { $('div.working.search input.sh').val($(t).text()); } /** * Аналог для print_r() * * @param mixed variable Переменная любого типа */ function pr(variable) { if ($.dump) { if (typeof(myAlert) != 'undefined') { myAlert('
' + $.dump(variable) + '
'); } else { alert($.dump(variable)); } } else { myAlert('Не подключено расширение jQuery.dump'); } } function pr2(variable, x, y) { if ( ! $.dump) { alert('Не подключено расширение jQuery.dump'); } if ($('#dump').size() <= 0) { x = x || 200; y = y || 200; $('body').append('
');
	}



	var t = $.dump(variable);
	t = t.replace(/	/g, '    ');


	$('#dump').text(t);
}