﻿/*
        [MHz.OpenBlog.Ver.1]
        (c) 2007 MHZ. (http://www.openblog.com)
        
        author  : dewring20
        date    : 2007-07-25
        comment : MemberCreate.aspx JavaScript & AJAX Function
        
        01.     MHzOpenV1_ValidateUserID            아이디 유효성 검사
        02.     MHzOpenV1_ValidateNickName          닉네임 유효성 검사
        03.     MHzOpenV1_ValidateUserEmail         이메일 유효성 검사
        04.     MHzOpenV1_ValidateUserPass          비밀번호 확인
        05.     MHzOpenV1_Member_InitMessage        회원가입 에러 메시지 초기화
        06.     MHzOpenV1_Member_Validate           빈값 검사 함수
        07.     MHzOpenV1_AjaxUserID                아이디 중복 검사
        08.     MHzOpenV1_AjaxUserID_CallBack       아이디 중복 검사 콜백
        09.     MHzOpenV1_AjaxNickName              닉네임 중복 검사
        10.     MHzOpenV1_AjaxNickName_CallBack     닉네임 중복 검사 콜백
        11.     MHzOpenV1_AjaxUserEmail             이메일 주소 중복 검사
        12.     MHzOpenV1_AjaxUserEmail_CallBack    이메일 주소 중복 검사 콜백
        13.     MHzOpenV1_AjaxMemberCreate          회원 가입 완료
        14.     MHzOpenV1_AjaxMemberCreate_CallBack 회원 가입 완료 콜백 // io2tree 회원로그인 코어 추가

*/
//<![CDATA[
// 01. 아이디 유효성 검사
function MHzOpenV1_ValidateUserID(obj)
{
    if(obj.value.length<3 || obj.value.length>12) 
    {
	    $("msgUserID").update("<font color='#990000'>아이디는 3자 이상, 12자 이하여야 합니다.</font>");
	    //obj.focus();
	    return false;
    }
	
    var valid = "abcdefghijklmnopqrstuvwxyz0123456789_"; 
    var startChar = "abcdefghijklmnopqrstuvwxyz"; 
    var temp; 
	
    obj.value = obj.value.toLowerCase(); 
    temp = obj.value.substring(0,1); 
	
    if (startChar.indexOf(temp) == "-1") 
    {
	    $("msgUserID").update("<font color='#990000'>아이디의 첫 글자는 영문이어야 합니다.</font>");
	    obj.value = ""; 
	    //obj.focus();
	    return false;
    }
	
    for (var i=0; i<obj.value.length; i++) 
    { 
	    temp = "" + obj.value.substring(i, i+1); 
	    if (valid.indexOf(temp) == "-1") 
	    {
		    $("msgUserID").update("<font color='#990000'>영문과 숫자, _ 로만 이루어질수 있습니다.</font>");
		    obj.value = ""; 
		    //obj.focus(); 
		    return false;
	    }
    }
    return true;
}

// 02. 닉네임 유효성 검사
function MHzOpenV1_ValidateNickName(obj)
{
    if(obj.value.length<3 || obj.value.length>15) 
    {
	    $("msgNickName").update("<font color='#990000'>닉네임은 3자 이상, 15자 이하여야 합니다.</font>");
	    //obj.focus();
	    return false;
    }
	
    var valid = "/[$\\@\\\#%\^\&\*\(\)\[\]\+\_\{\}\`\~\=\|\!\,\.\/\?\>\<\:\;\"\']/";
    var temp;
    for(var i=0; i<obj.value.length; i++)
    {
	    temp = "" + obj.value.substring(i, i+1); 
	    if (valid.indexOf(temp) != "-1") 
	    { 
		    $("msgNickName").update("<font color='#990000'>특수문자는 사용하지 못합니다.</font>");
		    obj.value = ""; 
		    //obj.focus(); 
		    return false;
	    }
    }
    return true;
}

// 03. 이메일 유효성 검사
function MHzOpenV1_ValidateUserEmail(obj)
{
    var emailEx1 = /^([A-Za-z0-9]{0,1})([A-Za-z0-9]{1,15})([A-Za-z0-9\-_.]{0,1})([A-Za-z0-9]{1,15})([A-Za-z0-9]{0,1})(@{1})([A-Za-z0-9_]{1,15})(.{1})([A-Za-z0-9_]{2,10})(.{1}[A-Za-z]{2,10})?(.{1}[A-Za-z]{2,10})?$/;
	
    if(obj.match(/[^a-zA-Z0-9_\@\.]/g)){$("msgUserEmail").update("<font color='#990000'>한글 혹은 특수문자로 구성된 E-mail주소는 옳바르지 않습니다.</font>");return false;}
    else if(obj.indexOf('@') == -1){$("msgUserEmail").update("<font color='#990000'>@가 빠져있는 E-mail주소는 옳바르지 않습니다.</font>");return false;}
    else if(obj.indexOf(".") == -1){$("msgUserEmail").update("<font color='#990000'>.가 없는 E-mail주소는 옳바르지 않습니다.</font>");return false;}
    else if(obj.indexOf('@') != obj.lastIndexOf('@')){$("msgUserEmail").update("<font color='#990000'>@가 2회 이상 들어간 E-mail주소는 옳바르지 않습니다.</font>");return false;}	
    else if(!emailEx1.test(obj)){$("msgUserEmail").update("<font color='#990000'>메일 주소를 정확히 넣어주세요.</font>");return false;}
    else{return true;}			
}

// 04. 비밀번호 확인
function MHzOpenV1_ValidateUserPass()
{
    if($F("txtUserPass1") != $F("txtUserPass2"))
    {
        $("msgUserPass1").update("<font color='#990000'>비밀번호를 확인하세요.</font>");
        $("msgUserPass2").update("");
        return false;
    }else{return true;}
}

// 05. 회원가입 에러 메시지 초기화
function MHzOpenV1_Member_InitMessage()
{
    if(!$("msgUserID")=="사용할 수 있는 아이디 입니다."){$("msgUserID").update("3~12자의 숫자, 영문으로 만들어주세요.");}
    if(!$("msgNickName")=="사용할 수 있는 닉네임 입니다."){$("msgNickName").update("3~15자의 한글,영문,숫자로 만들어주세요.");}
    if(!$("msgUserEmail")=="사용할 수 있는 이메일 주소 입니다."){$("msgUserEmail").update("이메일 주소는 본인 확인을 위한 인증메일 수신과 아이디, 비밀번호 분실 시 입력하신 이메일 주소로 아이디와 비밀번호가 발송되오니 사용중인 이메일 주소를 입력하세요.");}
    if(!$("msgUserPass1")=="비밀번호를 입력하세요."){$("msgUserPass1").update("비밀번호는 3자리 이상 최대 12자리까지 가능합니다.");}
    if(!$("msgUserPass2")=="비밀번호를 확인해주세요."){$("msgUserPass2").update("비밀번호 확인을 위해 다시 입력하세요.");}
    $("msgUserAgree").update("");
    $("msgPersonInfo").update("");
    $("msgPersonPeriod").update("");
    $("msgPersonCommission").update("");

    /* 유효성 검사 함수 */
    if(MHzOpenV1_Member_Validate()){return true;}else{return false;}
}

// 06. 빈값 검사 함수
function MHzOpenV1_Member_Validate()
{
    if($F("txtUserID")==""){$("msgUserID").update("<font color='#990000'>아이디를 입력해주세요.</font>");return false;}
    else if($F("txtNickName")==""){$("msgNickName").update("<font color='#990000'>닉네임을 입력해주세요.</font>");return false;}
    else if($F("txtUserEmail")==""){$("msgUserEmail").update("<font color='#990000'>이메일 주소를 입력해주세요.</font>");return false;}
    else if($F("txtUserPass1")==""){$("msgUserPass1").update("<font color='#990000'>비밀번호를 입력하세요.</font>");return false;}
    else if($F("txtUserPass2")==""){$("msgUserPass2").update("<font color='#990000'>비밀번호를 확인해주세요.</font>");return false;}
    else if(!$("chkUserAgree").checked){$("msgUserAgree").update("<font color='#990000'>이용약관에 동의해주세요.</font>");return false;}
    else if(!$("cbPersonInfo").checked){$("msgPersonInfo").update("<font color='#990000'>개인정보 수집및 이용에 동의해주세요.</font>");return false;}
    else if(!$("cbPersonPeriod").checked){$("msgPersonPeriod").update("<font color='#990000'>개인정보 보유 및 이용기간에 동의해주세요.</font>");return false;}
    else if(!$("cbPersonCommission").checked){$("msgPersonCommission").update("<font color='#990000'>개인정보 취급위탁에 동의해주세요.</font>");return false;}
    else
    {
        var ErrorCount = 0;
        
        if(ErrorCount == 0) { if(!MHzOpenV1_ValidateUserID($("txtUserID"))) { ErrorCount = 1; } }        
        if(ErrorCount == 0) { if(!MHzOpenV1_ValidateNickName($("txtNickName"))) { ErrorCount = 1; } }        
        if(ErrorCount == 0) { if(!MHzOpenV1_ValidateUserEmail($F("txtUserEmail"))) { ErrorCount = 1; } }
        if(ErrorCount == 0) { if(!MHzOpenV1_ValidateUserPass()) { ErrorCount = 1; } }
        if(ErrorCount>0){return false;}
        else{return true;}
    }
}

// 07. 아이디 중복 검사
function MHzOpenV1_AjaxUserID()
{
    if(MHzOpenV1_ValidateUserID($("txtUserID"))) { MHz.OpenV1.OpenBlogWeb.MemberCreate.AjaxExistUserID($F("txtUserID"), MHzOpenV1_AjaxUserID_CallBack); }
    else{return false;}
}

// 08. 아이디 중복 검사 콜백
function MHzOpenV1_AjaxUserID_CallBack(res)
{
    if(res!=null && typeof(res)=="object")
    {
	    if(res.value == "0"){$("msgUserID").update("<font color='#006699'>사용할 수 있는 아이디 입니다.</font>");return false;}
	    else{$("msgUserID").update("<font color='#990000'>이미 사용 중인 아이디 입니다.</font>");
	    return false;}
    }
    else{$("msgUserID").update("<font color='#990000'>다시 시도하세요.</font>");return false;}
}

// 09. 닉네임 중복 검사
function MHzOpenV1_AjaxNickName()
{
    if(MHzOpenV1_ValidateNickName($("txtNickName"))) { MHz.OpenV1.OpenBlogWeb.MemberCreate.AjaxExistNickName($F("txtNickName"), MHzOpenV1_AjaxNickName_CallBack); }
    else{return false;}
}

// 10. 닉네임 중복 검사 콜백
function MHzOpenV1_AjaxNickName_CallBack(res)
{
    if(res!=null && typeof(res)=="object")
    {
	    if(res.value == "0"){$("msgNickName").update("<font color='#006699'>사용할 수 있는 닉네임 입니다.</font>");return false;}
	    else{$("msgNickName").update("<font color='#990000'>이미 사용 중인 닉네임 입니다.</font>");
	    return false;}
    }
    else{$("msgNickName").update("<font color='#990000'>다시 시도하세요.</font>");return false;}
}

// 11. 이메일 주소 중복 검사
function MHzOpenV1_AjaxUserEmail()
{
    if(MHzOpenV1_ValidateUserEmail($F("txtUserEmail"))) { MHz.OpenV1.OpenBlogWeb.MemberCreate.AjaxExistUserEmail($F("txtUserEmail"), MHzOpenV1_AjaxUserEmail_CallBack); }
    else{return false;}
}

// 12. 이메일 주소 중복 검사 콜백
function MHzOpenV1_AjaxUserEmail_CallBack(res)
{
    if(res!=null && typeof(res)=="object")
    {
	    if(res.value == "0"){$("msgUserEmail").update("<font color='#006699'>사용할 수 있는 이메일 주소 입니다.</font>");return false;}
	    else{$("msgUserEmail").update("<font color='#990000'>이미 사용 중인 이메일 주소 입니다.</font>");
	    return false;}
    }
    else{$("msgUserEmail").update("<font color='#990000'>다시 시도하세요.</font>");return false;}
}

// 13. 회원 가입 완료
function MHzOpenV1_AjaxMemberCreate()
{
    if(MHzOpenV1_Member_InitMessage()) { MHz.OpenV1.OpenBlogWeb.MemberCreate.AjaxMemberCreate($F("txtUserID"), $F("txtNickName"), $F("txtUserEmail"), $F("txtUserPass1"), MHzOpenV1_AjaxMemberCreate_CallBack); }
}

// 14. 회원 가입 완료 콜백
/*
function MHzOpenV1_AjaxMemberCreate_CallBack(res)
{
    if(res!=null && typeof(res)=="object")
    {
        // 1:아이디 중복, 2:닉네임 중복, 3:이메일 주소 중복
        if(res.value == "1"){$("txtUserID").update("<font color='#006699'>이미 사용중인 아이디 입니다.</font>");}
        else if(res.value == "2"){$("txtNickName").update("<font color='#006699'>이미 사용중인 닉네임 입니다.</font>");}
        else if(res.value == "3"){$("txtUserEmail").update("<font color='#006699'>이미 사용중인 이메일 주소 입니다.</font>");}
        else{location.href="/MemberComplete.aspx";} // 회원가입 완료..
    }else{$("msgError1").update("회원가입 ajax 유효성 검사 실패");}
}
*/
// 14. 회원 가입 완료 콜백
function MHzOpenV1_AjaxMemberCreate_CallBack(res)
{
    if(res!=null && typeof(res)=="object")
    {
        // 1:아이디 중복, 2:닉네임 중복, 3:이메일 주소 중복
        if(res.value.RetCode == "1"){$("txtUserID").update("<font color='#006699'>이미 사용중인 아이디 입니다.</font>");}
        else if(res.value.RetCode == "2"){$("txtNickName").update("<font color='#006699'>이미 사용중인 닉네임 입니다.</font>");}
        else if(res.value.RetCode == "3"){$("txtUserEmail").update("<font color='#006699'>이미 사용중인 이메일 주소 입니다.</font>");}
        else {MHzOpenV1_LoginValid(res.value.RetValue);} // 회원가입 완료..
    }else{alert("회원가입에 실패했습니다. 입력하신 내용을 다시 확인해 주세요.");}
}
//]]>