
if (window.addEditMode) {
	
	addOrderingCommand  = function() {
		var $list = $('.category-items');
		if ($list.length == 0) $list = $('.content-items');
		if ($list.length == 0) return;
			
		$driver = $list.attr('rel');
		window.addCommand('prices-edit', $driver, function(){
			var result = '';
			$imgs = $list.find('li').each(function(index,element){
				if (result != '') result += ":";
				rel = new String($(element).attr('rel'));
				result += rel.substring(rel.lastIndexOf('/') + 1);
			});
			return result;
		});
	};
	
	addMoveCommand  = function($what, $where) {
		if (($what.indexOf('catalog:item//') == 0) &&
			($where.indexOf('catalog:category//') == 0)) {
			
			$item = $what.substring(14);
			$category = $where.substring(18);
			
			$driver = 'catalog:item-to-category//' + $item + ':' + $category;
			window.addCommand('move-' + $item, $driver, function(){ return '' } );
		}
		//var $list = $('.category-items');
		//if ($list.length == 0) $list = $('.content-items');
		//if ($list.length == 0) return;
			
		//$driver = $list.attr('rel');
		/*window.addCommand('prices-edit', $driver, function(){
			var result = '';
			$imgs = $list.find('li').each(function(index,element){
				if (result != '') result += ":";
				rel = new String($(element).attr('rel'));
				result += rel.substring(rel.lastIndexOf('/') + 1);
			});
			return result;
		})*/;
	};
	
	window.addEditMode({
					id : 'items',
					name : 'Редактировать позиции',
					isTable : $('table.category-items').length > 0,
					activate : function() {
						
						if (this.isTable) {
							var $table = $('table.category-items');
							
							var $ul;
							if ($table.length > 0) {
								$ul = $('<ul class="content-items"></ul>')
									.insertBefore($table)
									.attr('rel', $table.attr('rel'));
								$table.find('a').each(function(){
									var rel = $(this).parents('tr').attr('rel');
									var $li = $('<li></li>')
										.appendTo($ul)
										.attr('rel', rel);
									$li.append($(this).parent().clone());
								});
								$table.remove();
							}
							else {
								$ul = $('ul.content-items');
							}	

							$ul.disableSelection()
							.sortable({
								start: function(){
									$('.ui-sortable-helper').css('z-index', '10000');
								},
								change: function() {
									addOrderingCommand();
								}
							});
							$ul.find('li').mousedown(function(){
								$(this).addClass('ui-sortable-helper');
							});
							$ul.mouseup(function(){
								$('.ui-sortable-helper').removeClass('ui-sortable-helper');
							});
							
						}
						else {
							var $ul = $('ul.category-items');
							$ul.disableSelection()
							.sortable({
								start: function(){
								},
								change: function() {
									addOrderingCommand();
								}
							});
							//$ul.children('li').css('border','solid 1px silver');
						}

						$("ul.catalog-tree")
							.find("li")
								.not('.catalog-leaf')
							.droppable({
								accept: '.content-items li, .category-items li',
								drop: function(ev, ui) {
									ui.draggable.remove();
									if (document.all) {
										ui.draggable.addClass('to-kill');
										window.setTimeout(function(){
											$('.to-kill').remove();
										} ,1);
									}
									addMoveCommand(ui.draggable.attr('rel'),
										$(this).attr('rel'));
									addOrderingCommand();
								},
								hoverClass: 'category-drop'
							});
						
						$('<li id="content-trash"><p>Корзина</p></li>')
							.appendTo($("ul.catalog-tree"))
							.droppable({
								accept: '.content-items li, .category-items li',
								drop : function(ev, ui) {
									ui.draggable.remove();
									if (document.all) {
										ui.draggable.addClass('to-kill');
										window.setTimeout(function(){
											$('.to-kill').remove();
										} ,1);
									}
									addOrderingCommand();
								},
								hoverClass: 'category-drop'
							});

						$("ul.catalog-tree")
							.droppable({
								accept: '.content-items li, .category-items li',
								over : function(e) {
									$('.ui-sortable-helper').fadeTo(250, 0.4);
								},
								out : function(e) {
									$('.ui-sortable-helper').fadeTo(250, 1.0);
								}
							});
						
						
													
						var $ul = this.isTable? $('ul.content-items') : $('ul.category-items');
						$ul.find('a').click(function(event){
							event.preventDefault();
						});
						
						$nd = $('<div style="margin:-2em 0 2em 0; padding:0;"></div>')
								.insertBefore($ul);
						$ni = $('<input id="new-item" type="button" value="Добавить новую позицию"/>')
								.appendTo($nd);
						
						var context = this;
						$ni.click( function(event){
							if (context.isTable) {
								$nli = $('<li rel="catalog:item//NEW"><p><a href="#"><span>Новая позиция</span></a></p></li>');
								$('ul.content-items').prepend($nli);
								$nli.mousedown(function(){
									$(this).addClass('ui-sortable-helper');
								});
							} else {
								$nli = $('<li rel="catalog:item//NEW"><p><a href="#"><span>Новая позиция</span></a></p>'+
									'<p class="preview"><a href="#"><span><img alt="" src="/images/no-photo-medium.jpg"/>'+
									'</span></a></p><p><strong>Цена розн. –</strong></p><p><strong>Цена опт. –</strong></p></li>');
								$('ul.category-items').prepend($nli);
								$nli.mousedown(function(){
									$(this).addClass('ui-sortable-helper');
								});
							}
							addOrderingCommand();
						});
					},
					deactivate : function() {
						if (this.isTable) {
							 $('ul.content-items').sortable('destroy');
							 $('ul.content-items').find('a').unbind('click');
						} else {
							 $('ul.category-items').sortable('destroy');
							 $('ul.category-items').find('a').unbind('click');
						}
						$('#content-trash').remove();
						$('#new-item').parent().remove();
						$("ul.catalog-tree")
							.find("li")
								.not('.catalog-leaf').droppable('destroy');
						$("ul.catalog-tree").droppable('destroy');
						
						$("ul.catalog-tree").find('a').unbind('click');
					}
				});
}
