var isCtrl = false;
$(document).keyup(function (e) {
	if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
	if(e.which == 17) isCtrl=true;
	if(e.which == 81 && isCtrl == true) {
		load_ajax('/users/logout');
	}
});

var header_height=0;
var footer_height=0;
if($('.navbar').length>0) {
	header_height=$('.navbar').outerHeight(true);
	$('#content').css('margin-top', header_height+'px');
}

if($('#footer').length>0) {
	footer_height=$('#footer').outerHeight(true);
	$('#content').css('padding-bottom', footer_height+'px');
	$('#scrollbutton').css('bottom', footer_height+'px');
}

$('#sidebar-wrapper').css('height', 'calc(100% - '+(header_height+footer_height)+'px)');

$('body').off('click', '#sidebar-wrapper .list-group-item');
$('body').on('click', '#sidebar-wrapper .list-group-item', function(){
	var href=$(this).attr('data-href');
	var top=$('a[name="'+href+'"]').offset().top-header_height;
	$("body,html").animate({'scrollTop':top}, 800);
});

function kiosk_buy_control() {
	$('.basket_list').load($('.basket_list').attr('href')+' .basket_list .reload');
	if($('.line input[name="line"]').length>0) {
		var n=new Array();
		$('.line input[name="line"]').each(function() {
			var product_id=$(this).attr('product_id');
			if(n[product_id]==undefined)n[product_id]=0;
			n[product_id]=Number(n[product_id])+Number($(this).attr('count'));
			$('.products_list .product_'+product_id+'_total .change_count input[name="basket_count"]').val(n[product_id]);
			$('.products_list .product_'+product_id+' .change_count').show();
			$('.products_list .product_'+product_id+' .add_basket').hide();
		});
		$('#footer').css('bottom', 0);
	}
	else {
		$('.change_count').hide();
		$('.add_basket').show();
		$('input[name="basket_count"]').val(0);
		$('#footer').css('bottom', -footer_height);
	}
	if($('.modifiers_count input[name="count"]').length>0) {
		$('.modifiers_count input[name="count"]').each(function(){
			var product_id=$(this).attr('data-product');
			if($('.line input[product_id="'+product_id+'"]').length==0) {
				$('.products_list .product_'+product_id+' .change_count').hide();
				$('.products_list .product_'+product_id+' .add_basket').show();
			}
		});
	}

	if($('.card_div').length>0) {
		$('.card_div').each(function(){
			var product_id=$('.change_count input[name="product_id"]', this).val();
			if($('.line input[product_id="'+product_id+'"]').length==0) {
				$(this).remove();
			}
		});
		if($('.card_div').length==0) {
			$('#footer .total_button').show();
			$('#footer .pay_button').hide();
			$('#footer').css('z-index', '1000');
			basket_close();
			close_window($('#basket'));
		}
	}
	$('.client_sum').val($('.receipt_sum').html());
	var h=$('#basket_select_epay').outerHeight(true);
	var div=$('#basket').closest('.popup_content');
	footer_height=$('#footer').outerHeight(true);
	div.css('height', '100%');
	$('.tab_page_select').css('bottom', Number(footer_height)+5);
}

if($('.line input[name="line"]').length>0) {
	kiosk_buy_control();
}

$('body').off('click', '.change_count .basket_plus');
$('body').on('click', '.change_count .basket_plus', function(){
	var div=$(this).closest('.change_count');
	var product_id=$('input[name="product_id"]', div).val();
	var line_id=$(this).attr('line_id');
	var parent_id=$(this).attr('parent_id');
	if(parent_id>0 && line_id>0) {
		load_ajax('/receipts/change_line?line_id='+line_id+'&count='+(Number($('input[name="basket_count"]', div).val())+1)+'&not_close=1');
	}
	else {
		load_ajax('/receipts/add_line?product_id='+product_id+'&count=1&not_close=1');
	}
});

$('body').off('click', '.change_count .basket_minus');
$('body').on('click', '.change_count .basket_minus', function(){
	var div=$(this).closest('.change_count');
	var product_id=$('input[name="product_id"]', div).val();
	var line=$('.line input[product_id="'+product_id+'"][parent_id="0"]');
	var line_id=line.val();
	var parent_id=line.attr('parent_id');
	var n=$('input[name="basket_count"]', div).val()-1;
	if($(this).attr('line_id')>0) {
		line_id=$(this).attr('line_id');
		parent_id=$(this).attr('parent_id');
	}

	if(n<=0) {
		$('.product_'+product_id+' .change_count').hide();
		$('.product_'+product_id+' .add_basket').show();
		$('input[name="basket_count"]', div).val(0);
	}
	if($(this).attr('line_id')>0 && ($(this).attr('parent_id')>0 || $('.line input[parent_id="'+$(this).attr('line_id')+'"]').length>0)) {
		if(n<=0) {
			load_ajax('/receipts/delete_line?line_id='+line_id+'&not_close=1');
		}
		else {
			load_ajax('/receipts/change_line?line_id='+line_id+'&count='+n+'&not_close=1');
		}
	}
	else {
		if(Number(line.attr('count'))<=1) {
			load_ajax('/receipts/delete_line?line_id='+line_id+'&not_close=1');
		}
		else {
			load_ajax('/receipts/change_line?line_id='+line_id+'&count='+(line.attr('count')-1)+'&not_close=1');
		}
	}
});

var carousel;
function carousel_img() {
	carousel = $("#carousel");
	carousel.owlCarousel({
		items: 4,
		itemsDesktop: [1400, 4],
		itemsDesktopSmall: [900, 4],
		itemsTablet: [600, 4],
		itemsMobile: false
	});
	$('#js-prev').click(function () {
		carousel.trigger('owl.prev');
		return false;
	});
	$('#js-next').click(function () {
		carousel.trigger('owl.next');
		return false;
	});
}

function show_basket() {
	var div=$('#basket').closest('.popup_content');
	div.css('display', 'block');
	div.css('overflow', 'auto');
	div.css('height', '100%');
	div.css('padding-bottom', 10);
	$('#footer .total_button').hide();
	$('#footer .pay_button').show();
	$('#footer .basket_close_button').show();
	$('#footer').css('z-index', '1600');
	$('.tab_page_select').css('bottom', Number(footer_height)+5);
}

function basket_close() {
	$('#footer .total_button').show();
	$('.total_table').show();
	$('#footer .pay_button').hide();
	$('#footer .basket_close_button').hide();
	$('.basket_wait_pay').hide();
	$('.pay_button').attr('disabled', 'true');
	$('#footer').css('z-index', '1000');
}

$('body').off('click', '#basket_select_epay label');
$('body').on('click', '#basket_select_epay label', function(){
	$('#basket_select_epay label').removeClass('bg-primary');
	$('#basket_select_epay label').removeClass('text-light');
	$(this).addClass('bg-primary');
	$(this).addClass('text-light');
	$('.pay_button').removeAttr('disabled');
});

$('body').off('click', '.pay_button');
$('body').on('click', '.pay_button', function(){
	$('#footer .pay_button').hide();
	$('#footer .basket_close_button').hide();
	$('.total_table').hide();
	$('.basket_wait_pay').show();
});

$('.basket_close_button').click(function(){
	$('.popup').remove();
	basket_close();
});

$('.pay_cancel').click(function(){
	$('.popup').eq($('.popup').length-1).remove();
	$('#footer .pay_button').show();
	$('#footer .basket_close_button').show();
	$('.total_table').show();
	$('.basket_wait_pay').hide();
});

function close_timer(s) {
	if($('#kiosk_pay_success .basket_close').length==0) return;
	s-=1;
	$('#kiosk_pay_success .basket_close').val('Завершить ('+s+')');
	if(s<=0) {
		close_window($('#kiosk_pay_success'));
	}
	else {
		setTimeout(close_timer, 1000, s);
	}
}

$('body').off('click', '.basket_close');
$('body').on('click', '.basket_close', function(){
	$('.popup').remove();
	basket_close();
});

function basket_reset_timer(s) {
	$('#basket_reset_timer span').html(s);
	if(s!='') {
		$('#basket_reset_timer').show();
	}
	else {
		$('#basket_reset_timer').hide();
	}
}

var time_for_reset=60;
function basket_reset(s) {
	if($('.line').length>0 || $('.popup').length>0 || $('html, body').scrollTop()!=0) {
		s-=1;
	}
	if(s>=0) {
		reset_interval=setTimeout(basket_reset, 1000, s);
		if(s<=time_for_reset/2) {
			basket_reset_timer(s);
		}
		else {
			basket_reset_timer('');
		}
	}
	else {
		basket_reset_timer('');
		basket_close();
		$('.popup').remove();
		$('body, html').scrollTop(0);
		load_ajax('/receipts/delete_line?line_id=all');
	}
}

var reset_interval=setTimeout(basket_reset, 1000, time_for_reset);
$(document).mousemove(function(){
	basket_reset_timer('');
	window.clearTimeout(reset_interval);
	if($('.pay_cancel').is(':visible')) {
		reset_interval=setTimeout(basket_reset, 1000, time_for_reset*3);
	}
	else {
		reset_interval=setTimeout(basket_reset, 1000, time_for_reset);
	}
});

$(document).click(function(){
	basket_reset_timer('');
	window.clearTimeout(reset_interval);
	if($('.pay_cancel').is(':visible')) {
		reset_interval=setTimeout(basket_reset, 1000, time_for_reset*3);
	}
	else {
		reset_interval=setTimeout(basket_reset, 1000, time_for_reset);
	}
});

function show_close_button() {
	var popup=$('.popup').eq($('.popup').length-1);
	$('.close_button', popup).css('display', 'inline-block');
}

$('body').off('click', '.add_client');
$('body').on('click', '.add_client', function(){
	$('.client').val($('.client_0').val());
	$('#client_0').addClass('popup');
	$('#client_0').removeClass('hide');
});

$('body').off('click', '.client_0_close');
$('body').on('click', '.client_0_close', function(){
	$('#client_0').addClass('hide');
	$('#client_0').removeClass('popup');
});

$('body').off('submit', 'form[name="products_all_search_form"]');
$('body').on('submit', 'form[name="products_all_search_form"]', function(e){
	e.preventDefault();
	var val=$('input[name="product_search"]', this).val();
	$('#page').attr('href', $(this).attr('action')+'?product_search='+val);
	reload_elem('#page');
});

$('body').off('reset', 'form[name="products_all_search_form"]');
$('body').on('reset', 'form[name="products_all_search_form"]', function(e){
	$('#page').attr('href', '/');
	reload_elem('#page');
});


var exit_count=0;
var exit_timer;
function reset_exit() {
	exit_count=0;
}

$('body').off('click', '#exit');
$('body').on('click', '#exit', function(){
	exit_count++;
	clearTimeout(exit_timer);
	if(exit_count>5) {
		reset_exit();
		load_window('/users/kiosklogout');
	}
	else {
		exit_timer=setTimeout(reset_exit, 300);
	}
});

$('body').off('click', '#scrollup, #scrolldown');
$('body').on('click', '#scrollup, #scrolldown', function(){
	var k=Number($(this).attr('data-k'));
	var h=$(window).height()/2;
	if($('.popup_content').length>0) {
		var scroll=$('.popup_content').eq($('.popup_content').length-1).scrollTop()+h*k;
        $('.popup_content').eq($('.popup_content').length-1).animate({'scrollTop':scroll}, 800);
	}
	else {
		var scroll=$(window).scrollTop()+h*k;
		$("body,html").animate({'scrollTop':scroll}, 800);
	}
});