
function fb_after_login() {
	$('progress').innerHTML = '<img src="{/literal}{$base_url}{literal}img/ajax-loader.gif">';

	new Ajax.Request (BaseUrl+'share/fb',
	{
		method: 'GET',
		onSuccess: function (transport) {
			response = transport.responseText;
			$('login_button').hide();
			if (response == 'off') {
				$('offline_access').show();
			} else {
				document.location.href = BaseUrl+'settings/services';
			}

		}
	});
}

function showCommentForm(sd_id) {
	$('comments_cont'+sd_id).show();
	$('cform'+sd_id).show();
	$('text'+sd_id).activate();

}

function changePic() {
	$('new_picture').show();
}

function closePicDialog() {
	$('new_picture').hide();
}

function requirePicCheck() {

	var result = true;
	if ($('pic_path').value == '') {
		result = false;
		$('pic_path').setStyle ({'background':'#fff7a1'})
	} else {
		$('pic_path').setStyle ({'background':'white'});

	}
	return result;
}


function updateEnabled() {
	if ($('accessprivate').checked == true) {
		$('anyoneinvite').disabled = false;
	} else 	$('anyoneinvite').disabled = true;

}

function see_more(dg_id, all) {
	new Ajax.Request (BaseUrl+'index/expandEntries',
	{
		method: 'get',
		parameters: {dg_id : dg_id, all: all},
		onSuccess: function (transport) {
			response = transport.responseText;
			$('group'+dg_id).innerHTML = response;
		}
	});

}



function roomCheck(inputs) {
	result = true;
	for (var i=0; i < inputs.length; i++) {
		if (inputs[i].value.length == 0) {
			result = false;
			inputs[i].setStyle ({'background':'#fff7a1'})
		} else {
			inputs[i].setStyle ({'background':'white'})
		}
	}
	return result;
}

function subscribe(uid) {

	if (uid > 0) {
		new Ajax.Request (BaseUrl+'settings/subscribe',
		{
			method: 'POST',
			parameters: {friend_id : uid},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					$('f'+uid).innerHTML = '<a class="l_unsubscribe" href="#" onclick="unsubscribe('+uid+')">Отписаться</a> ';
				}
			}
		});
	}
}

function unsubscribe(uid, action) {
	if (!action) {
		action = '';
	}
	if (uid > 0) {
		new Ajax.Request (BaseUrl+'settings/unsubscribe',
		{
			method: 'POST',
			parameters: {friend_id : uid, act: action},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					if (action =='') {
						$('f'+uid).innerHTML = '<input type="button" onclick="subscribe('+uid+')" value="Подписаться"/>';
					} else {
						$('f'+uid).innerHTML = 'Удален';
					}

				}
			}
		});
	}
}




function ignoreSubscriptionRequest(uid) {
	if (uid > 0) {
		new Ajax.Request(BaseUrl+'settings/remove',
		{
			method : 'POST',
			parameters : {friend_id : uid},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateRequestBlock();
				}
			}
		});
	}
}



function approveJoinRequest(uid, r_id) {
	if (uid) {
		new Ajax.Request(BaseUrl+'rooms/confirm',
		{
			method : 'POST',
			parameters : {u_id : uid, r_id: r_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateJoinRequestBlock();
				}
			}
		});
	}
}

function ignoreJoinRequest(uid, r_id) {
	if (uid) {
		new Ajax.Request(BaseUrl+'rooms/decline',
		{
			method : 'POST',
			parameters : {u_id : uid, r_id: r_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateJoinRequestBlock();
				}
			}
		});
	}
}




function updateJoinRequestBlock() {
	new Ajax.Request(BaseUrl+'index/updateJoinRequests',
	{
		method : 'POST',
		onSuccess: function (transport) {
			response = transport.responseText;
			$('jq').innerHTML = response;
		}
	});
}

function approveRoomRequest(i_id, r_id) {
	if (i_id) {
		new Ajax.Request(BaseUrl+'invite/confirm',
		{
			method : 'POST',
			parameters : {i_id: i_id, r_id: r_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateRoomRequestBlock();
				}
			}
		});
	}
}

function ignoreRoomRequest(i_id){
	if (i_id) {
		new Ajax.Request(BaseUrl+'invite/decline',
		{
			method : 'POST',
			parameters : {i_id: i_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateRoomRequestBlock();
				}
			}
		});
	}
}




function updateRoomRequestBlock() {
	new Ajax.Request(BaseUrl+'index/updateRoomRequests',
	{
		method : 'POST',
		onSuccess: function (transport) {
			response = transport.responseText;
			$('rq').innerHTML = response;
		}
	});
}


function approveSubscriptionRequest(uid,subscribe) {
	if (uid > 0) {
		new Ajax.Request(BaseUrl+'settings/confirm',
		{
			method : 'POST',
			parameters : {friend_id : uid, subscribe : subscribe},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					updateRequestBlock();
				}
			}
		});
	}
}

function updateRequestBlock() {
	new Ajax.Request(BaseUrl+'settings/updateRequest',
	{
		method : 'POST',
		onSuccess: function (transport) {
			response = transport.responseText;
			$('fq').innerHTML = response;
		}
	});
}

function more(g_id, pic) {

	$('more'+g_id).innerHTML = '<img src="'+BaseUrl+'img/ajax-loader.gif>';
	switch (pic) {
		case 1:
		new Ajax.Request(BaseUrl+'index/expand',
		{
			method : 'POST',
			parameters: {g_id : g_id,  action_id : pic},
			onSuccess: function (transport) {
				response = transport.responseText;

				$('display'+g_id).innerHTML = response;
				$('seeall'+g_id).update('<hr><a href="'+BaseUrl+'entry/'+g_id+'">Смотреть все </a>');

			}
		});
		break;
	}
}




function sendComment(text, sd_id) {

	if (text.length > 0 ) {
		new Ajax.Request(BaseUrl+'share/comment',
		{
			method : 'POST',
			parameters: {comm_text : text, sd_id: sd_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					$('cform'+sd_id).hide();
					$('text'+sd_id).value = '';
					updateCommentDiv(sd_id);
				}
			}
		});
	} else $('cform'+sd_id).hide();

}

function updateCommentDiv(sd_id) {
	new Ajax.Request(BaseUrl+'index/getcomments',
	{
		method : 'POST',
		parameters: {sd_id: sd_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			$('comments'+sd_id).innerHTML = response;
			observeEditComments();
		}
	});
};

function like(sd_id) {
	if (sd_id > 0 ) {
		new Ajax.Request(BaseUrl+'share/like',
		{
			method : 'POST',
			parameters: {sd_id: sd_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') updateLikesDiv(sd_id);
				$('likehref'+sd_id).innerHTML = '';
			}
		});
	}
}

function unlike(sd_id) {
	if (sd_id > 0 ) {
		new Ajax.Request(BaseUrl+'share/unlike',
		{
			method : 'POST',
			parameters: {sd_id: sd_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') updateLikesDiv(sd_id);
				$('likehref'+sd_id).innerHTML  = '- <a class="l_like" href="#" onclick="like('+sd_id+'); return false;">Нравится</a>';
			}
		});
	}
}



function updateLikesDiv(sd_id) {
	new Ajax.Request(BaseUrl+'index/getlikes',
	{
		method : 'POST',
		parameters: {sd_id: sd_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			$('likes'+sd_id).innerHTML = response;
			$('likes_cont'+sd_id).show();
		}
	});
}

function checkPopup(event) {
	if ($('popupmore').visible) {
		var x = Event.pointerX(event);
		var y = Event.pointerY(event);

		if (!Position.within($('popupmore'), x, y)) {
			$('popupmore').hide();
		}
	}
}

function popupMore(sd_id, is_my) {
	if (is_my)
	{
		var div = '<div class="sent_box">';
		div += '<div class="corner1"><div class="corner2"><div class="corner3"><div class="corner4">';
		div += '<a target="_top" class="noframe" href="'+BaseUrl+'entry/'+sd_id+'">Прямая ссылка</a><br/>';
		div += '<a href="#" onclick="manageComments('+sd_id+'); return false;">Управлять комментариями</a><br/>';
		div += '<a href="#" onclick="deleteEntry('+sd_id+'); return false;">Удалить запись</a>';
		div += '</div></div></div></div></div></div>';

	} else {
		var div = '<div class="sent_box"><div class="corner1"><div class="corner2"><div class="corner3"><div class="corner4">';

		div += '<a target="_top" class="noframe" href="'+BaseUrl+'entry/'+sd_id+'">Прямая ссылка</a>';
		div += '</div></div></div></div></div></div>';
	}

	var newdiv = $('popupmore');
	newdiv.setAttribute('class', 'popupmenu');

	newdiv.clonePosition($('my'+sd_id));
	newdiv.setStyle({'width': '200px'});
	newdiv.setStyle({'position': 'absolute'});

	newdiv.innerHTML = div;
	newdiv.show();

	//alert($('popupmore').innerHTML);

	Event.observe(document.body, 'click', checkPopup);
}


function manageComments(sd_id) {
	var children = $('comments'+sd_id).childElements();
	for (var i =0; i < children.length; i++) {
		if (children[i].hasClassName('owner')) {}
		else {
			if (children[i].innerHTML.indexOf('moderate') == -1) {
				children[i].innerHTML += '<span class="moderate">(<a class="l_deletecomment" href="#" onclick="return false;">удалить</a>)</span>';
				observeDeleteComments();
			}
		}
	}
	hidePopup();
}

function observeDeleteComments() {
	var delCommentLinks = $$('a.l_deletecomment');

	for (var m = 0; m < delCommentLinks.length; m++) {
		delCommentLinks[m].observe('click', deleteComment);
	}
}

function deleteComment(event) {
	element = event.element();
	var sd_id = element.parentNode.parentNode.parentNode.id.substr(8);
	var c_id  = element.parentNode.parentNode.id;
	deleteCommentRequest(sd_id, c_id);
}

function deleteCommentRequest(sd_id, c_id) {
	new Ajax.Request(BaseUrl+'index/deletecomments',
	{
		method : 'POST',
		parameters: {sd_id: sd_id, c_id: c_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			if (response == 'ok') {
				updateCommentDiv(sd_id);
			}
		}
	});
}

function deleteEntry(sd_id) {
	if (sd_id) {
		new Ajax.Request(BaseUrl+'index/deleteentry',
		{
			method : 'POST',
			parameters: {sd_id: sd_id},
			onSuccess: function (transport) {
				response = transport.responseText;
				if (response == 'ok') {
					$('del'+sd_id).innerHTML = '<div class="deleted"><i>Запись удалена</i> - <a class="f" href="#" onclick="return false;">отмена</a></div>';
					$('del'+sd_id).show();
					$('e'+sd_id).hide();

					var cancelLinks = $$('a.f');

					for (var m = 0; m < cancelLinks.length; m++) {
						cancelLinks[m].observe('click', cancelDelete);
					}
				}
			}
		});
	}
}



function cancelDelete(event) {
	var element = event.element();
	var sd_id = element.parentNode.parentNode.id.substr(3);
	new Ajax.Request(BaseUrl+'index/entryactive',
	{
		method : 'POST',
		parameters: {sd_id: sd_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			if (response == 'ok') {
				$('e'+sd_id).show();
				$('del'+sd_id).hide();
			}
		}
	});
}

function getComment(c_id) {
	new Ajax.Request(BaseUrl+'index/getcomment',
	{
		method : 'POST',
		parameters: {c_id: c_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			if (response != 'error') {
				return response;
			} else return false;
		}
	});
}



function hidePopup() {
	$('popupmore').hide();
}

function observeEditComments() {
	var editCommentLinks = $$('a.l_editcomment');
	for (var m = 0; m < editCommentLinks.length; m++) {
		editCommentLinks[m].observe('click', editComment);
	}
}

function editComment(event){
	var element = event.element();
	var sd_id = element.parentNode.parentNode.parentNode.id.substr(8);
	var c_id  = element.parentNode.parentNode.id;
	new Ajax.Request(BaseUrl+'index/getcomment',
	{
		method : 'POST',
		parameters: {c_id: c_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			if (response != 'error') {
				element.parentNode.parentNode.innerHTML = '<form method="post" action="/"><textarea name="comment" id="comment" class="" style="margin-bottom: -3px; height: 6em; line-height: 1em;">'+response+'</textarea><input type="submit" onclick="postComment(comment,'+sd_id+', '+c_id+'); return false;" value="Сохранить" style="margin-left: 3px;"/></form>';

			} else return false;
		}
	});

}

function postComment(comment, sd_id, c_id){
	new Ajax.Request(BaseUrl+'index/updatecomment',
	{
		method : 'POST',
		parameters: {comment_text: comment.value, sd_id: sd_id, c_id: c_id},
		onSuccess: function (transport) {
			response = transport.responseText;
			if (response == 'ok') {
				updateCommentDiv(sd_id);
			} else return false;
		}
	});
}
