﻿var swSSOJS = {
    ServerUrl: 'http://www.023800.com/AjaxBin/loginBarAction.ashx?fn=', //服务器的处理地址
    ClientUrl: 'http://www.xfsw.cn/AjaxBin/SSOLocal.ashx?fn=', //客户端的处理地址
    P3PUrl: 'http://www.cd930.cn/AjaxBin/ForCd.ashx?fn=',
    UserData: null, //获取到的用户数据
    SaveOverFn: null, //获取数据成功执行的函数
    ClearOverFn: null, //清理数据成功执行的函数
    LoadJs: function(url, scriptid) {
        //加载脚本            
        var js = document.getElementById('swSSOJs_' + scriptid);
        if (!(js)) {
            js = document.createElement('script');
            js.type = 'text/javascript';
            document.getElementsByTagName('HEAD')[0].appendChild(js);
        }
        js.setAttribute("src", url);
    },
    GetValue: function(fn) {
        //获取登录信息
        if (typeof (fn) == 'function') this.SaveOverFn = fn;
        var url = this.ServerUrl + 'GetSession&callBack=swSSOJS.GetValueBack&v=' + Math.random();
        this.LoadJs(url, 'sigin');
    },
    GetValueBack: function(errcode, cookKey, sessionVal) {
        //登录信息回调
        if (errcode == 0) {
            this.UserData = sessionVal;
            var url = this.ClientUrl + 'SaveToken&tokenValue=' + cookKey + '&callBack=swSSOJS.GetValueBackForCd&v=' + Math.random();
            this.LoadJs(url, 'SToken');
        }

    },
    GetValueBackForCd: function(errcode, cookKey) {
        //登录信息回调
        if (errcode == 0) {
            var url = this.P3PUrl + 'SaveToken&tokenValue=' + cookKey + '&callBack=swSSOJS.SaveTokenBack&v=' + Math.random();
            this.LoadJs(url, 'SToken');
        }

    },
    SaveTokenBack: function() {
        //设置完成回调
        if (typeof (this.SaveOverFn) == 'function') this.SaveOverFn();
    },
    OutValue: function(fn) {
        //退出
        if (typeof (fn) == 'function') this.ClearOverFn = fn;
        var url = this.ServerUrl + 'LBSigout&callBack=swSSOJS.OutValueBack&v=' + Math.random();
        this.LoadJs(url, 'sigin');
    },
    OutValueBack: function() {
        //退出回调
        this.UserData = null;
        var url = this.ClientUrl + 'ClearToken&callBack=swSSOJS.OutValueBackForCd&v=' + Math.random();
        this.LoadJs(url, 'CToken');

    },
    OutValueBackForCd: function() {
        //退出回调
        var url = this.P3PUrl + 'ClearToken&callBack=swSSOJS.ClearTokenBack&v=' + Math.random();
        this.LoadJs(url, 'CToken');

    },
    ClearTokenBack: function() {
        //清除完成回调
        if (typeof (this.ClearOverFn) == 'function') this.ClearOverFn();
    }
};
