/* Получение кроссбраузерного XMLHttpRequest */

function getXMLHttpRequest()
{
	var xmlHttp; // API для функционирования Ajax
  	try 
	{
		xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch (e) 
	{
	    try 
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch (E) 
		{
			xmlHttp=false;
		}
	}
  	if (!xmlHttp && typeof XMLHttpRequest!='undefined') 
   		xmlHttp=new XMLHttpRequest();
		
	return xmlHttp; // Возвращение объекта для функционирования Ajax
}

/* Всплывающее окно изменения данных */

function modifyBlock(blockId,waitId,url,oLink,callback)
{
	var oBlock=document.getElementById(blockId); // Блок
	var oWait=document.getElementById(waitId); // Значок загрузки

	closeLinks(oLink); // Закрытие ссылок

	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax

			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oBlock.innerHTML=xmlHttp.responseText; // Использование ответа

					oWait.style.display="none"; // Сокрытие значка загрузки
					oBlock.style.display="block"; // Показ блока

					if(callback) window[callback]();
				}
			}

			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса

			oWait.style.display="inline"; // Показ значка загрузки

			oLink.name="on"; // Изменение состояния ссылки
			break;

		case "on": // Включено - выключаем
			oBlock.innerHTML=""; // Очистка блока
			oBlock.style.display="none"; // Сокрытие блока
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Окно загрузки изображений */

function imageUpload(uploadBlockId,url,oLink)
{
	var oUploadBlock=document.getElementById(uploadBlockId); // Блок загрузки
	var oUploadWait=document.getElementById("upload_image_wait"); // Значок загрузки
	
	closeLinks(oLink); // Закрытие ссылок
		
	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{  
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oUploadBlock.innerHTML=xmlHttp.responseText; // Использование ответа
				
					oUploadWait.style.display="none"; // Сокрытие значка загрузки
					oUploadBlock.style.display="block"; // Показ блока загрузки
					
					var oButtonsBar=document.getElementById("buttons_bar"); // Блок кнопок редактирования
					if(oButtonsBar) oButtonsBar.style.display="block"; // Включение блока кнопок редактирования
				}
			}
			
			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса
			
			oUploadWait.style.display="inline"; // Показ значка загрузки
			
			oLink.name="on"; // Изменение состояния ссылки
			break;
			
		case "on": // Включено - выключаем
			oUploadBlock.innerHTML=""; // Очистка блока загрузки
			oUploadBlock.style.display="none"; // Сокрытие блока загрузки
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Окно загрузки блоков главной страницы */

function indexBlockUpload(uploadBlockId,url,oLink)
{
	var oUploadBlock=document.getElementById(uploadBlockId); // Блок загрузки
	var oUploadWait=document.getElementById("index_block_modify_wait"); // Значок загрузки
	
	closeLinks(oLink); // Закрытие ссылок
		
	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{  
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oUploadBlock.innerHTML=xmlHttp.responseText; // Использование ответа
				
					oUploadWait.style.display="none"; // Сокрытие значка загрузки
					oUploadBlock.style.display="block"; // Показ блока загрузки
					
					var oButtonsBar=document.getElementById("buttons_bar"); // Блок кнопок редактирования
					if(oButtonsBar) oButtonsBar.style.display="block"; // Включение блока кнопок редактирования
				}
			}
			
			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса
			
			oUploadWait.style.display="inline"; // Показ значка загрузки
			
			oLink.name="on"; // Изменение состояния ссылки
			break;
			
		case "on": // Включено - выключаем
			oUploadBlock.innerHTML=""; // Очистка блока загрузки
			oUploadBlock.style.display="none"; // Сокрытие блока загрузки
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Окно добавления и редактирования комментариев */

function modifyComment(commentBlockId,url,oLink)
{
	var oCommentBlock=document.getElementById(commentBlockId); // Блок клмментариев
	var oCommentWait=document.getElementById("comment_wait"); // Значок загрузки
	
	closeLinks(oLink); // Закрытие ссылок
		
	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{  
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oCommentBlock.innerHTML=xmlHttp.responseText; // Использование ответа
					
					oCommentWait.style.display="none"; // Сокрытие значка загрузки
					oCommentBlock.style.display="block"; // Показ блока комментариев
					
					$(document).scrollTop(859); // Прокрутка страницы
					
					var oButtonsBar=document.getElementById("buttons_bar"); // Блок кнопок редактирования
					if(oButtonsBar) oButtonsBar.style.display="block"; // Включение блока кнопок редактирования
				}
			}
			
			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса
			
			oCommentWait.style.display="inline"; // Показ значка загрузки
			
			oLink.name="on";  // Изменение состояния ссылки
			break;
			
		case "on": // Включено - выключаем
			oCommentBlock.innerHTML=""; // Очистка блока комментариев
			oCommentBlock.style.display="none"; // Сокрытие блока комментариев
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Окно выбора модуля редактора страниц (редактор страниц) */

function pagesModule(moduleBlockId,url,oLink,post)
{
	var oModuleBlock=document.getElementById(moduleBlockId); // Блок модуля
	var oModuleWait=document.getElementById("module_wait"); // Значок загрузки
	
	/* Закрытие окон */
	
	closeWindows(oLink,"_add");
	
	if(oLink.name=="off" || oLink.id.substring(oLink.id.length-3)=="mod") // Если ссылка выключена или в ее ID содержится "mod"
	{
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
		
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{
				oModuleBlock.innerHTML=xmlHttp.responseText; // Использование ответа
					
				oModuleWait.style.display="none"; // Сокрытие значка загрузки
				oModuleBlock.style.display="block"; // Показ блока модуля
					
				var oButtonsBar=document.getElementsByName("buttons_bar"); // Блоки кнопок редактирования
					
				for(var i=0; i<oButtonsBar.length; i++)
					oButtonsBar[i].style.display="block"; // Включение блоков кнопок редактирования
			}
		}

		$(document).scrollTop(373); // Прокрутка страницы
		oModuleWait.style.display="inline"; // Показ значка загрузки
		
		xmlHttp.open("POST",url,true); // Открытие соединения
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // Установка заголовка
		xmlHttp.send(post); // Отправление запроса
		
		oLink.name="on"; // Изменение состояния ссылки
	}
	else
	{
		oModuleBlock.innerHTML=""; // Очистка блока модуля
		oModuleBlock.style.display="none"; // Сокрытие блока модуля
		oLink.name="off"; // Изменение состояния ссылки
	}
}

/* Функция автосохранения содержимого страницы (редактор страниц) */

function pagesAutosave(url,text)
{
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
	xmlHttp.open("POST",url,true); // Открытие соединения
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); // Установка заголовка
	xmlHttp.send("text="+text); // Отправление запроса
}

/* Функция удаления файла (редактор страниц) */

function pagesDeleteFile(url,path,mode)
{
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax

	xmlHttp.open("GET",url+"&path="+path+"&mode="+mode,false); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
}

/* Выбор специальности (электронная библиотека) */

function createRecmSpecform(spec,url) 
{
	var oRecmWait=document.getElementById("recm_wait"); // Значок загрузки
	var oSpecform=document.getElementById("specform"); // Блок формы обучения
	var oRecm=document.getElementById("recm"); // Блок рекомендации
	
	oSpecform.style.display="none"; // Сокрытие блока формы обучения
	oRecm.style.display="none"; // Сокрытие блока рекомендации
	
	if(spec>0) // Если выбрана специальность
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oRecmWait.style.display="none"; // Сокрытие значка загрузки
				oSpecform.innerHTML=xmlHttp.responseText; // Использование ответа
				oSpecform.style.display="block"; // Показ блока формы обучения
			}
		}
		
		xmlHttp.open("GET",url+"spec="+spec,true); // Открытие соединения  
		xmlHttp.send(null); // Отправление запроса
	
		oRecmWait.style.display="block"; // Показ значка загрузки
	}
}

/* Выбор формы обучения (электронная библиотека) */

function createRecmRecm(spec,specform,url) 
{
	var oRecmWait=document.getElementById("recm_wait"); // Значок загрузки
	var oRecm=document.getElementById("recm"); // Блок рекомендации
		
	oRecm.style.display="none"; // Сокрытие блока рекомендации
	
	if(specform!=0) // Если выбрана форма обучения
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oRecmWait.style.display="none"; // Сокрытие значка загрузки
				oRecm.innerHTML=xmlHttp.responseText; // Использование ответа
				oRecm.style.display="block"; // Показ блока рекомендации
					
				var oActiveRecm=document.getElementById("recm["+spec+"_"+specform+"]"); // Активная рекомендация
				sems=explode(" , ",oActiveRecm.value); // Получение списка семестров
				
				for(var i=0;i<sems.length; i++)
				{
					var active_recm_id='R'+spec+'_'+specform+'C'+Math.ceil(sems[i]/2)+'S'+sems[i]; // ID активной рекомендации
					recmSelect(document.getElementById(active_recm_id),"sem"); // Выбор рекомендации
				}
			}
		}
		
		xmlHttp.open("GET",url+"spec="+spec+"&specform="+specform,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
	
		oRecmWait.style.display="block"; // Показ значка загрузки
	}
}

/* Выбор статуса пользователя (пользователи) */

function userStatus(status,url) 
{
	var oUserWaitBlock=document.getElementById("user_wait_block"); // Значок загрузки
	var oCathedraBlock=document.getElementById("user_cathedra_block"); // Блок кафедры
	var oSpecBlock=document.getElementById("user_spec_block"); // Блок специальности
	var oGroupBlock=document.getElementById("user_group_block"); // Блок группы
	var oPostBlock=document.getElementById("user_post_block"); // Блок должности
	var oDegreeBlock=document.getElementById("user_degree_block"); // Блок ученой степени
	var oRankBlock=document.getElementById("user_rank_block"); // Блок звания
	var oWorkplaceBlock=document.getElementById("user_workplace_block"); // Блок места работы
	
	var oCathedra=$("[name=user_cathedra]").get(0); // Кафедра
	var oPost=$("[name=user_post]").get(0); // Должность
	var oDegreeRank=$("[name=user_degree_rank]").get(0); // Ученая степень (звание)
	var oDegreeScience=$("[name=user_degree_science]").get(0); // Ученая степень (наука)
	var oRank=$("[name=user_rank]").get(0); // Звание
	var oWorkplace=$("[name=user_workplace]").get(0); // Место работы
	
	// Сокрытие блоков выбора кафедры, специальности, группы и т.д.	
	oCathedraBlock.style.display="none";
	oSpecBlock.style.display="none";
	oGroupBlock.style.display="none";
	oPostBlock.style.display="none";
	oDegreeBlock.style.display="none";
	oRankBlock.style.display="none";
	oWorkplaceBlock.style.display="none";
	
	// Выбор значений по-умолчанию
	oPost.value="";
	oDegreeRank.options[0].selected=true;
	oDegreeScience.style.display="none";
	oRank.options[0].selected=true;
	oWorkplace.options[0].selected=true;
	
	if(status>0) // Если выбран статус
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oUserWaitBlock.style.display="none"; // Сокрытие значка загрузки
				oCathedraBlock.innerHTML=xmlHttp.responseText; // Использование ответа
					
				switch(status) // В зависимости от статуса
				{
					case "1": default: // Студент
						oCathedraBlock.style.display="block"; // Показ блока кафедры
						break;
						
					case "2": // Преподаватель
						oCathedra.remove(0); // Удаление первого элемента (пустого) из списка выбора кафедры кафедры
						oCathedraBlock.style.display="block"; // Показ блока кафедры
						oPostBlock.style.display="block"; // Показ блока должности
						oDegreeBlock.style.display="block"; // Показ блока ученой степени
						oRankBlock.style.display="block"; // Показ блока звания
						break;
					
					case "3": // Сотрудник
						oCathedra.remove(0); // Удаление первого элемента (пустого) из списка выбора кафедры кафедры
						oPostBlock.style.display="block"; // Показ блока должности
						oWorkplaceBlock.style.display="block"; // Показ блока места работы
						break;
				}
			}
		}
		
		xmlHttp.open("GET",url+"status="+status,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
	
		oUserWaitBlock.style.display="block"; // Показ значка загрузки
	}
}

/* Выбор кафедры (пользователи) */

function userCathedra(status,cathedra,url) 
{
	var oUserWaitBlock=document.getElementById("user_wait_block"); // Значок загрузки
	var oSpecBlock=document.getElementById("user_spec_block"); // Блок специальности
	var oGroupBlock=document.getElementById("user_group_block"); // Блок группы
	
	oSpecBlock.style.display="none"; // Сокрытие блока специальности
	oGroupBlock.style.display="none"; // Сокрытие блока группы
	
	if(status==1 && cathedra>0) // Если статус - студент и выбрана кафедра
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oUserWaitBlock.style.display="none"; // Сокрытие значка загрузки
				oSpecBlock.innerHTML=xmlHttp.responseText; // Использование ответа
				oSpecBlock.style.display="block"; // Показ блока специальности
			}
		}
		
		xmlHttp.open("GET",url+"status="+status+"&cathedra="+cathedra,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
	
		oUserWaitBlock.style.display="block"; // Показ значка загрузки
	}
}

/* Выбор специальности (пользователи) */

function userSpec(status,spec,url) 
{
	var oUserWaitBlock=document.getElementById("user_wait_block"); // Значок загрузки
	var oGroupBlock=document.getElementById("user_group_block"); // Блок группы
	
	oGroupBlock.style.display="none"; // Сокрытие блока группы
	
	if(status==1 && spec>0) // Если статус - студент и выбрана специальность
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oUserWaitBlock.style.display="none"; // Сокрытие значка загрузки
				oGroupBlock.innerHTML=xmlHttp.responseText; // Использование ответа
				oGroupBlock.style.display="block"; // Показ блока группы
			}
		}
		
		xmlHttp.open("GET",url+"status="+status+"&spec="+spec,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
	
		oUserWaitBlock.style.display="block"; // Показ значка загрузки
	}
}

/* Выбор специальности (тестирование) */

function testSpec(spec,oParent,url) 
{
	var oGroupBlock=getElementsByClass("test_groups",oParent); // Блок группы
	oGroupBlock.style.display="none"; // Сокрытие блока группы
	
	if(spec>0) // Если выбрана специальность
	{	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{  
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{ 	
				oGroupBlock.innerHTML=xmlHttp.responseText; // Использование ответа
				oGroupBlock.style.display="block"; // Показ блока группы
			}
		}
		
		xmlHttp.open("GET",url+"&spec="+spec,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
	}
}

/* Голосование за фотографию (фотоконкурс) */

function photoVote(url)
{
	var oPointsBlock=document.getElementById("points") // Блок баллов
	var oVoteBlock=document.getElementById("vote_block"); // Блок голосования
	var oVoteWait=document.getElementById("vote_wait"); // Значок загрузки
		
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oVoteWait.style.display="none"; // Сокрытие значка загрузки
			oPointsBlock.innerHTML=xmlHttp.responseText; // Использование ответа
			oVoteBlock.innerHTML="Ваш голос учтен!";
			oVoteBlock.style.display="block"; // Показ блока 
		}
	}
			
	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oVoteWait.style.display="block"; // Показ значка загрузки
	oVoteBlock.style.display="none"; // Сокрытие блока голосования
}

/* Одобрение (не одобрение) фотографии (фотоконкурс) */

function photoApprove(url,answer)
{
	var oApproveBlock=document.getElementById("approve"); // Блок одобрения фотографии
	var oAnswerBlock=document.getElementById("approve_answer"); // Причина отказа
	var oApproveWait=document.getElementById("approve_wait"); // Значок загрузки
		
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oApproveWait.style.display="none"; // Сокрытие значка загрузки
			oApproveBlock.innerHTML=xmlHttp.responseText; // Использование ответа
			oApproveBlock.style.display="block"; // Показ блока одобрения фотографии
				
			if(answer) oAnswerBlock.innerHTML="<h2>Причина отказа</h2><p>"+answer+"</p>"; // Если есть причина отказа - печатается
			else oAnswerBlock.innerHTML=""; // Иначе - блок пустой
		}
	}
			
	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oApproveWait.style.display="block"; // Показ значка загрузки
	oApproveBlock.style.display="none"; // Сокрытие блока одобрения фотографии
}

/* Функция назначения главной фотографии (пользовательский фотоальбом) */

function photoIsMain(url)
{
	var oIsMainBlock=document.getElementById("author"); // Блок выбора главной фотографии
	var oIsMainWait=document.getElementById("is_main_wait"); // Значок загрузки
		
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oIsMainWait.style.display="none"; // Сокрытие значка загрузки
			oIsMainBlock.innerHTML=xmlHttp.responseText; // Использование ответа
			oIsMainBlock.style.display="block"; // Показ блока выбора главной фотографии
		}
	}
			
	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oIsMainWait.style.display="block"; // Показ значка загрузки
	oIsMainBlock.style.display="none"; // Сокрытие блока выбора главной фотографии
}

/* Функция выбора групп контактов (контакты) */

function contactsSelect(url,site)
{
	var oContactsBlock=document.getElementById("contacts_list"); // Блок контактов
	var oContactsWait=document.getElementById("contacts_wait"); // Значок загрузки
		
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oContactsWait.style.display="none"; // Сокрытие значка загрузки
			oContactsBlock.innerHTML=xmlHttp.responseText; // Использование ответа
			oContactsBlock.style.display="block";
			$(document).scrollTop(470); // Прокрутка страницы
			$(oContactsBlock).scrollTop(0); // Прокрутка блока контактов
			
			var contactsCheckBoxes=document.getElementsByName("contacts_chbox[]"); // Checkbox'ы контактов
			var oContactsUserMenu=document.getElementById("contacts_js_user_menu"); // Пользовательское меню в контактах
			var oContactsSearchText=document.getElementById("users_search_link_text"); // Текст поиска в контактах
			
			if(oContactsUserMenu && contactsCheckBoxes.length) // Если есть пользовательское меню и checkbox'ы в контактах
			{
				oContactsUserMenu.style.display="inline"; // Показ польззовательского меню в контактах
				checkChbox("contacts_chbox[]",site+"/images/","_active","select_all","deselect_all",true); // Проверка checkbox'ов
				if(oContactsSearchText) oContactsSearchText.style.display="none"; // Сокрытие текста поиска в контактах
			}
			else // Иначе
			{
				oContactsUserMenu.style.display="none"; // Сокрытие польззовательского меню в контактах
				if(oContactsSearchText) oContactsSearchText.style.display="inline"; // Показ текста поиска в контактах
			}
		
			for(var i=0; i<contactsCheckBoxes.length; i++)
				contactsCheckBoxes[i].style.display="inline"; // Показ checkbox'ов в контактах 
		}
	}
	
	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oContactsWait.style.display="block"; // Показ значка загрузки
	oContactsBlock.style.display="none"; // Сокрытие блока контактов
}

/* Функция добавления в контакты (удаления из контактов) (контакты) */

function changeMyContacts(oLink,user)
{
	var oChangeContactsWait=document.getElementById("contact_"+user+"_wait"); // Значок загрузки
	
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
		
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oChangeContactsWait.style.display="none"; // Сокрытие значка загрузки
			
			switch(oLink.name) // В зависимости от состояния
			{
				case "add": default: // Добавление
					document.getElementById("add_contact_"+user+"_link").style.display="none";
					document.getElementById("remove_contact_"+user+"_link").style.display="inline";
					break;
					
				case "remove": // Удаление
					document.getElementById("add_contact_"+user+"_link").style.display="inline";
					document.getElementById("remove_contact_"+user+"_link").style.display="none";
					break;
			}
		}
	}

	xmlHttp.open("GET",oLink.href,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oChangeContactsWait.style.display="inline"; // Показ значка загрузки
}

/* Функция показа списка адресатов (почта) */

function showUsersList(url,msgs)
{
	var oUserList=document.getElementById("users_list"); // Список пользователей
	var oUsersListWait=document.getElementById("users_list_"+msgs+"_wait"); // Значок загрузки
	
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
		
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
		{
			oUsersListWait.style.display="none"; // Сокрытие значка загрузки
			oUserList.innerHTML=xmlHttp.responseText; // Использование ответа
			$(document).scrollTop(470); // Прокрутка страницы
		}
	}

	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
	
	oUsersListWait.style.display="inline"; // Показ значка загрузки
	oUserList.innerHTML=""; // Очистка списка пользователей
}

/* Функция установки флага "Прочитано" у сообщения (почта) */

function messagesRead(url)
{
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax

	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
}

/* Функция добавления/редактирования пунктов меню (меню сайта) */

function modifyPoint(url,oLink)
{
	var oPointBlock=document.getElementById("modify_point"); // Блок пунктов меню
	var oMainmenuWait=document.getElementById("mainmenu_wait"); // Значок загрузки
	
	closeWindows(oLink,"_link"); // Закрытие окон
		
	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{  
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oPointBlock.innerHTML=xmlHttp.responseText; // Использование ответа
					$(document).scrollTop(0); // Прокрутка страницы
				
					oMainmenuWait.style.display="none"; // Сокрытие значка загрузки
					oPointBlock.style.display="block"; // Показ блока пунктов меню
				}
			}
			
			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса
			
			oMainmenuWait.style.display="inline"; // Показ значка загрузки
			
			oLink.name="on"; // Изменение состояния ссылки
			break;
			
		case "on": // Включено - выключаем
			oPointBlock.innerHTML=""; // Очистка блока пунктов меню
			$(document).scrollTop(0); // Прокрутка страницы
			
			oPointBlock.style.display="none"; // Сокрытие блока пунктов меню
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Функция обновления меню (меню сайта) */

function menuRefresh(url)
{
	var oMenuBlock=document.getElementById("mainmenu"); // Меню
	
	var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
	xmlHttp.onreadystatechange=function() // Ответ на запрос
	{  
		if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			oMenuBlock.innerHTML=xmlHttp.responseText; // Использование ответа
		
		/* Глобальный поиск */

		var $oGlobalSearch=$("#global_search input"); // Поле поиска

		$oGlobalSearch.bind("focus blur",function(){ // Обработчик получения и потери фокуса
			inputCaption(this,"Поиск");
		});
	}
	
	xmlHttp.open("GET",url,true); // Открытие соединения
	xmlHttp.send(null); // Отправление запроса
}

/* Функция добавления/редактирования подсказок */

function modifyTip(url,oLink)
{
	var oTipBlock=document.getElementById("modify_tip"); // Блок подсказок
	var oTipWait=document.getElementById("tips_wait"); // Значок загрузки
	
	switch(oLink.name) // В зависимости от состояния
	{
		case "off": // Выключено - включаем
			var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
			
			xmlHttp.onreadystatechange=function() // Ответ на запрос
			{  
				if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
				{
					oTipBlock.innerHTML=xmlHttp.responseText; // Использование ответа
					$(document).scrollTop(0); // Прокрутка страницы
				
					oTipWait.style.display="none"; // Сокрытие значка загрузки
					oTipBlock.style.display="block"; // Показ блока пунктов меню
				}
			}
			
			xmlHttp.open("GET",url,true); // Открытие соединения
			xmlHttp.send(null); // Отправление запроса
			
			oTipWait.style.display="inline"; // Показ значка загрузки
			
			oLink.name="on"; // Изменение состояния ссылки
			break;
			
		case "on": // Включено - выключаем
			oTipBlock.innerHTML=""; // Очистка блока пунктов меню
			$(document).scrollTop(0); // Прокрутка страницы
			
			oTipBlock.style.display="none"; // Сокрытие блока пунктов меню
			oLink.name="off"; // Изменение состояния ссылки
			break;
	}
}

/* Глобальный поиск */

function globalSearch()
{
	var input=document.getElementById("global_search_value");
	var cat=$(".search_cat_names .active").attr("name");
	
	if(input.value.length>=3 && input.value!="Поиск")
	{
		var oSearchBlock=$(input).parent().parent();
		var search_bg=oSearchBlock.css("background-image");
		var loader_bg=search_bg.replace("search_black.png","loader5.gif");
		
		var url="scripts/common/global_search.php?global_search="+escape(input.value);
		if(cat!=undefined) url+="&cat="+cat;
		
		var oBlock=$("#mainframe .text"); // Блок
	
		var xmlHttp=getXMLHttpRequest(); // Получение API для функционирования Ajax
	
		xmlHttp.onreadystatechange=function() // Ответ на запрос
		{
			if(xmlHttp.readyState==4 && xmlHttp.status==200) // Если нет ошибок
			{
				oBlock.html(xmlHttp.responseText); // Использование ответа
				oSearchBlock.css("background-image",search_bg);
			}
		}
	
		xmlHttp.open("GET",url,true); // Открытие соединения
		xmlHttp.send(null); // Отправление запроса
		
		oSearchBlock.css("background-image",loader_bg);
	}
}
