// ----------------------------
// field info togglers
// ----------------------------

$(document).ready(function() {
        $("#field-username").focus();
        $("#f-username").show();

        $("#field-username").focus(function() {
                $("#f-username").show();
        });
        $("#field-username").blur(function() {
                $("#f-username").hide();
        });
        $("#field-password").focus(function() {
                $("#f-password").show();
        });
        $("#field-password").blur(function() {
                $("#f-password").hide();
        });
        $("#field-password2").focus(function() {
                $("#f-password2").show();
        });
        $("#field-password2").blur(function() {
                $("#f-password2").hide();
        });
        $("#field-screenname").focus(function() {
                $("#f-screenname").show();
        });
        $("#field-screenname").blur(function() {
                $("#f-screenname").hide();
        });
        $("#field-email").focus(function() {
                $("#f-email").show();
        });
        $("#field-email").blur(function() {
                $("#f-email").hide();
        });
        $("#field-code").focus(function() {
                $("#f-code").show();
        });
        $("#field-code").blur(function() {
                $("#f-code").hide();
        });
});

// ----------------------------
// form validation functions
// ----------------------------

var fields	= new Array('username', 'password', 'password_confirm', 'screen_name', 'email');

jQuery(function($) {
	
	$("#registration-submit").click( function(event)
	{
		var msg	= "";

		// Clear all error if any
		
		$("form#member_form .error").each(function() { 
			$(this).removeClass("error");
		});

                //      Check empties

                var empty       = false;

                $.each( fields, function(i,n)
                {
                        if ( $("form#member_form input[name='" + n + "']").val() == '' )
                        {
                                empty   = true;

                                $("form#member_form input[name='" + n + "']").addClass("error");
                        }
                });

                if ( empty === true )
                {
                        msg     += "Vul alle vereiste velden in AUB.";
			$("#error_msg").show();
                        $("#error_msg").html( msg );
                        return false;
                }

		// Email check
		
		var email	= $("form#member_form input[name='email']").val();
		var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

		if (!filter.test(email)) 
		{
			$("form#member_form input[name='email']").addClass("error");

			msg	+=	"Vul een geldig email adres in aub!"; 
			$("#error_msg").show();
                        $("#error_msg").html( msg );
                        return false;
		}
		
		// Password vs loginname check

		if ( $("form#member_form input[name='password']").val() == $("form#member_form input[name='username']").val() )
		{
			$("form#member_form input[name='username']").addClass("error");
			$("form#member_form input[name='password']").addClass("error");
			$("form#member_form input[name='password_confirm']").addClass("error");

			msg	+= "Je gebruikersnaam moet anders zijn dan je wachtwoord.";
			$("#error_msg").show();
                        $("#error_msg").html( msg );
                        return false;
		}
	
                // Password check

                if ( $("form#member_form input[name='password']").val() != $("form#member_form input[name='password_confirm']").val() )
                {
                        $("form#member_form input[name='password']").addClass("error");
                        $("form#member_form input[name='password_confirm']").addClass("error");

                        msg     += "Ingevulde wachtwoorden komen niet overeen.";
			$("#error_msg").show();
                        $("#error_msg").html( msg );
                        return false;
                }
	
		// let's check username availability

		var username	= $("form#member_form input[name='username']").val();
		var email2	= $("form#member_form input[name='email']").val();
		var screen_name	= $("form#member_form input[name='screen_name']").val();

		$.ajax({
			type: 'POST',	
			url: '/index/ajax/register-username-check',
			data: 'ACTION=check_username&username=' + username + '&email=' + email2 + '&screen_name=' + screen_name,
			beforeSend: function() {
				$("#error_msg").show();
				$("#error_msg").html('<center><img src=/images/site/2010/loading.gif></center>');
			},
			success: function(data) {
				if(data == 'OK') 
				{
					$("#error_msg").css('border','dotted 2px green');
					$("#error_msg").show();
					$("#error_msg").html('Bedankt, je gegevens zijn in orde...je account wordt nu aangemaakt.');
					$("form#member_form").submit();
				}
				else {
					$("#error_msg").show();
					$("#error_msg").html(data);
					return false;
				}
			}
		});	

		return false;

	});

});


