<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$member_skin_url.'/style.css">', 0);
?>

<div class="register">
    <script src="<?php echo G5_JS_URL ?>/jquery.register_form.js"></script>
    <?php if($config['cf_cert_use'] && ($config['cf_cert_ipin'] || $config['cf_cert_hp'])) { ?>
    <script src="<?php echo G5_JS_URL ?>/certify.js?v=<?php echo G5_JS_VER; ?>"></script>
    <?php } ?>

    <form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
    <input type="hidden" name="w" value="<?php echo $w ?>">
    <input type="hidden" name="url" value="<?php echo $urlencode ?>">
    <input type="hidden" name="agree" value="<?php echo $agree ?>">
    <input type="hidden" name="agree2" value="<?php echo $agree2 ?>">
    <input type="hidden" name="cert_type" value="<?php echo $member['mb_certify']; ?>">
    <input type="hidden" name="cert_no" value="">
    
    <input type="hidden" name="mb_open" value="1">
    <?php if (isset($member['mb_sex'])) { ?><input type="hidden" name="mb_sex" value="<?php echo $member['mb_sex'] ?>"><?php } ?>
    <?php if (isset($member['mb_nick_date']) && $member['mb_nick_date'] > date("Y-m-d", G5_SERVER_TIME - ($config['cf_nick_modify'] * 86400))) { // 닉네임수정일이 지나지 않았다면 ?>
    <input type="hidden" name="mb_nick_default" value="<?php echo get_text($member['mb_nick']) ?>">
    <input type="hidden" name="mb_nick" value="<?php echo get_text($member['mb_nick']) ?>">
    <?php } ?>

<style>
  input:focus {outline:none;}
  .password-input-wrapper {
    position: relative;
}

.input-wrapper {
    position: relative;
}

.password-toggle-icon {
    position: absolute;
    right: 15px;
    transform: translateY(-50%);
    cursor: pointer;
    font-size:15px;
    top:40%
}

#fregisterform .profile_img img {
min-width:100px;
width:100px;
max-width:100px;
min-height:100px;
height:100px;
max-height:100px;
border-radius:50%;
height: auto;
}

.profile_img {
   display: flex; /* Flexbox 활성화 */
    justify-content: center; /* 가로 중앙 정렬 */
    margin-bottom:15px
}

.register {
padding:10px;
}

.profile-textarea-wrapper {
    position: relative;
    background-color: #f9f9f9;
    border: 1px solid #f2f2f2;
    border-radius: 15px;
    padding: 10px;
}

.profile-textarea {
    height: 100px;
    width: 100%;
    padding-right: 60px;
    box-sizing: border-box;
    border: none;
    background-color: transparent;
    font-size: 14px;
    color: #14171a;
    resize: none;
}

.profile-textarea:focus {
    outline: none;
}

.profile-text-count {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 12px;
    color: #657786;
}
li, ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
</style>
<script>
// 비밀번호 보기/숨기기 토글 기능
const passwordInput = document.getElementById('reg_mb_password');
const passwordToggleIcon = document.querySelector('.password-toggle-icon i');

passwordToggleIcon.addEventListener('click', () => {
    if (passwordInput.type === 'password') {
        passwordInput.type = 'text';
        passwordToggleIcon.classList.remove('fa-lock');
        passwordToggleIcon.classList.add('fa-unlock-alt');
    } else {
        passwordInput.type = 'password';
        passwordToggleIcon.classList.remove('fa-unlock-alt');
        passwordToggleIcon.classList.add('fa-lock');
    }
});
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
    var profileTextarea = document.getElementById('reg_mb_profile');
    var profileTextCount = document.getElementById('profile_text_count');

    profileTextarea.addEventListener('input', function() {
        // 줄바꿈 문자 제거
        this.value = this.value.replace(/\n/g, '');

        var textLength = this.value.length;
        profileTextCount.textContent = textLength;
    });
});
</script>
<script>
document.getElementById('check_password').addEventListener('click', function() {
    var password = document.getElementById('reg_mb_password').value;
    var passwordConfirm = document.getElementById('reg_mb_password_re').value;
</script>

<div class="profile">
<?php if ($member['mb_level'] >= $config['cf_icon_level'] && $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height']) { ?>
    <span class="profile_img">
        <img id="profileImage" src="<?php echo $w == 'u' && file_exists($mb_img_path) ? $mb_img_url : $config['cf_member_img_url']; ?>" alt="회원프로필이미지">
    </span>
    <li class="reg_mb_img_file filebox">
        <input type="hidden" class="fileName" readonly="readonly" placeholder="회원이미지">
        <label for="reg_mb_img" class="btn_file" style="display:none;"><span class="sound_only">회원이미지</span>이미지선택</label>
        <input type="file" name="mb_img" id="reg_mb_img" class="uploadBtn" style="display:none;" accept="image/*">
    </li>
    <a href="#" id="editPhotoLink" style="float:right;background-color:#f2f2f2;border:nome;color:#3a3a3a;border-radius:15px;padding:10px 15px;font-size:12px;font-weight:500;margin-bottom:10px;">사진 수정</a>
    <span id="photoUploadText" style="display:none; float:right;background-color:#ff7d16;border:nome;color:#f9f9f9;border-radius:15px;padding:10px 15px;font-size:12px;font-weight:500;margin-bottom:10px">사진 업로드 및 사진 촬영</span>
<?php } ?>

<script>
    document.getElementById('editPhotoLink').addEventListener('click', function(event) {
        event.preventDefault();
        this.style.display = 'none';  // "사진 수정" 텍스트 숨기기
        document.getElementById('photoUploadText').style.display = 'block'; // "사진 업로드 및 사진 촬영" 텍스트 보이기
    });

    document.getElementById('photoUploadText').addEventListener('click', function() {
        document.getElementById('reg_mb_img').click();
    });

    document.getElementById('reg_mb_img').addEventListener('change', function(event) {
        const file = event.target.files[0];
        if (file) {
            const reader = new FileReader();
            reader.onload = function(e) {
                document.getElementById('profileImage').src = e.target.result;  // 업로드된 이미지로 프로필 이미지 업데이트
            };
            reader.readAsDataURL(file);
        }
    });
</script>

<div class="profile_nick">
<input type="text" name="mb_nick" id="reg_mb_nick" required class="frm_input required nospace full_input" size="10" maxlength="20" value="<?php echo $member['mb_nick'];?>" style="border:1px solid #f1f1f1;background-color:#f9f9f9;border-radius:15px;padding:10px;margin-bottom:5px">
<!-- 간편 프로필 수정을 위해 숨김 처리 -->
	            <input type="hidden" name="mb_id" value="<?php echo $member['mb_id'] ?>" id="reg_mb_id" class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" minlength="3" maxlength="20" <?php echo $required ?> <?php echo $readonly ?> placeholder="아이디">
	            	            <input type="hidden" id="reg_mb_name" name="mb_name" value="<?php echo get_text($member['mb_name']) ?>" <?php echo $required ?> <?php echo $readonly; ?> class="frm_input full_input <?php echo $required ?> <?php echo $readonly ?>" placeholder="이름">
                <input type="hidden" name="old_email" value="<?php echo $member['mb_email'] ?>">
                <input type="hidden" name="mb_email" value="<?php echo isset($member['mb_email'])?$member['mb_email']:''; ?>" id="reg_mb_email" required class="frm_input email required" size="50" maxlength="100" placeholder="E-mail">
</div>

<div class="password-input-wrapper">
    <div class="input-wrapper">
        <input type="password" name="mb_password" id="reg_mb_password" <?php echo $required ?> class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" value="<?php echo $mb_profile ?>" placeholder="비밀번호" style="border:1px solid #f1f1f1;background-color:#f9f9f9;border-radius:15px;padding:10px;margin-bottom:15px;padding-right: 40px;" oninput="syncPassword()">
        <span class="password-toggle-icon">
            <i class="fa fa-lock"></i>
        </span>
    </div>
</div>
<input type="password" name="mb_password_re" id="reg_mb_password_re" <?php echo $required ?> class="frm_input full_input <?php echo $required ?>" minlength="3" maxlength="20" placeholder="비밀번호 확인" style="display:none">

<script>
function syncPassword() {
    const password = document.getElementById('reg_mb_password').value;
    document.getElementById('reg_mb_password_re').value = password;
}
</script>

	        <?php if ($config['cf_use_profile']) { ?>
	        <li>
	            <label for="reg_mb_profile" class="sound_only">자기소개</label>
<div class="profile-textarea-wrapper">
    <textarea name="mb_profile" id="reg_mb_profile" class="<?php echo $config['cf_req_profile']?"required":""; ?> profile-textarea" <?php echo $config['cf_req_profile']?"required":""; ?> maxlength="100" placeholder="자기소개" style="resize: none;"><?php echo $member['mb_profile'] ?></textarea>
    <div class="profile-text-count"><span id="profile_text_count">0</span> / 100</div>
</div>
</li>
<?php } ?>
<!-- 
	        <?php
	        //회원정보 수정인 경우 소셜 계정 출력
	        if( $w == 'u' && function_exists('social_member_provider_manage') ){
	            social_member_provider_manage();
	        }
	        ?>
-->
</div>

	        <li class="is_captcha_use">
	            <span  class="frm_label">자동등록방지</span>
	            <?php echo captcha_html(); ?>
	        </li>
	    </ul>
    </div>

    <div class="btn_confirm" style="margin:20px;z-index:999999999">
        <button type="submit" id="btn_submit" class="btn_submit" accesskey="s" style="text-align:center;width:100%;padding:15px;border:none;border-radius:15px;background-color:#ff7d16;font-size:13px;font-weight:520;color:#f9f9f9;max-width:650px;"><?php echo $w==''?'회원가입':'완료'; ?></button>
    </div>
    </form>

<style>
#ft {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gram_fix_btn {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gram_fix_btn li {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gram_fix_btn a {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gf_btn {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gf_home {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.fa {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.sound_only {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gf_sch {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gf_wrt {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.fa-sticky-note-o {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.fprofile_img img{
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}

.gf_logout {
  height: 0;
  width: 0;
  color: #0000;
  font-size: 0;
}
</style>

<!-- 탈퇴처리모달/프로세스{ -->
<?php
session_start();
?>

<!-- 모달 구조 -->
<div id="modal123" class="modal" style="display: none;">
    <div class="modal-content">
        <span class="close" id="closeModal123">&times;</span>
        <p>회원 탈퇴 처리를 진행하시겠습니까?</p>
        <a href="javascript:member_leave();" class="btn_cancel">회원탈퇴</a>
        <button id="cancelLeave">취소</button>
    </div>
</div>

<script>
function member_leave() {  // 회원 탈퇴 tto
    if (confirm("회원에서 탈퇴 하시겠습니까?"))
            location.href = '<?php echo G5_BBS_URL ?>/member_confirm.php?url=member_leave.php';
 }
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
    // 캐쉬에서 정보 읽기
    if (localStorage.getItem('leaveButtonClicked') === 'true') {
        document.getElementById('modal123').style.display = 'block';
    }

    // 모달 닫기
    document.getElementById('closeModal123').onclick = function() {
        document.getElementById('modal123').style.display = 'none';
    }

    // 확인 버튼 클릭 시 처리
    document.getElementById('confirmLeave').onclick = function() {
        // 회원 탈퇴 처리 코드 추가
        document.getElementById('modal123').style.display = 'none';
        // 이동
        window.location.href = "<?php echo G5_BBS_URL ?>/member_profile.php";
    }

    // 취소 버튼 클릭 시 모달 닫기
    document.getElementById('cancelLeave').onclick = function() {
        document.getElementById('modal123').style.display = 'none';
    }
});
</script>
<!-- }탈퇴처리모달/프로세스 -->


    <script>
    $(function() {
        $("#reg_zip_find").css("display", "inline-block");

        <?php if($config['cf_cert_use'] && $config['cf_cert_ipin']) { ?>
        // 아이핀인증
        $("#win_ipin_cert").click(function(e) {
            if(!cert_confirm())
                return false;

            var url = "<?php echo G5_OKNAME_URL; ?>/ipin1.php";
            certify_win_open('kcb-ipin', url, e);
            return;
        });

        <?php } ?>
        <?php if($config['cf_cert_use'] && $config['cf_cert_hp']) { ?>
        // 휴대폰인증
        $("#win_hp_cert").click(function(e) {
            if(!cert_confirm())
                return false;

            <?php
            switch($config['cf_cert_hp']) {
                case 'kcb':
                    $cert_url = G5_OKNAME_URL.'/hpcert1.php';
                    $cert_type = 'kcb-hp';
                    break;
                case 'kcp':
                    $cert_url = G5_KCPCERT_URL.'/kcpcert_form.php';
                    $cert_type = 'kcp-hp';
                    break;
                case 'lg':
                    $cert_url = G5_LGXPAY_URL.'/AuthOnlyReq.php';
                    $cert_type = 'lg-hp';
                    break;
                default:
                    echo 'alert("기본환경설정에서 휴대폰 본인확인 설정을 해주십시오");';
                    echo 'return false;';
                    break;
            }
            ?>

            certify_win_open("<?php echo $cert_type; ?>", "<?php echo $cert_url; ?>", e);
            return;
        });
        <?php } ?>
    });

    // 인증체크
    function cert_confirm()
    {
        var val = document.fregisterform.cert_type.value;
        var type;

        switch(val) {
            case "ipin":
                type = "아이핀";
                break;
            case "hp":
                type = "휴대폰";
                break;
            default:
                return true;
        }

        if(confirm("이미 "+type+"으로 본인확인을 완료하셨습니다.\n\n이전 인증을 취소하고 다시 인증하시겠습니까?"))
            return true;
        else
            return false;
    }

    // submit 최종 폼체크
    function fregisterform_submit(f)
    {
        // 회원아이디 검사
        if (f.w.value == "") {
            var msg = reg_mb_id_check();
            if (msg) {
                alert(msg);
                f.mb_id.select();
                return false;
            }
        }

        if (f.w.value == '') {
            if (f.mb_password.value.length < 3) {
                alert('비밀번호를 3글자 이상 입력하십시오.');
                f.mb_password.focus();
                return false;
            }
        }

        if (f.mb_password.value != f.mb_password_re.value) {
            alert('비밀번호가 같지 않습니다.');
            f.mb_password_re.focus();
            return false;
        }

        if (f.mb_password.value.length > 0) {
            if (f.mb_password_re.value.length < 3) {
                alert('비밀번호를 3글자 이상 입력하십시오.');
                f.mb_password_re.focus();
                return false;
            }
        }

        // 이름 검사
        if (f.w.value=='') {
            if (f.mb_name.value.length < 1) {
                alert('이름을 입력하십시오.');
                f.mb_name.focus();
                return false;
            }
        }

        <?php if($w == '' && $config['cf_cert_use'] && $config['cf_cert_req']) { ?>
        // 본인확인 체크
        if(f.cert_no.value=="") {
            alert("회원가입을 위해서는 본인확인을 해주셔야 합니다.");
            return false;
        }
        <?php } ?>

        // 닉네임 검사
        if ((f.w.value == "") || (f.w.value == "u" && f.mb_nick.defaultValue != f.mb_nick.value)) {
            var msg = reg_mb_nick_check();
            if (msg) {
                alert(msg);
                f.reg_mb_nick.select();
                return false;
            }
        }

        // E-mail 검사
        if ((f.w.value == "") || (f.w.value == "u" && f.mb_email.defaultValue != f.mb_email.value)) {
            var msg = reg_mb_email_check();
            if (msg) {
                alert(msg);
                f.reg_mb_email.select();
                return false;
            }
        }

        <?php if (($config['cf_use_hp'] || $config['cf_cert_hp']) && $config['cf_req_hp']) {  ?>
        // 휴대폰번호 체크
        var msg = reg_mb_hp_check();
        if (msg) {
            alert(msg);
            f.reg_mb_hp.select();
            return false;
        }
        <?php } ?>

        if (typeof f.mb_icon != "undefined") {
            if (f.mb_icon.value) {
                if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
                    alert("회원아이콘이 이미지 파일이 아닙니다.");
                    f.mb_icon.focus();
                    return false;
                }
            }
        }

        if (typeof f.mb_img != "undefined") {
            if (f.mb_img.value) {
                if (!f.mb_img.value.toLowerCase().match(/.(gif|jpe?g|png)$/i)) {
                    alert("회원이미지가 이미지 파일이 아닙니다.");
                    f.mb_img.focus();
                    return false;
                }
            }
        }

        if (typeof(f.mb_recommend) != 'undefined' && f.mb_recommend.value) {
            if (f.mb_id.value == f.mb_recommend.value) {
                alert('본인을 추천할 수 없습니다.');
                f.mb_recommend.focus();
                return false;
            }

            var msg = reg_mb_recommend_check();
            if (msg) {
                alert(msg);
                f.mb_recommend.select();
                return false;
            }
        }

        <?php echo chk_captcha_js(); ?>

        document.getElementById("btn_submit").disabled = "disabled";

        return true;
    }

	var uploadFile = $('.filebox .uploadBtn');
	uploadFile.on('change', function(){
		if(window.FileReader){
			var filename = $(this)[0].files[0].name;
		} else {
			var filename = $(this).val().split('/').pop().split('\\').pop();
		}
		$(this).siblings('.fileName').val(filename);
	});
    </script>
</div>

<!-- 하단 바 프로필 나타나는 오류 무식하게 해결{ -->
<script>
document.addEventListener("DOMContentLoaded", function() {
    // 프로필 이미지가 포함된 부모 요소를 숨김 처리
    const profileImageContainer = document.querySelector('.fprofile_img');
    if (profileImageContainer) {
        profileImageContainer.style.display = 'none'; // 또는 'visibility: hidden;'
    }
});
</script>
<!-- 보안을 위한 개발자 도구 제한{ -->
<?php
// 개발자 도구 사용 감지
if (isset($_SERVER['HTTP_USER_AGENT']) && stripos($_SERVER['HTTP_USER_AGENT'], 'Chrome') !== false && stripos($_SERVER['HTTP_USER_AGENT'], 'Edg') === false && stripos($_SERVER['HTTP_USER_AGENT'], 'Firefox') === false && stripos($_SERVER['HTTP_USER_AGENT'], 'Safari') === false) {
    // 개발자 도구 사용 시 오류 메시지 출력
    http_response_code(403);
    echo "개발자 도구 사용이 금지되어 있습니다.";
    exit;
}
?>
<script>
// F12 키 막기
document.addEventListener('keydown', function(event) {
  if (event.keyCode == 123) {
    event.preventDefault();
    return false;
  }
});

// 개발자 도구 열기 막기
document.addEventListener('contextmenu', function(e) {
  e.preventDefault();
});

// 개발자 도구 콘솔 막기
if (window.console) {
  console.log = function() {};
  console.error = function() {};
  console.warn = function() {};
  console.info = function() {};
  console.debug = function() {};
}
</script>
<?php
// 브라우저에서 JavaScript 사용 여부 확인
if (!isset($_SERVER['HTTP_USER_AGENT']) || !preg_match('/(?i)msie|trident|firefox|safari|opera|chrome/', $_SERVER['HTTP_USER_AGENT'])) {
    // JavaScript를 사용하지 않는 경우 리다이렉트
    header('Location: http://dsclub.kr');
    exit;
}
?>