function basket_actions(callback){
$('a:has(.basket_add, .basket_del)').click(function(){
	var ref = $(this);
	var href = ref.attr('href');
	
	$.ajax({
			url: href,
			type: "POST",
			data: '1=1',
			dataType : "json",
			beforeSend: function(XMLHttpRequest){
				ref.hide().after($('<span class="ajax_loader" >&nbsp;&nbsp;&nbsp;&nbsp;</span>'));
				init_messages_block(false);
			},
			success: function(data, textStatus, XMLHttpRequest){
				ref.next('.ajax_loader').remove();
				
				if ( data.errors == '' ) {
					var elem_basket = $('.basket_count');
					elem_basket.html(data.count);
					
					var div_success = $('div.messages div.success');
					var p = $('<p>'+data.success+'<\/p>');
					div_success.append(p);
					setTimeout(function () { p.slideUp('slow'); p.remove(); }, 5000);
						
					if(ref.is('a:has(.basket_add)')) {	
						ref.parent().find('a:has(.basket_add)').hide();
						ref.parent().find('a:has(.basket_del)').show();
					} else if(ref.is('a:has(.basket_del)')) {	
						ref.parent().find('a:has(.basket_add)').show();
						ref.parent().find('a:has(.basket_del)').hide();
					}
					
					if(typeof callback == 'function')
						callback(ref, data);
				} else if(data.errors != '') {
					
					var errors = data.errors;
					
					if ( typeof errors == 'string')
						errors = [errors];

					for( var i in errors ){
						var error = errors[i]; 
						var div_error = $('div.messages div.error');
						var p = $('<p>' + error + '<\/p>');
						div_error.append(p);
						setTimeout(function () { p.slideUp('slow'); p.remove(); }, 10000);
					}
				}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown){
				ref.next('.ajax_loader').remove();

				var div_error = $('div.messages div.error');
				var p = $('<p> Произошла ошибка при выполнении AJAX - запроса к серверу: ' + textStatus + '<\/p>');
				div_error.append(p);
				setTimeout(function () { p.slideUp('slow'); p.remove(); }, 10000);
			}
		});
		
		return false;
	});
};

$(function(){
	$('#cat_list tr:not(:first,:last)')
		.mouseover( function(){	$(this).css('background-color','#E7E3E7');	}	)
		.mouseout( 	function(){	$(this).css('background-color','');	}	);
});
