// mypages.js

var guestbook = {
	
	do_once:false,
	/* some social setup */
	focused:function() {
		
		$("#guestbook-just-wanted").hide();
		$("#guestbook-message-input").focus();
		
	}, //focused()
	/* unused
	nevamind:function() {
		
		if($("#guestbook-message-input").text()=="") {
			
			$("#guestbook-nevamind").show();
			setTimeout("guestbook.restore()", 2000);
			
		}
		
	}, //nevamind()
	*/
	restore:function() {
		
		if($("#guestbook-message-input").val()=="") {
			
			$("#guestbook-nevamind").hide();
			$("#guestbook-just-wanted").show();
			
		}
		
	}, //restore()
	send:function() {
		
		$(".empty-guestbook-box").remove();
		
	}, //send()
	
	post:function() {
		
		if ($("#guestbook-message-input").val()!="" && guestbook.do_once == false) {
			
			guestbook.do_once = true;
			
			$.ajax({
	
				type:"POST",
	
				url:"/apps/mypages.php",
	
				data:$("#form-add-guestbook-entry").serialize(),
	
				success:function(data) {
					
					$("#guestbook-message-input").val("");
					
					$("#NewEntry").after(data);
					
					$(".empty-guestbook-box").remove();
					
					$.ajax({
			
						type:"POST",
			
						url:"/apps/mypages.php",
			
						data:"activity=count",
			
						success:function(data) {
							
							var image = data.match(/[\d]+/g);
							
							if (parseInt(image[0]) == 1) {
							
								activity.twice();
								
							}
							
							if (parseInt(image[1]) == 1) {
								
								activity.check();
								
							}
							
							guestbook.do_once = false;
											
						}
			
					});
					
				}
	
			});
			
		}
		
	},
	
	deleter:function(id,vic) {
		
		$.ajax({

			type:"POST",

			url:"/apps/mypages.php",

			data:"id="+id+"&vic="+vic,

			success:function() {
				
				$("#entry_"+id).slideUp("fast", function () {
				
					$("#entry_"+id).remove();
				
				});
								
			}

		});
		
	}
	
};

var friends = {
	
	do_once:true,
	
	accept:function(id,vic) {
		
		if (friends.do_once) {
		
			friends.do_once = false;
		
			$.ajax({
	
				type:"POST",
	
				url:"/apps/mypages.php",
	
				data:"accept="+id+"&vic="+vic,
	
				success:function() {
					
					$("#friend_request_"+id).remove();
					
						$.ajax({
				
							type:"POST",
				
							url:"/apps/mypages.php",
				
							data:"activity=count",
				
							success:function(data) {
								
								var image = data.match(/[\d]+/g);
								
								if (parseInt(image[0]) == 1) {
								
									activity.twice();
									
								}
								
								if (parseInt(image[1]) == 1) {
									
									activity.check();
									
								}
								
								friends.do_once = true;
												
							}
				
						});
					
				}
	
			});
			
		}
		
	},
	
	deny:function(id) {
		
		$.ajax({

			type:"POST",

			url:"/apps/mypages.php",

			data:"deny="+id,

			success:function() {
				
				$("#friend_request_"+id).remove();
								
			}

		});
		
	},
	
	remove:function(id) {
		
		$.ajax({

			type:"POST",

			url:"/apps/mypages.php",

			data:"remove="+id,

			success:function() {
				
				$("#friend_row_"+id).remove();
								
			}

		});
		
	},
	
	profile_id:null
		
};

$("#profile_navi_friends_add").live("click", function() {
	$.ajax({
		type:"POST",
		url:"/apps/mypages.php",
		data:"request="+friends.profile_id,
		success:function(data) {
			$("#profile_navi_friends_add").remove();
		}
	});
});

var friends_list = {
	
	victim:false,
	
	generate:function(victim, val, page) {
		
		var hash	=	window.location.hash;
		
		if (!val) {
			if (hash) {
				val		=	hash.match(/[\w]+/i);
				page	=	hash.match(/[\d]+/i);
			} else {
				val		=	"friends";
				page	=	1;
				window.location.hash = "#"+val+"&"+page;
			}
		}
		
		$("#friend_options span").removeClass("friend_option_active");
		$("#friend_options span."+val).addClass("friend_option_active");

		
		friends_list.victim	=	victim;
		
		$("body").css("cursor", "wait");
		
		if (victim) 
			$.ajax({
		
				type:"POST",
		
				url:"/apps/mypages.php",
		
				data:"victim="+victim+"&generate="+val+"&page="+page,
		
				success:function(data) {
					
					$("#friends_js").html(data);
					$("body").css("cursor", "auto");
									
				}
		
			});
		
	}
	
};

$(".delete_friend").live("click", function() {
	var id	=	$(this).attr("value");
	$.ajax({
		type:"POST",
		url:"/apps/mypages.php",
		data:"remove="+id,
		success:function() {
			$("#friend_"+id).remove();
		}
	});
});

$(".friends_previous").live("click", function() {
	$(".friends_previous").remove();
	$(".friends_next").remove();
	var hash	=	window.location.hash;
	window.location.hash = "#"+hash.match(/[\w]+/i)+"&"+($(this).attr("value"));
	friends_list.generate(friends_list.victim);
});

$(".friends_next").live("click", function() {
	$(".friends_previous").remove();
	$(".friends_next").remove();
	var hash	=	window.location.hash;
	window.location.hash = "#"+hash.match(/[\w]+/i)+"&"+(parseInt($(this).attr("value"))+2);
	friends_list.generate(friends_list.victim);
});

$("#friend_options span").live("click", function() {
	window.location.hash = "#"+$(this).attr("value")+"&1";
	friends_list.generate(friends_list.victim);
});

$("#private_message_button").live("click", function() {
	message.send();
});

$("#message_inputs input").live("keyup", function(e) {
	var code	=	(e.keyCode ? e.keyCode : e.which);
	if (code == 13) {
		if ($("#private_message_member").val() == "")
			$("#private_message_member").focus();
		else if ($("#private_message_title").val() == "")
			$("#private_message_title").focus();
		else $("#private_message_text").focus();
	}
});

$("button[messageid]").live("click", function(e) {
	e.stopPropagation();
	message.remove($(this).attr("messageid"), $(this).attr("goback"));
});

$("#pm_tabs span").live("click", function() {
	message.tab($(this).attr("id"));
});

$(".pm_row").live("click", function() {
	message.read($(this).attr("messageid"));
});

$("#private_message_member").live("keyup", function() {
	message.suggest($(this).val());
});

$("#private_message_member").live("keydown", function(e) {
	var code = (e.keyCode ? e.keyCode : e.which);
	if(code == 13) { //Enter
		message.fetch(message.browse - 1);
	} else if(code == 40) { //Arrow Down
		message.arrows(message.browse);
	} else if(code == 38) { //Arrow Up
		message.arrows(message.browse - 2);
	}
});

$("#message_inputs input").live("keydown", function() {
	if ($("#message_inputs input").index(this) != $("#message_inputs input").index($("#private_message_member")))
		message.suggest("");
});

$("#private_message_member").live("focusout", function() {
	message.suggest("");
});

$("#private_message_suggest li").live("mouseover", function() {
	message.focused($("#private_message_suggest li").index(this));
});

$("#private_message_suggest li").live("click", function() {
	message.fetch($("#private_message_suggest li").index(this));
});

var message = {
	
	occupied:false,
	
	browse:0,
	
	send:function() {
		if (!message.occupied) {
			message.occupied	=	true;
			if ($("input[name='member']").val() == "") {
				alert("Du måste ange användarnamnet på personen du vill skicka meddelandet till!");
				$("input[name='member']").focus();
			} else if ($("input[name='title']").val() == "") {
				alert("Du måste ange en titel till ditt meddelande!");
				$("input[name='title']").focus();
			} else if ($("#private_message_text").val() == "") {
				alert("Du måste ange ett meddelande för att skicka ditt PM!");
				$("#private_message_text").focus();
			} else {
				$.ajax({
					type:"POST",
					url:"/apps/pm.php",
					dataType:"json",
					data:$("#messages_form").serialize(),
					success:function(data) {
						alert(data.alert);
						if (data.status == "true")
							$("form#messages_form input, form#messages_form textarea").each(function () {
								$(this).val("");
							});
						message.occupied	=	false;
					}
				});
			}
		}
	},
	
	tab:function(id) {
		$(".message_tab").attr("show", "false");
		$("."+$("#"+id).attr("affect")).attr("show", "true");
		
		$("#pm_tabs span").removeClass("pm_tab_active");
		$("#"+id).addClass("pm_tab_active");
	},
	
	remove:function(id, goback) {
		$.ajax({
			type:"POST",
			url:"/apps/pm.php",
			data:"remove="+id,
			success:function() {
				$(".pm_row[messageid='"+id+"']").fadeTo("slow", 0, function () {
					$(this).remove();
				});
				if (goback == "true") {
					message.tab("pm_inbox");
					$(".read_message").html("");
				}
			}
		});
	},
	
	read:function(id) {
		$.ajax({
			type:"POST",
			url:"/apps/pm.php",
			dataType:"json",
			data:"read="+id,
			success:function(data) {
			if (data.status == "true") {
				$(".pm_row[messageid='"+id+"']").attr("viewed", 1);
				message.tab("pm_read");
				$(".read_message").html(data.echo);
				if (data.unread == "true")
					$("#unread_messages").each(function () {
						$(this).html((parseInt($(this).html()) - 1));
					});
				}
			}
		});
	},
	
	suggest:function(input) {
		var ul		=	"#private_message_suggest";
		if (input != "") {
			$.ajax({
				type:"POST",
				url:"/apps/pm.php",
				dataType:"json",
				data:"input="+input,
				success:function(data) {
					if (data.status == "true") {
						$(ul).html(data.echo)
							.css("display", "block");
						if (message.browse > 0)
							$(ul+" li").eq(message.browse - 1).attr("focused", "true");
						if (data.echo == "")
							$(ul).css("display", "none")
								.html("");
					}
				}
			});
		} else {
			$(ul).css("display", "none")
				.html("");
			message.browse	=	0;
		}
	},
	
	arrows:function(index) {
		var size	=	$("#private_message_suggest li").size();
		if ((index + 1) < 0)
			var h	=	size - 1;
		else if (index > size - 1)
			var h	=	-1;
		else var h	=	index;
		
		message.focused(h);
	},
	
	focused:function(index) {
		$("#private_message_suggest li").removeAttr("focused")
			.eq(index).attr("focused", "true");
		message.browse	=	(index + 1);
	},
	
	fetch:function(index) {
		var input	=	"#private_message_member";
		var ul		=	"#private_message_suggest";
		if ((index + 1) != 0) {
			$(input).val($(ul+" li").eq(index).html().replace(/\<\/{0,1}strong\>/gi, ""));
			$(ul).css("display", "none")
					.html("");
		}
		message.browse	=	0;
	}
	
};