$(function () {
    $.extend({
        login: function (username, password, remember) {
            $.loginfadeout();
            Sys.Services.AuthenticationService.login(username, password, remember, null, null, loginsuccess, loginfailed, "");
			return false;
          //alert(username + password + remember);
        },
        loginbyform: function () {
           
            var username, password, remember;
            username = $('#username').val();
            password = $('#password').val();
            remember = true;
            $.login(username, password, remember);
        },
        logout: function () {
            Sys.Services.AuthenticationService.logout(null, logoutsuccess,
                 loginfailed, "Context Info");

        },
        loginfailedalert: function () {
            $.loginfadein();
            $(".shakeonfail").addClass("error"); //.effect("shake", { times: 6, distance: 4 }, 50)
        },
        afterlogin: function () {
            //var returnurl = $.querystring("returnurl");
            var returnurl = "/funds.aspx";
            $.loginfadein();
            if (returnurl != "") {
                window.location = returnurl;
            }
            else {
                // reload
                //window.location.reload();
            }
            $.loginfadein();
        },
        resetPassword: function () {
            $.loginfadeout();
            var usernameoremail = $("#forgottenpassword").val();
            if (usernameoremail.length == 0) {
                $("#forgottenpassword").addClass("error");
                return false;
            }

            var datatosend = "{emailorusername:'" + usernameoremail + "'}";

            $.ajax({
                type: "POST",
                url: '/usercontrols/Membership.asmx/ResetPassword',
                data: datatosend,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var s = data.d;

                    if (s.Reset) {
                        $(".login-forgottenpassword-message").html("Your password has been reset and an email has been sent to " + s.Email + " with your new password.");
                    }
                    else {
                        $(".login-forgottenpassword-message").html("There was a problem and your password has not been reset. " + s.Message);
                    }
                    $(".login-forgottenpassword-message").fadeIn();
                    $.loginfadein();
                }
            });
        },
        querystring: function (name) {
            name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
            var regexS = "[\\?&]" + name + "=([^&#]*)";
            var regex = new RegExp(regexS);
            var results = regex.exec(window.location.href);
            if (results == null)
                return "";
            else
                return decodeURIComponent(results[1].replace(/\+/g, " "));
        },
        loginfadeout: function () {
            $("#login-table").fadeTo(500, 0.3);
        },
        loginfadein: function () {
            $("#login-table").fadeTo(500, 1.0);
        }
    })
});

loginsuccess = function (validCredentials, userContext, methodName) {
    if (validCredentials) {
    
        $.afterlogin();
    }
    else {
        $.loginfailedalert();
    }
};

loginfailed = function (error, userContext, methodName) {
    //
	//
	alert('You have logged in successfully. Click OK to continue.');
	//alert(error.get_statusCode());
    //alert(error.get_message());
	//alert(error.get_code());
	//Sys.Services.RoleService.get_roles();
    //$.loginfailedalert();
	$('#username').val("");
	$.afterlogin();
};


function logoutsuccess(result, userContext, methodName) {
    alert('You have been logged out from the web site.');
}
