﻿$().ready(function() {
    var validator = $("#register_form").validate({ onsubmit: false });
    $("#register_form").submit(function() {
        if (!$("#register_form").valid())
            return false;

        var name = $("#reg_name").val();
        var username = $("#reg_username").val();
        var email = $("#reg_email").val();
        var password = $("#reg_password").val();
        var newsletter = $("#reg_newsletter").attr('checked');

        var parameters = "{'name':'" + name + "','username':'" + username + "','email':'" + email + "','password':'" + password + "','newsletter':'" + newsletter + "'}"

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/WedadviesService.asmx/RegisterUser",
            data: parameters,
            dataType: "json",
            success: function(result) {
                $("#reg_error_field").html(result.d);
            },
            error: function(result) {
                alert("Aanmelden mislukt, neem contact op met de administrator.");
            }
        });

        return false;
    });

    $("#login_username").focus(function() {
        if ($("#login_username").val() == "Gebruikersnaam")
            $("#login_username").val("");
    });

    $("#login_password").focus(function() {
        if ($("#login_password").val() == "Wachtwoord")
            $("#login_password").val("");
    });

    $("#login_username").blur(function() {
        if ($("#login_username").val() == "")
            $("#login_username").val("Gebruikersnaam");
    });

    $("#login_password").blur(function() {
        if ($("#login_password").val() == "")
            $("#login_password").val("Wachtwoord");
    });

    $("#reg_username").keyup(function() {
        var username = $("#reg_username").val();
        var parameters = "{'username':'" + username + "'}"

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/WedadviesService.asmx/IsUsernameAvailable",
            data: parameters,
            dataType: "json",
            success: function(result) {
                if (result.d == true) {
                    $("#beschikbaar").css("display", "block");
                    $("#nietbeschikbaar").css("display", "none");
                }
                else {
                    $("#beschikbaar").css("display", "none");
                    $("#nietbeschikbaar").css("display", "block");
                }
            },
            error: function(result) {
                alert("Er is iets mis gegaan.");
            }
        });
    });

    var validator = $("#login_form").validate({ onsubmit: false });
    $("#login_form").submit(function() {
        if (!$("#login_form").valid())
            return false;

        var username = $("#login_username").val();
        var password = $("#login_password").val();

        var parameters = "{'username':'" + username + "','password':'" + password + "'}"

        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/WedadviesService.asmx/LoginUser",
            data: parameters,
            dataType: "json",
            success: function(result) {
                if (result.d == "success")
                    location.reload();
                else
                    alert(result.d);
            },
            error: function(result) {
                alert("Inloggen is mislukt.");
            }
        });

        return false;
    });

    $("#logout_link").click(function() {
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: "/WedadviesService.asmx/LogOut",
            dataType: "json",
            success: function(result) {
                location.reload();
            },
            error: function(result) {
                alert("Uitloggen is mislukt.");
            }
        });

        return false;
    });
});
