var Entry = (function(){
	var _startFlag = false;
	
	var topUrl = "";
	try {
		topUrl = top.location.href;
	}catch(e) {
		topUrl = location.href;
	}
	
	var getCookie = function(key) {
		var reg = new RegExp("(^| )"+key+"=([^;]*)(;|$)");
		var arr = document.cookie.match(reg);
		return arr==null? null : decodeURIComponent(arr[2]); //unescape(arr[2]);
	};
	
	function _extra(ex,to){
		to = to || this;
		for(var n in ex){
			to[n] = ex[n];
		};
		return to;
	};
	
	function _validate(o){					
		var rember = getCookie("rember");
		var userInfo = getCookie("userInfoSNS");

		if (rember&&!userInfo) {		//说明已经记住“我”的登录状态，强制转到登录
			delete o["code"];			
			return "http://www.woniu.com/account/login.do?service="+topUrl;
		}
			
		if (!o["code"] || o["code"] == 0) {
			var userGame = getCookie("userGame");
			if (userGame < 0) { //验证是否完善基本游戏资料(优先处理身份、激活等情况)
				o["code"] = "4100";
			}
		}
		
		if (o["code"]) {
			switch(String(o["code"])) {
				case "4029":		//未激活
					return "http://reg.woniu.com/?userType=2&email="+o["email"];
					break;
				case "1501":		//锁定
					return false;
					break;
				case "1402":
					return "http://www.woniu.com/account/login.do?service="+topUrl;
					break;
				case "4100":
					return "http://www.woniu.com/login/game.html";
					break;
				default :
					alert(o["des"]||o["msg"]||"SSO Entry - 未知错误");
					return false;
					break;
			}
		} else if (o["redirectUrl"]) {
			return "http://www.woniu.com/login/?service="+topUrl;
		}
		else{
			return true;
		}
	};
	
	//设置 定时握手
	var _vTime = 0,_vTimeF = function(){
		//alert(1);
		var oldTag = document.getElementById("Entry.vTime");
		if (oldTag) {
			oldTag.parentNode.removeChild(oldTag);//alert(2);
		}
		var ns = document.createElement("script");
//		ns.src='http://snslogin.woniu.com/sns/identity.do?jsback=Entry.vTime&v=' + Date.parse(new Date());
		ns.src='http://www.woniu.com/account/clash.do?jsback=Entry.vTime&v=' + Date.parse(new Date());
		ns.type="text/javascript";
		ns.id="Entry.vTime";
		document.getElementsByTagName("head")[0].appendChild(ns);
		//alert(2323);
		//document.getElementById("Entry.vTime").src = 'http://my.woniu.com/sns/identity.do?jsback=Entry.vTime&v=' + Date.parse(new Date());
	},_vTimeInterval;
	
	return _extra({
		userValidate:function(o){
			var v = _validate(o);
			if(v===true){
				if(_vTime){
					//setTimeout(_vTimeF,_vTime);
					_vTimeInterval = setInterval(_vTimeF,_vTime);
				};
				try {
					Entry.$validateComplete(o);
				}catch(e){}
			}
			else if(v===false){
				
			}
			else{				
				try {
					var code=o["code"];
					if (Entry[code]) {
						Entry[code](v);
					} else {
						Entry.$vTimeFail(o, v);
					}
				}catch(e){
					try {
						top.location.replace(v);
					}catch(e1){
						location.replace(v);
					}
				}
			}
		},
		extra:_extra,
		setVTime:function(t){
			_vTime = t || _vTime;
			if(/*document.getElementById("Entry.vTime") && */_vTime){
				_vTimeInterval = setInterval(_vTimeF,_vTime);
			};
			return Entry;
		},
		vTime:function(o){
			var v = _validate(o);			
			if(v===true){
				try {
					Entry.$vTimeSuccess(o);
				}catch(e){}
			}
			else{
				clearInterval(_vTimeInterval);
				try {
					var code=o["code"];
					if (Entry[code]) {
						Entry[code](v);
					} else {
						Entry.$vTimeFail(o, v);
					}
				}catch(e){
					try {
						top.location.href = v;
					}catch(e1){
						location.href = v;
					}
				}
			}
		},
		getUserInfo: function(){
			var D1XN_INFO = getCookie("userInfoSNS");
			if (D1XN_INFO) {
				var info = D1XN_INFO.split(/\+&&&&/g);
				var time = getCookie("lastTime");
				
				var userInfo = {
					lastTime: time,
					userId: (info[0]),
					account: (info[1]),
					nickName: (info[2]),
					sex: (info[3])
				};
				return userInfo;
			}
		}
	},function(flag){
		if(flag) {	//页面载入时启动验证
			document.write('<script id="Entry.vTime" src="http://www.woniu.com/account/identity.do?jsback=Entry.userValidate&v='+Date.parse(new Date())+'&loginUrl='+topUrl+'"><'+'/script>');
		}
//		document.write('<script id="Entry.vTime" src="http://snslogin.woniu.com/sns/identity.do?jsback=Entry.userValidate&v='+Date.parse(new Date())+'&loginUrl='+topUrl+'"><'+'/script>');
//		try{if(!User.userId){return}}catch(e){};
//		document.write('<script id="Entry.vTime" src="http://www.woniu.com/account/identity.do?jsback=Entry.userValidate&v='+Date.parse(new Date())+'&loginUrl='+topUrl+'"><'+'/script>');
//		Entry.userValidate({});	//模拟启动握手
//		if  (window.User&&window.User.userId)  {
//			_startFlag = true;
//		}
	});
})();