//новая функция прогруза контента
function Load(url){
	//alert(url);
	document.getElementById('load').innerHTML = "<img src='/images/load2.gif' style='border:0px;padding:0px;margin:0px;'>";
	//Делаем ajax-запрос на load_handl.php, где узнаем, какие блоки нужно прогружать (sidebar,main)
	var reqChk = new JsHttpRequest();
	reqChk.onreadystatechange = function()
	{
		if (reqChk.readyState == 4)
		{
			document.getElementById('main').innerHTML = reqChk.responseJS.ret;
			document.getElementById('load').innerHTML = "";
			var change_data = String(reqChk.responseJS.change_data);
			if(reqChk.responseJS.debug) {
				var debug = String(reqChk.responseJS.debug);
				alert(debug);
			}
			//Если есть 1 для смены sidebar
			//alert(change_data);
			//	alert(debug);
			if((change_data != "-1")||(Refresh_push))
			{
				Refresh_push = false;
				LoadSidebar(); //грузим sidebar
			}
			setMenu(reqChk.responseJS.menu); //выделим меню
			document.title = reqChk.responseJS.title; // изменияем title на странице
			//Эта херотень позволяет запускать js функции, если они в нужной форме лежать в коде
			run_javascript_function ();
		}
	}
	reqChk.caching = false;//true;
    reqChk.open('POST', '/load_handl.php', true);
    reqChk.send({ 'url' : url });
}
function run_javascript_function () {
	if(document.getElementById('run_javascript_function'))
	{
		var count_function = document.forms['function_list'].length;
		for(i=0; i<count_function; i++)
		{
			eval(document.forms['function_list'].elements[i].value);
		}
	}	
}

function checkUrl() {
	if(document.location.href != lastUrl)
	{
		lastUrl = document.location.href;
		Load(lastUrl);
	}
	setTimeout('checkUrl()',150);
}
function setUrl(url) {
	document.location.hash = url;
}
//Перехватываем нажатие Enter
function Enter(event,form)
{
	if ((event.keyCode == 0xA)||(event.keyCode == 0xD))
    { 
    	SendForm(form);
    	event.preventDefault();
    	return false;
    }		
}

//Ф-ция прогрузки контента.
/*function LoadContent(content,category,theme,id){
	//Установка крутящегося кружочка наверху
	document.getElementById('load').innerHTML = "<img src='/images/load2.gif' style='border:0px;padding:0px;margin:0px;'>";

	//Делаем ajax-запрос на load_content_handl.php, где узнаем, какие блоки нужно прогружать (sidebar,main)
	var reqCheck = new JsHttpRequest();
	reqCheck.onreadystatechange = function()
	{
		//Ждем строку-массив change_data из 0/1, который сообщает, что меняется
		//Ждем в ret данные блока main 
		//Ждем массив-строку count_string, в которой находятся данные для счетчика
		if (reqCheck.readyState == 4) {

		var change_data_str = String(reqCheck.responseJS.change_data);
		var change_data = change_data_str.split(','); //разбиваем на элеманты по ","
		//Если есть 1 для смены sidebar
		if(change_data[0] == 1)
			LoadSidebar(content); //грузим sidebar
		//Счетчик
		var count = reqCheck.responseJS.count; //данные счетчика
		if(count)
		{
			var count_string = String(count);
			var s = count_string.split(',');
			document.getElementById('count_today').innerHTML = s[0];
			document.getElementById('count_week').innerHTML = s[1];
			document.getElementById('count_month').innerHTML = s[2];
			document.getElementById('count_year').innerHTML = s[3];
			document.getElementById('count_all').innerHTML = s[4];
			document.getElementById('count_unique').innerHTML = s[5];
		}
		//конец счетчика	
		//alert(reqCheck.responseJS.ret);
		document.getElementById('main').innerHTML = reqCheck.responseJS.ret;//modify_main;
		document.getElementById('load').innerHTML = "";
		if(document.getElementById('run_javascript_function'))
		{
			var count_function = document.forms['function_list'].length;
			for(i=0; i<count_function; i++)
			{
				eval(document.forms['function_list'].elements[i].value);
			}
		}
	  }
	}
	reqCheck.caching = false;//true;
    reqCheck.open('POST', 'load_content_handl.php', true);
    reqCheck.send({ 'content' : content, 'category' : category, 'theme' : theme, 'id' : id  });
}*/
//Функция прогружает содержимое sidebar, принимает значение раздела, который нужно прогрузить
function LoadSidebar(section){
	var sec = section;
	if(sec === undefined){
		document.getElementById('sidebar').innerHTML = "<img src='/images/load3.gif' style='border:0px;padding:0px;margin:0px;'>";
	}
	else {
	
		document.getElementById("load_"+section).style.visibility = "hidden";
	}
	var reqSidebar = new JsHttpRequest();
	reqSidebar.onreadystatechange = function() 
	{
		if (reqSidebar.readyState == 4) 
		{
			var debug = reqSidebar.responseJS.debug;
			if(debug)
				alert(debug);
			if(sec === undefined) { //грузим весь sidebar
				//Ждем Массив ret
				//ret['code'] - html-код секции sidebox блока sidebar
				//ret['section'] - массив-строка из id секций, которые будут отображаться на данной странице
				var code = reqSidebar.responseJS.ret['code'];
				var section = reqSidebar.responseJS.ret['section'];
				document.getElementById('sidebar').innerHTML = code;
				var section_str = String(section);
				var s = section_str.split(',');
				var i=0;
				while(s[i])
				{
					View_Hide_Element(s[i],'view');
					i++;
				}
			}
			else {
				var code = reqSidebar.responseJS.ret['code'];
				var section_uncollapse = reqSidebar.responseJS.ret['section'];
				document.getElementById(sec).innerHTML = code;
			//	alert(code);
				//Visible_div('load_auth');
				View_Hide_Element(section_uncollapse,'view');
				//run_javascript_function ();
			}
		}
	}
	reqSidebar.caching = false;//true;
    reqSidebar.open('GET', '/sidebar_handl.php', true);
    reqSidebar.send({ 'section' : sec });
}
//Функция данамически раскрывает/закрывает элементы sidebar
function View_Hide_Element(section,action){
	var tmp = "imgh_" + section;
	var tmp2 = "h_" + section;
	document.getElementById(tmp2).innerHTML = "<p>Загрузка ...</p>";
	if (action == "view")
	{
		document.getElementById(tmp).innerHTML = "<img src='/images/open.gif' alt='-'  onclick=\"View_Hide_Element('" + section + "','hide');\">";
		var reqSidebarElement = new JsHttpRequest();
		reqSidebarElement.onreadystatechange = function() 
		{
			if (reqSidebarElement.readyState == 4) 
			{
				var element = reqSidebarElement.responseJS.ret;
				document.getElementById('h_'+section).innerHTML = element;
				//alert(element);
			}
		}
		reqSidebarElement.caching = false;
    	reqSidebarElement.open('POST', '/sidebar_element_handl.php', true);
   		reqSidebarElement.send({ 'element' : section });	
	}
	if  (action == "hide")
	{
		document.getElementById(tmp).innerHTML = "<img src='/images/close_s.gif' alt='+' onclick=\"View_Hide_Element('" + section + "','view');\">";
		document.getElementById(tmp2).innerHTML = "";
	}
}
//Функция поиска 
function Search(form){
	var text_searched = form.txt.value;
	//if(text_searched)
		//alert('Вы искали \''+text_searched+'\'. Поиск пока не работает.');
	LoadContent('foto', 'search', text_searched, '');
}

function Get_Offset_Page(offset,type){
	var reqPageContent = new JsHttpRequest();
	reqPageContent.onreadystatechange = function() 
	{
		if (reqPageContent.readyState == 4) 
		{
			if(reqPageContent.responseJS.ret == true)
			{
				/*var id = reqPageContent.responseJS.id;
				var content = reqPageContent.responseJS.content;
				var category = reqPageContent.responseJS.category;
				var theme = reqPageContent.responseJS.theme;
				LoadContent(content,category,theme,id);*/
				Load(document.location.href);
			}
		}
	}
	reqPageContent.caching = false;
    reqPageContent.open('POST', '/get_page.php', true);
   	reqPageContent.send({ 'offset':offset, 'type':type });
}
//Функция авторизации
function Auth(form){
	//alert(form);
	var login = form.login.value;
	var pwd = form.pwd.value;
	var result = Action('auth',login,pwd);
}
function Action(Key,Value,Addition_param){
	//document.getElementById('load').innerHTML = "<img src='/images/load2.gif' style='border:0px;padding:0px;margin:0px;'>";
	if(!Key.join){  //проверка на немассив
		if(!Value) {
			Value = new Array(Key);
			Key = new Array('action');
		}
		else {
			Value = new Array(Key,Value);
			Key = new Array('action',Key);
		}
		Addition_param = new Array(Addition_param);
	}
	if(Value.join().search("delete") != -1)
	{
		var action = confirm("Действительно удалить?");
		if(action == false)
		{
			Hide_div('load_'+Value[0]);
			//document.getElementById('load_'+Value[0]).innerHTML = '';
			exit();
		}
	}
	
	//document.getElementById('load').innerHTML = "<img src='/images/load2.gif' style='border:0px;padding:0px;margin:0px;'>";*/
	var reqAction = new JsHttpRequest();
	reqAction.onreadystatechange = function() 
	{
		if (reqAction.readyState == 4) 
		{
			if(reqAction.responseJS.ret == true)
			{
				var destination = new Array();
				var data = new Array();
				var data = reqAction.responseJS.data;
				var destination = reqAction.responseJS.destination;
				var startLC = reqAction.responseJS.startLoadContent;
				var link =  reqAction.responseJS.LoadContent;
				var del_div = reqAction.responseJS.del_div;
				var new_message = reqAction.responseJS.new_message;
				var js_func = reqAction.responseJS.js_func;
				var i=0;
				while(destination[i])
				{
					document.getElementById(destination[i]).innerHTML = data[i];
					i++;
				}				
				if(startLC == true)
				{
					if(document.location.hash == link)
						Load(link);
					document.location.hash = link;
				}
				if(js_func)
					//alert(js_func);
					eval (js_func);
		/*		if(del_div)
					Delete_div("div_"+del_div,"loaded");*/
				if(new_message)
					alert(new_message);
			}
			else
				alert("Ошибка обработки запроса на сервере");	
				
			document.getElementById('load').innerHTML = "";	
		}
	}
	reqAction.caching = false;
    reqAction.open('POST', '/action.php', true);
    reqAction.send({ 'key':Key, 'value':Value, 'addition_param':Addition_param });
}
function SendForm(form){
	var count_param = form.length;
	var Key = Array(count_param);
	var Value =  Array(count_param);
	for(i=0; i<count_param; i++)
	{
		Key[i] = form.elements[i].name;
		Value[i] = form.elements[i].value;
		if(form.elements[i].name == "action")
			Visible_div("load_"+form.elements[i].value);
	}
	Action(Key,Value);
}
function SendFile(form){
	document.getElementById('load_status').innerHTML = "<img src='/images/load3.gif' style='border:0px;padding:0px;margin:0px;'>";
	var req = new JsHttpRequest();
	 req.onreadystatechange = function() {
        if (req.readyState == 4) {
        	var new_message = req.responseJS.new_message;
        	var content = document.getElementById('loaded').innerHTML
        	var response = req.responseJS.result;
		var debug = req.responseJS.debug;	
	
        	document.getElementById('load_status').innerHTML = "&nbsp;";
        	// document.getElementById('load').innerHTML = "";
        	if(new_message != false)
        	 	document.getElementById('msg').innerHTML = new_message;
        	if(response)
				document.getElementById('loaded').innerHTML = content + response;
		if(debug)
			alert(debug);
        }
    }
    req.open(null, '/upl_backend.php', true);
    req.send( { query: form } );
}
//Функция в контексте обработки фотографии
function Processing(action2,obj_name) {
	document.getElementById('load').innerHTML = "<img src='/images/load2.gif' style='border:0px;padding:0px;margin:0px;'>";
	if(action2 != "save") //Обработка
	{
		//alert (action2+' '+obj_name);
		var x = action2.split("_");
		if (x[1] != "delete")
			document.getElementById(obj_name+"_"+x[1]).innerHTML = "<img src='/images/load3.gif' style='border:0px;padding:0px;margin:0px;'>";
		document.forms['img'].action2.value = action2;
		document.forms['img'].object.value = obj_name;
	}
	else //Сохранение
	{
		document.forms['img'].action2.value = action2;
		document.forms['img'].object.value = obj_name;
	}
}
function Delete_div(div,parent) {
	var d1=document.getElementById(parent);
	var d2=document.getElementById(div);
	d1.removeChild(d2); 
}
function Visible_div(div) {
	document.getElementById(div).style.visibility = "visible";
}
function Hide_div(div) {
	document.getElementById(div).style.visibility = "hidden";
}
function test(x){
	alert(x);
}
/********************/
//*******COOKIES//////
function getCookie (name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;	
	while (i < clen)
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return null;
}

function getCookieVal (offset) 
{
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
		endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
function setCookie (name, value) 
{
	var argv = setCookie.arguments;
	var argc = setCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
	((path == null) ? "" : ("; path=" + path)) +
	((domain == null) ? "" : ("; domain=" + domain)) +
	((secure == true) ? "; secure" : "");
}
function deleteCookie (name) {
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	// This cookie is history
	var cval = getCookie (name);
	document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
////*******************
//Функция установки выделения в верхнем меню
function setMenu(element) {
	var divMenu = document.getElementById('id_menu');
	var elems = divMenu.getElementsByTagName('*');
	/*for(var i=0; i<elems.length; i++) 
	{
		if(elems[i].id)
			document.getElementById(elems[i].id).style.background = "#2A2A2A";
	}
	element = "menu_" + element;
	document.getElementById(element).style.background = "#65944A";*/
	for(var i=0; i<elems.length; i++) 
	{
		if(elems[i].id)
			document.getElementById(elems[i].id).setAttribute("class", "menu_link");
	}
	element = "menu_" + element;
	document.getElementById(element).setAttribute("class", "menu_link_select");
}
function scrollToElement(elem)
  {
 	var x=0, y=0;
	var obj = document.getElementById(elem);

	while(obj) {
  		x+=obj.offsetLeft;
   		y+=obj.offsetTop;
    	obj=obj.offsetParent;
 	}
   window.scrollTo(x,y);
  }

