<!-- начало структура -->
<div class="main">
	<h1>Структура сайта</h1>
	<script type="text/javascript">
		var token='{$_user->token}';
		function data_win(id)
		{
			var url='{url var1='idforreplace'}';
			window.open(url.replace('idforreplace', id), 'edit', config='width=465,height=650');
		}
		
		function toggle(id)
		{
			if (!document.getElementById('node'+id).style.display)
			{
				document.getElementById('node'+id).style.display='none';
				document.getElementById('switch'+id).innerHTML='+';
				setCookie(id, 1);
			}
			else
			{
				document.getElementById('node'+id).style.display='';
				document.getElementById('switch'+id).innerHTML='-';
				setCookie(id, 0);
			}
		}
		
		function setCookie(key, value)
		{
			var exp = new Date();
			var oneYearFromNow = exp.getTime() + (365*24*60*60*1000);
			exp.setTime (oneYearFromNow);
			document.cookie = 'tree'+key+'='+value+(value?'; expires=' + exp.toGMTString() + ';path={url}':'');
		}
		
		function getCookieData(key)
		{
			pattern=eval('/'+key+'=(\\d+)/');
			if (val=pattern.exec(document.cookie))
				return val[1];
			else return false;
		}
		
		function init_tree()
		{
			divs=document.getElementById('main_tree').getElementsByTagName('div');
			for(i=0; i < divs.length; i++)
			{
				if (result=/node(\d+)/.exec(divs[i].id))
				{
					if (getCookieData('tree'+result[1])==1) toggle(result[1]);
				}
			}
		}
		
		function send_action(action, id)
		{
			new Request.JSON({ 'url':'{url type="json"}', 'method': 'post',
				onComplete: function(result){
					if (check_response(result))
					{
						if(result.active) $(action+id).addClass('active');
						else $(action+id).removeClass('active');
					}
				}
			}).send('id='+id+'&action='+action+'&token='+token);
			return false;
		}
		
		function check_response(result)
		{
			if (result && result.error) alert(result.error);
			else if (!result) alert('Произошла ошибка сервера');
			else return true;
			return false;
		}
		
		window.addEvent('domready', function()
		{
			$$('.tree_item').each(
				function(item, index){
					item.addEvent('click',  function(id){ return function(){ data_win(id); } }(item.getProperty('data-id')) );
				});
			$$('.switch').each(
				function(item, index){
					item.addEvent('click',  function(id){ return function(){ toggle(id); } }(item.getProperty('data-id')) );
				});
			$$('.menu').each(
				function(item, index){
					item.addEvent('click',  function(id){ return function(){ send_action('menu', id); } }(item.getProperty('data-id')) );
				});
			$$('.sitemap').each(
				function(item, index){
					item.addEvent('click',  function(id){ return function(){ send_action('sitemap', id); } }(item.getProperty('data-id')) );
				});
			$$('.show').each(
				function(item, index){
					item.addEvent('click',  function(id){ return function(){ send_action('show', id); } }(item.getProperty('data-id')) );
				});
			$$('.tree_item, .switch, .menu, .sitemap, .show').addEvent('click', function(event){ event.stop(); });
		});
	</script>

	<form action="{url}" method="post">
		<p id="pholder">
			<input type="hidden" name="token" value="{$_user->token}" />
			<input type="hidden" name="only_pos" value="1" />
		</p>
		<div id="main_tree">
			{if $duples}
				<div>
					<img src="/skins/default/images/icons/simple_system.png" alt="внимание!" /> <b>Внимание:</b> в структуре сайта имеются дубликаты, ни один из которых не является ссылкой.<br />
					{foreach $duples as $path=>$var}
						Путь: <a href="{url href=$path}">{$path}</a><br /> Дубликаты:<br />
						{foreach $var as $val}
							<a href="{url}#id{$val.0}">{$val.1}</a><br />
						{/foreach} 
					{/foreach}
					<hr />
				</div>
			{/if}
			{if $wrong_links}
				<div>
					<img src="/skins/default/images/icons/simple_system.png" alt="внимание!" /> <b>Внимание:</b> Обнаружены ссылки, которые имеют одинаковые адреса с существующими узлами, но на них не ссылаются.<br />
					{foreach $wrong_links as $link}
						Путь: <a href="{url href=$link.path}">{url href=$link.path}</a> (ссылка: <a href="{url}#id{$link.tree_id}">{$link.tree_name|escape}</a>, узел:<a href="{url}#id{$link.node.tree_id}">{$link.node.tree_name|escape}</a>)<br />
					{/foreach}
					<hr />
				</div>
			{/if}
		
		<div><a title="Создать новый узел"  href="javascript:data_win(0)"><img src="/skins/default/images/icons/add.png" alt="Создать новый узел" /></a></div>
		
		{foreach $tree_items as $key=>$item}
		<div class="tree_row">
		
			{if $tree_items[$item@iteration].level>$item.level}<a href="#" style="padding-left:{$item.level*20}px" class="switch" id="switch{$item.id}" data-id='{$item.id}'>-</a>
			{else}<span style="padding-left:{$item.level*20+10}px"></span>{/if}
			<input class="info sort_order" title="порядок сортировки" name="pos[{$item.id}]" type="text" value="{$item.pos}" size="1" /> 
			<a class="tree_item" id="id{$item.id}" data-id="{$item.id}" href="#"  title="id={$item.id}">{$item.name}</a>
			{if $item.link} <a title="данный узел является ссылкой на id={$item.link}" href="{url}#id{$item.link}">[Link]</a>{/if}
			
			<div class="tree_boxes">
				<a onclick="return confirm('Удалить узел и его потомков?')" title="удалить узел и его потомков" class="delete" href="{url action="delete" var1=$item.id token=1}"><img src="/skins/default/images/icons/simple_delete.png" title="удалить узел и его потомков" width="16" height="16" alt="удалить узел" /></a>
				<a href="#" data-id="{$item.id}" id="show{$item.id}" title="доступность элемента при ссылке на него" class="show{if $item.show} active{/if}"></a>
				<a href="#" data-id="{$item.id}" id="sitemap{$item.id}" title="отображение элемента в карте сайта" class="sitemap{if $item.sitemap} active{/if}"></a>
				<a href="#" data-id="{$item.id}" id="menu{$item.id}" title="отображение элемента при формировании меню" class="menu{if $item.menu} active{/if}"></a>
				{if $item.path}<a  class="link" href="{if $item.external}{$item.path}{else}{url href=$item.path}{/if}" title="перейти на страницу"><img src="/skins/default/images/icons/simple_arrow_right.png" width="16" height="16" alt="перейти на страницу" /></a>{/if}
			</div>
		</div>
		
		{if $tree_items[$item@iteration].level>$item.level}
			<div id="node{$item.id}">
		{elseif $tree_items[$item@iteration].level<$item.level || $item@last}
			{if $item@last}{$end=$item.level}{else}{$end=$item.level-$tree_items[$item@iteration].level}{/if}
			{for $i=1 to $end}</div>{/for}
		{/if}
		{/foreach}
		<input type="submit" value="Сохранить" id="tree_submit" />
		<script type="text/javascript">
				var holder=document.getElementById('pholder');
				var sbmt=document.getElementById('tree_submit');
				holder.appendChild(sbmt.cloneNode(true));
		</script>
	</div>
	</form>
</div>
<div class="clear"></div>
<script type="text/javascript">
	init_tree();
</script>
<!-- конец структура -->