var ID_or_Email_NotExist = "帳戶不存在";
var Invalid_password = "無效的密碼";
var Verification_code_incorrect = "驗證碼錯誤";
var Password_match = "兩次輸入的密碼不匹配";
var Invalid_email_address = "無效的信箱地址";
var Password_length = "密碼長度至少應為6個字符"
var Account_ID_exists = "帳戶已存在"
var Passport_Pure_Domain = "my.gamedor.com";
var Passport_Domain_Url = "http://" + Passport_Pure_Domain;
var Passport_LoginNum = "17";
var Passport_LoginToken = "123";
var Passport_Server_Domain = "server.dc.gamedor.com";

var PassportScore = {
    loginPost: Passport_Domain_Url + "/dologon.axd?",
    loginGet: Passport_Domain_Url + "/dologin.axd?",
    checkCodeUrl: Passport_Domain_Url + "/ConfirmationCode.ashx",
    getUserStateUrl: Passport_Domain_Url + "/loginstatus.axd?",
    regUrl: Passport_Domain_Url + "/Account/Register?",
    getPwdUrl: Passport_Domain_Url + "/Account/ResetPassword",
    checkUsernameExist: "http://my.gamedor.com/PlatFormLogin.axd?ptflag=usernamecheck&callback=?&username=",
    loginNum: Passport_LoginNum,
    loginToken: Passport_LoginToken,
    receiveUrl: "",
    goUrl: "",
    domain: "",
    firstLogin:"",
    init: function() {
    },
    checkUserState: function() {
        /*var B = this.getCookie("PASSPORT_LOGINCOUNT");
        if (this.domain == "") {
            this.domain = this.getDomain()
        }
        this.SetCookie("PASSPORT_LOGINCOUNT", "1", null, null, "."
				+ this.domain, false);
        if (B != "1") {
            var A = this.getUserStateUrl + "a=" + this.loginNum + "&t="
					+ this.loginToken + "&json=true&jsoncallback=?";
            $.getJSON(A, function(D) {
                if (D != "") {
                    var C;
                    C = D.split(":");
                    if (C[2] == "logon=true") {
                        A = this.loginGet + "a=" + this.loginNum + "&t="
								+ this.loginToken + "&d=" + firstLogin + "&r="
								+ this.receiveUrl + this.goUrl;
                        window.location.href = A
                    }
                }
            })
        }*/
    },
    loginSucess: function() {
    },
    showLoginForm: function() {
        return ""
    },
    showRegForm: function() {
        return ""
    },
    loginOut: function() {
    },
    submitCheck: function() {
        var GR = $("input[name=AT]:checked").val();
        var B = $("#username");
        var D = $("#password");
        var E = $("#safecode");
        var A = $("#btnLogin");
        if (B.val().length < 4 || B.val().length > 50) {
            alert(Invalid_email_address);
            B.focus();
            return false
        }
        if (D.val().length < 4 || D.val().length > 20) {
            alert(Password_length);
            D.focus();
            return false
        }
        if (E.val().length != 4) {
            alert(Verification_code_incorrect);
            E.focus();
            return false
        }
        var C = this.loginPost + "a=" + this.loginNum + "&t=" + this.loginToken
				+ "&username=" + B.val() + "&password=" + D.val()
				+ "&safecode=" + E.val() + "&AT=" + GR
				+ "&json=true&jsoncallback=?";
        $.getJSON(
						C,
						function(G) {
						    var F = false;
						    switch (G) {
						        case "EU":
						            alert(Invalid_email_address);
						            B.focus();
						            F = false;
						            break;
						        case "EP":
						            alert(Invalid_password);
						            D.focus();
						            F = false;
						            break;
						        case "ES":
						            alert(Verification_code_incorrect);
						            E.focus();
						            F = false;
						            break;
						        case "EA":
						            alert(ID_or_Email_NotExist);
						            $("#username").val("");
						            $("#password").val("");
						            B.focus();
						            F = false;
						            break;
						        case "OK":
						            F = true
						    }
						    if (F) {
						        $("#loginForm").submit()
						    }
						});
        return false
    },
    RegCheck: function() {
        var B = $("#password");
        var C = $("#safecode");
        if (B.val().length < 4 || B.val().length > 20) {
            alert(Password_length);
            B.focus();
            return false
        }
        if (C.val().length != 4) {
            alert(Verification_code_incorrect);
            C.focus();
            return false
        }
        var A = $("#username");
        $.getJSON(this.checkUsernameExist+ A.val()+"&safecode="+C.val(), function(E) {
            var D = false;
            if (E=="1") {
                alert(Account_ID_exists);
                $("#username").focus()
            } else {
				 if(E=="2")
				 {
				     alert(Verification_code_incorrect);	
					 return false;
			     }
                $("allowReg").val(true);
                D = true
            }
            if (D) {
                $("#regForm").submit()
            }
        });
        return true
    },
    UsernameBlur: function() {
        $("#passwordtips").text("");
        var A = $("#username").val();
        if (!this.CheckEmail(A)) {
            $("#usernametips").text(Invalid_email_address);
            $("#username").focus();
            $("#passwordtips").text("");
            $("#confirmPasswordtips").text("");
            $("#safecodetips").text("");
            return
        }
       else
      {
        $("#usernametips").text("");
      }
        if (A) {
            $.getJSON(this.checkUsernameExist+ A, function(B) {
                if (B=="1") {
                    $("#usernametips").text(Account_ID_exists);
                    $("#username").focus()
                } else {
                    $("#usernametips").text("");
                    $("allowReg").val(true)
                }
            })
        }
    },
    PasswordBlur: function() {
        if (!$("#allowReg").val()) {
            return
        }
        $("#confirmPasswordtips").text("");
        var A = $("#password");
        if (A.val().length < 4 || A.val().length > 20) {
            $("#passwordtips").text(Password_length)
        }
       else
       {
         $("#passwordtips").text("");
     }
    },
    ConfirmPasswordBlur: function() {
        $("#passwordtips").text("");
        var A = $("#confirmPassword");
        var B = $("#password");
        if (A.val() != B.val()) {
            $("#confirmPasswordtips").text(Password_match)
        }
        else
        {
            $("#confirmPasswordtips").text("");
        }
    },
    SafecodeBlur: function() {
        var A = $("#safecode");
        if (A.val().length != 4) {
            $("#safecodetips").text(Verification_code_incorrect);
            return false
        }
        else
       {
          $("#safecodetips").text("");
      }
    },
    refreshimg: function() {
        var A = $("#captcha_img").attr("src"); 
        A += "?" + Math.round(Math.random() * 100000);
        $("#captcha_img").attr("src", A)
    },
    CheckEmail: function(B) {
        var A = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
        if (B != "") {
            if (A.test(B)) {
                return true
            }
        }
        return false
    },
    getDomain: function() {
        var B = document.domain.split(".");
        var A = B.length;
        if (A <= 2) {
            return document.domain
        }
        return B[A - 2] + "." + B[A - 1]
    },
    SetCookie: function(C, F, B, H, E, G) {
        var D = new Date();
        if (B != null) {
            D.setTime(D.getTime() + (B * 1000))
        }
        var A = C + "=" + escape(F)
				+ ((B == null) ? "" : ("; expires=" + D.toGMTString()))
				+ ((H == null) ? "" : ("; path=" + H))
				+ ((E == null) ? "" : ("; domain=" + E))
				+ ((G == true) ? "; secure" : "");
        document.cookie = A
    },
    getCookie: function(D) {
        var B = D + "=";
        var F = B.length;
        var A = document.cookie.length;
        var E = 0;
        while (E < A) {
            var C = E + F;
            if (document.cookie.substring(E, C) == B) {
                return this.getCookieVal(C)
            }
            E = document.cookie.indexOf(" ", E) + 1;
            if (E == 0) {
                break
            }
        }
        return null
    },
    getCookieVal: function(B) {
        var A = document.cookie.indexOf(";", B);
        if (A == -1) {
            A = document.cookie.length
        }
        return unescape(document.cookie.substring(B, A))
    },
    delCookie: function(A) {
        var C = new Date();
        C.setTime(C.getTime() - 1);
        var B = this.getCookie(A);
        document.cookie = A + "=" + B + "; expires=" + C.toGMTString()
    },
    iniLoginForm: function() {
        $("#btnSubmit").click(function() {
            return PassportScore.submitCheck()
        });
        $(document).ready(function() {
            $("#username").focus()
        })
    },
    iniRegForm: function() {
        $("#btnReg").click(function() {
            return PassportScore.RegCheck()
        });
        $("#username").blur(function(A) {
            PassportScore.UsernameBlur()
        });
        $("#password").blur(function(A) {
            PassportScore.PasswordBlur()
        });
        $("#confirmPassword").blur(function(A) {
            PassportScore.ConfirmPasswordBlur()
        });
        $("#safecode").blur(function(A) {
            PassportScore.SafecodeBlur()
        });
        $(document).ready(function() {
            $("#username").focus()
        })
    },
    userNameKeyUp: function() {
        if (event.keyCode == 13) {
            $("#password").focus()
        }
    },
    pwdKeyUp: function() {
        if (event.keyCode == 13) {
            $("#safecode").focus()
        }
    },
    checkCodeKeyUp: function() {
        if (event.keyCode == 13) {
            this.submitCheck()
        }
    }
}
//------------------------------------------
function getParams() {
    var url = window.location.href;
    var paramStr = '';
    var params = {};
    if (url.indexOf('?')) {
        paramStr = url.substring(url.lastIndexOf('?') - 0 + 1);
        var paramArray = paramStr.split('&');
        for (var i = 0; i < paramArray.length; i++) {
            var param = paramArray[i];
            var paramName = param.split('=')[0];
            var paramValue = param.split('=')[1];

            params[paramName] = paramValue;
        }
    }

    return params;
}

PassportScore.loginNum = Passport_LoginNum;
PassportScore.loginToken = Passport_LoginToken;
PassportScore.receiveUrl = " ";
PassportScore.goUrl = "http%3A%2F%2F" + Passport_Server_Domain;

//获取url中的参数,如果存在v的参数，则使用如下url
var params = getParams();
if (params.v) {
    if (params.u) {
        PassportScore.receiveUrl = "http%3A%2F%2Fu.gamedor.com%2Finput%2FinputPassport.do%3Ff=1%26v=" + params.v;
        PassportScore.goUrl = "";
    } else {
    PassportScore.receiveUrl = "http%3A%2F%2Fp.gamedor.com%2Finput%2FinputPassport.do%3Ff=1%26v=" + params.v;
        PassportScore.goUrl = "";
    }
}
//----------------------------------------
PassportScore.showRegForm = function() {
        html = '<form action="' + this.regUrl + '" method="post" id="regForm"><ul class="up">'
			+ '<input id="a" name="a" type="hidden" value="' + this.loginNum + '" />'
			+ '<input id="t" name="t" type="hidden" value="' + this.loginToken + '" />'
			+ '<input id="r" name="r" type="hidden" value="' + this.receiveUrl + this.goUrl + '" />'
			+ '<li><span>E-mail：</span><input name="username" type="text" class="in1" id="username" size="22"/></li>'
			+ '<li style="text-align:center;color:red;font-weight:bold;" id="usernametips"></li>'
			+ '<li><span>密碼：</span><input name="password" id="password" type="password" class="in1" size="22"/></li>'
			+ '<li style="text-align:center;color:red;font-weight:bold;" id="passwordtips"></li>'
			+ '<li><span>確認密碼：</span><input name="confirmPassword" type="password" id="confirmPassword" class="in1" size="22"/></li>'
			+ '<li style="text-align:center;color:red;font-weight:bold;" id="confirmPasswordtips"></li>'

                                                + '<li><span>輸入驗證碼：</span><input name="safecode" id="safecode" type="text" class="in1" style="width: 70px;" size="7"/> <img id="captcha_img" src="' + this.checkCodeUrl + '" alt="Confirmation Code"  onclick="PassportScore.refreshimg();" height="24"/></li>'
                                                + '<li style="text-align:center;color:red;font-weight:bold;" id="safecodetips"></li>'
                                                + '<li style="text-align: center;"><input name="agree" id="agree" checked="checked" type="checkbox" value="true" /><input name="agree" id="agree" type="hidden" value="false" /><input name="allowReg" id="allowReg" type="hidden" value="false" /><a href="http://www.gamedor.com/ptdb/tiaokuan.html" target="_blank">我同意《服務條款》</a></li>'
                                                + '<li style="text-align: center;margin-top: 10px;"><a href="#" class="btn04" id="btnReg"></a></li>'			
			
			+ '</ul></form>';
    return html;
}
//-----------------------------
//PassportScore.iniLoginForm();
PassportScore.checkUserState();
result = PassportScore.showRegForm();
document.write(result);
$(document).ready(function() { PassportScore.iniRegForm(); })
