// User class
function User(ob) {
	this.main = ob;
	this.nickname = "none";
	this.validUser = 0;
	this.onLogin = function() {
		if (session.user.validUser == 1) {
			$("#session-user-signin").fadeOut("fast",function(){
				$("#session-user-signout").fadeIn("fast");
				$("#session-user-menubar").fadeIn("fast",function(){
					$("#session-user-menubar").animate({ height: 25 });
				});
			});
			
			
		}
	};
	this.onLogout = function() {
		if (session.user.validUser == 1) {
			$("#session-user-signout").fadeOut("fast");
			$("#session-user-menubar").fadeOut("fast",function(){
				$("#session-user-signin").fadeIn("fast");
			});
			$("#session-user-menubar").animate({ height: 0 });
			$("div#mod-option").each(function() {
				$(this).fadeOut("fast");
			});
			$("div#admin-option").each(function() {
				$(this).fadeOut("fast");
			});
			
		}
	};
	
	this.login = function(email,pass) {
		if (session.user.validUser) {
			alert("Logout before loging in");
			return false;
		}
		if (email == undefined) {
			email = $("input#user-login-email").attr("value");
		}
		if (pass == undefined) {
			pass = $("input#user-login-pass").attr("value");
		}
		$.ajax({
			url: "site-engines/user-login.php",
			type: "POST",
			data: "u="+email+"&p="+pass,
			context: this,
			success: function(data) {
				console.log(data);
				JSON.parse(data, function(key,value) {
				switch(key) {
				case "state":
				if (value == "error-0") {
					session.user.validUser = 1;
					session.user.onLogin();
				} else if (value == "error-1") {
					session.user.validUser = 0;
					session.report.error("Could not login, incorrect username/password.");
				} else if (value == "error-2") {
					getPageContent("tnc");
				}
				break;
				case "nickname":
					$("#session-user-nickname").html(value+"");
					break;
					case "admin":
					if (value === true) {
						$("div#admin-option").each(function() {
							$(this).fadeIn("fast");
						});
					}
					break;
					case "mod":
					if (value === true) {
						$("div#mod-option").each(function() {
							$(this).fadeIn("fast");
						});
					}
					break;
				}
				});
			}
		});
	};
	
	this.logout = function() {
		$.ajax({
			url: "site-engines/user-logout.php",
			type: "POST",
			data: "",
			context: this,
			success: function(data) {
				session.user.onLogout();
				session.user.validUser = 0;
				getPageContent("home");
			}
		});
	};
	
	this.valid = function() {
		$.ajax({
			url: "site-engines/user-login.php",
			type: "POST",
			data: "",
			context: this,
			success: function(data) {
				JSON.parse(data, function(key,value) {
				switch(key) {
				case "state":
				if (value == "error-0") {
					session.user.validUser = 1;
					session.user.onLogin();
				} else if (value == "error-2") {
					getPageContent("tnc");
					return;
				} else {
					session.user.validUser = 0;
				}
				break;
				case "nickname":
					session.user.nickname = value;
					$("#session-user-nickname").html(value+"");
				break;
				case "admin":
					if (value === true) {
						$("div#admin-option").each(function() {
							$(this).fadeIn("fast");
						});
					}
					break;
				case "mod":
					if (value === true) {
						$("div#mod-option").each(function() {
							$(this).fadeIn("fast");
						});
					}
					break;
				}
				});
			}
		});
	}
}
