function number_format(number,decimals,dec_point,thousands_sep){
	number=(number+'').replace(/[^0-9+\-Ee.]/g,'');
	var n=!isFinite(+number)?0:+number,
	prec=!isFinite(+decimals)?0:Math.abs(decimals),
	sep=(typeof thousands_sep==='undefined')?',':thousands_sep,
	dec=(typeof dec_point==='undefined')?'.':dec_point,
	s='',
	toFixedFix=function(n,prec){
		var k=Math.pow(10,prec);
		return ''+Math.round(n*k)/k;
	};
	s=(prec?toFixedFix(n,prec):''+Math.round(n)).split('.');
	if(s[0].length>3){
		s[0]=s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,sep);
	}
	if((s[1]||'').length<prec){
		s[1]=s[1]||'';
		s[1]+=new Array(prec-s[1].length+1).join('0');
	}
	return s.join(dec);
}
function animate_picture(el,to){
	var image=el.offset();
	var cart=$(to).offset();
	var fly_el_attrs=' id="tmp_image" style="position:absolute;top:'+image.top+'px;left:'+image.left+'px;width:'+el.width()+'px;z-index:999;"';
	if(el.attr('src')){
		var fly_el='<img src="'+el.attr('src')+'"'+fly_el_attrs+'/>';
	}
	else{
		var fly_el='<i class="'+el.attr('class')+'"'+fly_el_attrs+'></i>';
	}
	$('footer').after(fly_el);
	params={
		top:cart.top+10+'px',
		left:cart.left+80+'px',
		opacity:0.1,
		width:20
	};
	$('#tmp_image').animate(params,900,false,function(){
		$('#tmp_image').remove();
	});
}
function add_to_card(el,form_data){
	$.ajax({
		type:'post',
		url:'/ajax.php?page_type=basket&action=add',
		data:form_data,
		beforeSend:function(){
		},
		success:function(r){
			var result=JSON.parse(r);
			$('header .cart-quantity').html(result['products_count']);
		}
	});
	animate_picture(el,'header .total-cart');
	return false;
}
function update_cart(form){
	$.ajax({
		url			:	'/ajax.php?page_type=basket&action=update',
		type		:	form.attr('method'),
		data		:	form.serialize(),
		beforeSend	:	function(){
		},
		success		:	function(r){
							var result=JSON.parse(r);
							$('.order-total-n').html(result['products_count']);
							var delivery_price=$(':selected',$('select[name=delivery]')).data('price')
							$('.order-total-price').html(number_format(result['global_price']+delivery_price,0,'.',' ')+'р.');
							$('header .cart-quantity').html(result['products_count']);
						},
		complete	:	function(){
						}
	});
}
function delete_from_cart(el,del_key){
	$.ajax({
		type:'post',
		url:'/ajax.php?page_type=basket&action=delete&'+del_key+'=1',
		success:function(r){
			var result=JSON.parse(r);
			if($('.shopping-cart-table tbody tr').length>1){
				$('.order-total-n').html(result['products_count']);
				$('.order-total-price').html(number_format(result['global_price'],0,'.',' ')+'р.');
				el.remove();
			}else{
				$('.shopping-cart-content').parent().append('<div class="order-complete-content box-shadow"><div class="thank-you p-30 text-center"><h6 class="text-black-5 mb-0">В корзину не добавлено ни одного товара.</h6></div></div>');
				$('.shopping-cart-content').remove();
				$('.checkout-content').remove();
			}
			$('header .cart-quantity').html(result['products_count']);
		}
	});
}
function setEqualHeight(columns){
	var tallestcolumn=0;
	columns.each(function(){
		currentHeight=$(this).height();
		if(currentHeight>tallestcolumn){
			tallestcolumn=currentHeight;
		}
	});
	columns.height(tallestcolumn);
}
function setEqualHeightBlock(columns,block){
	columns.each(function(){
		var tallestcolumn=0;
		var column=$(this);
		column.find(block).each(function(){
			currentHeight=$(this).height();
			if(currentHeight>tallestcolumn){
				tallestcolumn=currentHeight;
			}
		});
		column.find(block).height(tallestcolumn);
	});
}
$(window).on('load',function(){
	//setEqualHeightBlock($("#grid-view"),$(".product-title"));
	setEqualHeight($("#grid-view .product-title"));
});
$(function(){
	$("input[name=phone]").mask("+7 (999) 999-99-99");
	$('li.compare a').on('click',function(){
		var item_id=$(this).attr('data-id');
		if($(this).attr('data-action')=='add'){
			$.ajax({
				type:'post',
				url:'/index.php?ajax_action=compare',
				data:{id:item_id,act:'add'},
				beforeSend:function(){
				},
				success:function(r){
					$('header .compare_count span').html(r);
				}
			});
			$(this).attr('href','/compare.html');
			$(this).removeAttr('data-action');
			$(this).closest('li').addClass('active');
			picture=$('.image_'+item_id);
			animate_picture(picture,'.compare_count');
			return false;
		}
	});
	$('.compare_remove').on('click',function(){
		var item_id=$(this).attr('data-id');
		$.post('/index.php?ajax_action=compare',{id:item_id,act:'del'});
		$.ajax({
			url:window.location.href,
			headers:{
				"Pragma":"no-cache",
				"Expires":-1,
				"Cache-Control":"no-cache"
			}
		}).done(function(){
			window.location.reload(true);
		});
		return false;
	});
	$('a.buy_button').on('click',function(){
		$(this).next('form').submit();
		return false;
	});
	$('a.buy_button_detail').on('click',function(){
		$(this).closest('.single-product-info').find('.catalog_form').submit();
		return false;
	});
	$('.single-product-info input[name=qtybutton]').on('change',function(){
		$(this).closest('.single-product-info').find('input[name=n]').val($(this).val());
		return false;
	});
	$('.catalog_form').on('submit',function(){
		var image=$(this).closest('.product-item').find('.image_'+$(this).data('item'));
		add_to_card(image,$(this).serialize());
		var form=$(this);
		ym(form.data('counter'),'reachGoal','buy');
		//gtag('event','buy');
		window.dataLayer.push({
			"ecommerce":{
				"add":{
					"products":[
						{
							"id":form.data('id'),
							"name":form.data('name'),
							"price":form.data('price'),
							"brand":form.data('brand'),
							"category":form.data('category'),
							"quantity":1,
						}
					]
				}
			}
		});
		var url=form.data('url');
		if(url!=''){
			console.log(url);
			window.location.href=url;
			return false;
		}
		/*
		*/
		return false;
	});
	$('select[name=delivery]').on('change',function(){
		if($(this).val()==2){
			$('input[name=address]').removeClass('hidden');
		}
		else{
			$('input[name=address]').addClass('hidden');
		}
		if($(this).val()==3){
			$('.pvz').removeClass('hidden');
		}
		else{
			$('.pvz').addClass('hidden');
		}
		var price=$(':selected',this).data('price');
		$('.order-delivery-price').html(price+'р.');
		if(price>0){
			$('.order-delivery').removeClass('hidden');
		}
		else{
			$('.order-delivery').addClass('hidden');
		}
		update_cart($('.shopping-cart-content form'));
	});
	$('select[name=city]').on('click',function(){
		$(this).data('pvz','')
	});
	$('select[name=city]').on('change',function(){
		var pvz=$(this).data('pvz');
		$.ajax({
			url:'/index.php',
			type:'get',
			datatype:'json',
			data:{CityCode:$(this).val()},
			success:function(response){
				var points='';
				points+='<option value="">Выбрать ПВЗ</option>';
				$.each(response,function(count,option){
					points+='<option value="'+option.Code+'" data-id="'+option.id+'">'+option.Name+'</option>';
				});
				$('select[name=pvz]').html(points);
				if(pvz!=''){
					$('select[name=pvz]').val(pvz);
				}
			}
		});
	});
	$('.shopping-cart-content input[type=text]').on('change',function(){
		$(this).closest('tr').find('.product-subtotal').html(number_format(($(this).closest('tr').find('.product-remove a').data('price')*$(this).val()),0,'.',' ')+'р.');
		$(this).closest('tr').find('.product-remove a').data('n',$(this).val());
		update_cart($(this).closest('form'));
	});
	$('.product-remove a').on('click',function(){
		del_key=$(this).data('key');
		delete_from_cart($(this).closest('tr'),del_key);
		return false;
	});
	$('.contact-form').submit(function(e){
		e.preventDefault();
		var form=$(this);
		var formMessages=form.next('.form-messege');
		var formData=$(form).serialize();
		$.ajax({
			type:'POST',
			url:$(form).attr('action'),
			data:formData
		})
		.done(function(response){
			$(formMessages).removeClass('error');
			$(formMessages).addClass('success');
			$(formMessages).text(response);
			$('.contact-form input,.contact-form textarea').val('');
		})
		.fail(function(data){
			$(formMessages).removeClass('success');
			$(formMessages).addClass('error');
			if(data.responseText!==''){
				$(formMessages).text(data.responseText);
			}else{
				$(formMessages).text('Oops! An error occured and your message could not be sent.');
			}
		});
	});
	$('a.quickview').on('click',function(){
		$('#productModal .main-image,#productModal .h1,#productModal .new-price,#productModal .quick-desc').html('');
		$('#productModal .see-all').attr('href','#');
		var id=$(this).data('id');
		var photo=$(this).data('photo');
		var name=$(this).data('name');
		var price=$(this).data('price');
		var link=$(this).data('link');
		var brand=$(this).data('brand');
		var category=$(this).data('category');
		var url=$(this).data('url');
		if(photo!=''){
			$('#productModal .main-image').html('<img src="/resize/catalog/landscape/365/0/'+photo+'" alt="'+name+'" class="image_'+id+'"/>');
		}
		$('#productModal .h1').html(name);
		if(price>0){
			$('#productModal .new-price').html(number_format(price,0,'.',' ')+'р.');
		}
		$('#productModal .see-all').attr('href',link);
		$('#productModal .quick-desc').html(brand);
		$('#productModal input[name=id]').val(id);
		$('#productModal form').attr('data-item',id);
		$('#productModal form').attr('data-id',id);
		$('#productModal form').attr('data-name',name);
		$('#productModal form').attr('data-price',price);
		$('#productModal form').attr('data-brand',brand);
		$('#productModal form').attr('data-category',category);
		$('#productModal form').attr('data-url',url);
	});
	$('.cookie_policy .btn_close a').on('click',function(){
		$.ajax({
			url:'/ajax.php',
			type:'get',
			data:{cookie_policy_hide:1},
			success:function(response){
				$('.cookie_policy').remove();
			}
		});
	});
	if(parseInt($(window).width())>768){
		$('.cities_list ul').masonry({
			itemSelector:'.cities_list>ul>li',
		});
		$('.brands_list ul').masonry({
			itemSelector:'.brands_list>ul>li',
		});
		/*
		$('.main-menu > li a').hover(function(){
			$(this).parent('li').find('.mega-menu-link').masonry({
				itemSelector:'ul',
			});
		});
		*/
	}
	$('.tagging_ads .open').on('click',function(){
		$(this).closest('.tagging_ads').find('.info').show();
	});
	$('.tagging_ads .close').on('click',function(){
		$(this).closest('.tagging_ads').find('.info').hide();
	});
});
