jQuery(document).ready(function($){
	
	var chatHover = false;
	var chatWindowHover = false;
	
	var updateChatOnlineCount = function(){
		$.ajax({
			url:'includes/chat_online_counter.php',
			success:function(data){
				if( $('#chat_nav').html() != data )	$('#chat_nav').html(data);
			}
		});
		if( $('#chat_online_friend_list').data('open') ) {
			$.ajax({
				url:'includes/chat_online_friend_list.php',
				cache:false,
				success:function(data){
					$('#chat_online_friend_list').html(data);
				}
			});
		}
		if( $('#chat_window').data('open') ) {
			$.ajax({
				url:'includes/manage_chat.php',
				success:function(data){
					$('#chat_display_div').html(data);
					if( !chatWindowHover ) $('#chat_display_div').scrollTop( $('#chat_display_div table').height() );					
				}
			});		
		}
		$.ajax({
			url:'includes/chat_current_chat_icons.php',
			success:function(data){
				if( $('#main_chat_icons_list').html() != data ) $('#main_chat_icons_list').html(data);
			}			
		});
	}
	
	var messageCount;
	
	var updateMessageCount = function(){
		$.ajax({
			url:'includes/message_count.php',
			success:function(data){
				if( messageCount == data ) return;
				messageCount = data;
				data>0?$('#top_ms').show():$('#top_ms').hide();
				data = data > 0 ? ' ('+data+')' : '' ;
				$('.message_count').html(data);
			}
		});
	}
	
	var requestCount;
	
	var updateRequestCount = function(){
		$.ajax({
			url:'includes/friend_request_count.php',
			success:function(data){
				if( requestCount == data ) return;
				requestCount = data;				
				data>0?$('#top_fr').show():$('#top_fr').hide();
				data = data > 0 ? ' ('+data+')' : '' ;
				$('.fr_count').html(data);
			}
		});
	}
	
	updateMessageCount();
	updateRequestCount();
	updateChatOnlineCount();
	
	var updatesTimer = window.setInterval( function() { updateRequestCount(); updateMessageCount(); updateChatOnlineCount(); } , 15000 );
	
	var chatAwayTimer = window.setInterval( function(){ $.ajax({ url:'includes/update_chat_away_status.php' }); }, 360000);

	$('.chat_online').live('click',function(e){
		e.preventDefault();
		if( $('#chat_online_friend_list').data('open') ) {
			$('#chat_online_friend_list').html('').hide().data('open',false);
		} else {
			$.ajax({
				url:'includes/chat_online_friend_list.php',
				cache:false,
				success:function(data){
					$('#chat_online_friend_list').html(data).show().data('open',true);
				}
			});
		}
	});
	
	$('.chat_list_person,.chat_list_icon').live('click',function(e){
		e.preventDefault(); 
		$('#chat_window').show().data('open',true).html('Loading...');
		$.ajax({
			url:'includes/manage_chat_ids.php',
			data: {
				action:2,
				newchatid:$(this).data('id')
			},
			success:function(data) {
				$.ajax({
					url:'includes/chat_inc.php',
					success:function(data) {
						$('#chat_window').html(data);
						if( !chatWindowHover ) $('#chat_display_div').scrollTop( $('#chat_display_div table').height() );
					}
				});
				$.ajax({
					url:'includes/chat_current_chat_icons.php',
					success:function(data){
						if( $('#main_chat_icons_list').html() != data ) $('#main_chat_icons_list').html(data);
					}			
				});				
			}
		});
	});
	
	$('#chat_window_form').live('submit',function(e){
		e.preventDefault();
		$.ajax({
			url:'includes/manage_chat.php',
			data:{	messagetext:$('#txt_message').val() },
			type:'POST',
			success:function() {
				$('#txt_message').val('');
				$.ajax({
					url:'includes/manage_chat.php',
					success:function(data){
						$('#chat_display_div').html(data);
						if( !chatWindowHover ) $('#chat_display_div').scrollTop( $('#chat_display_div table').height() );
					}
				});
			}
		});
	});
	
	$('#minimise_chat').live('click',function(e){
		e.preventDefault();
		$('#chat_window').html('').hide().data('open',false);
		$.ajax({
			url:'includes/manage_chat_ids.php',
			data:{action:3},
			success:function(){
				$.ajax({
					url:'includes/chat_current_chat_icons.php',
					success:function(data){
						$('#main_chat_icons_list').html(data);
					}			
				});			
			}			
		});
	});
	
	$('#close_chat').live('click',function(e){
		e.preventDefault();
		$('#chat_window').html('').hide().data('open',false);
		$.ajax({
			url:'includes/manage_chat_ids.php',
			data:{action:1,newchatid:$(this).data('id')},
			success:function(){
				$.ajax({
					url:'includes/chat_current_chat_icons.php',
					success:function(data){
						$('#main_chat_icons_list').html(data);
					}			
				});			
			}
		});
	});

	$('#chat_online_friend_list').live({
		'mouseenter':function(){ chatHover = true },
		'mouseleave':function(){ chatHover = false }
	});
	
	$('#chat_display_div').live({
		'mouseenter':function(){ chatWindowHover = true },
		'mouseleave':function(){ chatWindowHover = false }
	});	
	
	$('#my_account_drop_link').bind('click',function(e){
		$('#account_drop_menu').show();
		e.preventDefault();
		e.stopPropagation();
	});
	
	$('#account_drop_menu .l').hover(function(){
		account_menu_hover = true;
	},function(){
		account_menu_hover = false;
	});
	
	var account_menu_hover;
	
	$('#my_account_drop_link_close').bind('click',function(e){ e.preventDefault() });
	
	$(document).bind('click',function(e){
		var $menu = $('#account_drop_menu');
		if( account_menu_hover ) return;
		$menu.hide();
	});
	
});
