﻿Type.registerNamespace("cancercompass.services");
cancercompass.services.Authentication = function(){}
cancercompass.services.Authentication.prototype = {
    get_isLoggedIn : function(){
        return Sys.Services.AuthenticationService.get_isLoggedIn();
    },
    loginUser : function(username,password,rememberMe,returnURL){
        if(username.indexOf("@") > 0){
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "/common/webservices/authentication.asmx/GetUserNameByEmail",
                data: "{'Email':'" + username + "'}",
                dataType: "json",
                success: function(data, textStatus){
                    if(data.d===null){data.d = "";}
                    Sys.Services.AuthenticationService.login(data.d,password,rememberMe,null,returnURL,AuthService.loginCompleted,AuthService.loginFailed,"User Context");
                },
                error: function(XMLHttpRequest, textStatus, errorThrown){
                    $("span[id*='lblRetrievePasswordError']").addClass("displayBlock").text("An error has occured.");
                }
            });
        }else{
            Sys.Services.AuthenticationService.login(username,password,rememberMe,null,returnURL,AuthService.loginCompleted,AuthService.loginFailed,"User Context");
        }
    },
    loginFailed : function(result,userContext,method){
        login.userLoginCompleted(result,userContext,method,false);
    },
    loginCompleted : function(result,userContext,method){
        login.userLoginCompleted(result,userContext,method,true);
    },
    logoutUser : function(redirectURL){
        if(redirectURL.indexOf("#") > -1){
            redirectURL = redirectURL.substring(0,redirectURL.indexOf("#"));
        }
        Sys.Services.AuthenticationService.logout(redirectURL,this.logoutCompleted,this.failedLogout,null);
    },
    logoutCompleted : function(){
        
    },
    failedLogout : function(Result, userContext, Method){
        alert(Result.get_statusCode() + " on method " + Method + " user Context = " + userContext);
    }
}
var AuthService = new cancercompass.services.Authentication;