﻿var xmlHttp = false;
try {
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
    try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e2) {
        xmlHttp = false;
    }
}
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
    xmlHttp = new XMLHttpRequest();
}

function object_from_json(request) {
    if (request.responseXML != null && request.responseXML.xml != null && request.responseXML.xml != '')
        return request.responseXML;

    var r = null;
    eval('r=' + request.responseText + ';');
    return r;
}

function requestinfo(arg, callback) {
    var url = "http://bbs.mplife.com/tools/ajaxlogin.aspx?" + arg;
    xmlHttp.open("GET", url, true);
    if (callback)
        xmlHttp.onreadystatechange = callback;
    xmlHttp.send(null);

    return false;
}

function UI_Login() {
    var strLogin = '';
    strLogin += "<form action=\"http://bbs.mplife.com/login.aspx\" method=\"post\" onsubmit=\"return Passport.login();\">";
    strLogin += "<p>";
    strLogin += "  <label>用户名</label>";
    strLogin += "  <input type=\"text\" class=\"ipt_txt\" id=\"username\" tabindex=\"1\" maxlength=\"20\"/>";
    strLogin += "</p>";
    strLogin += "<p>";
    strLogin += "  <label>密&nbsp;&nbsp;码</label>";
    strLogin += "  <input type=\"password\" class=\"ipt_txt\" id=\"password\" tabindex=\"2\" maxlength=\"50\"/>";
    strLogin += "</p>";
    strLogin += "<p>";
    strLogin += "  <label>验证码</label>";
    strLogin += "  <input type=\"text\" class=\"ipt_code\" id=\"validcode\" tabindex=\"3\" maxlength=\"5\"/>";
    strLogin += "  <img class=\"verifyimg\" style=\"cursor:pointer;\" id=\"verify\" name=\"verify\" src=\"http://bbs.mplife.com/tools/homeverifyimagepage.aspx?" + Math.random() + "\" onclick=\"Passport.referesh('verify');\"/>";
    strLogin += "</p>";
    strLogin += "<p id=\"ipt_btns\">";
    strLogin += "  <input type=\"submit\" class=\"login_btn\" tabindex=\"4\" value=\" \" />";
    strLogin += "  <input type=\"button\" class=\"reg_btn\" value=\" \" onclick=\"window.open('http://passport.mplife.com/register.aspx');\"/>";
    strLogin += "</p>";
    strLogin += "</form>";

    return strLogin;
}

function UI_Logined(message, pms) {
    var strLogin = '';
    strLogin += " <p id=\"after_login\"><b>" + message + "</b>,欢迎回来</p>";
    strLogin += " <p class=\"member_apps\"><a href=\"http://passport.mplife.com/index.aspx\" target=\"_blank\">我的MP</a><a href=\"http://passport.mplife.com/inbox.aspx\" target=\"_blank\">短消息<b>(" + pms + ")</b></a><a href=\"#\" onclick=\"return Passport.loginout();\" style=\"text-align:center\">退出</a></p>";
    strLogin += " <p class=\"member_apps\"><a href=\"http://passport.mplife.com/friends.aspx\" target=\"_blank\">我的好友</a><a href=\"http://passport.mplife.com/card.aspx\" target=\"_blank\">会员卡</a><a href=\"http://www.mplife.com/help/help_index.html\" style=\"text-align:center\" target=\"_blank\">帮助</a></p>";

    return strLogin;
}

function UI_Loading() {
    var strLogin = "<p id=\"logining\"><img src=\"images/newloading.gif\" /><span>正在读取...</span></p>";
    return strLogin;
}
/*--  --*/
function testLogin() {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
        var result = object_from_json(xmlHttp);
        var strLogin = '';

        if (result.state == "ok") {
            strLogin = UI_Logined(result.message, result.count);
        }
        else {
            strLogin = UI_Login();

        }
        loginFrm.innerHTML = strLogin;
    }
}

function login() {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
        var result = object_from_json(xmlHttp);
        if (result.state == "error") {
            loginFrm.innerHTML = UI_Login();
            alert(result.message);
        }
        else {
            loginFrm.innerHTML = UI_Logined(result.message, result.count);
        }
    }
}

function loginOut() {
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
        loginFrm.innerHTML = UI_Login();
    }
}

var Passport =
{
    testLogin: function() {
        // loding
        loginFrm.innerHTML = UI_Loading();
        requestinfo("action=checklogin", testLogin);
    },

    login: function() {
        var inputUsername = document.getElementById("username");
        var inputPassword = document.getElementById("password");
        var validcode = document.getElementById("validcode");
        if (inputUsername && inputPassword && validcode) {
            if (inputUsername.value == "") {
                alert("请输入用户名");
                return false;
            }
            if (inputPassword.value == "") {
                alert("请输入密码");
                return false;
            }
            if (validcode.value == "") {
                alert("请输入验证码");
                return false;
            }

            loginFrm.innerHTML = UI_Loading();
            requestinfo("action=login&username=" + escape(inputUsername.value) + "&password=" + escape(inputPassword.value) + "&verifycode=" + validcode.value, login);
        }

        return false;
    },

    loginout: function() {
        loginFrm.innerHTML = UI_Loading();
        requestinfo("action=logout", loginOut);
        return false;
    },

    referesh: function(obj) {
        var dest = document.getElementById(obj);
        if (dest == null) return;
        dest.src = "http://bbs.mplife.com/tools/homeverifyimagepage.aspx?" + Math.random();
    }
}

var loginFrm = document.getElementById("loginfrm");
Passport.testLogin();