﻿
//  定义用户信息
var zsCWebUser = {};
zsCWebUser.inFn = [];  // 登录成功后要执行的函数
zsCWebUser.outFn = []; // 退出登录后要执行的函数


//  dialog对话框调用父窗口的处理函数
//  /Js/MasterDialog/Base.js
function doFn(evFn, arg) {
    var fn = window[evFn];
    
    if ((fn) && (typeof (fn) == 'function')) {
        fn(arg);
    } else {
        alert('Error: Undefined function the name of ' + evFn.toString() + ' ');
    }
}

//  设置网站的公共工具条显示的信息
function WebHomeToolsShow() {
    var url = '/Dialog/WebGetLoginState.ashx?qq=3';
    syncRequest(url, function(res) {

        // 取得用户登录信息
        var userInfo = res.responseJSON;

        if (!zsCWebUser) zsCWebUser = {};

        zsCWebUser['UserKey'] = userInfo.uk;
        zsCWebUser['UserLev'] = userInfo.ul;
        zsCWebUser['UserNic'] = userInfo.un;

        var msgCnt = userInfo.msgCnt; // 消息总数
        var domain = userInfo.domain; // 域名 http://www.630.cn/

        var LgTrue = '  欢迎您 <a href="' + domain + 'User/MyHome.aspx" class="HomeToolBarUserName">{%un%}</a> - <a href="' + domain + 'User/MyHome.aspx"  style="color:#fc0">用户中心</a>';
        if (msgCnt > 0) {
            //有消息才显示
            LgTrue += ' - <a href="' + domain + 'User/ShortMsg/Message.aspx">短消息(' + msgCnt + ')</a>';
            new FlashDocTitle('有 ' + msgCnt + ' 条消息').Go(10);
        }
        LgTrue += ' - [ <a href="javascript:ShowSigout();">退出</a>]';

        var LgFalse = '<a href="' + domain + 'About/Register.aspx">免费注册</a> - <a href="javascript:ShowSigin();">登录</a>';

        var LgGener = ' - <a href="' + domain + '">设为首页</a> - <a href="' + domain + '">加入收藏</a> - <a href="' + domain + 'help/index.html" target="_blank">帮助</a>';

        $('WebHomeTools').innerHTML = (userInfo.uk > 0 ? LgTrue.appTemplate(userInfo) : LgFalse) + LgGener;

    });

    setTimeout(function() { WebHomeToolsShow(); }, 60 * 1000);
}

//  标题闪烁功能  闪烁显示的内容
function FlashDocTitle(titleStr) {
    
    this.oldTitle = document.title;
    this.newTitle = titleStr;
    this.timerNow = 0;
    this.timerCnt = 0;
    this.flash = function() {
        var me = this;
        if (me.timerNow > me.timerCnt) {
            document.title = me.oldTitle;
            return;
        }

        document.title = me.timerNow % 2 == 0 ? me.newTitle : me.oldTitle;
        me.timerNow++;
        setTimeout(function() { me.flash() }, 500);
    };
    
    // 闪烁的次数
    this.Go = function(times) {
        var me = this;
        me.timerNow = 0;
        me.timerCnt = times;
        me.oldTitle = document.title;
        me.flash();
    };
}

//  显示登录窗口
function ShowSigin(SucessFn) {

    if (typeof (SucessFn) == 'function') {
        // 有登录成功后要执行的函数
        zsCWebUser.inFn.push(SucessFn);
    }
    
    var url = '/Dialog/Sign.aspx';
    MsgBox.ShowBox({ src: url, width: 360, height: 200, top: 120 });
}

//  退出登录
function ShowSigout(SucessFn) {

    if (typeof (SucessFn) == 'function') {
        // 有退出登录后要执行的函数
        zsCWebUser.outFn.push(SucessFn);
    }
    
    var url = '/Dialog/WebSigout.ashx?qq=3';
    syncRequest(url, function(res) {        

        if (zsCWebUser.outFn.length == 0) {
            top.location = top.location;
            return;
        }

        WebHomeToolsShow();

        for (var fi = 0, fj = zsCWebUser.outFn.length; fi < fj; fi++) {
            if (typeof (zsCWebUser.outFn[fi]) == 'function') {
                zsCWebUser.outFn[fi]();
            }
        }
        zsCWebUser.outFn.length = 0;

    });
}

//  用户登录成功后执行的函数
function HT_SignSuccess(userInfo) {    

    if (zsCWebUser.inFn.length == 0) {
        top.location = top.location;
        return;
    }

    WebHomeToolsShow();

    for (var fi = 0, fj = zsCWebUser.inFn.length; fi < fj; fi++) {
        if (typeof (zsCWebUser.inFn[fi]) == 'function') {
            zsCWebUser.inFn[fi]();
        }
    }
    zsCWebUser.inFn.length = 0;

}
try{
    //ie6下解决背景图片hover闪烁问题
    document.execCommand("BackgroundImageCache", false, true);
}catch(e){}

