
var USER_LOGINED = false;

function showTab(evt, butCon, conCon, butClass, conClass){

    evt = evt || window.event;
    evt.cancelBubble = true;
    
    var target = evt.currentTarget || evt.srcElement;       // DOM standard event model
    //if (!target) target = e.srcElement; // IE event model
    if(target.nodeName.toLowerCase() != "li"){
        return;
    }
    //alert(target.nodeName);
    
    var butC = document.getElementById(butCon);
    var conC = document.getElementById(conCon);
    
    var buts = butC.childNodes;
    var cons = conC.childNodes;

    
	function switchTab(buts, cons, target){
	
	    var index = 0;
	    var a = 0;
	
	    for(var i=0; i<buts.length; i++){
	        if(buts[i].nodeType == 1){
	        
	            a++;
	            buts[i].className = buts[i].className.replace(butClass, "");
	            
	            if(buts[i] == target){
	                buts[i].className += ' '+ butClass;
	                index = a;
	            }
	            
	        }
	    }
	    
	    
	    var b = 0;
	    
	    for(var i=0; i<cons.length; i++){
	        if(cons[i].nodeType == 1){
	        
	            b++;
	            cons[i].className = cons[i].className.replace(conClass, "");
	            
	            if(b == index){
	                cons[i].className += ' '+ conClass;
	            }
	            
	        }
	    }

	}; 
	
	window.setTimeout(function(){
		switchTab(buts, cons, target);
	}, 500);
    
};


var registerChecked = false;
var emailChecked = false;
var nameChecked = false;
var password1Checked = false;
var password2Checked = false;

function checkRegisterValue(ele, evt){
		
    evt = evt || window.event;
    var vle = ele.value;
	
	function getMsgBox(ele){
		var n = ele.nextSibling;
		while(n && (n.nodeType != 1 || (n.nodeType == 1 && n.tagName.toUpperCase() != "P"))){
			n = n.nextSibling;
		}
		
		return n;
	};
	
	var p = getMsgBox(ele);
	
	switch(ele.id){
		
		case "user_email":
			if(evt.type == "focus" && !vle){
				p.className = "msg attention";
				p.innerHTML = '请使用您常用的邮箱，方便日后找回密码。';
				emailChecked = false;
			}else if(evt.type == "blur"){
				if(!vle){
					p.className = "msg";
					p.innerHTML = '';
					emailChecked = false;
				}else if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(vle)){
					p.className = "msg error";
					p.innerHTML = '请检查您输入的邮箱地址是否合法。';
					emailChecked = false;
				}else{
					var data = {};
					data.user_email = vle;
					var parm = "data=" + encodeURIComponent(data.toJSONString());
					
					JSF.doAjax("POST", BASE_URL +"member/checkEmail.html", function(res){
						if(res == 0){
							p.className = "msg ok";
							p.innerHTML = '&nbsp;';
							emailChecked = true;
						}else{
							p.className = "msg error";
							p.innerHTML = '该邮箱地址已经被注册。';
							emailChecked = false;
						}
					}, parm);
				}
			}
		break;
		
		case "user_name":
			if(evt.type == "focus" && !vle){
				p.className = "msg attention";
				p.innerHTML = '5-20个字符（英文、下划线、数字），注册后不能修改。';
				nameChecked = false;
			}else if(evt.type == "blur"){
				if(!vle){
					p.className = "msg";
					p.innerHTML = '';
					nameChecked = false;
				}else if(!/^[a-zA-Z0-9_]{5,20}$/.test(vle)){
					p.className = "msg error";
					p.innerHTML = '请检查您的输入是否合法。';
					nameChecked = false;
				}else{
					var data = {};
					data.user_name = vle;
					var parm = "data=" + encodeURIComponent(data.toJSONString());
					
					JSF.doAjax("POST", BASE_URL +"member/checkName.html", function(res){
						if(res == 0){
							p.className = "msg ok";
							p.innerHTML = '&nbsp;';
							nameChecked = true;
						}else{
							p.className = "msg error";
							p.innerHTML = '用户名已经被使用。';
							nameChecked = false;
						}
					}, parm);
				}
			}
		break;
		
		case "user_password1":
			if(evt.type == "focus" && !vle){
				p.className = "msg attention";
				p.innerHTML = '6-16个字符，为了您的帐户安全，请不要单独使用字母或数字。';
				password1Checked = false;
			}else if(evt.type == "blur"){
				if(!vle){
					p.className = "msg";
					p.innerHTML = '';
					password1Checked = false;
				}else if(vle.length < 6 || vle.length > 16){
					p.className = "msg error";
					p.innerHTML = '请检查您的输入是否合法。';
					password1Checked = false;
				}else{
					p.className = "msg ok";
					p.innerHTML = '&nbsp;';
					password1Checked = true;
				}
			}
		break;
		
		case "user_password2":
			if(evt.type == "focus" && !vle){
				p.className = "msg attention";
				p.innerHTML = '请使用您常用的邮箱，方便日后找回密码。';
				password2Checked = false;
			}else if(evt.type == "blur"){
				var pwd1 = JSF.getDom("user_password1").value;
				if(!vle){
					p.className = "msg";
					p.innerHTML = '';
					password2Checked = false;
				}else if(vle != pwd1){
					p.className = "msg error";
					p.innerHTML = '两次输入密码不一致。';
					password2Checked = false;
				}else{
					p.className = "msg ok";
					p.innerHTML = '&nbsp;';
					password2Checked = true;
					
					if(emailChecked && nameChecked && password1Checked && password2Checked){
						JSF.getDom("button_submit").removeAttribute("disabled");
					}
				}
			}
		break;

	}
	
};


function doRegister(){
	
	var data = {};
	data.user_email = JSF.getDom("user_email").value;
	data.user_name = JSF.getDom("user_name").value;
	data.user_password1 = JSF.getDom("user_password1").value;
	data.user_checkcode = JSF.getDom("user_checkcode").value;
	var parm = "data=" + encodeURIComponent(data.toJSONString());
	
	if(!data.user_checkcode){
		alert("您必须输入验证码。");
		return false;
	}
	
	JSF.doAjax("POST", BASE_URL +"member/register.html", function(res){
		if(res == 0){
			alert("您已经注册成功。");
			location.href = BASE_URL +"member/login.html";
		}else{
			alert("用户注册失败，请重新提交。");
		}
	}, parm);
	
	return false;
};


function doLogin(){

	var data = {};
	data.user_name = JSF.getDom("user_name").value;
	data.user_password = JSF.getDom("user_password").value;
	var parm = "data=" + encodeURIComponent(data.toJSONString());
	
	JSF.doAjax("POST", BASE_URL +"member/login.html", function(res){
		if(res == 0){
			location.href = BASE_URL +"member/index.html";
		}else{
			alert("登录失败，请检查您输入的用户名和密码。");
		}
	}, parm);
	
	return false;

};


function logout(){
	
	if(confirm("确定要退出登录吗？")){
		JSF.doAjax("GET", BASE_URL +"member/logout.html", function(res){
			if(res == 0){
				USER_LOGINED = false;
				if(typeof(ModMember) != 'undefined' && ModMember){
					location.href = BASE_URL;
				}else{
					checkLogin();
				}
			}
		}, null);
	}

};


function checkLogin(){
	
	JSF.doAjax("GET", BASE_URL +"member/checkLogin.html", function(res){
		if(res.res == 0){
			USER_LOGINED = true;
			JSF.getDom("member_info").innerHTML = '<span>您好，'+ res.data +'</span><a href="./member/index.html" target="_self">会员中心</a><a href="./index.html" target="_self">网站首页</a><a href="javascript:void(0);" onclick="logout();return false;">退出登录</a>';
		}else{
			JSF.getDom("member_info").innerHTML = '<a href="./" target="_self">首页</a><a href="./member/register.html" target="_self">注册</a><a href="./member/login.html" target="_self">登录</a>';
		}
		
		if(typeof COMMENT_CHECKLOGIN != "undefined" && COMMENT_CHECKLOGIN){
			commentChecklogin(res);
		}
	}, null);

};


function reloadCheckCode(){
	JSF.getDom("img_checkcode").src = BASE_URL +"image/index.html?t="+ new Date().getTime();
};


function commentLoginshow(){
	var c = JSF.getDom("comment_login_container");
	if(c.style.display == "none"){
		c.style.display = "block";
		JSF.getDom("user_name").focus();
	}else{
		c.style.display = "none";
	}
};


function commentLogin(){
	var data = {};
	data.user_name = JSF.getDom("user_name").value;
	data.user_password = JSF.getDom("user_password").value;
	var parm = "data=" + encodeURIComponent(data.toJSONString());
	
	JSF.doAjax("POST", BASE_URL +"member/login.html", function(res){
		if(res == 0){
			JSF.getDom("user_name").value = "";
			JSF.getDom("user_password").value = "";
			checkLogin();
		}else{
			alert("登录失败，请检查您输入的用户名和密码。");
		}
	}, parm);
	
	return false;
};


function commentChecklogin(res){
	
	var s = JSF.getDom("comment_login_status");
	if(res.res == 0){
		var c = JSF.getDom("comment_login_container");
		if(c.style.display != "none"){
			c.style.display = "none";
		}
		s.innerHTML = '<span>您好，'+ res.data +'</span>　<a href="./member/index.html" class="notice">会员中心</a>　<a href="javascript:void(0)" onclick="commentLoginshow();" class="notice" target="_self">更改用户</a>';
		
	}else{
		s.innerHTML = '<a href="javascript:void(0)" onclick="commentLoginshow();" target="_self">登录</a>（请登录发言，并遵守<a href="./member/commnote.html" target="_blank">相关规定</a>）';
	}

};


function addComment(type, toid, sessid, rid, touid){

	if(!checkCommentLogin()){
		return false;
	}
	
	if(typeof sessid == 'undefined'){
		sessid = 0;
	}
	if(typeof rid == 'undefined'){
		rid = 0;
	}
	if(typeof touid == 'undefined'){
		touid = 0;
	}
	
	var data = {};
	data.toid = toid;
	data.type = type;
	data.sessid = sessid;
	data.rid = rid;
	data.touid = touid;
	
	if(sessid != 0){
		data.content = JSF.getDom("comment_sub_content").value;
	}else{
		data.content = JSF.getDom("comment_content").value;
	}
	
	var parm = "data=" + encodeURIComponent(data.toJSONString());
	
	if(!data.content){
		alert("请填写要留言的内容。");
		return false;
	}
	
	JSF.doAjax("POST", BASE_URL +"index.php?app=comment&op=add&type="+ type, function(res){
		if(res == 0){
			alert("谢谢参与交流，您已留言成功。");
			JSF.getDom("comment_content").value = '';
			getComments(type, toid);
		}else if(res == -1){
			alert("留言失败，请检查您是否登录。");
		}else if(res == -3){
			alert("留言失败，您留言太快了，请稍候再试。");
		}else{
			alert("留言失败");
		}
	}, parm);
	
	return false;
	
};


function getComments(type, toid, page){
	
	if(typeof page == 'undefined'){
		page = 1;
	}
	
	JSF.doAjax("GET", BASE_URL +"index.php?app=comment&type="+ type +"&toid="+ toid +"&page="+ page, function(res){
		if(res != -1){
			JSF.getDom("comment_list_container").innerHTML = res;
		}else{
			
		}
	}, null);
};


function showCommentReply(node, type, session, toid, rid, touid){
	
	if(!checkCommentLogin()){
		return false;
	}
	
	var c = JSF.getDom("comment_sub_post_container");
	var pc = node.parentNode;
	if(c){
		var p = c.parentNode;
		p.removeChild(c);
	}
	
	if(p == pc){
		return;
	}
	var str = '<div id="comment_sub_post_container">' +
			'<div class="post_sub">' +
			'<textarea id="comment_sub_content"></textarea>' +
			'<div class="comment_sub text_link">' +
			'<button onclick="showCommentReply(this, \''+ type +'\', '+ toid +', '+ session +', '+ rid +', '+ touid +');">关闭</button>' +
			'<button onclick="addComment(\''+ type +'\', '+ toid +', '+ session +', '+ rid +', '+ touid +');">发表看法</button>' +
			'</div>' +
			'</div>' +
			'</div>';
			
	pc.innerHTML += str;
	
};


function checkCommentLogin(){
	
	if(!USER_LOGINED){
		alert("您尚未登录，请先登录再留言。");
		var c = JSF.getDom("comment_login_container");
		if(c.style.display == "none"){
			commentLoginshow();
		}
		return false;
	}else{
		return true;
	}
	
};


function setCommentCount(type, id, value){
	
	if(confirm("确定要提交投票吗？")){
		JSF.doAjax("GET", BASE_URL +"index.php?app=comment&op=count&type="+ type +"&id="+ id +"&value="+ value, function(res){
			if(res == 0){
				alert("投票已成功，谢谢参与。");
			}else if(res == -3){
				alert("不能连续投票。");
			}
		}, null);
	}
	
};


JSF.addEvent("load", function(){Ajax.add(function(){checkLogin()})});


