﻿<!--
var __refresh_msg_secs__  = 30;
var __enabled_msg_flash__ = false;
var __logon_function__    = null;
var __auto_process__      = null;

function onover(evt, p){
    var e = (__is_ie__ ? evt.srcElement:evt.target);
    var tag = e.tagName;
    if (tag == 'DIV' || tag == 'IMG'){
	    while (e.tagName != 'DIV') e = e.parentNode;
	    if (e.className == 'Out')
	        e.className = 'Over';
        onremove_event(p);
    }
}
function onout(evt, p){
    var e = (__is_ie__ ? evt.srcElement:evt.target);
    var tag = e.tagName;
	if (tag == 'DIV' || tag == 'IMG'){
		while (e.tagName != 'DIV') e = e.parentNode;
		if (e.className == 'Over')
		    e.className = 'Out';
        onattach_event(p);
	}
}
//attach/remove event
function onremove_event(p){
    if (!__is_ie__ && p && p.onblur){
        p._onblur = p.onblur;
        p.onblur  = null;
    }
}
function onattach_event(p){
    if (!__is_ie__ && p){
        p.onblur = p._onblur;
        p.focus();
    }
}
function onclick_topbar(e, url){
    var el   = e.parentNode;
    var objs = el.getElementsByTagName('DIV');
    for (var i = 0; i < objs.length; i++){
        if (objs[i].className != 'Right' &&
            objs[i].id != e.id)
            objs[i].className = 'Out';
    }
    e.className = 'Click';
    var obj = document.getElementById('CONTENT');
    obj.src = url;
}

function onclick_checkbox(e){
    if (e.className == 'Uncheck')
        e.className = 'Checked';
    else
        e.className = 'Uncheck';
}

var __is_loading__ = false;
var __call_root__  = "../user/";
var __call_page__  = "ajax.aspx";
function onclick_login()
{
    var username = document.getElementById('txtUsername').value;
    var password = document.getElementById('txtPassword').value;
    var checkbox = document.getElementById('divCheckbox').className;
    if (username == '' ||
        password == ''){
        alert('错误信息\n\n* 用户名或密码不能为空');
        return;
    }
    if (checkbox == '')
        checkbox = 'Uncheck';
    if (__is_loading__)
        return;
    __is_loading__ = true;
    var ajax = new AJAX(GetAbsoluteUrl(__call_root__) + __call_page__);
    ajax.AddUrlParameter('Type',       'Login');
    ajax.AddUrlParameter('Username',   username);
    ajax.AddUrlParameter('Password',   password);
    ajax.AddUrlParameter('Checkbox',   checkbox);
    ajax.SetCallbackFun(onajax_callback);
    ajax.Send(null);
    setTimeout('__is_loading__=false',10000,'javascript');
}

function onclick_refresh()
{
    if (__is_loading__)
        return;
    __is_loading__ = true;
    var ajax = new AJAX(GetAbsoluteUrl(__call_root__) + __call_page__);
    ajax.AddUrlParameter('Type',       'Refresh');
    ajax.SetCallbackFun(onajax_callback);
    ajax.Send(null);
    setTimeout('__is_loading__=false',10000,'javascript');
}

function onauto_refresh(){
    var ajax = new AJAX(GetAbsoluteUrl(__call_root__) + __call_page__);
    ajax.AddUrlParameter('Type',       'Online');
    ajax.SetCallbackFun(onajax_callback);
    ajax.Send(null);
}

function onclick_logout()
{
    if (__is_loading__)
        return;
    __is_loading__ = true;
    var ajax = new AJAX(GetAbsoluteUrl(__call_root__) + __call_page__);
    ajax.AddUrlParameter('Type',       'Logout');
    ajax.SetCallbackFun(onajax_callback);
    ajax.Send(null);
    setTimeout('__is_loading__=false',10000,'javascript');
}

function onclear_cookie()
{
    if (__is_loading__)
        return;
    __is_loading__ = true;
    var ajax = new AJAX(GetAbsoluteUrl(__call_root__) + __call_page__);
    ajax.AddUrlParameter('Type',       'ClearCookie');
    ajax.SetCallbackFun(onajax_callback);
    ajax.Send(null);
    setTimeout('__is_loading__=false',10000,'javascript');
}

function onclick_function(needShow){
    var left = parseInt(document.body.clientWidth,10) - parseInt(__logon_function__.width,10) - 10;
    var top  = parseInt(document.body.clientHeight,10) - parseInt(__logon_function__.height,10) - 25;
    __logon_function__.style.left = left + 'px';
    __logon_function__.style.top  = top + 'px';
    if (needShow){
        __logon_function__.style.display = '';
        __logon_function__.focus();
    }
}

var __connection_count__ = 0;
function onajax_callback(ajax)
{
    var doc = ajax.GetXmlDoc();
    var error_code  = parseInt(doc.selectSingleNode("//root/errorCode").text,10);
    var error_desc  = doc.selectSingleNode("//root/errorDesc").text;
    var type        = (error_code < 0 ? 'logout':doc.selectSingleNode("//root/type").text);
    switch (type){
        case 'login':
            document.getElementById('pnlLogin').className   = 'Hidden';        
            document.getElementById('pnlLogout').className  = 'Visble';
            document.getElementById('txtUsername').value    = '';
            document.getElementById('txtPassword').value    = '';
            if (__auto_process__){
                clearInterval(__auto_process__);
                __auto_process__ == null;
            }
            __auto_process__ = setInterval('onauto_refresh()',__refresh_msg_secs__*1000,'javascript');
        case 'refresh':
            var user_id   = doc.selectSingleNode("//root/user_id").text;
            var user_name = doc.selectSingleNode("//root/user_name").text;
            var is_male   = doc.selectSingleNode("//root/is_male").text;
            var group_id  = doc.selectSingleNode("//root/group_id").text;
            var group_name= doc.selectSingleNode("//root/group_name").text;

            var obj       = document.getElementById('lnkUser');
            obj.innerHTML = user_name.toHtml();
            obj.href      = 'javascript:openWindow(\'../User/Info.aspx?UserId='+user_id+'\');'
            obj.className = (is_male == 'True' ? 'Link-Male':'Link-Female');
            
            var obj       = document.getElementById('lnkGroup');
            if (obj){
                if (group_id.trim() != ''){
                    obj.innerHTML = group_name.toHtml();
                    obj.href      = 'javascript:openWindow(\'../Group/Info.aspx?GroupId='+group_id+'\',false,500,400);'
                }else{
                    obj.innerHTML = '未加入任何群';
                    obj.href      = 'javascript:openWindow(\'../Group/Index.aspx\');'
                }
            }
        case 'online':
            //__connection_count__++;
            //window.status = 'connection count: ' + __connection_count__;
            var user_exp  = doc.selectSingleNode("//root/user_exp").text;
            var user_gold = doc.selectSingleNode("//root/user_gold").text;
            var msg_count = doc.selectSingleNode("//root/msg_count").text;
            onrefresh_login(user_gold, user_exp, msg_count);
            break;
        case 'clearcookie':
            alert('提示信息\n\n* 自动登录信息已被删除');
            break;
        case 'logout':
            if (__auto_process__){
                clearInterval(__auto_process__);
                __auto_process__ == null;
            }
            var obj = document.getElementById('pnlLogin');
            if (obj) obj.className = 'Visble';
            var obj = document.getElementById('pnlLogout');
            if (obj) obj.className = 'Hidden';
            var obj = document.getElementById('txtUsername');
            if (obj) obj.focus();
            
            if (error_code < 0)
                alert(error_desc);
            break;
    }
    __is_loading__  = false;
}

//refresh user login info
function onrefresh_login(userGold, userExp, msgCount){
    var obj = document.getElementById('divExp');
    if (obj){
        obj.innerHTML = getExpBar(parseInt(userExp,10));
        obj = document.getElementById('divGold');
        obj.innerHTML = getGoldBar(parseInt(userGold,10));
    }else{
        obj = document.getElementById('spExp');
        if (obj){   
            obj.innerHTML = Math.floor(parseInt(userExp,10)/1440)+'天'+Math.floor(parseInt(userExp,10)%1440/60)+'小时';
            obj = document.getElementById('spGold');
            obj.innerHTML = userGold;
        }
    }
    var obj = document.getElementById('spLevel');
    if (obj) obj.innerHTML = getExpName(userGold, userExp);
    var obj = document.getElementById('spMsg');
    if (obj){
        if (parseInt(msgCount, 10) > 0){
            obj.innerHTML = '收到['+msgCount+']条新消息';
            __enabled_msg_flash__ = true;
        }else{
            obj.innerHTML = '没有任何新消息';
            __enabled_msg_flash__ = false;
        }
    }
}

//flash message box
function onflash_msgbox(){
    var obj = document.getElementById('spMsg');
    if (obj){
        if (__enabled_msg_flash__){
            if (obj.style.visibility != 'hidden')
                obj.style.visibility = 'hidden';
            else
                obj.style.visibility = '';
        }else{
            if (obj && obj.style.visibility == 'hidden')
                obj.style.visibility = '';
        }
    }
}

//init document
function doIntialized(){
    //choose category
    var arg = self.document.location.search.replace(/^\?\s*/g,'');
    var obj = document.getElementById('bbs');
    if (arg != '' && document.getElementById(arg))
        obj = document.getElementById(arg);
    if (__is_ie__){
        obj.click();
    }else{
        var evt = document.createEvent("MouseEvents");  
        evt.initEvent("click",true,true);
        obj.dispatchEvent(evt);
    }

    //create function menu
    __logon_function__ = document.createElement('IFRAME');
    __logon_function__.className     = 'Menu-Border'
    __logon_function__.width         = '140px';
    __logon_function__.height        = '155px';
    __logon_function__.frameBorder   = 'no';
    __logon_function__.scrolling     = 'no';
    __logon_function__.marginHeight  = '0px';
    __logon_function__.marginWidth   = '0px';
    __logon_function__.style.cssText = 'position: absolute; display: none;';
    __logon_function__.onblur = function(){this.style.display = 'none';}
    document.body.appendChild(__logon_function__);
    
    var obj = __logon_function__.contentWindow;
    obj.document.open();
    obj.document.writeln('<html>'+
                        '  <head>'+
                        '      <link href="../res/css/logon.css" type="text/css" rel="stylesheet">'+
                        '  </head>'+
                        '  <body class="Menu-Body"'+
                        '        onselectstart="return false"'+
                        '        oncontextmenu="return false"'+
                        '        onmouseover="parent.onover(event, parent.__logon_function__)"'+
                        '        onmouseout="parent.onout(event, parent.__logon_function__)">'+
		                '       <div class="Out" onclick="parent.openWindow(\'../user/onlinelist.aspx\')"><img src="../res/image/login/icon.menu.gif"/>在线用户列表</div>'+
		                '       <div class="Out" onclick="parent.openWindow(\'../user/modify.aspx\')"><img src="../res/image/login/icon.menu.gif"/>用户资料更改</div>'+
		                '       <div class="Out" onclick="parent.openWindow(\'../friend/index.aspx\')"><img src="../res/image/login/icon.menu.gif"/>好友管理中心</div>'+
		                '       <div class="Out" onclick="parent.openWindow(\'../message/index.aspx\')"><img src="../res/image/login/icon.menu.gif"/>信息管理中心</div>'+
		                '       <div class="Out" onclick="parent.openWindow(\'../group/index.aspx\')"><img src="../res/image/login/icon.menu.gif"/>群组管理中心</div>'+
		                '       <div class="Out" onclick="window.open(\'../portal/blogcreate.aspx\')"><img src="../res/image/login/icon.menu.gif"/>我的BLOG空间</div>'+
		                '       <div class="Out" onclick="parent.openWindow(\'../user/function.aspx\',false,500,400)"><img src="../res/image/login/icon.menu.gif"/>购买特殊技能</div>'+
                        '  </body>'+
                        '</html>');
    obj.document.close();
}
//start msg flash
setInterval('onflash_msgbox()',500,'javascript');
//-->
