﻿
// Использование переменных\объектов из дрогого файла
//берём определения из файла settings.js

//CurrentIdentificationDomain();
//curAuthCookie
//authCookiesName
//mainPage



var ccsLoginResult =
    {
        NoUser : 0,
        SuccessLoggedIn : 1,
        AlreadyLoggedIn : 2,
        PasswordIncorrect : 3,
        NotActivited : 4
    }



var CCSession = {}
CCSession.mainPage = mainPage; //'http://rg.citycatalogue.com//main.aspx';


$(document).ready(function () {

    CCSession.Logout = function (needGoto, Url) {
        //temp
        var wb = new WaitBox(markupList['evd_cc_waithoneybunny'], markupList['evd_cc_wevegottaunauthorizeyaballs']);
        wb.Show();

        if (needGoto && Url == undefined) {
            Url = CCSession.mainPage;
        }

        if (Url == undefined) {
            Url = document.location.toString();
        }

        //new begin

        //Обращаемся к домену аутентификации и прекращаем действия ключа аутентификации (осуществляем выход из системы)
        $.getJSON(CurrentIdentificationDomain() + "/Logout?jsoncallback=?",
            {
                openIdWithVerifyKey: curAuthCookie
            },
        //Функция обратного вызова в случае успешного обращения к веб службе домена аутентификации
            function (data) {
                //data результат выполнения метода

                //Если действия ключа аутентификации отменено успешно то
                if (typeof(data) !== 'undefined' && data != null && data.logoutResult) {

                    //Обнуляем куки текущего домена текущие куки 
                    $.cookie(authCookiesName, null);

                    //Перегружаем страницу
                    document.location.href = document.location.href;
                    return false;

                } //if
                else //иначе
                {
                    //alert("Exit error!");
                    //Перегружаем страницу
                    document.location.href = document.location.href;
                    return false;
                    
                } //else

            });

        //new end

    }

    CCSession.Login = function (login, password) {

        //temp
        var wb = new WaitBox(markupList['evd_cc_waithoneybunny'], markupList['evd_cc_wevegottaauthorizeyaballs']);
        wb.Show();
        //new begin

        //Обращаемся к домену аутентификации и прекращаем действия ключа аутентификации (осуществляем выход из системы)
        $.getJSON(CurrentIdentificationDomain() + "/Login?jsoncallback=?",
            {
                login:login, 
                password: password
            },
        //Функция обратного вызова в случае успешного обращения к веб службе домена аутентификации
            function (logindata) {
                //logindata результат выполнения метода

                var msg = "";
                var err = false;
                switch (typeof (logindata) !== 'undefined' && logindata != null && logindata.loginResult) {
                    case ccsLoginResult.NoUser:
                        {
                            if (markupList['cab_evd_errloginorpass'] == undefined || markupList['cab_evd_errloginorpass'] == '') {
                                msg = markupList['cab_evd_errnouser'];
                            }
                            else {
                                msg = markupList['cab_evd_errloginorpass'];
                            }
                            err = true;
                        } break;

                    case ccsLoginResult.SuccessLoggedIn:
                        {
                            err = false;
                        } break;

                    case ccsLoginResult.AlreadyLoggedIn:
                        {
                            err = false;
                        } break;

                    case ccsLoginResult.PasswordIncorrect:
                        {
                            msg = markupList['cab_evd_errnouser'];
                            err = true;
                        } break;
                    case ccsLoginResult.NotActivited:
                        {
                            msg = markupList['cab_evd_errnotactive'];
                            err = true;
                        } break;
                }

                if (err) {
                    //temp
                    wb.Hide();
                    alert(msg);
                    return;
                    //loginFailed(msg);
                }
                else {

                    //Устанавливаем авторизационную куку для текущего домена
                    $.cookie(authCookiesName, logindata.openIdWithVerifyKey, { expires: 365 }, false);

                    //Перегружаем страницу
                    document.location.href = document.location.href;
                    return false;
                }


            });



        //new end

    }



});
