function show_hide_child(id)
{
	var obj = $('cat_'+id);
	if(obj)
	{
		if(obj.style.display=='none')
			obj.style.display='block';
		else
			obj.style.display='none';
	}
}

function open_close_cat(id,flag)
{
	var obj_1 = $('znak_'+id);
	var obj_2 = $('folder_'+id);
//	alert(flag);

	if(($("cat_"+id).style.display=='block'))
	{
		obj_1.innerHTML = '<img src=\"images/cat_opened.gif\" border=\"0\" style=\"cursor:pointer;\" onclick=\"open_close_cat('+id+',\'open\')\" />';
		obj_2.innerHTML = '<img src=\"images/cat_folder_open.png\" border=\"0\" width=\"16\" height=\"16\" class=\"alpha_png\" />';
		show_hide_child(id);
	}
	else
	{
		obj_1.innerHTML = '<img src=\"images/cat_closed.gif\" border=\"0\" style=\"cursor:pointer;\" onclick=\"open_close_cat('+id+',\'close\')\" />';
		obj_2.innerHTML = '<img src=\"images/cat_folder_close.png\" border=\"0\" width=\"16\" height=\"16\" class=\"alpha_png\" />';
		show_hide_child(id);
	}


/*	
	if(flag=='close')
	{
		obj_1.innerHTML = '<img src=\"images/cat_opened.gif\" border=\"0\" style=\"cursor:pointer;\" onclick=\"open_close_cat('+id+',\'open\')\" />';
		obj_2.innerHTML = '<img src=\"images/cat_folder_open.png\" border=\"0\" width=\"16\" height=\"16\" class=\"alpha_png\" />';
		show_hide_child(id);
	}
	else
	{
		obj_1.innerHTML = '<img src=\"images/cat_closed.gif\" border=\"0\" style=\"cursor:pointer;\" onclick=\"open_close_cat('+id+',\'close\')\" />';
		obj_2.innerHTML = '<img src=\"images/cat_folder_close.png\" border=\"0\" width=\"16\" height=\"16\" class=\"alpha_png\" />';
		show_hide_child(id);
	}
*/
}

// ПЕРЕДАЕМ URL ВО ФРЕЙМ
function toajax(url)
{
	//frames["ajax"].document.location.href = url;
	_ajax = document.getElementById("ajax");
	_ajax.src = url;
}

// ПЕРЕЗАГРУЗИТЬ СТРАНИЦУ ПОСЛЕ РАБОТЫ ФРЕЙМА
function topReload()
{
	switch(userNavigator())
	{
		case "isOpera":
		case "isChrome":
			history.go(0);
			break;
		
		case "isGecko":
			history.back();
			setTimeout("top.location.reload(true)",500);
			break;
		
		default:
			history.back();
			history.go(0);
			break;
	}
}
// ВЫЗОВ ФУНКЦИИ history.back() ПОСЛЕ РАБОТЫ ФРЕЙМА
function topBack(post) // post - страница дергалась формой (иначе - ссылкой)
{
	showLoad(false);
	switch(userNavigator())
	{
		case "isChrome":
			if(post)
				history.back();
			break;
		
		default:
			history.back();
			break;
	}
}
// ОПРЕДЕЛЕНИЕ ТИПА БРАУЗЕРА
function userNavigator()
{
	// Получим userAgent браузера и переведем его в нижний регистр 
	var ua = navigator.userAgent.toLowerCase(); 
	// Определим Internet Explorer 
	if( (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1) )
		return "isIE";
	// Opera 
	if( (ua.indexOf("opera") != -1) )
		return "isOpera";
	// Gecko = Mozilla + Firefox + Netscape 
	if( (ua.indexOf("gecko") != -1) ) 
		return "isGecko";
	// Safari, используется в MAC OS 
	if( (ua.indexOf("safari") != -1) ) 
		return "isSafari";
	// Konqueror, используется в UNIX-системах 
	if( (ua.indexOf("konqueror") != -1) ) 
		return "isKonqueror";

	return false;
}

// ОТКРЫВАЕТ СТРАНИЦУ В ОТДЕЛЬНОМ ОКНЕ
function openWindow(width,height)
{
/*
  width	размер в пикселах	ширина нового окна
  height	размер в пикселах	высота нового окна
  left	размер в пикселах	абсцисса левого верхнего угла нового окна
  top	размер в пикселах	ордината левого верхнего угла нового окна
  toolbar	1 / 0 / yes / no	вывод панели инструменов
  location	1 / 0 / yes / no	вывод адресной строки
  directories	1 / 0 / yes / no	вывод панели ссылок
  menubar	1 / 0 / yes / no	вывод строки меню
  scrollbars	1 / 0 / yes / no	вывод полос прокрутки
  resizable	1 / 0 / yes / no	возможность изменения размеров окна
  status	1 / 0 / yes / no	вывод строки статуса
  fullscreen	1 / 0 / yes / no	вывод на полный экран
*/  
  win = window.open('','my','resizable=yes,width='+width+',height='+height+',scrollbars=1');	
  win.focus();
  // Пример:
  // <a href="page.htm" target="my" onClick="openWindow(570,700)">открыть</a>
}

// 
function sure()
{
  return confirm("Уверены?");
}

// ОПРЕДЕЛЕНИЕ КООРДИНАТ ЭЛЕМЕНТА
function absPosition(obj) 
{ 
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
	// Пример:
	// "x = " + absPosition(obj).x;
	// "y = " + absPosition(obj).y;
}

// ДОПУСКАЕТ ВВОД ТОЛЬКО ЧИСЕЛ
function numberOnly(e)
{
	alert(e.keyCode);
	if(e.keyCode==44) e.keyCode=46;
	return ((e.keyCode>44 && e.keyCode<58) || e.keyCode==0); //  "|| e.keyCode==0" - добавлено для ФайерФокса
}	

// ФУНКЦИЯ ПРОВЕРКИ ДАТЫ ВИДА xx.xx.xxxx
function checkDate(val)
{
	return (/^\d{2}\.\d{2}\.\d{4}$/.test(val));
}

// ПРОВЕРКА E-mail
function checkEmail(email)
{
    var reg = new RegExp("^[0-9a-z_^\.]+@[0-9a-z_^\.]+\.[a-z]{2,6}$", 'i');
    return reg.test(email);
}

// ИСПОЛЬЗОВАТЬ ВМЕСТО getElementById() (может отдать массив элементов, если передать несколько id)
function $() 
{
	var elements = new Array();
	for(var i=0; i<arguments.length; i++) 
	{
		var element = arguments[i];
		if (typeof element == 'string')
			element = document.getElementById(element);
		
		if (arguments.length == 1)
			return element;
		
		elements.push(element);
	}
	return elements;
}

