$(document).ready(function() {
	// Important functions
	function validateEmail(email) {
		var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		var address = email;
		if(reg.test(address) == false) {
			return false;
		} else
			return true;
	}
	
	// Login JS Code
	$("#loginError").css("display","none");
	$("#registerBtn").click(function() {
		window.location="register.php";
	});
	
	$("#loginPanel").submit(function() {
		$("#loginBtn").attr("disabled","true");
		$("#registerBtn").attr("disabled","true");
		$("#loading").show("slow");
		$.post("processlogin.php", {username: $("#username").val(), password: $("#password").val()}, function(data, status) {
			if (status == "success") {
				if (!data) {	
					$("#loading").slideToggle("slow", function() {
					$("#loginStatus").text("Invalid Login!");
						$("#loginBtn").removeAttr("disabled");
						$("#registerBtn").removeAttr("disabled");
						return false;
					});
				}
				else {
					window.location="cp.php";
				}
			};
		});
		return false;
	});
	
	// Register JS Code
    $('#register_form').submit(function() {
    	return validateRegister();
    });
    $("#bday").datepicker({ 
	    yearRange: "-80:+0"
	});
    $("#fname_error").empty().append("* ");
    $("#lname_error").empty().append("* ");
    //$("#email_error").empty().append("* ");
    $("#uname_error").empty().append("* ");
    $("#pword_error").empty().append("* ");
    $("#pword2_error").empty().append("* ");
    function validateRegister() 
    {	
    	$("#fname_error").empty();
    	$("#lname_error").empty();
    	$("#email_error").empty();
    	$("#uname_error").empty();
    	$("#pword_error").empty();
    	$("#pword2_error").empty();
    	
    	var fname = $("#fname").val();
    	var lname = $("#lname").val();
    	var email = $("#email").val();
    	var uname = $("#uname").val();
    	var pword = $("#pword").val();
    	var pword2 = $("#pword2").val();
    	
    	var errors = 0;
    	
    	if (fname == null || fname == '') 
	    { 
	        $("#fname_error").append("* First name field is required"); 
	        errors++; 
	    }
	    if (lname == null || lname == '') 
	    { 
	        $("#lname_error").append("* Last name field is required"); 
	        errors++; 
	    }
	    if (email == null || email == '')
	    {
	    	$("#email_error").append("* Email address field is required");
	    	errors++;
	    } else if (!validateEmail(email)) {
	    	$("#email_error").append("* A valid email address is required");
	    	errors++;
	    } else {
	    	
	    }
	    if (uname == null || uname == '') 
	    { 
	        $("#uname_error").append("* Username field is required"); 
	        errors++; 
	    } else if (uname.length <= 3) {
	    	$("#uname_error").append("* Username field must have more than 3 characters"); 
	        errors++;
	    } else {
	    	
	    }
	    if (pword == null || pword == '') 
	    { 
	        $("#pword_error").append("* Password field is required"); 
	        errors++; 
	    } else if (pword.length <= 3) {
	    	$("#pword_error").append("* Password field must have more than 3 characters"); 
	        errors++;
	    }
	    if (pword2 == null || pword2 == '') 
	    { 
	        $("#pword2_error").append("* Repeat Password field is required"); 
	        errors++; 
	    } else if (pword2 != pword) 
	    { 
	        $("#pword2_error").append("* Second password entered does not match main password"); 
	        errors++; 
	    }
	    
	    if (uname.length >= 3) {
	    	// Check username against database
	    	$("#uname_error").append("Checking username..."); 
	    	$.post("checkusername.php", {username: uname}, function(data, status) {
				if (status == "success") {
					if (!data) {
						$("#uname_error").empty();
						errors++;
						$("#uname_error").append("* Username unavailable"); 
					} else {
						$("#uname_error").empty();
			    		$("#uname_error").append("* Username available"); 
			    	} 
			    	if (errors > 0) {
			    		alert (errors+" error[s] found! Correct all errors to register"); 
			        	return false; 
			    	} else {
			    		$("#register_form").unbind("submit",validateRegister());
			    		$("#register_form").submit();
			    	}
				} 
			});
	    } else {
	      	alert (errors+" error[s] found! Correct all errors to register"); 
	        return false; 
	    }
	    return false;
	    //if (errors == 0) return true; 
	    //else return false;
     }
});
