function LoadProfile(id, action) {
	document.getElementById('profileRes').innerHTML="<center>загрузка профиля... <img src='images/load.gif' align=absmiddle></center>";
	
	var add="";
	if(action) add="&act="+action;
	
	GetXML('a=get.profile&id='+id+add, 'LoadProfileRes');
	showDiv('userProfile', 350, null, false);
}

function LoadProfileRes(res) {
	if(res == "error") {
		alert('Пользователя с таким индификатором не существует!');
		hideDiv('userProfile');
	} else {
		document.getElementById('profileRes').innerHTML=res;
	}
}

function LoadComments(parms) {
	GetXML('a=get.comments'+parms, 'LoadCommentsRes');
}

function LoadCommentsRes(res) {
	if(res == "error") alert('Ошибка загрузки комментариев!')
	else document.getElementById('commentsPlace').innerHTML=res;
}

function ShowComForm(openOnly) {
	document.getElementById('comText').value="";
	showDivResize('commentsForm', 200, openOnly);
}

function SendComment(id) {
	var text=tinyMCE.get('comText').getContent();
	var guest_mode=false; 
	if(document.getElementById('comName')) guest_mode=true;
	
	if(text.length == 0) {
		alert('Вы не ввели сообщение!');
	} else {
		if(guest_mode) {
			var name=document.getElementById('comName').value;
			if(name.length < 2) {
				alert('Имя должно содержать минимум два символа!');
			} else {
				document.getElementById('comProcess').style['visibility']="visible";
				document.getElementById('comBut').disabled=true;
		
				GetXML('a=send.comment&id='+id+'&text='+ParceText(text)+'&guest='+name, 'SendCommentRes');
			}
		} else {
			document.getElementById('comProcess').style['visibility']="visible";
			document.getElementById('comBut').disabled=true;
		
			GetXML('a=send.comment&id='+id+'&text='+ParceText(text), 'SendCommentRes');
		}
	}
}

function SendCommentRes(res) {
	document.getElementById('comProcess').style['visibility']="hidden";
	document.getElementById('comBut').disabled=false;
	
	if(res == "error") {
		alert("Ошибка при добавлении комментария");
	} else {
		ShowComForm();
		LoadComments('&id='+res);
	}
}

function DeleteComment(id, author) {
	if(confirm("Вы действительно хотите удалить сообщение пользователя "+author+"?")) GetXML('a=del.comment&id='+id, 'DeleteCommentRes');
}

function DeleteCommentRes(res) {
	if(res == "error") alert("Ошибка при удалении комментария");
	else LoadComments('&id='+res);
}

function QuotePost(id) {
	document.getElementById('comProcess').style['visibility']="visible";
	document.getElementById('comBut').disabled=true;
	
	GetXML('a=get.quote&id='+id, 'QuotePostRes');
	ShowComForm(true);
	document.getElementById('comText').disabled=true;
	tinyMCE.get('comText').setContent("Подождите, идет загрузка...");
}

function QuotePostRes(res) {
	document.getElementById('comProcess').style['visibility']="hidden";
	document.getElementById('comBut').disabled=false;
	document.getElementById('comText').disabled=false;
	tinyMCE.get('comText').setContent(res);
	document.getElementById('comText').focus();
}

function LoadCalendar(parms) {
	if(!parms) parms="";
	//document.getElementById('calendarPlace').innerHTML="<div class='small' align=center>загрузка календаря... <img src='images/load.gif' align=absmiddle></div>";
	GetXML('a=calendar'+parms, 'LoadCalendarRes');
}

function LoadCalendarRes(res) {
	document.getElementById('calendarPlace').innerHTML=res;
}

function ChangeFav(id) {
	GetXML('a=change.favorites&id='+id, 'ChangeFavRes');
}

function ChangeFavRes(res) {
	if(res == "error") {
		alert("Ошибка при изменении статуса сообщения");
	} else {
		var res_a=res.split(":");
		
		if(res_a[0] == "1") {
			document.getElementById('e'+res_a[1]+'_fav').innerHTML="<img src='images/fav.gif' align=absmiddle title='Избранное'>";
			document.getElementById('e'+res_a[1]+'_favl').innerHTML="убрать из избранных";
		} else {
			document.getElementById('e'+res_a[1]+'_fav').innerHTML="";
			document.getElementById('e'+res_a[1]+'_favl').innerHTML="в избранное";
		}
	}
}

function MemberCommunity(id) {
	if(confirm("Подтверждаете?")) GetXML('a=member.community&id='+id, 'MemberCommunityRes');
}

function MemberCommunityRes(res) {
	var res_a=res.split(":");
	
	if(res_a[0] == "ok") {
		document.location.reload();
	} else {
		alert(res_a[1]);
	}
}

function ShowCmtyUsers(id) {
	showDiv('cmtyUsers');
	GetXML('a=community.list&id='+id, 'ShowCmtyUsersRes');
}

function HideCmtyUsers() {
	hideDiv('cmtyUsersList');
	hideDiv('cmtyUsers');
	resizeDivB('cmtyUsersList');
}

function ShowCmtyUsersRes(res) {
	if(res == "error") {
		alert("Ошибка при загрузке списка пользователей");
	} else {
		document.getElementById('cmtyUsersList').innerHTML=res;
		document.getElementById('cmtyUsersList').style['overflow-x']="hidden";
		document.getElementById('cmtyUsersList').style['overflow-y']="scroll";
		showDivResize('cmtyUsersList', 100, true);
	}
}

function ShowCatSelect() {
	showDiv('changeCat');

	if(ua == 'Opera' || ua == 'IE') {
		document.attachEvent("onclick", HideCatSelect);
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	} else {
		document.addEventListener("mouseup", HideCatSelect, true);
		_event.preventDefault();
	}

}

function HideCatSelect() {
	if(ua == 'Opera' || ua == 'IE') {
		document.detachEvent("onclick", HideCatSelect);
	} else {
		document.removeEventListener("mouseup", HideCatSelect, true);
	}
	hideDiv('changeCat');
}

function AddFriend(id, name) {
	if(confirm("Добавить в друзья: "+name+"?\n"+"Пользователю будет отправлен запрос на подтверждение")) GetXML('a=add.friend&id='+id, 'AddFriendRes');
}

function AddFriendRes(res) {
	var res_a=res.split(":");
	
	if(res_a[0] == "ok") {
		alert("Пользователю отправлен запрос на разрешение добавить его в список ваших друзей");
	} else {
		alert(res_a[1]);
	}
}

function DelFriend(id, name) {
	if(confirm("Вы уверены, что хотите удалить пользователя из друзей: "+name)) GetXML('a=del.friend&id='+id, 'DelFriendRes');
}

function DelFriendRes(res) {
	var res_a=res.split(":");
	
	if(res_a[0] == "ok") {
		alert("Пользователь удален из списка ваших друзей");
		LoadProfile(res_a[1]);
	} else {
		alert(res_a[1]);
	}
}

function SendMsg(user, name, repl) {
	parentDiv=document.getElementById('userProfile');
	workDiv=document.getElementById('sendMsg');
	
	left=parseInt(parentDiv.style['left']);
	right=parseInt(parentDiv.style['top']);
	
	if(!repl) {
		showDiv('sendMsg', 300);
	} else {
		workDiv.style['left']=left;
		workDiv.style['top']=right;
		workDiv.style['visibility']="visible";
	}
	document.getElementById('sendMsgText').focus();
	
	hideDiv('userProfile');
	
	document.getElementById('sendMsgTo').innerHTML=name;
	document.getElementById('sendMsgId').value=user;
}

function SendMsgAct() {
	var text=document.getElementById('sendMsgText').value;
	
	if(text.length > 0) {
		GetXML('a=send.msg&to='+document.getElementById('sendMsgId').value+"&text="+ParceText(text), 'SendMsgRes');
	} else {
		alert('Вы не ввели сообщение!');
	}
}

function SendMsgRes(res) {
	if(res == "ok") window.location="msg/out";
	else alert(res);
}

function DelMsg(id) {
	if(confirm("Вы действительно хотите удалить сообщение?")) GetXML('a=del.msg&id='+id, 'DelMsgRes');
}

function DelMsgRes(res) {
	if(res == "ok") location.href=location.href+"?"+(Math.floor(Math.random()*9000)+1000);
	else alert(res);
}

function ConfirmFriend(id) { GetXML('a=confirm.friend&id='+id, 'ConfirmFriendRes'); }
function ConfirmFriendRes(res) {
	var res_a=res.split(":");
	
	if(res_a[0] == "ok") {
		alert("Пользователь добавлен в список ваших друзей");
	} else {
		alert(res_a[1]);
	}
}

function DenyFriend(id) { GetXML('a=deny.friend&id='+id, 'DenyFriendRes'); }
function DenyFriendRes(res) {
	var res_a=res.split(":");
	
	if(res_a[0] == "ok") {
		alert("Заявка откланена");
	} else {
		alert(res_a[1]);
	}
}

function changeCmtyStatus(id) {
	if(confirm("Подтверждаете изменение прав доступа для сообщества?")) GetXML('a=community.changestatus&id='+id, 'changeCmtyStatusRes');
}

function changeCmtyStatusRes(res) {
	if(res == "ok") window.location="blogs/my/community?"+(Math.floor(Math.random()*9000)+1000);
	else alert(res);
}

function searchCmty() {
	var key=document.getElementById('searchCmtyKey').value;
	if(key.length > 0) {
		GetXML('a=community.list&id='+document.getElementById('searchCmtyId').value+"&key="+key, 'ShowCmtyUsersRes');
	} else {
		GetXML('a=community.list&id='+document.getElementById('searchCmtyId').value, 'ShowCmtyUsersRes');
	}
}

function cmtyAllowQuery(id, user) {GetXML('a=community.allow&id='+id+"&user="+user, 'reloadWin');}
function cmtyDenyQuery(id, user) { if(confirm("Отклонить заявку пользователя?")) GetXML('a=community.deny&id='+id+"&user="+user, 'reloadWin');}

function reloadWin(res) {
	if(res == "ok") window.location.reload();
	else alert(res);
}

function inviteCmty(id) {
	var key=document.getElementById('inviteCmtyKey').value;
	if(key.length > 0) {
		GetXML('a=community.invite&id='+document.getElementById('inviteCmtyId').value+"&key="+key, 'ShowInviteUsersRes');
	} else {
		GetXML('a=community.invite&id='+document.getElementById('inviteCmtyId').value, 'ShowInviteUsersRes');
	}
}


function ShowInviteUsersRes(res) {
	if(res == "error") {
		alert("Ошибка при загрузке списка пользователей");
	} else {
		document.getElementById('cmtyInviteList').innerHTML=res;
		document.getElementById('cmtyInviteList').style['overflow-x']="hidden";
		document.getElementById('cmtyInviteList').style['overflow-y']="scroll";
		showDivResize('cmtyInviteList', 100, true);
	}
}


function editProfile(birth_d, birth_m, birth_y) {
	showDiv('editProfile', 450, 460, true);
	
	if(birth_d) document.getElementById('u_bDay').value=birth_d;
	if(birth_m) document.getElementById('u_bMonth').value=birth_m;
	if(birth_y) document.getElementById('u_bYear').value=birth_y;
}

function idxShowRating(rtg) {
	document.getElementById('idxRatingsPlace').innerHTML="...загрузка...";
	GetXML('a=get.idx.rating&rId='+rtg, 'idxShowRatingRes');
}

function idxShowRatingRes(res) {
	document.getElementById('idxRatingsPlace').innerHTML=res;
}

function DelAva() {
	if(confirm("Вы действительно хотите удалить свой аватар?")) GetXML('a=del.ava', 'DelAvaRes');
}

function DelAvaRes() {
	document.location.reload();
}


function DeletePost(id) {
	if(confirm("Вы действительно хотите удалить эту запись?")) GetXML('a=del.entry&id='+id, 'DeletePostRes');
}

function DeletePostRes(res) {
	if(res == "error") alert("Ошибка при удалении записи");
	else location.href=location.href+"?"+(Math.floor(Math.random()*9000)+1000);
}

function ChangeTitle() {
	var title=document.getElementById('newTitle').value;
	GetXML('a=change.title&title='+title, 'ChangeTitleRes');
}

function ChangeTitleRes(res) {
	if(res == "ok") location.href=location.href+"?"+(Math.floor(Math.random()*9000)+1000);
	else alert(res);
}

function voteNews(id, vte) {

	get('voteRes').innerHTML="<img src='dlibs/loading_cursor.gif'>";
	GetXML('a=news.vote&id='+id+'&vote='+vte, 'voteNewsRes');
}

function voteNewsRes(res) {
	var ress=res.split(":");
	if(ress[0] == "ok") {
		get('voteRes').innerHTML="Ваш голос принят!";
		setTimeout("hideDiv('voteNews');", 1000);
	} else if(ress[0] == "error") {
		get('voteRes').innerHTML=ress[1];
	} else {
		get('voteRes').innerHTML="Ошибка! Попробуйте позднее";
	}
}

function reportError() {
	get('errorButton').disabled=true;
	if(get('errorText').value != '') GetXML('a=report.error&text='+get('errorText').value+'&loc='+window.location, 'reportErrorRes');
	else {get('errorButton').disabled=false;hideDiv('errorReport');}
}

function reportErrorRes(res) {
	var ress=res.split(":");
	get('errorButton').disabled=false;

	if(ress[0] == "ok") {
		get('errorText').value="Сообщение об ошибке отправлено!";
		setTimeout("hideDiv('errorReport');", 2000);
	} else {
		get('errorForm').innerHTML="Ошибка! Попробуйте позднее";
	}
}

function sendNews(id) {
	sn_name=get('snName').value;
	sn_mail=get('snMail').value;
	if(sn_name == '' || sn_mail == '') {
		get('snResult').innerHTML="<span class='red'>Вы не заполнили все поля формы!</span>";
	} else {
		get('snButton').disabled=true;
		GetXML('a=send.news&id='+id+'&name='+sn_name+'&mail='+sn_mail, 'sendNewsRes');
	}
}

function sendNewsRes(res) {
	get('snButton').disabled=false;

	if(res == "ok") {
		get('snResult').innerHTML="<span class='green'>Новость отправлена!</span>";
		setTimeout("hideDiv('snDiv');", 2000);
	} else {
		get('snResult').innerHTML="<span class='red'>"+res+"</span>";		
	}
}