﻿jQuery.cookie=function(e,b,a){if(arguments.length>1&&String(b)!=="[object Object]"){a=jQuery.extend({},a);if(b===null||b===void 0)a.expires=-1;if(typeof a.expires==="number"){var d=a.expires,c=a.expires=new Date;c.setDate(c.getDate()+d)}b=String(b);return document.cookie=[encodeURIComponent(e),"=",a.raw?b:encodeURIComponent(b),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}a=b||{};c=a.raw?function(a){return a}:
decodeURIComponent;return(d=RegExp("(?:^|; )"+encodeURIComponent(e)+"=([^;]*)").exec(document.cookie))?c(d[1]):null};

var friends = {
		errors: {
			400: 'Неизвестная ошибка',
			401: 'Ошибка: ',
			descriptions: {
				100: 'Вы уже друзья',
				200: 'Заявка уже была отправлена. Повторно заявка отправлена не будет',
				201: 'Пользователь скрыл свой список друзей',
				300: 'Неверный идентификатор пользователя',
				301: 'Данный пользователь не отправлял вам заявку на дружбу',
				302: 'Удалить данного пользователя нельзя, так как он не состоит у вас в друзьях',
				303: 'У пользователя нет друзей',
				304: 'У вас нет друзей',
				500: 'Пользователь получил уведомление и подтвердит, что вы друзья',
				501: 'Пользователь удален из списка друзей',
				600: 'Подружиться с этим пользователем?',
				601: 'Разрушить дружбу с этим человеком?',
				700: 'Вы попытались рассказать об этом материале своим друзьям, но, к сожалению, у вас пока нет друзей',
				701: 'Информация об этом материале была отправлена в новостную ленту и ее увидят ваши друзья',
				702: 'В вашей новостной ленте ничего нет. Пока',
				703: 'В вашей новостной ленте ничего нет, так как у вас нет друзей'
			},
			100: 'Успешно'
		},
		add: function(user_id){
			if(confirm(friends.errors.descriptions[600]))
				$.post('/php/friends/add.php', {
					user_id: user_id
				}, function(data){
					if(data.SCRIPTDATA.status == 400) alert(friends.errors[data.SCRIPTDATA.reason ? 401 : 400] + (data.SCRIPTDATA.reason ? friends.errors.descriptions[data.SCRIPTDATA.reason] : ''));
					else {
						alert(friends.errors.descriptions[500]);
						$('#friends_link').remove();
					};
				}, 'json');
		},
		confirm: function(user_id, reload){
			$.post('/php/friends/confirm.php', {
				user_id: user_id
			}, function(data){
				if(data.SCRIPTDATA.status == 400) alert(friends.errors[data.SCRIPTDATA.reason ? 401 : 400] + (data.SCRIPTDATA.reason ? friends.errors.descriptions[data.SCRIPTDATA.reason] : ''));
				else {
					$.cookie('friends_requests_col', $.cookie('friends_requests_col') * 1 - 1);
					if(reload) location.reload();
					else $('#friends_request_id_' + user_id).hide();
				};
			}, 'json');
		},
		unconfirm: function(user_id, reload){
			$.post('/php/friends/unconfirm.php', {
				user_id: user_id
			}, function(data){
				if(data.SCRIPTDATA.status == 400) alert(friends.errors[data.SCRIPTDATA.reason ? 401 : 400] + (data.SCRIPTDATA.reason ? friends.errors.descriptions[data.SCRIPTDATA.reason] : ''));
				else {
					$.cookie('friends_requests_col', $.cookie('friends_requests_col') * 1 - 1);
					if(reload) location.reload();
					else $('#friends_request_id_' + user_id).hide();
				};
			}, 'json');
		},
		_delete: function(user_id, remove){
			if(confirm(friends.errors.descriptions[601]))
				$.post('/php/friends/delete.php', {
					user_id: user_id
				}, function(data){
					if(data.SCRIPTDATA.status == 400) alert(friends.errors[data.SCRIPTDATA.reason ? 401 : 400] + (data.SCRIPTDATA.reason ? friends.errors.descriptions[data.SCRIPTDATA.reason] : ''));
					else {
						alert(friends.errors.descriptions[501]);
						$(remove ? ('#' + remove + user_id) : '#friends_link').remove();
					};
				}, 'json');
		},
		tell: function(title, url, module){
			if(title.length > 0)
				$.post('/php/friends/newsfeed_send.php', {
					title: title,
					url: url
				}, function(data){
					if(data) {
						if(url) $('#friends_tell_info').html(friends.errors.descriptions[701]);
						else {
							$('#friends_news_show .friends_newsfeed:first').before(unescape($('#friends_news_form_text').html()).replace(/\{ID\}/g, '999').replace(/\{([A-Z0-9_-]+)\}/g, function(a, b){return data.SCRIPTDATA.news[b];}).replace(/\{([A-Z0-9_-]+)\|\|(.*)\}/g, function(a, b, c){return data.SCRIPTDATA.news[b] ? data.SCRIPTDATA.news[b] : c;}));
							$('#newsfeed_text').val('');
						};
					};
				}, 'json');
			else return false;
		}
};
