710 lines
30 KiB
PHP
710 lines
30 KiB
PHP
<?php
|
||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||
|
||
include_once __DIR__ . '/asset_urls.php';
|
||
?>
|
||
<head>
|
||
<!-- Google Tag Manager -->
|
||
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
||
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
||
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
||
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
||
})(window,document,'script','dataLayer','GTM-5GX3FS9R');
|
||
</script>
|
||
<!-- End Google Tag Manager -->
|
||
<!-- Google tag (gtag.js) -->
|
||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-7J3S6MHW3Y"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
|
||
gtag('config', 'G-7J3S6MHW3Y');
|
||
</script>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="description" content="디지털전환시대 EG-BIM, 도면과 3차원 정보모델을 하나의 S/W로" />
|
||
<meta name="keywords" content="EG-BIM, 이지빔, egbim, eg bim, CAD, 대안CAD, 도면, BIM, 삼안, 한맥, 바론컨설턴트" />
|
||
<meta name="naver-site-verification" content="a054b2ea2f9aeb1284d0e9409a7b117189ee7734" />
|
||
|
||
<!-- Open Graph: 카카오톡 미리보기용 -->
|
||
<meta property="og:title" content="EG-BIM" />
|
||
<meta property="og:description" content="디지털전환시대 EG-BIM, 도면과 3차원 정보모델을 하나의 S/W로" />
|
||
<meta property="og:image" content="<?php echo egbim_img_url('og-main-thumb.JPG'); ?>" />
|
||
<meta property="og:url" content="/egbim/" />
|
||
<meta property="og:type" content="website" />
|
||
|
||
<title>EG-BIM</title>
|
||
<link rel="stylesheet" href="/egbim/css/reset.css" />
|
||
<link rel="stylesheet" href="/egbim/css/font.css" />
|
||
<link rel="stylesheet" href="/egbim/css/style.css" />
|
||
<link rel="stylesheet" href="/egbim/theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||
|
||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||
<script type="text/javascript" src="/egbim/js/jquery-3.6.1.min.js"></script>
|
||
<script type="text/javascript" src="/egbim/js/jquery.mousewheel.min.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||
<script type="text/javascript" src="/egbim/js/common.js"></script>
|
||
<script type="text/javascript" src="/egbim/js/popup.js"></script>
|
||
<script>
|
||
window.EGBIM_IMG_BASE_URL = <?php echo json_encode(egbim_img_url()); ?>;
|
||
</script>
|
||
<script type="text/javascript" src="/egbim/js/index.js"></script>
|
||
<link rel="icon" href="/favicon.ico" type="image/x-icon">
|
||
</head>
|
||
<body>
|
||
<!-- Google Tag Manager (noscript) -->
|
||
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5GX3FS9R"
|
||
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
||
<!-- End Google Tag Manager (noscript) -->
|
||
|
||
<!--메인페이지 공시팝업-->
|
||
<!-- <div class="notice-backdrop" id="egbimNoticeDim"></div>
|
||
<div class="notice-box" id="egbimNoticeBox" role="dialog" aria-modal="true" aria-labelledby="egbimNoticeTitle">
|
||
<button class="notice-close" id="egbimNoticeClose" aria-label="닫기">×</button>
|
||
<h3 id="egbimNoticeTitle">공지 안내</h3>
|
||
<p>
|
||
<strong>EG-BIM 프로그램 사용자 인증 신규 시스템 도입</strong>으로 인해<br>
|
||
<b>기존 회원분들께서는 재가입</b> 해주시기 바랍니다.
|
||
</p>
|
||
<div class="notice-actions">
|
||
<button class="btn-today" id="egbimNoticeToday">오늘 하루 보지 않기</button>
|
||
<button class="btn-ok" id="egbimNoticeOk">확인</button>
|
||
</div>
|
||
</div> -->
|
||
|
||
<div class="wrapper">
|
||
<div class="main_mask">
|
||
<!-- Header -->
|
||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||
<!-- //Header -->
|
||
|
||
<!-- 모든 팝업페이지 경로 -->
|
||
<?php
|
||
include_once($member_skin_path.'/login.skin.php');
|
||
include_once($member_skin_path.'/mypage01.skin.php');
|
||
include_once($member_skin_path.'/register.skin.php');
|
||
include_once($member_skin_path.'/register_form.skin.php');
|
||
include_once($member_skin_path.'/mypage02.skin.php');
|
||
include_once($member_skin_path.'/mypage03.skin.php');
|
||
include_once($member_skin_path.'/sitemap.skin.php');
|
||
include_once($member_skin_path.'/privacy.skin.php');
|
||
include_once($member_skin_path.'/password_lost.skin.php');
|
||
?>
|
||
|
||
|
||
<?php
|
||
// 오늘 날짜 (Y-m-d 형식)
|
||
$main_today = date('Y-m-d');
|
||
|
||
// 시작일과 종료일
|
||
$main_startDate = '2025-12-01';
|
||
$main_endDate = '2026-07-31';
|
||
// 기간 내에 있으면 배너 표시
|
||
if ($main_today >= $main_startDate && $main_today <= $main_endDate) {
|
||
// 쿠키 확인
|
||
$popup_hidden = isset($_COOKIE['hide_popup']) ? $_COOKIE['hide_popup'] : '';
|
||
if ($popup_hidden !== date('Y-m-d'))
|
||
include_once($member_skin_path.'/main_popup.skin.php');
|
||
}
|
||
?>
|
||
|
||
<!-- 모든 팝업페이지 경로 -->
|
||
<!-- main -->
|
||
<div class="main">
|
||
<ul class="pagination_main">
|
||
<li><div class="page_01 page_on">EG-BIM 소개</div><span>01</span></li>
|
||
<li><div class="page_02">인터페이스</div><span>02</span></li>
|
||
<li><div class="page_03">주요기능</div><span>03</span></li>
|
||
<li><div class="page_04">도면관리</div><span>04</span></li>
|
||
<li><div class="page_05">for BIM</div><span>05</span></li>
|
||
</ul>
|
||
<div class="main_link">
|
||
<a href="#01" class="main_link_01 link_on" onclick="location.href='<?php echo G5_BBS_URL ?>/value.php'"></a>
|
||
<a href="#02" class="main_link_02" onclick="location.href='<?php echo G5_BBS_URL ?>/interface.php'"></a>
|
||
<a href="#03" class="main_link_03" onclick="location.href='<?php echo G5_BBS_URL ?>/primary.php'"></a>
|
||
<a href="#04" class="main_link_04" onclick="location.href='<?php echo G5_BBS_URL ?>/floorplan.php'"></a>
|
||
<a href="#05" class="main_link_05" onclick="location.href='<?php echo G5_BBS_URL ?>/forbim.php'"></a>
|
||
</div>
|
||
<div class="bg_video">
|
||
<video id="video_play" muted playsinline>
|
||
<source src="<?php echo egbim_img_url('main_1.mp4'); ?>" type="video/mp4" class="main_video_01">
|
||
</video>
|
||
</div>
|
||
<!-- <button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button> -->
|
||
<!-- FOOTER -->
|
||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||
<!-- //FOOTER -->
|
||
</div>
|
||
</div>
|
||
<div class="intro_wrap">
|
||
<div class="intro_mask"></div>
|
||
<div class="intro_txt">
|
||
<div class="txt_mask"><span><b>디지털전환시대</b></span></div>
|
||
<div class="txt_mask"><span><font class="egbim k">EG-BIM_software</font></span></div>
|
||
<div class="txt_mask"><span><em>도면</em>과 <em>3차원 정보모델</em>을 <br class="brk "><em>하나의</em> S/W로</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
AOS.init();
|
||
|
||
const lenis = new Lenis()
|
||
lenis.on('scroll', (e) => {
|
||
// console.log(e)
|
||
})
|
||
lenis.on('scroll', ScrollTrigger.update)
|
||
gsap.ticker.add((time)=>{
|
||
lenis.raf(time * 1000)
|
||
})
|
||
gsap.ticker.lagSmoothing(0)
|
||
</script>
|
||
</body>
|
||
<script>
|
||
$(function(){
|
||
// footer family site toggle
|
||
$('.family_btn').click(function(e){
|
||
e.stopPropagation();
|
||
$('.family_list, .family_btn').toggleClass('family_on');
|
||
});
|
||
$(document).click(function(e){
|
||
if(!$(e.target).closest('.family_wrap').length){
|
||
$('.family_list, .family_btn').removeClass('family_on');
|
||
}
|
||
});
|
||
});
|
||
|
||
// 회원 탈퇴
|
||
function member_leave() {
|
||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||
}
|
||
// 회원 탈퇴
|
||
|
||
|
||
let x = document.cookie;
|
||
if(x.includes("tmp_1=John")){
|
||
deleteCookie("tmp_1");
|
||
$('#pop_mypage02').show();
|
||
}
|
||
|
||
function deleteCookie(name) {
|
||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||
}
|
||
function getCookie(cname) {
|
||
let name = cname + "=";
|
||
let decodedCookie = decodeURIComponent(document.cookie);
|
||
let ca = decodedCookie.split(';');
|
||
for(let i = 0; i <ca.length; i++) {
|
||
let c = ca[i];
|
||
while (c.charAt(0) == ' ') {
|
||
c = c.substring(1);
|
||
}
|
||
if (c.indexOf(name) == 0) {
|
||
return c.substring(name.length, c.length);
|
||
}
|
||
}
|
||
return "";
|
||
}
|
||
|
||
//descope 로그인, 로그아웃 js
|
||
function updateHeaderMenu() {
|
||
var isLoggedIn = !!sessionStorage.getItem("sessionJwt");
|
||
// role 체크 예시 (로그인 시 저장해놓은 값)
|
||
var adminList = [
|
||
'b24014@hanmaceng.co.kr',
|
||
'kjy0426@hanmaceng.co.kr',
|
||
'b23065@hanmaceng.co.kr',
|
||
'b23008@baroncs.co.kr',
|
||
'cjy627@hanmaceng.co.kr',
|
||
'b23072@hanmaceng.co.kr'
|
||
];
|
||
|
||
var loginId = sessionStorage.getItem('loginId') || '';
|
||
var normalizedLoginId = loginId.toLowerCase();
|
||
var isAdmin = adminList.includes(normalizedLoginId);
|
||
|
||
if ($('#hid_mb_id').length) {
|
||
$('#hid_mb_id').val(isLoggedIn ? loginId : '');
|
||
}
|
||
|
||
if (isLoggedIn) {
|
||
$('.my_join2, .my_login2').show();
|
||
$('.my_join, .my_login').hide();
|
||
|
||
// 마이페이지/관리자 메뉴 동적 출력
|
||
if (isAdmin) {
|
||
$('#my_join2').html("<a href='https://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||
} else {
|
||
$('#my_join2').html("<a href='javascript:mypage03();'>마이페이지</a>");
|
||
}
|
||
} else {
|
||
$('.my_join2, .my_login2').hide();
|
||
$('.my_join, .my_login').show();
|
||
$('#my_join2').html(""); // 혹시모를 내용 초기화
|
||
}
|
||
}
|
||
|
||
function descopeLogout() {
|
||
fetch('/egbim/skin/member/basic/descope_logout.php', {
|
||
method: 'POST',
|
||
credentials: 'include' // PHPSESSID 쿠키 전송
|
||
})
|
||
.then(res => {
|
||
if (!res.ok) throw new Error('서버 로그아웃 실패');
|
||
// 1) 로컬 저장소 정리
|
||
// sessionStorage.removeItem("refreshJwt");
|
||
// sessionStorage.removeItem("sessionJwt");
|
||
// sessionStorage.removeItem("userRole");
|
||
// sessionStorage.removeItem("userName");
|
||
// sessionStorage.removeItem("loginId");
|
||
|
||
sessionStorage.clear();
|
||
localStorage.clear();
|
||
// 2) UI 갱신
|
||
updateHeaderMenu();
|
||
window.dispatchEvent(new CustomEvent('descope-auth-changed', {
|
||
detail: { loginId: '' }
|
||
}));
|
||
// 3) 로그인 페이지로 이동
|
||
window.location.href = '/egbim/index.php';
|
||
})
|
||
.catch(err => {
|
||
console.error(err);
|
||
alert('로그아웃 중 오류가 발생했습니다.');
|
||
});
|
||
}
|
||
|
||
$(document).ready(function() {
|
||
// 기존에 있던 updateHeaderMenu() 호출 뒤에
|
||
$('#my_login2 a').off('click').on('click', function(e){
|
||
e.preventDefault();
|
||
descopeLogout();
|
||
});
|
||
});
|
||
|
||
$(document).ready(function() {
|
||
updateHeaderMenu();
|
||
// (필요하다면, 로그인 성공 후에도 항상 updateHeaderMenu(); 호출)
|
||
});
|
||
|
||
//descope login
|
||
$('#flogin button[type=submit]').click(function(e){
|
||
e.preventDefault();
|
||
let mb_id = $('#login_id').val();
|
||
let mb_password = $('#login_pw').val();
|
||
|
||
$.ajax({
|
||
url : '/egbim/skin/member/basic/descope_login.php',
|
||
data : {
|
||
'mb_id' : mb_id,
|
||
'mb_password' : mb_password
|
||
},
|
||
type : "POST",
|
||
dataType : "json",
|
||
success : function(res){
|
||
if(res.status === "ok") {
|
||
// 토큰 저장
|
||
// sessionStorage.setItem("refreshJwt", res.refreshJwt);
|
||
sessionStorage.setItem("sessionJwt", res.sessionJwt);
|
||
|
||
// ✅ 사용자 정보 저장
|
||
if (res.user) {
|
||
sessionStorage.setItem("loginId", res.user.loginIds?.[0] || '');
|
||
sessionStorage.setItem("userName", res.user.name || '');
|
||
sessionStorage.setItem("company", res.user.customAttributes?.company || '');
|
||
sessionStorage.setItem("familyCompany", res.user.customAttributes?.familyCompany || '');
|
||
sessionStorage.setItem("position", res.user.customAttributes?.position || '');
|
||
sessionStorage.setItem("team", res.user.customAttributes?.team || '');
|
||
sessionStorage.setItem("familyUniqueKey", res.user.customAttributes?.familyUniqueKey || '');
|
||
sessionStorage.setItem("phone", res.user.phone || '');
|
||
}
|
||
|
||
// ✅ 추가: 관리자 등 정보 저장
|
||
if(res.user && res.user.roleNames && res.user.roleNames[0])
|
||
sessionStorage.setItem("userRole", res.user.roleNames[0]);
|
||
else
|
||
sessionStorage.removeItem("userRole");
|
||
|
||
// ✅ 로그인 후 메뉴 갱신
|
||
updateHeaderMenu();
|
||
window.dispatchEvent(new CustomEvent('descope-auth-changed', {
|
||
detail: {
|
||
loginId: res.user?.loginIds?.[0] || '',
|
||
user: res.user || null
|
||
}
|
||
}));
|
||
|
||
// UI 처리
|
||
$('.popup_wrap').hide();
|
||
$('body').css('overflow', '');
|
||
lenis.start();
|
||
// alert('로그인 하셨습니다.');
|
||
} else {
|
||
alert(res.message || "로그인 실패");
|
||
|
||
// 🔴 실패 횟수에 따라 안내 배너 교체
|
||
if (res.failCount && res.failCount >= 8) {
|
||
updateLoginBanner("fail");
|
||
}
|
||
}
|
||
},
|
||
error : function(err){
|
||
alert(err.statusText || "통신 오류");
|
||
}
|
||
});
|
||
});
|
||
|
||
// ✅ 배너 교체 함수
|
||
function updateLoginBanner(type = "default") {
|
||
const $banner = $('#login_notice_banner');
|
||
if (!$banner.length) return;
|
||
|
||
if (type === "default") {
|
||
$banner.css({ background: "#063e01ff", color: "#fff" });
|
||
$banner.find("strong").text("[로그인 시스템 변경 안내]");
|
||
$banner.find("p.left").html(`
|
||
더 나은 보안을 위해 2025년 8월 8일부터 로그인 시스템이 변경되었습니다.<br>
|
||
기존 회원 또한 신규 시스템에 맞춰 재가입을 진행해주시기 바랍니다.
|
||
`);
|
||
$banner.find("p:last").html(`※ 로그인 및 가입 관련 문의: <strong>010-8721-7453</strong>`);
|
||
}
|
||
|
||
if (type === "fail") {
|
||
$banner.css({ background: "#6a0202ff", color: "#faf6f6ff" });
|
||
$banner.find("strong").text("[로그인 시도 제한 안내]");
|
||
$banner.find("p.left").html(`
|
||
비밀번호 입력을 <strong>7회 이상 연속 실패</strong>하셨습니다.<br>
|
||
<strong>8번째 시도부터 3분 대기</strong>가 적용됩니다.<br>
|
||
10회 이상 실패 시 계정이 잠금 처리됩니다.
|
||
`);
|
||
$banner.find("p:last").text("");
|
||
}
|
||
}
|
||
|
||
//회원가입 약관동의
|
||
// $('#fregister button[type=submit]').click(function(e){
|
||
// e.preventDefault();
|
||
// let agree11 = $('#agree11').val();
|
||
// let agree21 = $('#agree21').val();
|
||
// $.ajax({
|
||
// url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||
// type : "POST",
|
||
// datatype : "json",
|
||
// contentType: 'application/json; charset=utf-8',
|
||
// data : {
|
||
// 'agree11' : agree11,
|
||
// 'agree21' : agree21
|
||
// },
|
||
// success : function(data){
|
||
// var ss='';
|
||
// for(i=0; i<data.length; i++){
|
||
// ss=ss + data[i];
|
||
// }
|
||
// },
|
||
// error : function(err){
|
||
// alert(err);
|
||
// }
|
||
// });
|
||
// });
|
||
// 회원가입 약관동의 (중복 바인딩 방지용 네임스페이스 사용)
|
||
// $('#fregister button[type=submit]').off('click.agree').on('click.agree', function (e) {
|
||
// e.preventDefault();
|
||
|
||
// // ① 체크 여부는 is(':checked') 로 판단
|
||
// var agree1 = $('#agree11').is(':checked');
|
||
// var agree2 = $('#agree21').is(':checked');
|
||
|
||
// if (!(agree1 && agree2)) {
|
||
// alert('약관에 모두 동의해주세요.');
|
||
// return false;
|
||
// }
|
||
|
||
// // ② 둘 다 체크되어 있으면 서버로 넘길 값 만들기
|
||
// // (PHP register_form.php에서 $_POST['agree'], $_POST['agree2']로 받게)
|
||
// $.ajax({
|
||
// url: '<?php echo G5_URL ?>/bbs/register_form.php',
|
||
// type: 'POST',
|
||
// dataType: 'html', // or 'json' (서버 응답 형식에 맞게)
|
||
// // contentType/processData 기본값 유지 ← JSON 전송 아니면 이게 맞습니다.
|
||
// data: {
|
||
// agree: 1,
|
||
// agree2: 1
|
||
// },
|
||
// success: function (data) {
|
||
// // 통과 시 다음 화면으로 전환
|
||
// $('#pop_agreement').hide();
|
||
// $('#pop_register_form').show(); // 실제 다음 팝업 ID에 맞춰 수정
|
||
// $('body').css('overflow', 'hidden');
|
||
// },
|
||
// error: function (xhr) {
|
||
// alert('처리 중 오류가 발생했습니다.\n다시 시도해주세요.');
|
||
// }
|
||
// });
|
||
// });
|
||
// $(document).ready(function() {
|
||
|
||
// // 기존에 바인딩된 거 있으면 제거 (중복 방지)
|
||
// $('#fregister button[type=submit], #btn_agree').off('click.agree');
|
||
|
||
// $('#fregister button[type=submit], #btn_agree').on('click.agree', function(e){
|
||
// e.preventDefault();
|
||
// e.stopPropagation();
|
||
// e.stopImmediatePropagation();
|
||
|
||
// // 체크 여부는 반드시 :checked 로 확인해야 함
|
||
// var a1 = $('#agree11').is(':checked');
|
||
// var a2 = $('#agree21').is(':checked');
|
||
|
||
// if (!(a1 && a2)) {
|
||
// alert('약관에 모두 동의해주세요.');
|
||
// return false; // 진행 막기
|
||
// }
|
||
|
||
// // === 여기부터는 통과 시 동작(필요 없으면 주석 처리 가능) ===
|
||
// // AJAX 그대로 유지하되, 실제 동작하려면 서버가 받는 파라미터명에 맞추세요.
|
||
// // 서버 기본 로직은 보통 'agree', 'agree2'를 받습니다.
|
||
// $.ajax({
|
||
// url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||
// type : 'POST',
|
||
// dataType : 'json',
|
||
// // contentType 은 JSON 전송할 때만 쓰세요. 지금은 기본 폼 인코딩으로 보냅니다.
|
||
// // contentType: 'application/json; charset=utf-8',
|
||
// data : {
|
||
// 'agree' : a1 ? 1 : 0, // 서버가 'agree' 로 받는 경우
|
||
// 'agree2' : a2 ? 1 : 0
|
||
// },
|
||
// success : function(data){
|
||
// // 필요 시 다음 단계 이동
|
||
// // $('#pop_agreement').hide();
|
||
// // $('#pop_register_form').show();
|
||
// // $('body').css('overflow','hidden');
|
||
// },
|
||
// error : function(err){
|
||
// alert('오류가 발생했습니다. 잠시 후 다시 시도해주세요.');
|
||
// console.error(err);
|
||
// }
|
||
// });
|
||
// });
|
||
// });
|
||
|
||
|
||
|
||
|
||
//이지빔 프로그램 회원가입 url 쿼리스트링 파싱 함수
|
||
function getQueryString(name) {
|
||
|
||
const urlParams = new URLSearchParams(window.location.search);
|
||
return urlParams.get(name);
|
||
}
|
||
|
||
$(document).ready(function() {
|
||
const popupParam = getQueryString('popup');
|
||
|
||
if (popupParam === 'signup') {
|
||
console.log('쿼리 감지: signup → 회원가입 팝업 자동 오픈 시도');
|
||
//251013 위치 이동
|
||
const intro = document.querySelector('.intro_wrap');
|
||
intro.style.display = "none";
|
||
const mainMask = document.querySelector('.main_mask');
|
||
mainMask.classList.add('skip');
|
||
// mainMask.style.aimation = 'none';
|
||
//251013 위치 이동 END
|
||
$('#pop_agreement').show(); // 팝업 보여주기
|
||
|
||
// 스크롤 잠금 (사용 중이면)
|
||
$('body').css('overflow', 'hidden');
|
||
if (typeof lenis !== 'undefined') {
|
||
lenis.stop();
|
||
}
|
||
}
|
||
|
||
// 팝업 닫기 버튼 이벤트 연결
|
||
$('#pop_agreement .btn_close').on('click', function() {
|
||
$('#pop_agreement').hide();
|
||
$('body').css('overflow', '');
|
||
if (typeof lenis !== 'undefined') {
|
||
lenis.start();
|
||
}
|
||
});
|
||
});
|
||
|
||
//이지빔 프로그램 비밀번호 재설정 url 쿼리스트링 파싱 함수
|
||
$(document).ready(function() {
|
||
const urlParams = new URLSearchParams(window.location.search);
|
||
const popup = urlParams.get('popup');
|
||
const token = urlParams.get('t');
|
||
|
||
if (popup === 'pwreset') {
|
||
// 팝업 전체 열기
|
||
$('#pop_search').show();
|
||
$('body').css('overflow', 'hidden');
|
||
|
||
// 내부 컨텐츠 모두 숨기기
|
||
$('#pop_search .popup_contents_wrap').hide();
|
||
|
||
if (token) {
|
||
// 토큰이 있으면 비밀번호 재설정 단계
|
||
if (!sessionStorage.getItem('pwreset_shown')) {
|
||
$('#password_reset').show();
|
||
sessionStorage.setItem('pwreset_shown', '1');
|
||
}
|
||
} else {
|
||
// 토큰이 없으면 아이디 입력 단계 (첫 번째 .popup_contents_wrap)
|
||
$('#pop_search .popup_contents_wrap').first().show();
|
||
}
|
||
}
|
||
|
||
// 닫기 버튼
|
||
$('#pop_search .btn_close').on('click', function() {
|
||
$('#pop_search').hide();
|
||
$('body').css('overflow', '');
|
||
});
|
||
});
|
||
|
||
//로그인 팝업창 쿼리스트링
|
||
document.addEventListener("DOMContentLoaded", function(){
|
||
const urlParams = new URLSearchParams(window.location.search);
|
||
if (urlParams.get("popup") === "login") {
|
||
const $popup = $("#pop_login");
|
||
if ($popup.length) {
|
||
$popup.show();
|
||
|
||
// ✅ 배너가 없으면 붙이기
|
||
if (!$("#login_notice_banner").length) {
|
||
const bannerHtml = `
|
||
<div id="login_notice_banner" class="login-notice-banner" style="
|
||
background:#0f3a2f;color:#fff;border-radius:12px;padding:14px 44px 14px 14px;
|
||
position:relative;margin:0 0 12px 0;line-height:1.6;word-break:keep-all;">
|
||
<button type="button" class="lnb-close" aria-label="닫기" style="
|
||
position:absolute;right:10px;top:8px;background:transparent;border:0;
|
||
color:#fff;font-size:20px;cursor:pointer;">×</button>
|
||
<strong style="display:block;margin-bottom:6px;">[로그인 시스템 변경 안내]</strong>
|
||
<p class="left" style="margin:0 0 6px;">
|
||
더 나은 보안을 위해 2025년 8월 8일부터
|
||
로그인 시스템이 변경되었습니다.
|
||
기존 회원 또한 신규 시스템에 맞춰<br>
|
||
재가입을 진행해주시기 바랍니다.
|
||
</p>
|
||
<p style="margin:0;">※ 로그인 및 가입 관련 문의: <strong>02-2141-7434</strong></p>
|
||
</div>
|
||
`;
|
||
$("#pop_login .popup_contents_wrap").prepend(bannerHtml);
|
||
|
||
// 닫기 버튼 동작
|
||
$("#login_notice_banner .lnb-close").on("click", function(){
|
||
$("#login_notice_banner").fadeOut(120);
|
||
});
|
||
} else {
|
||
$("#login_notice_banner").show();
|
||
}
|
||
}
|
||
}
|
||
});
|
||
// //공지사항 팝업 스크립트
|
||
// (function(){
|
||
// const KEY = 'egbim_notice_2025-08-07'; // 키 바꾸면 전체 사용자에게 다시 노출
|
||
// const dim = document.getElementById('egbimNoticeDim');
|
||
// const box = document.getElementById('egbimNoticeBox');
|
||
// const btnX = document.getElementById('egbimNoticeClose');
|
||
// const btnOk = document.getElementById('egbimNoticeOk');
|
||
// const btnToday = document.getElementById('egbimNoticeToday');
|
||
|
||
// function todayStr(){
|
||
// const d = new Date(); return d.toISOString().slice(0,10);
|
||
// }
|
||
// function shouldShow(){
|
||
// const v = localStorage.getItem(KEY);
|
||
// // 항상 띄우고 싶으면 다음 줄을 `return true;` 로 바꾸세요.
|
||
// return v !== todayStr();
|
||
// }
|
||
// function openNotice(){
|
||
// dim.style.display = 'block';
|
||
// box.style.display = 'block';
|
||
// document.body.style.overflow = 'hidden';
|
||
// if (typeof lenis !== 'undefined') try{ lenis.stop(); }catch(_){}
|
||
// }
|
||
// function closeNotice(storeToday){
|
||
// if (storeToday) localStorage.setItem(KEY, todayStr());
|
||
// dim.style.display = 'none';
|
||
// box.style.display = 'none';
|
||
// document.body.style.overflow = '';
|
||
// if (typeof lenis !== 'undefined') try{ lenis.start(); }catch(_){}
|
||
// }
|
||
|
||
// btnOk.addEventListener('click', () => closeNotice(true)); // 확인 누르면 오늘은 다시 안봄
|
||
// btnToday.addEventListener('click', () => closeNotice(true)); // 오늘 하루 보지 않기
|
||
// btnX.addEventListener('click', () => closeNotice(true));
|
||
// dim.addEventListener('click', () => closeNotice(true));
|
||
|
||
// document.addEventListener('DOMContentLoaded', () => {
|
||
// if (shouldShow()) openNotice();
|
||
// });
|
||
// })();
|
||
|
||
|
||
/* 메인 마우스 클릭 문구 */
|
||
if (window.location.pathname === '/egbim/index.php' || window.location.pathname === '/egbim/' || window.location.pathname === '/egbim') {
|
||
|
||
// 커서 따라다니는 텍스트 요소 생성
|
||
const cursorText = document.createElement('div');
|
||
cursorText.className = 'cursor-text';
|
||
cursorText.textContent = 'Click!';
|
||
cursorText.style.cssText = `
|
||
position: fixed;
|
||
pointer-events: none;
|
||
z-index: 9999;
|
||
font-size: 20px;
|
||
color: #fff;
|
||
font-weight: 500;
|
||
white-space: nowrap;
|
||
transform: translate(-0%, -50%);
|
||
transition: opacity 0.3s;
|
||
`;
|
||
document.body.appendChild(cursorText);
|
||
|
||
// 마우스 움직임 추적
|
||
document.addEventListener('mousemove', (e) => {
|
||
// 마우스 위치의 요소 확인
|
||
const elementUnderMouse = document.elementFromPoint(e.clientX, e.clientY);
|
||
|
||
// footer 또는 .popup_wrap 영역인지 확인
|
||
const isInFooter = elementUnderMouse?.closest('footer');
|
||
const isInPopup = elementUnderMouse?.closest('.popup_wrap');
|
||
const isInFloating = elementUnderMouse?.closest('.floating_menu');
|
||
const isInPagination = elementUnderMouse?.closest('.pagination_main');
|
||
const isInHeader = elementUnderMouse?.closest('.js__header');
|
||
const isInSitemap = elementUnderMouse?.closest('.popup_sitemap');
|
||
|
||
// footer나 popup 영역이면 숨김
|
||
if (isInFooter || isInPopup || isInFloating || isInPagination || isInHeader || isInSitemap) {
|
||
cursorText.style.opacity = '0';
|
||
} else {
|
||
cursorText.style.opacity = '1';
|
||
// 커서 오른쪽 아래에 위치
|
||
cursorText.style.left = (e.clientX + 15) + 'px';
|
||
cursorText.style.top = (e.clientY + 15) + 'px';
|
||
}
|
||
});
|
||
|
||
// 마우스가 페이지를 벗어나면 숨김
|
||
document.addEventListener('mouseleave', () => {
|
||
cursorText.style.opacity = '0';
|
||
});
|
||
|
||
document.addEventListener('mouseenter', () => {
|
||
cursorText.style.opacity = '1';
|
||
});
|
||
}
|
||
</script>
|
||
|