function big_addToCompare(i_good_id, b_force_types) {
	if (i_curr_compare_elements < i_max_compare_elements) {
		var b_all_right = true;
		if (!b_force_types) {
			i_curr_type = parseInt($('#tocompare_type_'+i_good_id).text());
			$('.tocompared code').each(function(index, domElement) {
				if (parseInt($(this).text()) != i_curr_type) {
					b_all_right = false;
				}
			});
		}
		if (!b_all_right) {
			var i_dlg_width = $('#compare_force_dialog').outerWidth();
			var i_dlg_height = $('#compare_force_dialog').outerHeight();

			var i_win_width = $(window).width();
			var i_win_height = $(window).height();
			var i_scroll_x = $(window).scrollLeft();
			var i_scroll_y = $(window).scrollTop();
			//
			$('#compare_force_dialog').css('left', (i_win_width-i_dlg_width)/2 + i_scroll_x + "px");
			$('#compare_force_dialog').css('top', (i_win_height-i_dlg_height)/2 + i_scroll_y + "px");
			//
			$('#compare_force_dialog a').attr('rel', i_good_id);
			$('#compare_force_dialog').show('fast');
		} else {
			if (b_force_types == 2) {
				lLt.getInstance().execRemoteJs("/eshop/json_big_ResAndAddToCompare/"+i_good_id+"/", "", "", "");
			} else {
				lLt.getInstance().execRemoteJs("/eshop/json_big_AddToCompare/"+i_good_id+"/", "", "", "");
			}
		}
	} else {
		alert("К сравнению можно добавить не более " + i_max_compare_elements + " товаров");
	}
	//
	return false;
}
function big_removeFromCompare(i_good_id) {
	lLt.getInstance().execRemoteJs("/eshop/json_big_RemoveFromCompare/"+i_good_id+"/", "", "", "");
	//
	return false;
}
function big_resetCompare() {
	lLt.getInstance().execRemoteJs("/eshop/json_big_ResetCompareList/", "", "", "");
	//
	return false;
}

function big_UpdateCompareList(s_act, arr_list, i_context) {
	//alert('big_UpdateCompareList' + "\r\n" + s_act + "\r\n" + i_context);
	switch (s_act) {
		case 'append':
			var arr_after_append = arr_list[""+i_context];
			if (typeof(arr_after_append) == 'object' && arr_after_append.length == 4) {
				var s_el_name = arr_after_append[0];
				var s_el_type = arr_after_append[1];
				var s_el_link = arr_after_append[2];
				var s_el_price = arr_after_append[3];
				//
				// добавить позицию в список
				var o_list_record = $('#tocompared_'+i_context);
				if (typeof(o_list_record) == 'object' && o_list_record.length == 0) {
					$('#tocompared_list').append("<p id=\"tocompared_"+i_context+"\" class=\"tocompared\"><a href=\""+s_el_link+"\">"+s_el_name+"</a><br />"+s_el_price+" руб. <a href=\"#\" onclick=\"return big_removeFromCompare('"+i_context+"');\" title=\"удалить из списка\"><img src=\"/xsltTpls/shop/img/ico2.gif\" alt=\"удалить из списка\" /></a><code class=\"tocompared_type\" style=\"display:none;\">"+s_el_type+"</code></p>");
				}
				// сменить ссылки товаров
				$('#link_tocompare_'+i_context).attr({
					onclick: "",
					href: "/eshop/compare/",
					title: "перейти в сравнение"
				});
				// сменить картинки ссылок
				$('#link_tocompare_'+i_context+' img').attr({
					src: "/xsltTpls/shop/img/icon1_done.gif",
					alt: "уже в сравнении"
				});
			}
			break;
		case 'remove':
			var arr_after_remove = arr_list[""+i_context];
			if (typeof(arr_after_remove) == 'undefined') {
				// удалить позицию из списка
				$('#tocompared_'+i_context).remove();
				// сменить ссылки товаров
				$('#link_tocompare_'+i_context).attr({
					href: "#",
					onclick: "return big_addToCompare('"+i_context+"');",
					title: "добавить к сравнению"
				});
				$('#link_tocompare_'+i_context).unbind();
				$('#link_tocompare_'+i_context).bind('click', function(eventObject) {
					return big_addToCompare(""+i_context);
				});
				// сменить картинки ссылок
				$('#link_tocompare_'+i_context+' img').attr({
					src: "/xsltTpls/shop/img/icon1.gif",
					alt: "добавить к сравнению"
				});
			}
			break;
		case 'reset':
		case 'reset-n-append':
		default:
			// удалить существующие в списке на сайте и несуществующие в массиве
			$('p.tocompared').each(function(index, domElement) {
				var s_id = $(this).attr('id');
				s_id = s_id.substr(11); // tocompared_
				if (typeof(arr_list[""+s_id]) == 'undefined') {
					// удалить позицию из списка
					$(this).remove();
					// сменить ссылки товаров
					$('#link_tocompare_'+s_id).attr({
						href: "#",
						onclick: "return big_addToCompare('"+s_id+"');",
						title: "добавить к сравнению"
					});
					$('#link_tocompare_'+s_id).unbind();
					$('#link_tocompare_'+s_id).bind('click', function(eventObject) {
						return big_addToCompare(""+s_id);
					});
					// сменить картинки ссылок
					$('#link_tocompare_'+s_id+' img').attr({
						src: "/xsltTpls/shop/img/icon1.gif",
						alt: "добавить к сравнению"
					});
				}
			});
			// добавить существующие в массиве и несуществующие в списке на сайте
			var i_next_context = '';
			for (i_next_context in arr_list) {
				var arr_after = arr_list[""+i_next_context];
				var o_list_record = $('#tocompared_'+i_next_context);
				if (typeof(arr_after) == 'object' && arr_after.length == 4 && typeof(o_list_record) == 'object' && o_list_record.length == 0) {
					// добавить позицию в список
					var s_el_name = arr_after[0];
					var s_el_type = arr_after[1];
					var s_el_link = arr_after[2];
					var s_el_price = arr_after[3];
					$('#tocompared_list').append("<p id=\"tocompared_"+i_next_context+"\" class=\"tocompared\"><a href=\""+s_el_link+"\">"+s_el_name+"</a><br />"+s_el_price+" руб. <a href=\"#\" onclick=\"return big_removeFromCompare('"+i_next_context+"');\" title=\"удалить из списка\"><img src=\"/xsltTpls/shop/img/ico2.gif\" alt=\"удалить из списка\" /></a><code class=\"tocompared_type\" style=\"display:none;\">"+s_el_type+"</code></p>");
					// сменить ссылки товаров
					$('#link_tocompare_'+i_next_context).attr({
						onclick: "",
						href: "/eshop/compare/",
						title: "перейти в сравнение"
					});
					// сменить картинки ссылок
					$('#link_tocompare_'+i_next_context+' img').attr({
						src: "/xsltTpls/shop/img/icon1_done.gif",
						alt: "уже в сравнении"
					});
				}
			}
			break;
	}
	// shide list
	if ($('#tocompared_list p.tocompared').length) {
		$('.id_list_tocompare').show('fast');
	} else {
		$('.id_list_tocompare').hide('fast');
	}
}