﻿var AjaxLogin = PassportClass.create();
AjaxLogin.prototype = {
    initialize : function (){
        this.username = null;
        this.userpwd = null;
        this.usercode = null;
        this.valinum1 = null;
        this.valinum2 = null;
        this.valinum3 = null;
        this.ekeynum = null;
    },
    Submit : function() {
        if(LoginPage.CheckData()){
            $("#msginfo").html("");
            $("#msginfo").hide();
            $("#logininfo").show();
            $("#subbutton").hide();
            page.AjaxSubmit();
        }
    },
    MatrixSubmit : function(){
    	if(LoginPage.CheckMatrixData()){
    		$("#msginfo").html("");
            $("#msginfo").hide();
            $("#submibaoka").hide();
            $("#miabokaloading").show();
            page.AjaxMatrixSubmit();
    	}
    },
    EkeySubmit : function(){
        if(LoginPage.CheckEkeyData()){
            $("#msginfo").html("");
            $("#msginfo").hide();
            $("#submibaoka").hide();
            $("#miabokaloading").show();
            page.AjaxEkeySubmit();
        }
    },
    ChangeValiedCode : function () {
        var imgsrc = "../KeyCode.aspx?a=" + Math.random();
        $("#img_code").attr("src",imgsrc);
    },
    ShowMiBaoKaErrorInfo : function (errmsginfo){
        $("#msginfo").html(errmsginfo);
        document.getElementById("msginfo").style.display = "block";
        $("#miabokaloading").hide();
        $("#submibaoka").show();
        return false;
    },
    ShowErrorInfo : function (errmsginfo){
        $("#msginfo").html(errmsginfo);
        document.getElementById("msginfo").style.display = "block";
        $("#logininfo").hide();
        $("#subbutton").show();
        return false;
    },
    clickButton : function (e,buttonid){
        var bt = $("#" + buttonid);
        if(typeof bt == "object"){
            if(e == null){
                e = window.event;
            }
            if(e.keyCode == 13){
                if(document.activeElement.name == "txtUser"){
                    if(validate.isEMail($("#txtUser").val()))
                    {   
                        bt.click();
                        return false;
                    }
                    else{
                        return false;
                    }
                }
                else {
                    bt.click();
                    return false;
                }
            }
        }
    },
    AjaxEkeySubmit : function(){
    	$.ajax({
    		type : "POST",
    		url : "../Wbsrv/AjaxLoginHandler.ashx?rand="+Math.random(),
    		cache : false,
    		async : true,
    		data : {"ekeynum":this.ekeynum,"type":"checkekey"},
    		success : function(msg){
                var result = eval("(" + msg + ")");
                switch(result.success){
	    			case "0":
	    			    window.location="index.aspx";
    					break;
    				case "1":
    				    $("#logindiv").html(result.info);
	    				page.ShowErrorInfo("密保卡连续输错3次，请1小时后重试");
	    				break;
	    			case "2":
	    			    $("#txtekey").val("");
	    			    $("#txtekey").focus();
    					page.ShowMiBaoKaErrorInfo("您输入的密保错误，请重新输入");
    					break;
    				case "3":
    				    $("#txtekey").val("");
    				    $("#txtekey").focus();
    					page.ShowMiBaoKaErrorInfo("本次密码已使用，请输入新的密码");
    					break;
    				case "4":
    				    $("#logindiv").html(result.info);
    					page.ShowErrorInfo("服务器繁忙，请稍候再试。");
    					break;	
    			}
    		},
    		error : function(){
    			page.ShowMiBaoKaErrorInfo("验证超时，请重新登录。");
    		}
    	})
    },
    AjaxMatrixSubmit : function (){
        $.ajax({
            type : "post",
    		url : "../Wbsrv/AjaxLoginHandler.ashx?rand="+Math.random(),
    		cache : false,
    		async : true,
    		data : {"valinum1":this.valinum1,"valinum2":this.valinum2,"valinum3":this.valinum3,"type":"checkmatrix"},
    		success : function(msg){
    		var result = eval("(" + msg + ")");
                switch(result.success){
    				case "0":
    					window.location="index.aspx";
    					break;
    				case "1":
    				    $("#logindiv").html(result.info);
	    				page.ShowErrorInfo("密保卡连续输错3次，请1小时后重试");
	    				break;
	    			case "2":
	    			case "3":
                        $("#logindiv").html(result.info);
                        $("#txtvalinum1").focus();
    					page.ShowMiBaoKaErrorInfo("您输入的密保错误，请重新输入");
    					break;
                    case "4":
    				    $("#logindiv").html(result.info);
    					page.ShowErrorInfo("服务器繁忙，请稍候再试。");
    					break;
    			}
    		},
    		error : function(msg){
    			page.ShowMiBaoKaErrorInfo("验证超时，请重新登录。");
    		}
        })
    },
    AjaxSubmit : function() {
        $.ajax({
            type : "post",
            url : "../Wbsrv/AjaxLoginHandler.ashx?rand="+Math.random(),
            cache : false,
            async : true,
            data : {"username" : this.username, "userpwd" : this.userpwd, "txtcode" : this.usercode,"type" : "checklogin"},
            success : function(msg){
                var result = eval("(" + msg + ")");
                switch(result.success){
                    case "0" :
                        window.location="index.aspx";
                        break;
                    case "7" : 
                        page.ShowErrorInfo("用户名或密码错误。");
                        $("#txtPwd").val("");
                        $("#txtCode").val("");
                        page.ChangeValiedCode();
                        break;
                    case "6" :
                        page.ShowErrorInfo("验证码超时。");
                        $("#txtCode").val("");
                        page.ChangeValiedCode();
                        break;
                    case "5" :
                        page.ShowErrorInfo("验证码错误。");
                        $("#txtCode").val("");
                        break;
                    case "4" :
                        page.ShowErrorInfo("服务器繁忙，请稍候再试。");
                        break;
                    case "1":
                        page.ShowErrorInfo("通行证账号格式不正确！");
                        break;
                    case "3":
                        page.ShowErrorInfo("密码格式不正确，必须6-20位！");
                        $("#txtPwd").val("");
                        break;
                    case "8":
                    	page.ShowErrorInfo("密保卡连续输错3次，请1小时后重试")
                    	break;
                    case "9":
                        $("#logindiv").html(result.info);
                        break;
                }
            },
            error : function() {
                 page.ShowErrorInfo("请求超时，请重新登录。");
            }
        });
    }
}

var AjaxLoginPage = PassportClass.create();
AjaxLoginPage.prototype = {
    initialize : function() {
    },
    CheckMatrixData : function () {
      page.valinum1 = $.trim($("#txtvalinum1").val());
      page.valinum2 = $.trim($("#txtvalinum2").val());
      page.valinum3 = $.trim($("#txtvalinum3").val());
      if(page.valinum1 == "" || page.valinum1.length != 2 || validate.isNum(page.valinum1)){
      	$("#txtvalinum1").focus();
      	page.ShowErrorInfo("请输入正确的密保");
      	return false;
      }
      if(page.valinum2 == "" || page.valinum2.length != 2 ||validate.isNum(page.valinum2)){
      	$("#txtvalinum2").focus();
      	page.ShowErrorInfo("请输入正确的密保");
      	return false;
      }
      if(page.valinum3 == "" || page.valinum3.length != 2 ||validate.isNum(page.valinum3)){
      	$("#txtvalinum3").focus();
      	page.ShowErrorInfo("请输入正确的密保");      	
      	return false;
      }
      $("#msginfo").hide();
      return true;
    },
    CheckEkeyData : function (){
      page.ekeynum = $.trim($("#txtekey").val());
      if(page.ekeynum == "" || page.ekeynum.length !=6 || validate.isNum(page.ekeynum)){
        $("#txtekey").focus();
        page.ShowErrorInfo("请输入正确的密保");
        return false;
      }
      $("#msginfo").hide();
      return true;
    },
    CheckData : function() {
        page.username = $.trim($("#txtUser").val());
        page.userpwd = $.trim($("#txtPwd").val());
        page.usercode = $.trim($("#txtCode").val());
        if(page.username == ""){
            $("#msginfo").html("通行证账号不能为空！");
            $("#msginfo").show();
            $("#txtUser").focus();
            return false;
        }
        else if(!validate.isEMail(page.username)){
            $("#msginfo").html("通行证账号格式不正确！");
            $("#msginfo").show();
            $("#txtUser").focus();
            return false;
        }
        
        if(page.userpwd == ""){
            $("#msginfo").html("账号密码不能为空！");
            $("#msginfo").show();
            $("#txtPwd").focus();
            return false;
        }
        else if(page.userpwd.length <6 || page.userpwd.length >20){
            $("#msginfo").html("账号密码必须为6至20位之间");
            $("#msginfo").show();
            $("#txtPwd").focus();
            return false;
        }
        
        if(page.usercode == "" || page.usercode.length != 4){
            $("#msginfo").html("请输入正确的验证码！");
            $("#msginfo").show();
            $("#txtCode").focus();
            return false;
        }
        $("#msginfo").hide();
        return true;
    }
}
