/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */


$(document).ready(function () {
	$('#order_date_from').datepicker();
	$('#order_date_to').datepicker();
	$('.getdate').datepicker();
	$(".days").mouseover(function () {
		$("#divbox").stopTime("timer1");
		$("#divbox").show();
		var mtop = $(this).position().top;
		if ($(this).attr("position") == 'right') {
			var mleft = $(this).position().left - $("#divbox").width() - $(this).width() / 2 - 5;
		} else {
			var mleft = $(this).position().left + $(this).width() + 5;
		}
		if ($(this).attr("text") == "0") {
			$("#divbox").html("");
		} else if ($(this).attr("text") == "-1") {
			$("#divbox").html("При заказе сейчас, товар можно забрать сегодня<br />в 19:00");
		} else {
			$("#divbox").html("" + $(this).attr("text"));
		}
		$("#divbox").css('left', mleft + 'px').css('top', mtop + 'px');
	});
	$(".days").mouseout(function () {
		$("#divbox").oneTime("0.3s", "timer1", function () {
			$("#divbox").fadeOut("slow");
		});
	})
	$("#deliv_date").datepicker({minDate: '+2D', maxDate: '+3M +10D', showAnim: 'slideDown'});
	$("#order").click(function () {
		$("#order").attr("disabled", true);
	});
	/**
	 * Загрузка данных из файла в корзину
	 */
	if (document.getElementsByClassName('upload').length == 1) {
		$('.upload').upload({
			accept: '.csv',
			action: '/basket/loadorders',
			label: '<table><tr><td><img src="/images/system/upload_file.png" width="48" alt="Загрузить файл"></td><td>Перетащите файл в этот блок загрузки, или нажмите для выбора файла</td></tr></table>',
			postKey: 'fileorder',
			dataType: 'text',
			maxQueue: 1,
			maxSize: 16384,
		})
				.on("filecomplete.upload", filePComplelele)
				.on("fileerror.upload", filePComplelele);
	}
})

function fileError(response) {
	$('.upload_error')
			.css('display', 'block')
			.css('color', 'red')
			.css('padding-left', '30px');
	if (response == 'size') {
		$('.upload_error').html('Файл превышает допустимый размер');
	} else {
		$('.upload_error').html('Файл не соответствует правилам');
	}
}
function filePComplelele(e, file, response) {
	if (response == '' || response.toLowerCase() == 'error' || file.size > 16384) {
		fileError(response);
	} else {
//		window.confirm = null;
//		window.location.replace("/basket/");
//		location.reload(true);
		filePRequery();
	}
}

function filePRequery() {
	$.ajax({
		type: 'GET',
		url: '/basket/',
		success: function (data) {
			location.reload(true);
		}
	});
}
function showSelectRegion() {
	$.ajax({
		type: 'GET',
		url: '/settings/getregion/',
		success: function (data) {
			document.getElementById('spanSelectRegion').innerHTML = data;
			$('#windowSelectRegion').show();
		}
	});
}
function hideSelectRegion() {
	$('#windowSelectRegion').hide();
}
function showSearchCodeVIN() {
	if (document.getElementById('searchcode_article').style.display == 'none') {
		document.getElementById('searchcode_article').style.display = '';
		document.getElementById('searchcode_vin').style.display = 'none';
	} else {
		document.getElementById('searchcode_article').style.display = 'none';
		document.getElementById('searchcode_vin').style.display = '';
	}
}


function PopUpShow(data) {
	var text = '';
	if (data == 'basket') {
		text = '<b>Пересчет корзины:</b><br>поиск товара...<br>проверка текущих цен...<br>проверка скидок...<br><br>Процесс занимает некоторое время.';
	} else if (data == 'order') {
		if (document.getElementById('code').value == '') {
			return;
		}
		text = '<b>Формирование заказа:</b><br>проверка наличия...<br>проверка текущих цен...<br>проверка скидок...<br><br>Процесс занимает некоторое время.';
	} else if (data == 'store') {
		text = '<b>Поиск товара:</b><br>поиск оригиналов...<br>поиск аналогов...<br>проверка скидок...<br><br>Процесс занимает некоторое время.';
	} else {
		text = '<b>Поиск товара:</b><br>поиск оригиналов...<br>поиск аналогов...<br>проверка скидок...<br><br>Процесс занимает некоторое время.';
	}
	document.getElementById('popupText').innerHTML = text;
	code = document.getElementById('code').value;
	code = code.replace(/^\s+|\s+$/g, "");
	if (data !== undefined || (data === undefined && code != '')) {
		$('#popup').show();
	}
}
function PopUpShowInfo(data) {
	document.getElementById('popupInfoText').innerHTML = data;
	$('#popupInfo').show();
}
function PopUpHide() {
	$('#popupInfo').hide();
}


function showPopupWindow(dataIn) {
//	var data = JSON.parse(dataIn);
	var data = eval(dataIn);
	var widthplus = String(Number(data.width) + 40);
	var heightplus = String(Number(data.height) + 100);
	var div = document.createElement('div');
	document.body.appendChild(div);
	div.id = "popupWindowBackground";
	div.className = "popupWindowBackground";
	var div2 = document.createElement('div');
	div.appendChild(div2);
	div2.className = "popupWindowWindow";
	div2.style.width = data.width + 'px';
	div2.style.height = heightplus + 'px';
	div2.style.margin = '-' + String(Math.round(heightplus / 2, 0)) + 'px -' + String(Math.round(widthplus / 2, 0)) + 'px';
	if (data.header != '') {
		var div3 = document.createElement('div');
		div2.appendChild(div3);
		div3.className = "popupWindowHeader";
		div3.style.width = widthplus + 'px';
		if (data.width > 400 && data.height > 300) {
			var h1 = document.createElement('h1');
			div3.appendChild(h1);
			h1.innerHTML = data.header;
		} else {
			var h2 = document.createElement('h2');
			div3.appendChild(h2);
			h2.innerHTML = data.header;
		}
	}
	var div4 = document.createElement('div');
	div2.appendChild(div4);
	div4.className = "popupWindowContent";
	div4.style.width = data.width + 'px';
	div4.style.height = data.height + 'px';
	div4.style.padding = '0';
	div4.innerHTML = data.text;
	var div5 = document.createElement('div');
	div2.appendChild(div5);
	div5.className = "popupWindowFooter";
	div5.style.width = widthplus + 'px';
	if (data.buttonName != undefined) {
		var closes = '';
		if (data.closeAfterClick == true) {
			closes = 'hidePopupWindow();';
		}
		div5.innerHTML = "<input type=\"button\" value=\"" + data.buttonName + "\" onclick=\"" + data.buttonClick + closes + "\" style=\"width:100px;position:absolute;right:135px;bottom:15px;\">";
	}
	div5.innerHTML += "<input type=\"button\" value=\"Закрыть\" onclick=\"hidePopupWindow();\" style=\"width:100px;position:absolute;right:20px;bottom:15px;\" accesskey=\"Esc\">";
	$('.popupWindowWindow').show();
}

function hidePopupWindow() {
	$('#popupWindowBackground').hide();
	document.getElementById('popupWindowBackground').remove();
}

function clickMinus_(minus) {
	var pst = minus.parentElement.querySelector("input");
	var pack = minus.getAttribute('pack');
	var count = parseInt(pst.value) - parseInt(pack.title);
	count = count < parseInt(pack.title) ? parseInt(pack.title) : count;
	pst.value = count;
	check_value(minus, 0, 0);
}


function clickMinus() {
	var pst = document.getElementById('pst');
	var pack = document.getElementById('pack');
	var count = parseInt(pst.value) - parseInt(pack.title);
	count = count < parseInt(pack.title) ? parseInt(pack.title) : count;
	pst.value = count;
	check_value(0, 0);
}
;
function clickPlus() {
	var pst = document.getElementById('pst');
	var pack = document.getElementById('pack');
	pst.value = (parseInt(pst.value) + parseInt(pack.title));
	check_value(0, 0);
	return false;
}

function check_value(id, pack) {
	if (id == 0) {
		pstElement = document.getElementById('pst');
	} else {
		pstElement = document.getElementById(id);
	}
	if (pack == 0) {
		pack = document.getElementById('basketItems').getAttribute('detailpack');
	}
	if ((pstElement.value / pack != parseInt(pstElement.value / pack) || parseInt(pstElement.value) < pack)) {
		err = 'Необходимо выбрать кол-во кратное ' + pack;
		pstElement.style.border = '1px solid red';
		pstElement.style.background = '#FFCCCC';
		pstElement.title = 'Error';
		alert(err);
		pstElement.focus();
		return false;
	} else {
		pstElement.style.background = '#FFFFFF';
		pstElement.style.border = '';
		pstElement.title = '';
	}
	if (document.getElementById('basketSumm') !== undefined) {
		document.getElementById('basketSumm').innerHTML = number_format((pstElement.value * document.getElementById('basketItems').getAttribute('detailpriceout')).toFixed(2), 2, ',', '&nbsp;') + '&nbsp;&#8381;';
	}
}

/***
 * Добавление позиций в корзину
 * @param {type} id
 * @param {type} code
 * @param {type} brand
 * @param {type} name
 * @param {type} price
 * @param {type} pack
 * @param {type} supplierid
 * @param {type} supplierpricelistid
 * @param {type} delayfrom
 * @param {type} delayto
 * @param {type} storeid
 * @param {type} extdata
 * @param {type} notes
 * @returns {undefined}
 */
function addToBasket(id, tag, code, brand, name, price, pack, supplierid, supplierpricelistid, delayfrom, delayto, storeid, extdata, notes) {
	if (id == undefined) {
		qty = document.getElementById('pst').value;
		id = 0;
	} else {
		qty = document.getElementById(tag + '-' + id).value;
	}
	if (code == undefined) {
		code = document.getElementById('basketItems').getAttribute('detailcode');
	}
	if (brand == undefined) {
		brand = document.getElementById('basketItems').getAttribute('detailbrand');
	}
	if (name == undefined) {
		name = document.getElementById('basketItems').getAttribute('detailname');
	}
	if (price == undefined) {
		price = document.getElementById('basketItems').getAttribute('detailpriceout');
	}
	if (pack == undefined) {
		pack = document.getElementById('basketItems').getAttribute('detailpack');
	}
	if (supplierid == undefined) {
		supplierid = document.getElementById('basketItems').getAttribute('detailsupplierid');
	}
	if (supplierpricelistid == undefined) {
		supplierpricelistid = document.getElementById('basketItems').getAttribute('detailsupplierpricelistid');
	}
	if (delayfrom == undefined) {
		delayfrom = document.getElementById('basketItems').getAttribute('detailfrom');
	}
	if (delayto == undefined) {
		delayto = document.getElementById('basketItems').getAttribute('detailto');
	}
	if (storeid == undefined) {
		storeid = document.getElementById('basketItems').getAttribute('detailstoreid');
	}
	if (extdata == undefined) {
		extdata = document.getElementById('basketItems').getAttribute('detailextdata');
	}
	if (notes == undefined) {
		if (document.getElementById('notes')) {
			notes = document.getElementById('notes').value;
		} else {
			notes = '';
		}
	}
	$.ajax({
		type: 'POST',
		url: '/basket/add/',
		data: {qty: qty, code: code, code_search: code, brand: brand, name: name, price_out: price, pack: pack, supplier_id: supplierid, supplier_pricelist_id: supplierpricelistid, delay_from: delayfrom, delay_to: delayto, store_id: storeid, extdata: extdata, notes: notes},
		success: function (data) {
			let basket = eval(data);
//			let basket = JSON.parse(data);
//			alert(id);
			if (document.getElementById('basket_count') != undefined) {
				document.getElementById('basket_count').innerHTML = '<span style="color:red;">' + basket.items + '</span>';
				document.getElementById('basket_sum').innerHTML = '<span style="color:red;">' + basket.sum + '</span>';
			}
			if (document.getElementById('basket_menu_count') != undefined) {
				document.getElementById('basket_menu_count').innerHTML = '<span style="color:#39F;">' + basket.items + '</span>';
			}
			if (id != 0) {
//				document.getElementById('basket-' + id).innerHTML = '<i class="fa fa-check fa-2x" title="Товар добавлен в корзину" style="color:red;"></i>';
				document.getElementById('basket-' + id).classList.add('btn_basket');
			} else {
			}
		}
	});
}



/***
 number - исходное число
 decimals - количество знаков после разделителя
 dec_point - символ разделителя
 thousands_sep - разделитель тысячных
 ***/
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)
						.toFixed(prec);
			};
	// Fix for IE parseFloat(0.55).toFixed(0) = 0;
	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 markBasket(id = 0) {
	$.ajax({
		type: 'GET',
		url: '/basket/mark/' + id,
		success: function (data) {
//			var basket = eval(data);
			var basket = JSON.parse(data);
			if (basket.items === '0') {
				document.getElementById('orderButtons').style.display = 'none';
				document.getElementById('fullOrderSum').innerHTML = basket.sum;
			} else {
				document.getElementById('orderButtons').style.display = '';
				document.getElementById('fullOrderSum').innerHTML = basket.sum;
			}
		}
	});
}

function check_value_basket(id, pack) {
	if ((document.getElementById('qty' + id).value / pack != parseInt(document.getElementById('qty' + id).value / pack) || parseInt(document.getElementById('qty' + id).value) < pack)) {
		err = 'Необходимо выбрать кол-во кратное ' + pack;
		document.getElementById('qty' + id).style.border = '1px solid red';
		document.getElementById('qty' + id).style.background = '#FFCCCC';
		document.getElementById('qty' + id).title = 'Error';
		alert(err);
		document.getElementById('qty' + id).focus();
		return false;
	} else {
		document.getElementById('qty' + id).style.background = '#FFFFFF';
		document.getElementById('qty' + id).style.border = '';
		document.getElementById('qty' + id).title = '';
		editBasket(id);
	}
}

function check_value_basket_double(id, pack) {
	if ((document.getElementById('qty_double' + id).value / pack != parseInt(document.getElementById('qty_double' + id).value / pack) || parseInt(document.getElementById('qty_double' + id).value) < pack)) {
		err = 'Необходимо выбрать кол-во кратное ' + pack;
		document.getElementById('qty_double' + id).style.border = '1px solid red';
		document.getElementById('qty_double' + id).style.background = '#FFCCCC';
		document.getElementById('qty_double' + id).title = 'Error';
		alert(err);
		document.getElementById('qty_double' + id).focus();
		return false;
	} else {
		document.getElementById('qty_double' + id).style.background = '#FFFFFF';
		document.getElementById('qty_double' + id).style.border = '';
		document.getElementById('qty_double' + id).title = '';
		editBasket_double(id);
	}
}

function editBasket(id) {
	qty = document.getElementById('qty' + id).value;
	$.ajax({
		type: 'POST',
		url: '/basket/edit/',
		data: {basket: id, qty: qty},
		success: function (data) {
			var basket = eval(data);
			document.getElementById('sum' + id).innerHTML = basket.positionsum;
			document.getElementById('fullsum').innerHTML = basket.sum;
			if (document.getElementById('basket_sum')) {
				document.getElementById('basket_sum').innerHTML = basket.sum;
			}
			if (document.getElementById('fullOrderSum') != undefined) {
				document.getElementById('fullOrderSum').innerHTML = basket.ordersum;
			}
		}
	});
}

function editBasket_double(id) {
	qty = document.getElementById('qty_double' + id).value;
	$.ajax({
		type: 'POST',
		url: '/basket/edit/',
		data: {basket: id, qty: qty},
		success: function (data) {
			var basket = eval(data);
			document.getElementById('sum_double' + id).innerHTML = basket.positionsum;
			document.getElementById('fullsum').innerHTML = basket.sum;
			if (document.getElementById('basket_sum')) {
				document.getElementById('basket_sum').innerHTML = basket.sum;
			}
			if (document.getElementById('fullOrderSum') != undefined) {
				document.getElementById('fullOrderSum').innerHTML = basket.ordersum;
			}
		}
	});
}

function getPointInfo() {
	if (document.getElementById('points') != null) {
		id = document.getElementById('points').value;
		if (id == 0) {
			document.getElementById('point_info').style.display = 'none';
			document.getElementById('delivery_info').style.display = '';
			document.getElementById('comments').required = true;
		} else {
			document.getElementById('point_info').style.display = '';
			document.getElementById('delivery_info').style.display = 'none';
			document.getElementById('comments').required = false;
			$.ajax({
				type: 'POST',
				url: '/basket/points/',
				data: {id: id},
				success: function (data) {
					document.getElementById('point_info').innerHTML = data;
				}
			});
		}
	}
}
function changeNotes() {
}
