var ctrlPressed = false;
var shiftPressed = false;
var promoSlider;

$(document).ready(function(){

	$('.products-filter table a').hover(function(){
		$(this).parents('td').toggleClass('hover');
	});

	// установка таймеров ==================================================================================
	$('.countdown-box').each(function(){

        var timestamp   = $(this).find('.timestamp').text(),
		    redTime     = new Date( timestamp * 1000 );

        if( $(this).find('.countdown-timer').size() > 0 ){

		    $(this).find('.countdown-timer').countdown({
    			until: redTime,
    			description: '',
    			layout: '<span class="day">{dn} {dl}</span><span class="min">{hnn}{sep}{mnn}{sep}{snn}</span>',
    			onTick: everySec,
    			onExpiry: endSale,
    			serverSync: serverTime
    		});

        }

	});

	$('.big-counter .countdown-box').each(function(){

		var timestampSlider = $(this).find('.timestamp').text(),
            redTimeSlider   = new Date( timestampSlider * 1000 );

        if( $(this).find('.slider-counter-in').size() > 0 ){

		    $(this).find('.slider-counter-in').countdown({
    			until: redTimeSlider,
    			description: '',
    			timeSeparator: ':',
    			onTick: everySec,
    			layout: '<b>{dn}<span>{dl}</span></b> {hnn}<span class="sep">{sep}</span>{mnn}<span class="sep">{sep}</span>{snn}',
    			serverSync: serverTime
    		});

        }

	});	
	// END установка таймеров ===============================================================================

	if( $('#updated-goods').find('ul li').length > 0 ){

        var $_updated   = $('#updated-goods'),
		    width_,
            quantity,
            classes     = $_updated.attr('class'),
            $_li        = $_updated.find('ul li');

        if( classes ) quantity = parseInt( classes.match(/^quantity-(\S+)$/)[1] );
		
		$_li.each(function(){

			width_ = $(this).find('a').width();

			if( width_ > 350 ) $(this).addClass('big');

		});
		
		if( $_li.length > quantity ){
			initUpdatedSlider( quantity );
		}
	}
	
	if( $('#promo-slider').find('.slider li').length > 1 ){
		initPromoSlider();
	}
	
    $('.products-gallery .block-in').each(function(){
        $(this).find('.gallery-product-box:odd').addClass('no-bg');
    });

    $('.product-box:last').addClass('last');

	/* category */
	$('#category > ul > li').hover(function(){
		$(this).addClass('active');
	}, function(){
		$(this).removeClass('active');
	});

	$('#overlay').css('height',$(document).height());
	
	$('#overlay').click(function(){
		$('#overlay').hide();
	});
	
	if ($('#add-cat').size() > 0) $('#add-cat').fancybox();

	if ($('a.fancybox').size() >0) $('a.fancybox').fancybox({padding:0});
	
	$('a.cancel').click(function(){
		$('#fancybox-overlay').click();
		return false;
	});

	$(document).keydown(function(e) {
	  if( e.ctrlKey ){ ctrlPressed = true; }
      if((e.keyCode == 37) && shiftPressed ){ galPrev(); }
      if((e.keyCode == 39) && shiftPressed ){ galNext(); }
	  if((e.keyCode == 37) && ctrlPressed && $(document).find('.pagination').find('.prev').attr('href') != undefined ){
			document.location = $(document).find('.pagination').find('.prev').attr('href');
	  }
	  if( (e.keyCode == 39) && ctrlPressed && $(document).find('.pagination').find('.next').attr('href') != undefined ){
  			document.location = $(document).find('.pagination').find('.next').attr('href');
	  }
	});

	$(document).keyup(function(e) {
		if(e.ctrlKey){ ctrlPressed = false };
		if(e.shiftKey){ shiftPressed = false };
	});

	/* info box*/
	$('.info-box .close').click(function(){
		$(this).parent('.info-box').animate({opacity:0},400,function(){$(this).slideUp(400, function(){$(this).remove();});});
		return false;
	});

    // фиксированный заголовок Страница категорий
	if( $('.fixing-headers-container').size() > 0 ){

        var $_fixed         = $('.fixing-headers-container'),
            $_fixed_head    = $_fixed.find('.headers'),
            $_top;

		$(window).scroll(function(){

            if( $('#top-panel-banner').is(':visible') ){

                $_top = 0;
                $_fixed_head.addClass('with-ban');

            }else{

                $_top = $('#top-panel').height();
                $_fixed_head.removeClass('with-ban');

            }

			if( $(document).scrollTop() > $_fixed.offset().top - $_top ){

                $_fixed_head.addClass('fixed');

            }else{

                $_fixed_head.removeClass('fixed');

            }

		});
	}
	
});

    function initGal(num){

        var $_gal = $('#img-gal');

	    $_gal.find('.thumbs a').removeClass('active').eq(num).addClass('active');
	    $_gal.find('.big-img img').attr( 'src', $_gal.find('.thumbs a.active').attr('href') );
	
	    $_gal.find('.thumbs a:not(:last,:first)').click(function(){
		    if( !$(this).hasClass('active') ){
			    $_gal.find('.thumbs a').removeClass('active');
			    $(this).addClass('active');
			    $_gal.find('.big-img img').hide().attr( 'src', $(this).attr('href') ).fadeIn(500);
		    }
		    return false;
	    });
    }

    function galPrev(){

        var $_gal       = $('#img-gal'),
            $_thumbs_a  = $_gal.find('.thumbs a'),
            $_active    = $_gal.find('.thumbs a.active').prev( $_gal.find('.thumbs a') );

    	if( $_active.hasClass('prev') ){

            $_thumbs_a.eq( $_thumbs_a.size() - 2 ).click();

        }else{

            $_active.click();

        }

    }

    function galNext(){

        var $_gal       = $('#img-gal'),
            $_thumbs_a  = $_gal.find('.thumbs a'),
            $_active    = $_gal.find('.thumbs a.active').next( $_gal.find('.thumbs a') );

    	if( $_active.hasClass('next') ){

            $_thumbs_a.eq(1).click();

        }else{

            $_active.click();
            
        }

    }

	function toggleCategoryFilterLine(el){
	
		$(el).toggleClass('toggled').parents('.line-in').find('.toggle-block').slideToggle();
	
	}

	function swapToCartLinks(el, id){
		
		$('.notice:visible').hide();
		var el = $(el);
		el.find('span').text('загрузка...');
		
		$.get('/rycle/add/'+id, {}, function(count){
			el.hide();
			el.parent().find('.in-cart em').text(count);
			$('#rycle-main-block-count').text(count).parent().parent().parent().addClass('cart-not-empty');
			el.parents('.right').find('.in-cart').fadeIn(400, function(){if ($(this).find('.notice').size() > 0) $(this).find('.notice').delay(5000).fadeOut()});
			el.parents('.order-box').find('.in-cart').fadeIn(400, function(){if ($(this).find('.notice').size() > 0) $(this).find('.notice').delay(5000).fadeOut()});

            if( $(el).parents('.gallery-product-box').size() > 0 ){
                $(el).parents('.order-box').find('a.order-btn').hide();
            }

		});		
		
	}

	function closeNotice(el){
		$(el).parents('.notice').hide();
	}

    function toggleCategoryFilterLineNew(el){

        var $_line = $(el).parents('.line-in');

        if( $_line.hasClass('toggled_new') ){

            $_line.find('.toggle-block').slideUp(100,function(){
                $_line.removeClass('toggled_new');
            });

        }else{

            $_line.addClass('toggled_new').find('.toggle-block').slideDown(100);

        }

    }

	function categoriesListScroll(el, num){
		$('body').scrollTo($('.categories-list .row:eq('+num+')').offset().top - 57, 500);
		$('.categories-list .headers a').removeClass('active');
		$(el).addClass('active');
	}

	function openWindow( url, width, height ){
		url	+= '&referer=' + window.location;
		window.open( url, 'write', 'resizable=1,' + 'width=' + width + ',height=' + height + ',left=' + ((window.innerWidth - width)/2) + ',top=' + ((window.innerHeight - height)/2) )
	}

	function getCompanyInfo(id){
		$.get('/companies/contacts/'+id, {}, function(data){
		    $('#contacts-info').html(data);
		});
	}

	function initPromoSlider(){
		var $_slider_bl = $('#promo-slider');
		var $_slider	= $_slider_bl.find('.slider');
		var $_links		= $_slider_bl.find('.promo-slider-links');

		$_links.find('ul').empty();

		$_slider
			.find('li').each(function(){
				$_links
					.find('ul')
					.append('<li><a href="javascript:void(0);" onclick="promoSliderAction(this);" class="promo-slider-pager"></a></li>');
			});

		promoSlider = $_slider.bxSlider({
				wrapperClass: 'pormo-slider-wrap',
				controls: false,
				prevText: '',
				nextText: '',
				pause:7000,
				speed: 200,
				autoHover: true,
				displaySlideQty: 1,
				pager: false,
				auto: true,
				infiniteLoop: true,
				moveSlideQty: 1,
				onBeforeSlide: function(currentSlider, totalSlide, surrentLi){
					promoSliderAction();
				}
			})
			.addClass('ready');

		$_links.find('.promo-slider-links-in').show();

		promoSliderAction();

	}

	function promoSliderAction(el,direction){

		var curr;
		var count	= promoSlider.getSlideCount();
		var $_links	= $('#promo-slider').find('.promo-slider-links');

		if( el ){

			if( direction ){

				if( direction == 'right' ){

					promoSlider.goToNextSlide();

				}else{

					promoSlider.goToPreviousSlide();

				}

			}else{

				promoSlider.goToSlide( $(el).parents('li').index() );

			}

		}

		curr = promoSlider.getCurrentSlide();

		$_links
			.find('.promo-slider-pager')
				.removeClass('active').end()
			.find('.promo-slider-pager:eq('+ curr +')')
				.addClass('active');

	}

	function initUpdatedSlider(quantity){
		var $_slider = $('#updated-goods').find('ul');

		$_slider.bxSlider({
			wrapperClass: 'updated-slider-wrap',
			controls: false,
			mode: 'vertical',
			prevText: '',
			nextText: '',
			pause:3000,
			speed: 200,
			autoHover: true,
			displaySlideQty: quantity,
			pager: false,
			auto: true,
			infiniteLoop: true,
			moveSlideQty: 1
		});

	}

    // ЭТО СЕРВЕРНОЕ ВРЕМЯ - текущая дата
    // получаем timestamp с сервера
    function serverTime(){
        var server = new Date(server_time*1000);
        return server;
    }
	// обработка окончания акции
	function endSale(){
		$(this).parents('.countdown-box').slideUp();
	}
	function everySec(periods){
		// если остался меньше одного дня, то дни убираются, и всё становится красным как кровь
		if(periods[3] == 0){
			$(this).parents('.countdown-box').addClass('hotest')
		}
		// если остался один день до конца, то помечается красным цветом
		if(periods[3] == 1){
			$(this).parents('.countdown-box').addClass('hot');
		}
	}
	
