//create by Siva
//last modified 2011-07-18

cpdyj.login = {
	login : function(o){
		var owner = this;
		var u=$(o.username);
		var p=$(o.password);
		//alert(o.loginDiv);
		var c=$(o.checkcode);
		var yzm=$(o.yzm);
		var s=$(o.submit);

		if(typeof o.log.error!="function") o.log.error = function(msg){$(o.errDiv).html("<s></s>" + msg);};

		if(u.val().length<1){$(o.errDiv).show();o.log.error("用户名不能为空！");u.focus();return ;}
		if(p.val()==""){$(o.errDiv).show();o.log.error("密码不能为空！");p.focus();return ;}
		if(c.val().length!=4){$(o.errDiv).show();o.log.error("请输入正确的验证码！");c.focus();return ;}
		s.unbind();
		$.ajax({
			url:$t.loginUri,
			type:"POST",
			dataType:"xml",
			//contentType:$_charset_GBK,
			data:"username="+encodeURIComponent(u.val())+"&password="+encodeURIComponent(p.val())+"&checkcode="+c.val()+"&isremember=&rnd="+Math.random(),
			error:function(){if(typeof o.log.errorResp=="function") o.log.errorResp();},
			success:function(xmlDoc){
				var $xml = $(xmlDoc);
				var code = $xml.find("Resp").attr("code");
				//alert($(xmlDoc).find("Resp").attr("code"));
					switch(code){
					case "-2":
						if(typeof o.log.errorYzm=="function") o.log.errorYzm();
						else{$(o.errDiv).show();o.log.error("验证码错误，请重试！")};
						c.focus();
						yzm.attr("src",$t.yzmUri+"?rnd="+Math.random());
						s.bind("click",function(){owner.login(o)});
						break;
					case "2":
						if(typeof o.log.errorUser=="function") o.log.errorUser();
						else{$(o.errDiv).show();o.log.error("用户名或密码错误！")};
						p.focus();
						yzm.attr("src",$t.yzmUri+"?rnd="+Math.random());
						s.bind("click",function(){owner.login(o)});
						break;
					case "3":
						if(typeof o.log.errorLock=="function") o.log.errorLock();
						else{$(o.errDiv).show();o.log.error("该用户被系统锁定，请联系客服进行查询！")};
						yzm.attr("src",$t.yzmUri+"?rnd="+Math.random());
						s.bind("click",function(){owner.login(o)});
						break;
					case "4":
						if(typeof o.log.success=="function") o.log.success();
						else{$(o.errDiv).hide();o.hide();}
						var ui = $xml.find("user");
						cpdyj.tool.setCookies([["islogin",true],["username",ui.attr("username")],["pnusername",ui.attr("pnusername")],["isagent",ui.attr("isAgent")],["usertype",ui.attr("usertype")]]);
						owner.isLogin(o);				
						break;
					case "5":
						if(typeof o.log.success2=="function") o.log.success2();
						else{$(o.errDiv).hide();o.hide();}
						var ui = $xml.find("user");
						cpdyj.tool.setCookies([["islogin",true],["username",ui.attr("username")],["pnusername",ui.attr("pnusername")],["isagent",ui.attr("isAgent")],["usertype",ui.attr("usertype")]]);
						owner.isLogin(o);
						break;
					default:
						if(typeof o.log.elseDo=="function") o.log.elseDo();
						else{$(o.errDiv).hide();o.log.error("登录失败，请稍后再试！");}
						s.bind("click",function(){owner.login(o)});
				}
			}
		});
	},
	isLogin : function(o){
		var owner = this;
		var uname="";
		var pnusername="";
		var isagent="";
		var usertype="";
		var urlusername="";
		var usermoney = "";
		$.ajax({
			type:"GET",
			url:$t.isLoginUri+"?rnd="+Math.random(),
			dataType :"xml",
			error:function(){
				//o.log.status = false;
				if(typeof o.isLogin=="function"){o.isLogin(false)}
			},
			success:function(xmlDoc){
				var $xml = $(xmlDoc);
				var code=$xml.find("Resp").attr("code");
				if (code == "0"){
					var ui=$xml.find("userinfo");					
					//alert(userinfo);
					uname = ui.attr("username");
					pnusername = ui.attr("pnusername");
					isagent = ui.attr("isagent");
					usertype = ui.attr("usertype");
					urlusername = ui.attr("urlusername");
					
					if(typeof o.log.getUserMoney == "function"){owner.getUserMoney(o);}
					if(typeof o.log.getSecurityRank == "function"){owner.getSecurityRank(o);}

				}
				//o.log.status = (code=="0");
				//alert(o.log.status);
				if(typeof o.isLogin=="function"){o.isLogin(code=="0",uname,pnusername,isagent,usertype,urlusername)}
			}
		});
	},
	logout : function(o){
		var owner = this;
		$.get($t.logoutUri,function(xmlDoc){
			var code=$(xmlDoc).find("Resp").attr("code");
			if(code=="0"){
				$(o.username).val("");
				$(o.password).val("");
				$(o.checkcode).val("");
				$(o.yzm).attr("src",$t.yzmUri+"?rnd="+Math.random());
				$(o.submit).bind("click",function(){owner.login(o);});
				owner.isLogin(o);
				cpdyj.tool.delCookies(["islogin","username","pnusername","isagent","usertype"]);
			}			
		});
	},
	getUserMoney : function(o){
		var m="0";
		$.ajax({
			url:$t.userMoneyUri,
			type:"get",
			dataType:"xml",
			success:function(xmlDoc){
				var $xml = $(xmlDoc);
				var code = $xml.find("Resp").attr("code");
				if(code=="0"){
					m = $xml.find("Resp>result").attr("money");
				}
				if(typeof o.log.getUserMoney=="function"){o.log.getUserMoney(code=="0",m);}
			}
		});
		return m;
	},
	getSecurityRank : function(o){
		var rnd = Math.random();
		var rankDesc = ["差","低","中","高"];
		$.ajax({
			url: $t.securityRankUri,
			type: "POST",
			dataType: "xml",
			data: "rnd="+rnd,
			success: function(xmlDoc){
				var $xml = $(xmlDoc);
				var code = $xml.find("Resp").attr("code");
				var desc = $xml.find("Resp").attr("desc");;
				if (code == 0) {
					var r = $xml.find("Resp>secure");
					var rank = r.attr("rank");
					//var bindUserInfo = r.attr("BindBase");
					//var bindMobile = r.attr("BindMobile");
					//var bindEmail = r.attr("BindEmail");
					var rd = rankDesc[rank]?rankDesc[rank]:"";
					if(typeof o.log.getSecurityRank=="function"){o.log.getSecurityRank(rd);}
					//if(rank==0||rank==1||rank==2){
					//	$("#security_rank").html("账户安全等级:"+$_bf_ck.initCaculateRank(_rank)[0]+"&nbsp;<a href=\"/trade/index.html?path=/user/manage/securecenter.html\" target=\"_blank\" style=\"color: red;\">提升</a>");
					//}
					//else{
					//	$("#security_rank").html("");
					//}
					return false;
				} else {
					alert("获取用户安全信息失败！\n\n原因:"+desc);
					return false;
				}
			},
			error:function(){
				alert("您所请求的页面有异常！");
				return false;
			}	
		});
	}
};
