
function ModBlogs(){}

ModBlogs.turnBlogCalendar = function(date, blog_id, login)
{
	this.parseResult = function(response)
	{
		if (response.ok)
		{
			jQuery('#loader_calendar').css('display','none');
			jQuery('#calendar').html(response.data.calendar);
			jQuery('#calendar').css('display','block');
		}
		else ModBlogs.displayError(response.error.message);
	}

	jQuery('#calendar').css('display','none');
	jQuery('#loader_calendar').css('display','block');
	FmAjax.getXml({'date':date,'blog_id':blog_id,'login':login}, 'blogs', 'get_calendar', this.parseResult);
}

ModBlogs.turnCommCalendar = function(date, comm_id)
{
	this.parseResult = function(response)
	{
		if (response.ok)
		{
			jQuery('#loader_calendar').css('display','none');
			jQuery('#calendar').html(response.data.calendar);
			jQuery('#calendar').css('display','block');
		}
		else ModBlogs.displayError(response.error.message);
	}

	jQuery('#calendar').css('display','none');
	jQuery('#loader_calendar').css('display','block');
	FmAjax.getXml({'date':date,'comm_id':comm_id}, 'community', 'get_calendar', this.parseResult);
}


ModBlogs.showLoadingBar = function()
{
	jQuery('#loading_bar').css('display','block');
	jQuery('#loading_bar').css('top','48%');
	jQuery('#loading_bar').css('left','40%');
}

ModBlogs.hideLoadingBar = function()
{
	jQuery('#loading_bar').css('display','none');
}

ModBlogs.displayInfo = function(message)
{
	var html_code = "<div class='site_info_message'>" + message + "</div>";
	jQuery('#page_message').html(html_code);
}

ModBlogs.displayError = function(message)
{
	var html_code = "<div class='site_error_message'>" + message + "</div>";
	jQuery('#page_message').html(html_code);
}

ModBlogs.blockBlog = function(blog_id, user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo('Блог успешно заблокирован');
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены что хотите заблокировать этот блог?'))
	{
		ModBlogs.showLoadingBar();
		if (user_id == undefined) user_id = 0;
		FmAjax.getXml({'user_id':user_id,'blog_id':blog_id}, 'blogs', 'block_blog', this.parseResult);
	}
}

ModBlogs.unblockBlog = function(blog_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo('Блог успешно разблокирован');
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены что хотите разблокировать этот блог?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'blog_id':blog_id}, 'blogs', 'unblock_blog', this.parseResult);
	}
}

ModBlogs.closeBlog = function(blog_id, user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo('Блог успешно закрыт');
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены что хотите закрыть этот блог?'))
	{
		ModBlogs.showLoadingBar();
		if (user_id == undefined) user_id = 0;
		FmAjax.getXml({'user_id':user_id,'blog_id':blog_id}, 'blogs', 'close_blog', this.parseResult);
	}
}

ModBlogs.openBlog = function(blog_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo('Блог успешно открыт');
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены что хотите открыть этот блог?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'blog_id':blog_id}, 'blogs', 'open_blog', this.parseResult);
	}
}


ModBlogs.removePost = function(post_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			jQuery('#post_'+post_id).remove();
			ModBlogs.displayInfo('Сообщение успешно удалено');
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'post_id':post_id}, 'blogs', 'remove_post', this.parseResult);
	}
}

ModBlogs.removeComment = function(comment_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			//jQuery('#comment_div_' + comment_id).remove();
			window.location.reload()
			//ModBlogs.displayInfo('Комментарий успешно удален');
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Вы уверены?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'comment_id':comment_id}, 'blogs', 'remove_comment', this.parseResult);
	}
}

ModBlogs.writeMore = function()
{
	var current_text =  jQuery('#text_1').val();
	jQuery('#big_message_1').css('display','block');
	jQuery('#big_message_2').css('display','block');
	jQuery('#write_more').css('display','none');
	jQuery('#text_2').val(current_text);
	document.getElementById('text_2').focus();
}

ModBlogs.checkWrite = function(event)
{
	var current_text =  jQuery('#text_1').val();
	if (current_text.length > 600 )
	{
		if (jQuery('#big_message_1').css('display') != 'block')
		{
			jQuery('#write_more').css('display','block');
		}

		var k = event.keyCode
		if ((k==46) || (k==8) || (k==37) || (k==38) || (k==39) || (k==40) || (k==9) || ((k>=112) && (k<=123))) return true;
		else return false;
	}
	else return true;
}

ModBlogs.checkOnBlur = function()
{
	var current_text =  jQuery('#text_1').val();
	if (current_text.length > 600 )
	{
		current_text = current_text.substr(0,600);
		jQuery('#text_1').val(current_text);
	}
}

function ModFriends(){}

ModFriends.requestFriendAccess = function(user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		window.location.href = '/friends.php';
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'user_id':+user_id}, 'users', 'request_friend',this.parseResult);
}

ModFriends.requestFriend = function(user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo(response.data.friend_status);
		else ModBlogs.displayError('Ошибка выполнения запроса');
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'user_id':+user_id}, 'users', 'request_friend',this.parseResult);
}


ModFriends.aprooveRequest = function(user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) window.location.reload();
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'user_id':+user_id}, 'users', 'aproove_friend',this.parseResult);
}


ModFriends.removeFriend = function(user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Пользователь успешно удален');
			jQuery('#friend_' + response.data.user_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'user_id':+user_id}, 'users', 'remove_friend' ,this.parseResult);
}

function ModUsers(){}

ModUsers.removeAvatar = function()
{
	jQuery('#avatar_box').remove();
	jQuery('#avatar_remove').val('1');
}

ModUsers.deleteInboxMessage = function(message_id)
{
	if (window.confirm('Удалить сообщение?'))
	{
		window.location.href = '/msg_delete.php?message_id='+message_id+'&type=inbox';
	}
}

ModUsers.deleteOutboxMessage = function(message_id)
{
	if (window.confirm('Удалить сообщение?'))
	{
		window.location.href = '/msg_delete.php?message_id='+message_id+'&type=outbox';
	}
}


ModUsers.checkAllMessages = function(control_id, obj)
{
	ModUsers.checkMessages(control_id,obj.checked);
}

ModUsers.checkMessages = function(control_id, new_value)
{
	var controls = document.getElementsByTagName('input');
	for (i = 0; i < controls.length; i++)
	{
		if (controls[i].type == 'checkbox' && controls[i].id.match(control_id))
		{
			controls[i].checked = new_value;
		}
	}
}

ModUsers.getCheckedMessages = function(control_id)
{
	var controls = document.getElementsByTagName('input');
	var checked_values = new Array();
	for (i = 0; i < controls.length; i++)
	{
		if (controls[i].type == 'checkbox' && controls[i].id.match(control_id) && controls[i].checked)
		{
			checked_values.push(controls[i].value);
		}
	}

	var ids = checked_values.join(',');
	return ids;
}

ModUsers.deleteOutboxMessages = function()
{
	var ids = ModUsers.getCheckedMessages('message_');
	if (ids.length > 0)
	{
		if (window.confirm('Удалить сообщения?'))
		{
			window.location.href = '/msg_delete.php?message_ids='+ids+'&type=outbox';
		}
	}
}

ModUsers.deleteInboxMessages = function()
{
	var ids = ModUsers.getCheckedMessages('message_');
	if (ids.length > 0)
	{
		if (window.confirm('Удалить сообщения?'))
		{
			window.location.href = '/msg_delete.php?message_ids='+ids+'&type=inbox';
		}
	}
}

function ModComms(){}

ModComms.makeModer = function(comm_id, user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) window.location.reload();
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id,'user_id':user_id}, 'community', 'make_moder', this.parseResult);
}

ModComms.requestCommAccess = function(comm_id, login)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		window.location.href = '/blogs/'+login;
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id}, 'community', 'request_comm', this.parseResult);
}

ModComms.requestComm = function(comm_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			if (!response.data.aprooved)
			{
				ModBlogs.displayInfo('Ваш запрос отправлен. После подтверждения вы сможете писать в сообщество');
			}
			else
			{
				window.location.reload();
			}
		}
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id}, 'community', 'request_comm', this.parseResult);
}

ModComms.aprooveComm = function(comm_id, user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) window.location.reload();
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id,'user_id':user_id}, 'community', 'aproove_comm', this.parseResult);
}


ModComms.declineComm = function(comm_id, user_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		jQuery('#user_' + user_id).remove();
		if (response.ok) ModBlogs.displayInfo('Пользователь успешно удален');
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id,'user_id':user_id}, 'community', 'remove_comm', this.parseResult);
}

ModComms.leaveComm = function(comm_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) ModBlogs.displayInfo('Вы больше не член этого сообщества');
		else ModBlogs.displayError(response.error.message);
	}

	ModBlogs.showLoadingBar();
	FmAjax.getXml({'comm_id':comm_id}, 'community', 'leave_comm', this.parseResult);
}

function ModGallery(){}

ModGallery.deleteImage = function (image_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) window.location.reload();
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить изображение ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'image_id':image_id}, 'gallery', 'remove_image', this.parseResult);
	}
}

ModGallery.deleteAlbum = function (album_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok) window.location.reload();
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить альбом ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'album_id':album_id}, 'gallery', 'remove_album', this.parseResult);
	}
}


function ModFilestore(){}

ModFilestore.deleteFile = function (file_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Файл успешно удален');
			jQuery('#file_'+file_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить файл ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'file_id':file_id}, 'filestore', 'remove_file', this.parseResult);
	}
}

ModFilestore.deleteCategory = function (category_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Категория успешно удалена');
			jQuery('#category_'+category_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить категорию ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'category_id':category_id}, 'filestore', 'remove_category', this.parseResult);
	}
}

function ModLinks(){}

ModLinks.deleteLink = function (link_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Ссылка успешно удалена');
			jQuery('#link_'+link_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить ссылку ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'link_id':link_id}, 'links', 'remove_link', this.parseResult);
	}
}

ModLinks.deleteCategory = function (category_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Категория успешно удалена');
			jQuery('#category_'+category_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить категорию ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'category_id':category_id}, 'links', 'remove_category', this.parseResult);
	}
}


function ModNews(){}

ModNews.removeComment = function (comment_id)
{
	this.parseResult = function(response)
	{
		ModBlogs.hideLoadingBar();
		if (response.ok)
		{
			ModBlogs.displayInfo('Комментарий успешно удален');
			jQuery('#comment_'+comment_id).remove();
		}
		else ModBlogs.displayError(response.error.message);
	}

	if (window.confirm('Удалить комментарий ?'))
	{
		ModBlogs.showLoadingBar();
		FmAjax.getXml({'comment_id':comment_id}, 'news', 'remove_comment', this.parseResult);
	}
}

function ModPolls(){}

ModPolls.clickAnswer = function(obj)
{
	jQuery('#active_poll_value').val(obj.value);
}

ModPolls.answerPoll = function(poll_id)
{
	this.parseResult = function(response)
	{
		if (response.ok)
		{
			jQuery('#poll_loading').css('display','none');
			jQuery('#poll_finish').css('display','block');
		}
		else ModBlogs.displayError(response.error.message);
	}

	var answer_id = jQuery('#active_poll_value').val();
	answer_id = parseInt(answer_id, 10);
	poll_id = parseInt(poll_id,10);
	if (answer_id > 0 && poll_id > 0)
	{
		jQuery('#poll_answers_list').css('display','none');
		jQuery('#poll_loading').css('display','block');
		FmAjax.getXml({'poll_id':poll_id,'answer_id':answer_id}, 'polls', 'answer_poll', this.parseResult);
	}
}

function ModGallery(){}

ModGallery.removeComment = function(comment_id)
{
	this.parseResult = function(response)
	{
		if (response.ok) jQuery('#comment_'+comment_id).remove();
		else ModBlogs.displayError(response.error.message);
	}

	comment_id = parseInt(comment_id,10);
	if (comment_id > 0)
	{
		FmAjax.getXml({'comment_id':comment_id}, 'gallery', 'remove_comment', this.parseResult);
	}
}



















