var imageHandler = { 
	path:"/catalog/details/", // path to images
	imgs:[], preload:function() { for(var i=0;arguments[i];i++) {
	var img=new Image(); img.src=this.path+arguments[i]; this.imgs[this.imgs.length]=img;}}
}
 
function liFormat (row, i, num) {
	if (row[1] == "vendor") {row[1] = "";}
	if (row[1] == "other") {row[1] = "";}
	var result = row[0] + "<span class='qnt'>" + row[1] + "</span>";
	return result;
}

$(document).ready(function() {

	// Автозаполнение
	$("#suggest").autocomplete("/catalog/query.php", {
		delay:10,
		minChars:1,
		matchSubset:1,
		matchContains:1,
		cacheLength:1,
		width:100,
		selectFirst:false,
		formatItem:liFormat,
		maxItemsToShow:15
	});

	// Показ вендоров по алфавиту
	$(".str_l").click(function(){
		var str = $(this).attr("l");
		$(".vendshow").css("display", "none");
		$("#str_"+str).show();
		$("#str_"+str).css("visibility", "visible");
		//var abc = $("#str_"+str).html();
		if (str=="#") $("#allvendor").show();
		else $("#allvendor").css("display", "none");
	});

	// Проверка количества 5 шт. для товаров стоимостью меньше 100 руб.
	$(".bs").change(function (){
		var a = $(this).attr("nom");
		checkCol(a);
		putFocus(a);
	});

	// выбор количества для всех позиций
	$("#allcolgo").click(function (){
		var c = $("#allcol").val();
		if (c>=5) $(".bs").val(c);
		else { alert("Должно быть указано не менее 5 шт."); $("#allcol").val(''); }
	});


	// Добавление в корзину
	$('.subToBasket').click(function(){
	    var af = '';
		var m = 0;
		$('.bs').each(function(){
			var a = $(this).attr("nom");
			if (checkCol(a)) {
				if (toBasket(a)) { m = 1; }
				else {
					if (m) { af = a; m = 0; }
				}
			}
		});
		if (af) $('#id_col'+af).focus();
		else $('#id_col'+$('.bs').attr('nom')).focus();
		return false;
	});

});


// Отправка в корзину без перезагрузки страницы
function toBasket(nom) {
	var col = $('#id_col'+nom).val();
	var pr = $('#id_pr'+nom).val();
			
	if (col>0) {
		$.getJSON("/catalog/toBasket.php", { nom: nom, cols: col, pr: pr },
		function( data ) {
			$('.tr'+nom ).css( { 'background-color' : '#ffdddd'} );
			$('#id_'+nom ).replaceWith('<div id=\'id_5825\'><b><a href=/catalog/order.php>в&nbsp;КОРЗИНЕ</a></b>&nbsp;('+col+'&nbsp;шт.)</div>');
			$('#topBasket').replaceWith('<div id=topBasket><font face=Arial size=2><a href=/catalog/order.php title="Просмотр корзины и оформление заказа"><b>Корзина</b></a> (сумма = '+data.sum+' руб. / товаров = '+data.k+' / в штуках = '+data.cols+') <a href=/catalog/order.php?cl=1&goto='+location+' onClick="if (confirm(\'Вы действительно хотите очистить корзину?\')) return true; else return false;"><img src=/catalog/cancel.gif border=0 title="Очистить корзину" alt="Очистить корзину"></a></font></div>');
		});
		return true;
	}
	else
		return false;
}

// проверка количества 5 и более при цене менее 100
function checkCol(a) {
	var p = $("#id_pr"+a).val();
	var c = $("#id_col"+a).val();
	if (p<100 && c<5 && c>0) {
		if (confirm("Минимальное количество для каждой позиции в заказе — упаковка. В виде исключения, постоянные клиенты могут заказывать редкие позиции (или группы товаров) меньше упаковки, но не менее 5 шт. каждого вида.")) {
			$("#id_col"+a).val(5);
			return true;
		}
		else {
			$("#id_col"+a).val('');
			return false;
		}
	}
	else
		return true;
}

function xEvent(evt) {
	var e = evt || window.event;
	if(!e) return;
	if (e.keyCode) {
		this.keyCode = e.keyCode;
	}
	else if (xDef(e.which) && e.type.indexOf('key')!=-1) {
		this.keyCode = e.which;
	}
	this.shiftKey = e.shiftKey;
	this.ctrlKey = e.ctrlKey;
	this.altKey = e.altKey;
}

function getKeyCode(event) {
    var ev=new xEvent(event);
    return ev.keyCode;
}

function putFocus(a) {
	var m = 0;
	var af = '';
	$('.bs').each(function(){
		var e = $(this).attr("nom");
			if (a==e) { m = 1;}
			else {
				if (m) { af = e; m = 0; }
			}
	});
	if (af) $('#id_col'+af).focus();
	else $('#id_col'+$('.bs').attr('nom')).focus();
	return false;
}
