$(document).ready(
function(){

	var current_direction = 'in';
	var busy = false;
	
	$('div.message span').live('click',
		function()
		{
			$(this).parent().children('span.separator_message, span.end_message').toggle();
			$('div#messages').jScrollPane();
			
			return false;
		});
		
	$('a.reply_msg').live('click',
		function()
		{
			
			$(this)	.siblings('a.del_msg').andSelf().hide()
					.siblings('a.send_msg, a.cancel_send_msg').show()
					.siblings('div.reply').slideDown(
						function()
						{
							$('div#messages').jScrollPane();
						});
		
			return false;
		});

	$('a.send_msg').live('click',
		function()
		{
			var that = $(this).parents('div.expert_new');
			var textarea = $(this).siblings('div.reply').children('textarea');
			var text = textarea.val();
			var parent = $(that).children('input:hidden').val();
			
			$.ajax(
			{
				type: 'POST',
				url: '/request/replyprivatemessage',
				data: {text: text, parent: parent},
				success:
					function(response)
					{
						var resp = $.toJSON(response);
						if(!resp.result)
						{
							alert(resp.msg);
						}
						else
						{
							$(resp.data).prependTo($(that).parent());
							
							$(textarea).parent().slideUp(
								function()
								{
									$(textarea).val('');
									$('div#messages').jScrollPane();
								});
							
							$(textarea).val('');
							$(textarea).parent().siblings('a.cancel_send_msg, a.send_msg').hide()
												.siblings('a.del_msg, a.reply_msg').show();
						}
						
					}
			});
		
			return false;
			
		});
				
	$('a.cancel_send_msg').live('click',
		function()
		{
			$(this).siblings('div.reply').slideUp(
				function()
				{
					$(this).children('textarea').val('');
					$('div#messages').jScrollPane();
				});
			
			$(this)	.siblings('a.send_msg').andSelf().hide()
					.siblings('a.del_msg, a.reply_msg').show();
		
			return false;
		});
		
	$('a.del_msg').live('click',
		function()
		{
			$(this).siblings('a').andSelf().hide();
			$(this).parents('div.expert_new').children('div').animate({opacity: 0.3})
				.siblings('a').show()
				.everyTime(3000,
				function()
				{
					var mid = $(this).siblings('input:hidden').val();
					var that = $(this);
					
					$.ajax(
					{
						type: 'POST',
						url: '/request/deleteprivatemessage',
						data: {id: mid},
						success:
							function(response)
							{
								var resp = $.toJSON(response);
								if(!resp.result)
								{
									alert(resp.msg);
									$(that).hide().siblings().animate({opacity: 1});
									$(that).siblings('div.expert_new_text').find('a.del_msg, a.reply_msg').show();
								}
								else
								{
									$(that).parent().slideUp('300',
										function()
										{
											$(this).remove();
											$('div#messages').jScrollPane();
										});
								}
							}
					});
					
					$(this).stopTime();
				});
			
			return false;
		});
		
	$('a.cancel_del_msg').live('click',
		function()
		{
			$(this).stopTime();
			
			$(this).hide().siblings().animate({opacity: 1});
			$(this).siblings('div.expert_new_text').find('a.del_msg, a.reply_msg').show();
			
			return false;
		});
		
	$('div#message_title_out a').click(
		function()
		{
			$(this).blur();
			
			if(current_direction == 'out') return false;
			
			$('div.msg_in').hide();
			$('div.msg_out').show();
			
			$(this).add('div#message_title_in a').toggleClass('nolink');
			
			$('div#messages').jScrollPane();
			
			current_direction = 'out';

			return false;
		});

	$('div#message_title_in a').click(
		function()
		{
			$(this).blur();
			
			if(current_direction == 'in') return false;
			
			$('div.msg_out').hide();
			$('div.msg_in').show();
			
			$(this).add('div#message_title_out a').toggleClass('nolink');
			
			$('div#messages').jScrollPane();
			
			current_direction = 'in';
			
			return false;
		});


	$('div#messages').jScrollPane();
	$('div#wall_messages').jScrollPane();




	$('div#messages').scroll(
		function()
		{
 			var t = $(this).height() - $(this).parent().height() + $(this).position().top;
 			var f = (((current_direction == 'in') && !all_in_msg) || ((current_direction == 'out') && !all_out_msg));

			if((t < 58) && f && !busy)
			{
				//$(this).append($(this).children(':first').clone());
				//$('div#messages').jScrollPane();
			
				var count = $(this).children('div.msg_in').length;
				busy = true;
				var that = this;
				
				$.ajax(
				{
					type: 'POST',
					url: '/request/getprivatemessage',
					data: {offset: count, direction: current_direction},
					success:
						function(response)
						{
							var resp = $.toJSON(response);
							if(!resp.result)
							{
								alert(resp.msg);
							}
							else
							{
								$(that).append(resp.data.inner);
								
								if(resp.data.all)
								{
									if(current_direction == 'in')
										all_in_msg = 1;
									else
										all_out_msg = 1;
										
								}
								
								$('div#messages').jScrollPane();
							}
							
							busy = false;
							
						}
				});
			}
				
		});

	$('a#make_prv_msg').click(
		function()
		{
			$('div.big_textarea').fadeIn();
			$(this).hide().siblings().show();
			return false;
		});
		
	$('a#cancel_prv_msg').click(
		function()
		{
			$('div.big_textarea').fadeOut();
			$(this).hide();
			$('a#send_prv_msg').hide();
			$('a#make_prv_msg').show();
			return false;
		});
		
	$('a#send_prv_msg').click(
		function()
		{
			var text = $('textarea#prv_msg_text').val();

			$.ajax(
			{
				type: 'POST',
				url: '/request/sendprivatemessage',
				data: {text: text, login: _login},
				success:
					function(response)
					{
						var resp = $.toJSON(response);
						if(!resp.result)
						{
							alert(resp.msg);
						}
						else
						{
							alert('Ваше сообщение отправлено');
							$('div.big_textarea').fadeOut();
							$('a#send_prv_msg, a#cancel_prv_msg').hide();
							$('a#make_prv_msg').show();
							$('textarea#prv_msg_text').val('');
						}
					}
			});

			return false;
		});
		
	$('a#make_wall_msg').click(
		function()
		{
			if($.browser.msie && $.browser.version.substr(0,1) == "6")
			{
				$('div#wall_messages').parent().animate({height: 117}, function(){$('div#wall_msg_text').fadeIn();$('div#wall_messages').jScrollPane();});
			}
			else
			{
				$('div#wall_msg_text').slideDown();
				$('div#wall_messages').parent().animate({height: 117}, function(){$('div#wall_messages').jScrollPane();});
			}
			
			$(this).hide().siblings().show();
			
			return false;
		});

	$('a#cancel_wall_msg').click(
		function()
		{
			$('div#wall_msg_text').slideUp();
			$('div#wall_messages').parent().animate({height: 195}, function(){$('div#wall_messages').jScrollPane();});
			$(this).siblings('a#send_wall_msg').andSelf().hide();
			$('div#wall_msg_text textarea').val('');
			$('a#make_wall_msg').show();
			
			return false;
		});
		
	$('a#send_wall_msg').click(
		function()
		{
			var text = $('div#wall_msg_text textarea').val();
			var that = $(this);
			that
			$.ajax(
			{
				type: 'POST',
				url: '/request/sendwallmessage',
				data: {text: text, login: _login},
				success:
					function(response)
					{
						var resp = $.toJSON(response);
						if(!resp.result)
						{
							alert(resp.msg);
						}
						else
						{
							$(resp.data).prependTo($('div#wall_messages'));
							$('div#wall_msg_text').slideUp();
							$('div#wall_messages').parent().animate({height: 195}, function(){$('div#wall_messages').jScrollPane();});
							$(that).siblings('a#cancel_wall_msg').andSelf().hide();
							$('a#make_wall_msg').show();
							$('div#wall_msg_text textarea').val('');
						}
					}
			});
			
			return false;
		});
		
	$('a.del_wall_msg').live('click',
		function()
		{
			$(this)	.hide()
					.siblings().show()
					.parent().siblings().animate({opacity: 0.3});
					
			$(this).everyTime(3000,
						function()
						{
							var mid = $(this).siblings('input:hidden').val();
							var that = $(this);
						
							$.ajax(
							{
								type: 'POST',
								url: '/request/deletewallmessage',
								data: {id: mid},
								success:
									function(response)
									{
										var resp = $.toJSON(response);
										if(!resp.result)
										{
											alert(resp.msg);
											$(that)	.show()
													.siblings('a.cancel_del_wall_msg').hide()
													.parent().siblings().animate({opacity: 1});
										}
										else
										{
											$(that).parent().parent().slideUp('300',
												function()
												{
													$(this).remove();
													$('div#wall_messages').jScrollPane();
												});
										}
									}
							});
							$(this).stopTime();
						});
						
			return false;
		});
		
	$('a.cancel_del_wall_msg').live('click',
		function()
		{
			$(this)	.hide()
					.siblings('a.del_wall_msg').stopTime().show()
					.parent().siblings().animate({opacity: 1});
			return false;
		});
	
});