$(document).ready(function(){
	//cgromaHash
	$("#usl_signup input:password").chromaHash({bars: 3, salt:"7be82b35cb0199120eea35a4507c9acf", minimum:6});

	// 서비스 안내 오픈
	$(".open a").click(function () {
		$("#fav_list").slideToggle("normal");
		$(this).parent().toggleClass("opened");
	});
	
	// 서비스 안내
	$("#fav_list li span").hide();					   
	$("#fav_list li a").hover(
		function() { $(this).parent().find("span").fadeIn('normal'); },
		function() { $(this).parent().find("span").css('display', 'none');
	});
	
	
	
	
	//기본 포커스
	$("#login_id").focus();

	// 로그인 회원가입 버튼
	$(".tab_login").click(function () {
		$("#usl_signup").hide();
		$("#usl_login").slideDown("fast");
		$(this).parent().siblings().children().removeClass("selected");
		$(this).addClass("selected");
		$("#login_id").focus();
		return false;
	}); 
	$(".tab_signup").click(function () {
		$("#usl_login").hide();
		$("#usl_signup").slideDown("fast");
		$(this).parent().siblings().children().removeClass("selected");
		$(this).addClass("selected");
		$("#sign_id").focus();
		return false;
	});

	// 입력폼 이벤트
	$("#sign_id").focusout(function () {
		check_id();
	});
	$("#sign_id").focusin(function () {
		$("#id_res").empty();
		$(this).removeClass("inputError");
		$("#sign_id").keyup(function(){
			if ($(".url_id").hasClass("userstorybook")) {
				$(".url_id").html("http://<span>" +$(this).val() + ".</span>userstorybook.net");
			}
			else if ($(".url_id").hasClass("tweetmix")) {
				//$(".url_id").html("http://tweetmix.net/<span>" + $(this).val() + "</span>");
			}
			else if ($(".url_id").hasClass("kooo")) {
				$(".url_id").html("http://<span>" +$(this).val() + ".</span>kooo.net");
			}
			else {
				$(".url_id").html("");
			}
		});
	});



	$("#sign_email").focusout(function () {
		check_email();
	});
	$("#sign_email").focusin(function () {
		$("#email_res").empty();
		$("#email_res").html("회원 인증을 위한 이메일 주소를 입력해 주세요.");
		$(this).removeClass("inputError")
	});
	$(".btn_signup").click(function () {
		go_submit();
		return false;
	});




	// 가입하기 폼 검사
	var addr_id;
	var id_ok = 0;
	var email_ok = 0;

	function go_submit()
	{
		var ret = "";

		if (id_ok != 1)
		{
			alert("id를 확인 해 주세요.");
			return;
		}
		if (email_ok != 1)
		{
			alert("이메일을 확인 해 주세요.");
			return;
		}
		if (document.info.pw1.value != document.info.pw2.value)
		{
			alert("비밀번호가 서로 일치하지 않습니다. 한번 더 확인 해 주세요.");
			return;
		}
		if (document.info.pw1.length < 6)
		{
			alert("비밀번호는 6자리 이상이어야 합니다.");
			return;
		}
		if (!document.info.agreements.checked)
		{
			alert("이용약관과 개인정보취급방침에 동의하여 주세요.");
			return;
		}

		document.info.submit();
	}
	
   function check_id()
	{
		if (document.info.userid.value.length < 4)
		{
			id_ok = 0;
			$("#id_res").html("<span class='error_msg'>ID의 길이는 4자 이상이어야 합니다.</span>");
			$("#sign_id").addClass("inputError");
			return;
		}

		var sp_char = /[^a-zA-Z0-9\-]/;
		if(sp_char.test(document.info.userid.value))
		{
			id_ok = 0;
			$("#id_res").html("<span class='error_msg'>아이디로 허용되지 않는 특수문자가 있습니다</span>");
			$("#sign_id").addClass("inputError");
			return;
		}
				
		var _url = "/ajax_exe/id_check/?id=" + Base64.URLEncode(document.info.userid.value);
		httpcall_ajax (_url, check_id_res);
		return false;
		
	}
	function check_id_res(_res)
	{
		if (_res.error_code == 0)
		{
			id_ok = 1
			$("#id_res").html("<span class='ok_msg'>사용할 수 있습니다.</span>");
		}
		else
		{
			id_ok = 0;
			$("#id_res").html("<span class='error_msg'>" + _res.error_str + "</span>");
			$("#sign_id").addClass("inputError");
		}
	}


   function check_email()
	{
		if (document.info.useremail.value.length == 0)
		{
			email_ok = 0;
			$("#email_res").html("<span class='error_msg'>이메일의 길이가 너무 짧습니다.</span>");
			$("#sign_email").addClass("inputError");
			return;
		}
		if(check_email_spec(document.info.useremail.value)==false)
		{
			email_ok = 0;
			$("#email_res").html("<span class='error_msg'>이메일의 형식이 맞지 않습니다.</span>");
			$("#sign_email").addClass("inputError");
			return;
		}
		
		var _url = "/ajax_exe/email_check/?email=" + Base64.URLEncode(document.info.useremail.value);
		httpcall_ajax (_url, check_email_res);
		return false;
		
	}
	function check_email_res(_res)
	{
		if (_res.error_code == 0)
		{
			email_ok = 1
			$("#email_res").html("<span class='ok_msg'>사용할 수 있습니다.</span>");
		}
		else
		{
			email_ok = 0;
			$("#email_res").html("<span class='error_msg'>이미 사용중인 이메일 주소 입니다.</span>");
			$("#sign_email").addClass("inputError");
		}
	}

	function check_email_spec(email)
	{
		  var pattern = /^(.+)@(.+)$/;
		  var atom = "\[^\\s\\(\\)<>#@,;:!\\\\\\\"\\.\\[\\]\]+";
		  var word="(" + atom + "|(\"[^\"]*\"))";
		  var user_pattern = new RegExp("^" + word + "(\\." + word + ")*$");
		  var ip_pattern = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		  var domain_pattern = new RegExp("^" + atom + "(\\." + atom +")*$");
	
		  var arr = email.match(pattern);
		  if (!arr) return false;
		  if (!arr[1].match(user_pattern)) return false;
	
		  var ip = arr[2].match(ip_pattern);
		  if (ip) {
				  for (var i=1; i<5; i++) if (ip[i] > 255) return false;
		  }
		  else {
				  if (!arr[2].match(domain_pattern)) return false;
				  var domain = arr[2].match(new RegExp(atom,"g"));
				  if (domain.length<2) return false;
				  if (domain[domain.length-1].length<2 || domain[domain.length-1].length>4)
						return false;
		  }
		  return true;
	}


});