var GKUANTU_INIT_CB = null;
var DEFAULT_FROM = "kuantu";
zk.loginstate = { 
	isLogin : function(){
		return zk.cookie.get("user_id") && zk.cookie.get("user_id") != null &&
		zk.cookie.get("user_email") && zk.cookie.get("user_email") != null &&
		zk.cookie.get("user_sign") && zk.cookie.get("user_sign") != null;
	},
	set_htmlstate : function(){
		if (! zk.$D("#login_state") ) {
			return;
		}
		if ( ! this.isLogin() ) {
			zk.$D("#login_state").innerHTML = this.get_default_htmlcode();
		} else {
			zk.$D("#login_state").innerHTML = this.get_islogin_htmlcode();
		}
	},
	set_default_from : function(from){
		if (from != "kuantu" && from != "namipan" && from != "vagaa") {
			return;
		}
		DEFAULT_FROM = from;
	},
	get_default_htmlcode : function(){
		var ret = [];
		ret.push('<h2>用户登录</h2>');
	        ret.push('<div class="tx">请选择您的帐号类别</div>');
		ret.push('<div class="zhly"><input type="radio" name="from" value="kuantu" id="l_from_k" ');
		if (DEFAULT_FROM == "kuantu"){
			ret.push('checked');
		}
		ret.push(' /> 宽途用户&nbsp;&nbsp;');
		ret.push('<input type="radio" name="from" value="namipan" id="l_from_n" ');
		if (DEFAULT_FROM == "namipan"){
			ret.push('checked');
		}
		ret.push(' />纳米盘用户</div>');
		ret.push('<div class="name">帐&nbsp;&nbsp;号<input type="text" name="name" id="l_name" class="inp1" /></div>');
		ret.push('<div class="name">密&nbsp;&nbsp;码<input type="password" name="password" id="l_pwd" class="inp1" /></div>');
		ret.push('<div class="an"><input type="button" value="登陆" class="but1" onclick="zk.loginstate.login()();" />'+
			 '<input type="button" class="but1" value="快速注册" onclick="window.location=\'http://gl.kuantu.com/reg.html\'"/></div>');
		ret.push('<div class="jm"><input type="checkbox" name="l_save" value="1" id="l_save" />保存密码&nbsp;&nbsp;&nbsp;<a href="http://www.kuantu.com/">忘记密码</a></div>');
		return ret.join("\n");
	},
	get_islogin_htmlcode : function(){
		var ret = [];
		var from = zk.cookie.get("user_from");
		var name = '';
		var space = '';
		var change = '';
		var title = '';
		var space_name = '';
		if (!from || from == 'kuantu') {
			name = zk.cookie.get("user_name");
			space = "http://www.kuantu.com";
			change = "http://www.kuantu.com/user/change_passwd.php";
			title = "欢迎您登陆宽途游戏";
			space_name = "个人中心";
		}
		if (from == 'namipan') {
			name = zk.cookie.get('user_email');
			var tmp = name.split('%40');
			name = tmp[0];
			space = "http://www.namipan.com";
			change = "http://www.namipan.com/User.php?act=account";
			title = "您目前使用[纳米盘]账号登录";
			space_name = "我的纳米盘";
		}
		if (from == 'vagaa') {
			name = zk.cookie.get('user_email');
			var tmp = name.split('%40');
                        name = tmp[0];
                        space = "http://www.emule.com.cn";
			change = "http://pass.vagaa.com/pass_find_pwd.php";
			title = "您目前使用[哇嘎]账号登录";
			space_name = "我的哇嘎";
		}
		name = decodeURI(name);
		ret.push('<h2>用户登录</h2>');
		ret.push('<div class="tx">'+title+'</div>');
		ret.push('<p class="p2">'+ name +'</p>');
		ret.push('<p class="p3">[<a href="'+ space +'" target="_blank">'+space_name+'</a>] [<a href="'+ change +'" target="_blank">修改密码</a>] [<a href="javascript://" onclick="zk.loginstate.logout()();">安全退出</a>]</p>');
		ret.push('<p class="p4"><a href="http://gl.kuantu.com/pay/"><img src="/images/an_cz.gif" /></a><a href="http://g.kuantu.com/gamelist/"><img src="/images/an_ks.gif" /></a></p>');
		return ret.join("\n");
	},
	get_wait_htmlcode : function(){
		var ret = [];
		ret.push("请求中，请稍后...");
		return ret.join("\n");
	},
	e_keydown : function(ev){
		var _t = this;
		return function(){
			var e = ev || event;
			if ( parseInt(e.keyCode) === 13 ) {
				_t.login()();
				zk.$E.cancel(e);
			}
		};
	},
	login : function(){
		var _t = this;
		return function() {
			var ex_name = [/^(\w|_){4,16}$/, /^[-a-zA-Z0-9_\.]+\@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,3}$/];
			var ex_pwd = /^(\w|_){6,32}$/;
			var name = zk.$D("#l_name").value, pwd = zk.$D("#l_pwd").value;
			if ( ! ex_name[0].test(name) && ! ex_name[1].test(name) ) {
				alert("请输入正确的通行证");
				return false;
			}
			
			var save_pass = zk.$D("#l_save").checked ? "1" : "0";
			var from="kuantu";
			if (zk.$D("#l_from_n").checked) {
				from = "namipan";
			}
			var post = "name=" + name + "&password=" + pwd + "&savepass=" + save_pass + "&from=" + from;

			zk.$D("#login_state").innerHTML = _t.get_wait_htmlcode();
			var ajax = new zk.ajax( "/ajax/login.php?time=" + escape(new Date()), "post", post, function( data ){
				var ret = data.getText();
				_t.set_htmlstate();
				if ( ret !== "1" ) {
					alert("您输入的登录信息有误，请核实后再试！");
					zk.$D("#l_name").value = name;
				}
			} );
		};
	},
	logout : function(){
		var _t = this;
		return function(){
			zk.$D("#login_state").innerHTML = _t.get_wait_htmlcode();
			var e=document.createElement('script');
                	e.setAttribute('type','text/javascript');
                	e.setAttribute('charset','UTF-8');
                	e.setAttribute('src','http://g.kuantu.com/ajax/logout.php');
                	document.getElementsByTagName("head")[0].appendChild(e);
			return;
		};
	},
	set_init_cb : function(callback){
		GKUANTU_INIT_CB = callback;
	},
	init : function(){
		if (this.isLogin()) {
			if (zk.$D("#login_state") )
				zk.$D("#login_state").innerHTML = this.get_islogin_htmlcode(); 
			return;	
		}
		var e=document.createElement('script');
		e.setAttribute('type','text/javascript');
		e.setAttribute('charset','UTF-8');
		e.setAttribute('src','http://g.kuantu.com/ajax/check_login_namipan.php');
		document.getElementsByTagName("head")[0].appendChild(e);
		return;
	},
	init_next : function(){
		if (this.isLogin()) {
			if (zk.$D("#login_state"))
                        	zk.$D("#login_state").innerHTML = this.get_islogin_htmlcode();
			if (GKUANTU_INIT_CB) 
				GKUANTU_INIT_CB('namipan');
                        return;
                }	
		if (zk.$D("#login_state"))
			zk.$D("#login_state").innerHTML = this.get_default_htmlcode();
		if (GKUANTU_INIT_CB)
			GKUANTU_INIT_CB('no');
                return;	
	},
	init_real : function(){
		this.set_htmlstate();
		if (GKUANTU_INIT_CB){
		    if (this.isLogin()){
                    	GKUANTU_INIT_CB('vagaa');
		    }
		    else {
			GKUANTU_INIT_CB('no');
		    }
		}
                return;
	}
};
