function showUserExistError(data) {
	$("#userName").attr("error", "true");
	$("#userName").addClass("in_error");
	$("#userName").parent().find("b.ico-error").show();
	$("#existName").find("div.cont").empty();
	$("#existName").find("div.cont").append(data);
	$("#existName").show();
}

function checkUserExist() {
	$.ajax({
	    type:"POST",
	    url:"/user.do?method=checkUserExist",
	    data:{userName:$("#userName").val()},  
	    timeout:20000,
	    success:function(data){
	    	if (jQuery.trim(data) == "") {
	   			$("#userName").attr("error", "false");
				$("#userName").parent().find("b.ico-ok").show();
				result = true;
			} else {
				showUserExistError(data);
			}
	    }            
    });
}

function userNameVerify() {
	var result = false;
	if (jQuery.trim($("#userName").val()) == "" || !/^[a-zA-Z]([a-zA-Z0-9]|[_-]){4,19}$/g.test($("#userName").val())) {
		$("#userName").attr("error", "true");
		$("#userName").addClass("in_error");
		$(this).parent().find("b.ico-error").show();
		$("#emptyName").show();
	} else {
		checkUserExist();
		result = true;
	}
	return result;
}

function passwordVerify() {
	var result = false;
	if (!isValidPassword($("#password").val())) {
		$("#password").attr("error", "true");
		$("#password").addClass("in_error");
		$("#password").parent().find("b.ico-error").show();
		$("#errorPassord").show();
	} else {
		$("#password").attr("error", "false");
		$("#password").parent().find("b.ico-ok").show();
		result = true;
	}
	return result;
}

function confirmPassowrdVerify() {
	var result = false;
	if ($("#confirmPassword").val() != $("#password").val()) {
		$("#confirmPassword").attr("error", "true");
		$("#confirmPassword").addClass("in_error");
		$("#confirmPassword").parent().find("b.ico-error").show();
		$("#errorConfirm").show();
	} else {
		$("#confirmPassword").attr("error", "false");
		$("#confirmPassword").parent().find("b.ico-ok").show();
		result = true;
	}
	return result;
}

function realNameVerify() {
	var result = false;
	
	if (jQuery.trim($("#realName").val()) != "" && $("#realName").val().length > 10) {
		$("#realName").val("");
	}
	
	if (jQuery.trim($("#realName").val()) == "") {
		$("#realName").attr("error", "true");
		$("#realName").addClass("in_error");
		$("#realName").parent().find("b.ico-error").show();
		$("#emptyRealName").show();
	} else {
		$("#realName").attr("error", "false");
		$("#realName").parent().find("b.ico-ok").show();
		result = true;
	}
	return result;
}

function emailVerify() {
	var result = false;
	if (!isValidEmail($("#email").val())) {
		$("#email").attr("error", "true");
		$("#email").addClass("in_error");
		$("#email").parent().find("b.ico-error").show();
		$("#errorMail").show();
	} else {
		$("#email").attr("error", "false");
		$("#email").parent().find("b.ico-ok").show();
		result = true;
	}
	return result;	
}

function verifyCodeVerify() {
	var result = false;
	if (!isValidVerifyCode($("#verifyCode").val())) {
		$("#verifyCode").attr("error", "true");
		$("#verifyCode").addClass("in_error");
		$("#verifyCode").parent().find("b.ico-error").show();
		$("#verifyCodeError").show();
	} else {
		$("#verifyCode").attr("error", "false");
		$("#verifyCode").parent().find("b.ico-ok").show();
		result = true;
	}
	return result;
}

function categoryVerify() {
	var result = false;
	if ($("input[name='category']:checked").length > 0) {
		$("#emptyCategory").attr("error", "false");
		$("#emptyCategory").parent().find("b.ico-ok").show();
		$("#emptyCategory").parent().find("b.ico-error").hide();
		$("#emptyCategory").parent().find("div.I-error").hide();
		result = true;
	} else {
		$("#emptyCategory").attr("error", "true");
		$("#emptyCategory").parent().find("b.ico-error").show();
		$("#emptyCategory").parent().find("b.ico-ok").hide();
		$("#emptyCategory").show();
	}
	return result;
}
				
$(document).ready(
	function() {
		$("#registerForm input").focusin(
			function() {
				if ($(this).attr("error") == "true") {
					$(this).parent().find("b.ico-error").hide();
					$(this).removeClass("in_error");
					$(this).parent().find("div.I-error").hide();
				} 
				if ($(this).attr("error") != "false") {
					$(this).parent().find("div.info-pop").show();
				}
				if($(this).attr("type") != "submit") {
					$(this).addClass("in10");
				}
			}
		);
		$("#registerForm input").focusout(
		  	function () {
		    	$(this).parent().find("div.info-pop").hide();
		    	if($(this).attr("type") != "submit") {
		    		$(this).removeClass("in10");
		    	}
		  	}
		);			
		$("#userName").blur(
			function() {
				userNameVerify();
			}
		);
		$("#password").blur(
			function() {
				passwordVerify();
			}
		);
		$("#confirmPassword").blur(
			function() {
				confirmPassowrdVerify();
			}
		);
		$("#realName").blur(
			function() {
				realNameVerify();
			}
		);
		$("#email").blur(
			function() {
				emailVerify();
			}
		);
		$("#verifyCode").blur(
			function() {
				verifyCodeVerify();
			}
		);
		$("input[name='category']").click(
			function() {
				categoryVerify();
			}
		);
	}
);

function submitVerify() {
	var result = true;

	result = userNameVerify();
	
	if (result == false) {
		return result;

	}
	result = passwordVerify();
	if (result == false) {
		return result;

	}

	result = emailVerify();
	if (result == false) {
		return result;

	}
	
	result = realNameVerify();
	if (result == false) {
		return result;
	}
	
	result = categoryVerify();
	if (result == false) {
		return result;
	}
	
	result = verifyCodeVerify();
	if (result == false) {
		return result;

	}			

	return result;						
}

