PageSourceSearch

https://www.spectory.net/account/login?loginType=user

html spectory.net collected 2026-09-26 09:36:22 UTC 37,122 bytes, 758 lines download raw bytes

1<!DOCTYPE html>
2<html>
3<head>
4                <title>로그인 :: 스펙토리 | 공모전, 대외활동, 공모사업 플랫폼</title>
5        <!-- meta-->
6        <meta charset="utf-8">
7        <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
8        <meta http-equiv="X-UA-Compatible" content="IE=edge">
9        <meta name="description" content="대한민국 대표 공모전 접수 및 홈페이지 빌더 플랫폼. 공모전 홍보 및 대행, 공모전 및 대외활동 정보 제공">
10        <meta name="keywords"
11              content="공모전,대학생공모전,대외활동,공모전사이트,대학생대외활동,서포터즈,공모전일정,건축공모전,광고공모전,디자인공모전,마케팅공모전,만화공모전,웹툰공모전,문학공모전,소설공모전,미술공모전,사진공모전,시나리오공모전,아이디어공모전,영상공모전,UCC공모전,일러스트공모전,캐릭터공모전,주부체험단,주부기자단"/>
12        <!-- fb, kakao, gp -->
13        <meta property="og:url" id="meta_url" content="https://www.spectory.net">
14        <meta property="og:title" id="meta_title" content="스펙토리 | 공모전, 대외활동, 공모사업 플랫폼">
15        <meta property="og:description" id="meta_description"
16              content="대한민국 대표 공모전 접수 및 홈페이지 빌더 플랫폼. 공모전 홍보 및 대행, 공모전 및 대외활동 정보 제공">
17        <meta property="og:site_name" content="스펙토리"/>
18        <meta property="og:type" id="meta_type" content="website">
19        <meta property="og:image" id="meta_image" content="/images/meta.png">
20        <meta property="og:image:width" content="200"/>
21        <meta property="og:image:height" content="200"/>
22        <!-- google -->
23        
23<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7222152710908355" crossorigin="anonymous"></script>
23
24        <!-- google -->
25        <!-- meta -->
26        <!-- channel -->
27        <!-- naver-search -->
28        <meta name="naver-site-verification" content="635890dcbfb96349f376fe858dd1f97bf70cb3e7"/>
29        <!--채널 스키마-->
30        
30<script type="application/ld+json">
31            {
32                "@context": "http://schema.org",
33                "@type": "Organization",
34                "name": "스펙토리",
35                "url": "http://www.spectory.net",
36                "sameAs": [
37                    "https://www.instagram.com/spectory_official",
38                    "https://www.facebook.com/대한민국-대표-공모전-스펙토리-2734691780090181",
39                    "https://blog.naver.com/spectory1234",
40                    "https://post.naver.com/spectory1234"
41                ]
42            }
43        </script>
43
44        <!-- channel -->
45        <!-- 라이브러리 불러오기 -->
46        <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
47        <!--mainly style-->
48        <link rel="stylesheet" type="text/css" href="/css/bootstrap.css?20230821">
49        <link rel="stylesheet" type="text/css" href="/css/animate.css">
50        <link rel="stylesheet" type="text/css" href="/css/font-awesome.css">
51        <link rel="stylesheet" type="text/css" href="/css/bootstrap-tour.min.css">
52        <link rel="stylesheet" type="text/css" href="/css/sweetalert.css">
53        <link rel="stylesheet" type="text/css" href="/css/daterangepicker-bs3.css">
54        <link rel="stylesheet" type="text/css" href="/css/datepicker3.css">
55        <link rel="stylesheet" type="text/css" href="/css/slick.css">
56        <link rel="stylesheet" type="text/css" href="/css/slick-theme.css">
57        <link rel="stylesheet" type="text/css" href="/css/style.css?20240828">
58        <link rel="stylesheet" type="text/css" href="/css/default/spectory.css?20260904v4">
59        <!--mainly style-->
60        <!--mainly script-->
61                
61<script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script>
61
62        
62<script type="text/javascript" src="/js/popper.min.js"></script>
62
63        
63<script type="text/javascript" src="/js/bootstrap.js"></script>
63
64        
64<script type="text/javascript" src="/js/jquery.metisMenu.js"></script>
64
65        
65<script type="text/javascript" src="/js/jquery.slimscroll.min.js"></script>
65
66        
66<script type="text/javascript" src="/js/inspinia.js?20240716"></script>
66
67        
67<script type="text/javascript" src="/js/pace.min.js"></script>
67
68        
68<script type="text/javascript" src="/js/daterangepicker.js"></script>
68
69        
69<script type="text/javascript" src="/js/bootstrap-datepicker.js"></script>
69
70        
70<script type="text/javascript" src="/js/sweetalert.min.js"></script>
70
71        
71<script type="text/javascript" src="/js/bootstrap-tour.min.js"></script>
71
72        
72<script type="text/javascript" src="/js/slick.js"></script>
72
73        
73<script type="text/javascript" src="/js/spt.js?20231018"></script>
73
74        
74<script type="text/javascript" src="/js/jquery.dotdotdot.min.js"></script>
vendor: 93 bytes, lines 74-76
74
75        <script src="https://www.google.com/recaptcha/api.js" async defer></script>
76        
76<!-- //라이브러리 불러오기 -->
77        <!-- Google tag (gtag.js) -->
vendor: 72 bytes, lines 77-78
77
78        <script async src="https://www.googletagmanager.com/gtag/js?id=
78AW-706860816
vendor: 20 bytes, lines 78-79
78"></script>
79        
79<script>
80            
vendor: 194 bytes, lines 80-85
80window.dataLayer = window.dataLayer || [];
81            function gtag() {
82                dataLayer.push(arguments);
83            }
84            gtag('js', new Date());
85            gtag('config', '
85AW-706860816
vendor: 12 bytes, lines 85-86
85');
86        
86</script>
86
87        <!-- Google tag (gtag.js) -->
88        <!-- Meta Pixel Code -->
89        
89<script>
vendor: 755 bytes, lines 89-108
89
90            !function (f, b, e, v, n, t, s) {
91                if (f.fbq) return;
92                n = f.fbq = function () {
93                    n.callMethod ?
94                        n.callMethod.apply(n, arguments) : n.queue.push(arguments)
95                };
96                if (!f._fbq) f._fbq = n;
97                n.push = n;
98                n.loaded = !0;
99                n.version = '2.0';
100                n.queue = [];
101                t = b.createElement(e);
102                t.async = !0;
103                t.src = v;
104                s = b.getElementsByTagName(e)[0];
105                s.parentNode.insertBefore(t, s)
106            }(window, document, 'script',
107                'https://connect.facebook.net/en_US/fbevents.js');
108            fbq('init', '
1081035043434650550
vendor: 50 bytes, lines 108-110
108');
109            fbq('track', 'PageView');
110        
110</script>
110
111        <noscript>
112                <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1035043434650550&ev=PageView&noscript=1"/>
113        </noscript>
114        <!-- End Meta Pixel Code -->
115    
116</head>
117<body class="spt-portal">
118        <div class="tour-backdrop" id="tourBackdrop" style="display: none"></div>                    <div class="navbar-wrapper" role="navigation" data-ad-format="none">
119	<nav class="row nav-menu align-items-md-center">
120		<div class="col-6 no-padding">
121			<a class="navbar-brand" href="/"><img src="/images/logo.svg" alt="logo.svg" height="30"></a>
122			<ul class="nav-left">
123				<li id="naviStep1"><a class="nav-link font-weight-bold " href="/contest/lists?filter=all"><span class="badge badge-danger position-absolute m-t-n p-w-xs"><small class="font-bold">신규!</small></span>공모 X 대외활동</a></li>
124				<li id="naviStep4"><a class="nav-link font-weight-bold " href="/event/lists"><span class="badge badge-danger position-absolute m-t-n p-w-xs"><small class="font-bold">신규!</small></span>이벤트</a></li>
125				<li id="naviStep2"><a class="nav-link font-weight-bold " href="/gallery/lists"><span class="badge badge-success position-absolute m-t-n p-w-xs"><small class="font-bold">업데이트!</small></span>갤러리</a></li>
126				<li id="naviStep3"><a class="nav-link font-weight-bold " href="/community/lists?filter=all"><span class="badge badge-success position-absolute m-t-n p-w-xs"><small class="font-bold">커뮤니티!</small></span>공지 X 매거진</a></li>
127
128			</ul>
129		</div>
130		<div class="col-3">
131			<div class="input-group spt-skin" id="naviStep5">
132				<input type="text" id="txt_search_txt" placeholder="키워드 검색" value="" class="form-control no-border">
133				<div class="input-group-prepend" id="go_search"> <!-- 이동 페이지 연결-->
134					<span class="input-group-addon no-border"><i class="fa fa-search text-spt"></i></span>
135				</div>
136			</div>
137		</div>
138		<div class="col-3 p-w-xs">
139							<ul class="nav-right">
140					<li><a class="nav-link font-weight-bold fs-6 text-warning" href="/account/login?loginType=user">로그인</a></li>
141					<li><a class="nav-link font-weight-bold fs-6 text-warning" href="/account/join">회원가입</a></li>
142				</ul>
143					</div>
144	</nav>
145</div>
146			<div class="leftMenu">
147    <div class="left-button-wrap">
148        <a href="javascript:" class="modal-btn">
149            <span class="group btn-lg btn btn-dark text-white"><i class='fa fa-angle-double-right fs-5'></i></span>
150        </a>
151    </div>
152    <div class="row">
153        <div class="col-12">
154            <div class="ibox no-margins">
155                <div class="ibox-content p-xxs gray-bg">
156                    <div class="text-left modal-btn d-inline-block">
157                        <a href="javascript:"><span class="exit btn btn-dark text-white"><i class="fa fa-times"></i></span></a>
158                    </div>
159                    <div class="m-t-sm">
160                        <a href="#portalMain01" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins text-left">S | 슈프림</p></a>
161                    </div>
162                    <div class="m-t-sm">
163                        <a href="#portalMain02" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins text-left">P | 프라임</p></a>
164                    </div>
165                    <div class="m-t-sm">
166                        <a href="#portalMain03" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins text-left">E | 이펙티브</p></a>
167                    </div>
168                    <div class="m-t-sm">
169                        <a href="#portalMain04" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins text-left">C | 커몬</p></a>
170                    </div>
171                    <div class="text-center m-t-sm">
172                        <a href="#portalMain05" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins">신규등록!</p></a>
173                    </div>
174                    <div class="text-center m-t-sm">
175                        <a href="#portalMain06" class="scroll btn btn-dark text-white btn-block"><p class="align-text-top no-margins">마감임박!</p></a>
176                    </div>
177                </div>
178            </div>
179        </div>
180    </div>
181</div>
182<script>
183    // 좌측 스크롤 메뉴 토글
184    $(".modal-btn").on("click", function (){
185        $('.leftMenu').toggleClass('addToggle');
186        $('.left-button-wrap').toggleClass('addToggle');
187    })
188
189    // 부드럽게 섹션이동
190    $(".scroll").on("click", function(event){
191        event.preventDefault();
192        $('html,body').stop().animate({scrollTop:$(this.hash).offset().top-62.5}, 300);
193    });
194</script>
194	<!-- 카카오상담톡 -->
195<script src="https://t1.kakaocdn.net/kakao_js_sdk/2.0.1/kakao.min.js" integrity="sha384-eKjgHJ9+vwU/FCSUG3nV1RKFolUXLsc6nLQ2R1tD0t4YFPCvRmkcF8saIfOZNWf/" crossorigin="anonymous"></script>
195
196<div id="kakao-talk-channel-chat-button" style="display:none;"></div>
197<script type="text/javascript">
198	// 사용할 앱의 JavaScript 키를 설정해 주세요.
199	Kakao.init('6c04e2894c20fbf1437dd07ffc68df66');
200	// 채널 1:1 채팅 버튼을 생성합니다.
201</script>
201
202<!-- 카카오상담톡-->
203
204<script type="text/javascript">
205
206        $("#top").click(function() {
207            $("html, body").animate({ scrollTop: 0 }, "fast");
208            return false;
209        });
210
211        var screenWidth = window.innerWidth;
212        if(screenWidth < 1530) {
213            $(".leftBanner, .wing-tool, .leftMenu").hide();
214        } else {
215            $(".leftBanner, .wing-tool, .leftMenu").show();
216        }
217
218        function reportWindowSize() {
219            var screenWidth = window.innerWidth;
220
221            if(screenWidth < 1480) {
222                $(".leftBanner, .wing-tool, .leftMenu").hide();
223            } else {
224                $(".leftBanner, .wing-tool, .leftMenu").show();
225            }
226        }
227
228        window.onresize = reportWindowSize;
229
230        var navUrlParam = window.location.pathname;
231        var navUrl = navUrlParam.replaceAll("/","");
232        var navMenu = $('.nav-left > li');
233
234        switch (navUrl) {
235            case 'list':
236                navMenu.eq(0).addClass("active");
237                break;
238            case 'gallery':
239                navMenu.eq(1).addClass("active");
240                break;
241            case 'community':
242                navMenu.eq(2).addClass("active");
243                break;
244            case 'event':
245                navMenu.eq(3).addClass("active");
246                break;
247        }
248
249        $('body').scrollspy({
250            target: '#navbar',
251            offset: 80
252        });
253
254    	var cbpAnimatedHeader = (function() {
255        var docElem = document.documentElement,
256            header = document.querySelector( '.navbar-wrapper' ),
257            didScroll = false,
258            changeHeaderOn = 60;
259        function init() {
260            window.addEventListener( 'scroll', function( event ) {
261                if( !didScroll ) {
262                    didScroll = true;
263                    setTimeout( scrollPage, 100 );
264                }
265            }, false );
266        }
267        function scrollPage() {
268            var sy = scrollY();
269            if ( sy >= changeHeaderOn ) {
270                $(header).addClass('navbar-fixed-top');
271            }
272            else {
273                $(header).removeClass('navbar-fixed-top');
274            }
275            didScroll = false;
276        }
277        function scrollY() {
278            return window.pageYOffset || docElem.scrollTop;
279        }
280        init();
281
282    })();
283    // new WOW().init();
284		$("#txt_search_txt").keydown(function(event){
285			if (event.keyCode == 13) {
286					$("#go_search").trigger("click");
287			}
288		});
289
290		$("#go_search").click(function(){
291				var searchVal = $("#txt_search_txt").val();
292				location.href = "/search/results?searchTxt="+encodeURIComponent(searchVal);
293		});
294
295	$('.denied').click(function() {
296		alertFire('주최사 미승인','주최사인증이 필요한 서비스입니다.<br>정보수정에서 사업자등록증을 첨부하시면<br>관리자가 승인처리합니다.','error');
297	});
298    $('#supportBtn1').on('click', function(){
299        var userId = '';
300        if(userId == 0){
301            Swal.fire({
302                icon: 'error',
303                title: '로그인',
304                html: ' 해당기능은 로그인 후 이용가능합니다.',
305                confirmButtonColor: '#F8AC59',
306                confirmButtonText: '확인'
307            }).then((result) => {
308                window.location.href = '/account/login?loginType=user';
309            })
310        } else {
311            window.location.href = '/pages/sub/question';
312        }
313    });
314
315	$(document).ready(function() {
316		var currentUrl = encodeURIComponent(window.location.href); // 현재 페이지 URL 인코딩
317		$("#kakao-chat-link").attr("href", "https://pf.kakao.com/_mwjixj/chat?prev_url=" + currentUrl);
318	});
319</script>
319    <section id="login" data-ad-format="none">
320        <div class="spt-container p-h-lg">
321            <div class="middle-box text-center animated fadeInDown">
322                <div>
323                    <div class="tabs-container">
324                        <ul class="nav nav-tabs" role="tablist">
325                            <li class="col-4 no-padding"><a class="nav-link selectTypeBtn font-weight-bold active" data-toggle="tab" data-type="user" href="#tab-1">일반회원</a></li>
326                            <li class="col-4 no-padding"><a class="nav-link selectTypeBtn font-weight-bold " data-toggle="tab" data-type="manager" href="#tab-2">주최사회원</a></li>
327                        </ul>
328                        <div class="tab-content">
329                            <div role="tabpanel" id="tab-1" class="tab-pane active">
330                                <div class="panel-body">
331                                    <h2 class="login-name m-t-xs animated bounceIn txt-gradient bg-gradient-yellow">참여하고 싶어요</h2>
332                                    <div class="hr-line-dashed"></div>
333                                    <div class="form-group">
334                                        <input type="email" id="email" class="form-control p-md" placeholder="이메일">
335                                    </div>
336                                    <div class="form-group">
337                                        <input type="password" id="pw" class="form-control p-md" placeholder="비밀번호">
338                                    </div>
339                                    <!-- RECAPTCHA -->
340                                    <input type="hidden" id="recaptchaToken" name="recaptchaToken">
341                                    <div class="g-recaptcha" data-sitekey="6Lex6JwqAAAAAHQQKLDCJRja_EZ1GOtbo3j-ZmnU" data-callback="recaptcha"></div>
342                                    <!-- RECAPTCHA -->
343                                    <button id="btn-login" class="btn btn-warning block full-width m-b m-t">로그인</button>
344                                    <div class="row">
345                                        <div class="col-12">
346                                            <a href="/account/find" class="btn btn-white btn-block" >로그인 정보 찾기</a>
347                                        </div>
348                                    </div>
349                                    <div class="hr-line-dashed"></div>
350                                    <p><u>아직 회원이 아니라면?</u></p>
351                                    <a class="btn btn-white btn-block font-weight-normal" href="/account/join">회원가입</a>
352                                    <div class="row">
353                                        <div class="col-12 m-t">
354                                            <a href="/?event=on"><img src="/images/banners/5.svg" alt="5.svg" width="100%"/></a>
355                                        </div>
356                                    </div>
357                                </div>
358                            </div>
359                            <div role="tabpanel" id="tab-2" class="tab-pane ">
360                                <div class="panel-body">
361                                    <h2 class="login-name m-t-xs animated bounceIn  txt-gradient bg-gradient-yellow">개최하고 싶어요</h2>
362                                    <div class="hr-line-dashed"></div>
363                                    <div class="form-group">
364                                        <input type="hidden" id="urlkey" class="form-control p-md" placeholder="사이트키" value="none">
365                                    </div>
366                                    <div class="form-group">
367                                        <input type="email" id="email2" class="form-control p-md" placeholder="이메일">
368                                    </div>
369                                    <div class="form-group">
370                                        <input type="password" id="pw2" class="form-control p-md" placeholder="비밀번호">
371                                    </div>
372                                    <!-- RECAPTCHA -->
373                                    <input type="hidden" id="recaptchaToken" name="recaptchaToken">
374                                    <div class="g-recaptcha" data-sitekey="6Lex6JwqAAAAAHQQKLDCJRja_EZ1GOtbo3j-ZmnU" data-callback="recaptcha"></div>
375                                    <!-- RECAPTCHA -->
376                                    <button id="btn-login2" class="btn btn-warning block full-width m-b m-t">로그인</button>
377                                    <div class="row">
378                                        <div class="col-12">
379                                            <a href="/account/find" class="btn btn-white btn-block" >로그인 정보 찾기</a>
380                                        </div>
381                                    </div>
382                                    <div class="hr-line-dashed"></div>
383                                    <p>아직 회원이 아니라면?</p>
384                                    <a class="btn btn-white btn-block font-weight-bolder" href="/account/join">회원가입</a>
385                                    <div class="row">
386                                        <div class="col-12 m-t">
387                                            <a href="/?event=on"><img src="/images/banners/5a.svg" alt="5a.svg" width="100%"/></a>
388                                        </div>
389                                    </div>
390                                </div>
391                            </div>
392                            <div role="tabpanel" id="tab-3" class="tab-pane ">
393                                <div class="panel-body">
394                                    <h2 class="login-name m-t-xs animated bounceIn txt-gradient bg-gradient-yellow">심사하고 싶어요</h2>
395                                    <div class="hr-line-dashed"></div>
396                                    <div class="form-group">
397                                        <input type="email" id="email3" class="form-control p-md" placeholder="이메일">
398                                    </div>
399                                    <div class="form-group">
400                                        <input type="password" id="pw3" class="form-control p-md" placeholder="비밀번호">
401                                    </div>
402                                    <!-- RECAPTCHA -->
403                                    <input type="hidden" id="recaptchaToken" name="recaptchaToken">
404                                    <div class="g-recaptcha" data-sitekey="6Lex6JwqAAAAAHQQKLDCJRja_EZ1GOtbo3j-ZmnU" data-callback="recaptcha"></div>
405                                    <!-- RECAPTCHA -->
406                                    <button id="btn-login3" class="btn btn-warning block full-width m-b m-t">로그인</button>
407                                    <div class="row">
408                                        <div class="col-12">
409                                            <a href="/account/find" class="btn btn-white btn-block" >로그인 정보 찾기</a>
410                                        </div>
411                                    </div>
412                                    <div class="hr-line-dashed"></div>
413                                    <p><u>아직 회원이 아니라면?</u></p>
414                                    <a class="btn btn-white btn-block font-weight-normal" href="/account/join">회원가입</a>
415                                    <div class="row">
416                                        <div class="col-12 m-t">
417                                            <a href="/?event=on"><img src="/images/banners/5.svg" alt="5.svg" width="100%"/></a>
418                                        </div>
419                                    </div>
420                                </div>
421                            </div>
422                        </div>
423                    </div>
424                </div>
425            </div>
426        </div>
427    </section>
428                <footer class="border-top bg-light py-4" data-ad-format="none">
429	<section id="footer">
430		<div class="container">
431			<div class="row align-items-start">
432				<!-- 로고 -->
433				<div class="col-md-4 col-12 mb-3 mb-md-0 text-center text-md-left">
434					<img src="/images/logo_gray.png" alt="logo_gray.png" class="img-fluid" style="max-height: 40px;">
435				</div>
436
437				<!-- 회사 정보 -->
438				<div class="col-md-8 col-12 text-center text-md-left">
439					<p class="mb-1">(주)스펙토리<br>(05642) 서울특별시 송파구 오금로 185 4층, 대표자 : 최진영</p>
440					<p class="mb-1">사업자등록번호 : 780-88-00948</p>
441					<p class="mb-1">고객센터 : 02-6953-1210 (운영시간 09:30 ~ 18:30 / 주말·공휴일 휴무)</p>
442					<p class="mb-0">COPYRIGHT © SPECTORY. ALL RIGHT RESERVED.</p>
443				</div>
444			</div>
445
446			<!-- 링크 모음 -->
447			<div class="row mt-4">
448				<div class="col-12 text-center small">
449					<a href="/js/pdfjs/web/viewer.html?file=/files/SPECTORY_INTRODUCE_V3.pdf" target="_blank">회사소개서</a> |
450					<a href="/pages/sub/ads">광고안내</a> |
451					<a href="/pages/sub/agency">대행안내</a> |
452					<a href="/pages/sub/policy?filter=user">회원약관</a> |
453					<a href="/pages/sub/policy?filter=safe">개인정보처리방침</a> |
454					<a href="javascript:;" id="refuseEmail">이메일무단수집거부</a>
455				</div>
456			</div>
457
458			<!-- 모바일버전 버튼 -->
459			<div class="row mt-3">
460				<div class="col-12">
461					<a href="javascript:;" class="btn btn-sm btn-outline-dark w-100" id="goMobileVer">모바일 버전 보기</a>
462				</div>
463			</div>
464		</div>
465	</section>
466</footer>
467<script>
468$(document).ready(function (){
469	$(".truncate").dotdotdot({
470		watch: 'window',
471		wrap: 'letter',
472	});
473});
474
475$('#goMobileVer').click(function() {
476	window.open("http://m.spectory.net","모바일버전","width=468,height=720");
477});
478
479$('#refuseEmail').click(function() {
480	window.open("/pages/sub/refuse","이메일주소 무단수집 거부","width=395,height=220");
481});
482</script>
482        <div class="modal inmodal fade" id="sptCommonModal" tabindex="-1" role="dialog" style="display: none;" aria-hidden="true">
483	<div class="modal-dialog modal-lg">
484	</div>
485</div>            
485<script type="text/javascript">
486        // 공용 안내창
487        var alertFire = function (dataTitle, dataText, dataIcon, imageUrl) {
488            Swal.fire({
489                title: dataTitle,
490                html: dataText,
491                icon: dataIcon,
492                imageUrl: imageUrl,
493                showCancelButton: false,
494                confirmButtonColor: '#F8AC59',
495                // cancelButtonColor: '#d33',
496                allowOutsideClick: false, //모달 사라지지 않게 패치.
497                confirmButtonText: '확인'
498            });
499        };
500
501        var alertFireCallback = function (dataTitle, dataText, dataIcon) {
502            var callback = arguments.length > 3 ? arguments[3] : function () {
503            };
504            Swal.fire({
505                title: dataTitle,
506                html: dataText,
507                icon: dataIcon,
508                showCancelButton: false,
509                showConfirmButton: true,
510                heightAuto: false,
511                confirmButtonColor: '#F8AC59',
512                // cancelButtonColor: '#d33',
513                confirmButtonText: '확인',
514            }).then(function (result) {
515                callback();
516            });
517        };
518
519        $('#askInfo').click(function () {
520            alertFire('문의안내', '[email protected]로<br/>문의주시면 빠른시일내에 회신드리겠습니다.', 'warning');
521        });
522
523        //툴팁 추가
524        $(function () {
525            $('[data-toggle="tooltip"]').tooltip();
526        });
527
528        $('.open-popup-content').click(function () {
529            var contestId = $(this).data('uid');
530            SPT.Dialog.open('/contest/detail', {contestId: contestId});
531        });
532
533        $('.open-popup-post').click(function () {
534            var postId = $(this).data('pid');
535            SPT.Dialog.open('/community/detail', {pid: postId});
536        });
537
538        $('.open-popup-event').click(function () {
539            var postId = $(this).data('pid');
540            if (postId) {
541                SPT.Dialog.open('/event/detail', {pid: postId});
542            }
543        });
544
545        $('.open-popup-gallery').click(function () {
546            var galleryId = $(this).data('uid');
547            SPT.Dialog.open('/gallery/detail', {galleryId: galleryId});
548        });
549
550        $('.open-direct').click(function () {
551            var linkId = $(this).data('url');
552            window.open(linkId);
553        });
554
555        $('#lockFunc').click(function () {
556            alertFire('기능제한', '미인증 회원으로 기능이 제한됩니다. 주최사회원인증을 받고 기능을 해제하시기 바랍니다. 사업자등록을 완료하거나, 고객센터에 문의하시기 바랍니다.', 'error');
557        });
558    </script>
558
559
560<script type="text/javascript">
561    function recaptcha(token) {
562        // alertFire('확인', 'CAPTCHA 완료되었습니다.', 'success');
563        localStorage.setItem('recaptchaToken', token);
564
565        var captcha = localStorage.getItem('recaptchaToken');
566        document.getElementById('recaptchaToken').value = captcha;
567
568        // 만료 타이머 설정 (120초 후 재실행 요구)
569        setTimeout(() => {
570            alertFire('확인', 'CAPTCHA 시간이 만료되었습니다. 다시 확인해주세요. ', 'warning');
571            grecaptcha.reset(); // reCAPTCHA 위젯 초기화
572            localStorage.removeItem('recaptchaToken');
573            document.getElementById('recaptchaToken').value = '';
574        }, 120000); // 120초 = 2분
575    }
576
577    // 새로고침 시 특정 키 삭제
578    window.addEventListener('beforeunload', () => {
579        localStorage.removeItem('recaptchaToken');
580    });
581
582    $(document).ready(function() {
583       var loginCheck = '';
584
585       if(loginCheck) {
586           Swal.fire({
587               title: '로그인중',
588               html: '현재 로그인 상태입니다.<br/> 로그아웃하시겠습니까?<br/>',
589               icon: 'warning',
590               showCancelButton: false,
591               showDenyButton: true,
592               confirmButtonText: '예',
593               confirmButtonColor: '#7066E0',
594               denyButtonText: `아니오`,
595               denyButtonColor: '#6E7881',
596           }).then((result) => {
597               if (result.isConfirmed) {
598                   alertFire('로그아웃','로그아웃되었습니다.','success','');
599                   location.href = "/account/logout";
600               } else if (result.isDenied) {
601                   location.href = "/";
602               }
603           });
604       }
605    });
606
607    $('#btn-login').click(function(){
608        var params = {};
609        var email = $('#email').val(), pw = $('#pw').val();
610        var captcha = localStorage.getItem('recaptchaToken');
611
612        if(!email || !pw) {
613            alertFire('계정정보 확인','계정정보를 올바르게 입력하시기 바랍니다.','error','');
614            return;
615        }
616
617        if (!captcha) {
618            alertFire('체크 확인', 'CAPTCHA를 완료해주세요.', 'warning');
619            return;
620        }
621        Swal.fire({
622            title: '정보확인',
623            html: '계정정보를 체크합니다.<br>잠시만 기다려주시기 바랍니다.',
624            icon: 'success',
625            showCancelButton: false,
626            showConfirmButton: false,
627            confirmButtonColor: '#F8AC59',
628            allowOutsideClick: false, //모달 사라지지 않게 패치.
629        });
630        SPT.Ajax.post("/account/login_proc", {email:email,pw:pw}, function(response){
631            var isEval = typeof response.datas.is_eval != 'undefined'? 1 : 0;
632            alertFire('정보확인','로그인 정보가 확인되었습니다.','success','');
633            if(!isEval) location.href = "/";
634            else location.href = "/simsa/pages";
635        }, function(response){
636            if(response.msg == '2') {
637                //사이트키
638                Swal.fire({
639                    title: '주최사확인',
640                    html: '주최사 회원 계정입니다.<br/>주최사 로그인페이지에서 로그인하시기 바랍니다.',
641                    icon: 'warning',
642                    showCancelButton: false,
643                    confirmButtonColor: '#F8AC59',
644                    // cancelButtonColor: '#d33',
645                    confirmButtonText: '확인',
646                    timer: 1200,
647                    allowOutsideClick: false, //모달 사라지지 않게 패치.
648                    timerProgressBar: true,
649                    didOpen: () => {
650                        Swal.showLoading()
651                        const b = Swal.getHtmlContainer().querySelector('b')
652                        timerInterval = setInterval(() => {
653                            b.textContent = Swal.getTimerLeft()
654                        }, 100)
655                    },
656                    willClose: () => {
657                        clearInterval(timerInterval)
658                    }
659                }).then((result) => {
660                    if (result.dismiss === Swal.DismissReason.timer) {
661                        location.href = "/account/login?loginType=manager";
662                    }
663                });
664            }else {
665                alertFire('정보오류','계정정보가 올바르지 않습니다.','error','');
666            }
667        });
668    });
669
670    $('#btn-login2').click(function(){
671        var params = {};
672        var email = $('#email2').val(), pw = $('#pw2').val(), siteKey = $('#urlkey').val();
673        var captcha = localStorage.getItem('recaptchaToken');
674
675        // 빌더개발전까지 사이트키 입력 안하고 로그인
676        // if(!email || !pw || !siteKey) {
677        //     alertFire('계정정보 확인','계정정보를 올바르게 입력하시기 바랍니다.','error','');
678        //     return;
679        // }
680        if (!captcha) {
681            alertFire('체크 확인', 'CAPTCHA를 완료해주세요.', 'warning');
682            return;
683        }
684        Swal.fire({
685            title: '정보확인',
686            html: '계정정보를 체크합니다.<br>잠시만 기다려주시기 바랍니다.',
687            icon: 'success',
688            showCancelButton: false,
689            showConfirmButton: false,
690            confirmButtonColor: '#F8AC59',
691            allowOutsideClick: false, //모달 사라지지 않게 패치.
692        });
693        SPT.Ajax.post("/account/login_proc", {email:email,pw:pw,siteKey:siteKey}, function(response){
694            location.href = "/";
695            //일단 로그인시키자.
696            // var siteUrl = siteKey + (response.datas.sitePath? "/" + response.datas.sitePath : "");
697            // var adminUrl = "https://www.spectory.net"; //로컬테스트일경우 "http://localhost:8083"
698
699            // Swal.fire({
700            //         title: '정보확인',
701            //         html: '로그인되었습니다. <br/> 관리자페이지로 이동할까요?<br/> (메뉴에서 관리자페이지 접근가능)',
702            //         icon: 'success',
703            //         showCancelButton: false,
704            //         showDenyButton: true,
705            //         confirmButtonText: '예',
706            //         confirmButtonColor: '#7066E0',
707            //         allowOutsideClick: false, //모달 사라지지 않게 패치.
708            //         denyButtonText: `아니오`,
709            //         denyButtonColor: '#6E7881',
710            // }).then((result) => {
711            //     if (result.isConfirmed) {
712            //         window.open(adminUrl + "/user/secconn?sec="+encodeURIComponent(response.datas.token)+"&url="+encodeURIComponent(siteUrl));
713            //         location.href = "/";
714            //     } else if (result.isDenied) {
715            //         location.href = "/";
716            //     }
717            // });
718        }, function(response){
719            //로그인 실패시 실행, Exception(오류)메시지 를 출력한다.
720            alertFire('정보오류','계정정보가 올바르지 않습니다.','error','');
721        });
722    });
723
724    $("#btn-login3").click(function(){
725        var params = {};
726        var email = $('#email3').val(), pw = $('#pw3').val();
727        var captcha = localStorage.getItem('recaptchaToken');
728
729        if (!captcha) {
730            alertFire('체크 확인', 'CAPTCHA를 완료해주세요.', 'warning');
731            return;
732        }
733        Swal.fire({
734            title: '정보확인',
735            html: '계정정보를 체크합니다.<br>잠시만 기다려주시기 바랍니다.',
736            icon: 'success',
737            showCancelButton: false,
738            showConfirmButton: false,
739            confirmButtonColor: '#F8AC59',
740            allowOutsideClick: false, //모달 사라지지 않게 패치.
741        });
742        SPT.Ajax.post("/account/login_proc", {type:'eval',email:email,pw:pw}, function(response){
743            location.href = "/simsa/pages";
744        }, function(response){
745            //로그인 실패시 실행, Exception(오류)메시지 를 출력한다.
746            alertFire('정보오류','계정정보가 올바르지 않습니다.','error','');
747        });
748    });
749
750    $(".selectTypeBtn").click(function() {
751        var selectType = $(this).data('type');
752        var url = '/account/login?loginType=';
753
754        location.href= url + selectType;
755    });
756</script>
756
757</body>
758</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.