JoinFormMob.html 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="mob/common/layout/LoginLayoutMob">
  6. <!--
  7. *******************************************************************************
  8. * @source : JoinTypeFormMob.html
  9. * @desc : 회원정보 입력 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2021 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.04.16 jsshin 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <style>
  22. .hide{display:none}
  23. </style>
  24. <main class="container mb">
  25. <!-- ★ 컨텐츠 시작 -->
  26. <section class="content mb_join_2">
  27. <div class="inner">
  28. <div class="close">
  29. <a href="javascript:void(0);" class="btn_close" onclick="cfnGoToPage(_PAGE_CUSTOMER_JOIN_TYPE);"><span></span><span></span></a>
  30. </div>
  31. </div>
  32. <div class="inner">
  33. <h2 class="title">회원정보 입력</h2>
  34. </div>
  35. <div class="inner">
  36. <form id="joinForm" name="joinForm" class="form_wrap form_full" role="form">
  37. <div class="form_head">
  38. <h2 class="title sr-only">회원정보 입력</h2>
  39. </div>
  40. <!-- 아이디 사용가능시 -->
  41. <div class="form_field">
  42. <label class="input_label sr-only">아이디</label>
  43. <div class="input_wrap form_full">
  44. <input type="text" id="custId" name="custId" placeholder="아이디" class="form_control" required="required" data-valid-name="아이디" minlength="4" maxlength="12" autocomplete="no"/>
  45. <span class="usable" style="display:block;"></span>
  46. </div>
  47. <div id="dupCustIdDiv" class="help_block hide">
  48. <p class="t_err">이미 가입된 아이디입니다.다른 아이디를 입력하여 주세요.</p>
  49. </div>
  50. <div id="errCustIdDiv" class="help_block hide">
  51. <p class="t_err">아이디는 영어와 숫자 조합만 가능합니다.</p>
  52. </div>
  53. </div>
  54. <!-- //아이디 사용가능시 -->
  55. <!-- 오류시 부모 div에서 제어 -->
  56. <div class="form_field">
  57. <label class="input_label sr-only">비밀번호</label>
  58. <div class="input_wrap form_full">
  59. <input type="password" id="passwd" name="passwd" placeholder="비밀번호 (8~20자 영문, 숫자, 특수문자 중 2가지 이상 조합)" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="new-password"/><!-- 잘못기입된 경우 class "err" 추가 -->
  60. <!-- case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
  61. <div class="help_block">
  62. <!-- 사용불가 비밀번호일경우 -->
  63. <p class="mt10">
  64. <span id="firstFailed" class="c_gray">
  65. <i class="ico ico_check gray mr5"></i>영문(대/소문자), 숫자, 특수문자 중 2가지 이상 조합(8~20자)<br>
  66. </span>
  67. <span id="secondFailed" class="c_gray">
  68. <i class="ico ico_check gray mr5"></i>4개이상 연속되거나 동일한 문자/숫자 제외<br>
  69. </span>
  70. <span id="thirdFailed" class="c_gray">
  71. <i class="ico ico_check gray mr5"></i>아이디 제외
  72. </span>
  73. </p>
  74. <!-- //사용불가 비밀번호일경우 -->
  75. <!-- 사용가능한 비밀번호일경우 -->
  76. <p id="avlPwd" class="mt10 hide">
  77. <span class="c_black2">
  78. <i class="ico ico_check black mr5"></i>사용 가능한 비밀번호입니다
  79. </span>
  80. </p>
  81. <!-- //사용가능한 비밀번호일경우 -->
  82. </div>
  83. <!-- //case (사용불가 비밀번호일경우,사용가능한 비밀번호일경우) -->
  84. </div>
  85. </div>
  86. <!-- //오류시 부모 div에서 제어 -->
  87. <div class="form_field">
  88. <label class="input_label sr-only">비밀번호 확인</label>
  89. <div class="input_wrap form_full">
  90. <input type="password" id="confirmPassword" name="confirmPassword" placeholder="비밀번호 확인" class="form_control" minlength="8" maxlength="20" required="required" data-valid-name="비밀번호" autocomplete="new-password"/><!-- 잘못기입된 경우 class "err" 추가 -->
  91. <!-- case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
  92. <div class="help_block">
  93. <!-- 비밀번호확인 틀렸을경우 -->
  94. <p id="misPwd" class="t_err hide">
  95. 비밀번호가 일치하지 않습니다.
  96. </p>
  97. <!-- //비밀번호확인 틀렸을경우 -->
  98. <!-- 비밀번호 일치할경우 -->
  99. <p id="avlConPwd" class="mt10 hide">
  100. <span class="c_black2">
  101. <i class="ico ico_check black mr5"></i>비밀번호가 일치합니다.
  102. </span>
  103. </p>
  104. <!-- //비밀번호 일치할경우 -->
  105. </div>
  106. <!-- //case (비밀번호확인 틀렸을경우,비밀번호 일치할경우) -->
  107. </div>
  108. </div>
  109. <div class="form_field">
  110. <label class="input_label sr-only">이메일</label>
  111. <div class="input_wrap form_full">
  112. <input type="text" id="email" name="email" placeholder="이메일" class="form_control" required="required" data-valid-name="이메일" maxlength="30" autocomplete="no" autocapitalize="no"/><!-- 잘못기입된 경우 class "err" 추가 -->
  113. <!-- case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
  114. <div class="help_block">
  115. <!-- 이메일 형식이 바르지않을경우 -->
  116. <p id="failEmail" class="t_err hide">
  117. 이메일 형식이 올바르지 않습니다.
  118. </p>
  119. <!-- //이메일 형식이 바르지않을경우 -->
  120. <!-- 이미 가입되어있는 이메일인경우 -->
  121. <p id="dupEmail" class="t_err hide">
  122. 이미 가입된 이메일 주소입니다. 다른 이메일 주소를 입력하여 주세요.
  123. </p>
  124. <div id="dupEmailDiv" class="mt20 hide">
  125. <button type="button" class="btn btn_default btn_sm mini" onclick="cfnGoToPage(_PAGE_LOGIN);">
  126. <span>로그인</span>
  127. </button>
  128. <button type="button" class="btn btn_default btn_sm mini" onclick="cfnGoToPage(_PAGE_CUSTOMER_ID_FIND);">
  129. <span>아이디 찾기</span>
  130. </button>
  131. </div>
  132. <!-- //이미 가입되어있는 이메일인경우 -->
  133. </div>
  134. <!-- //case (이메일 형식이 바르지않을경우,이미 가입되어있는 이메일인경우) -->
  135. </div>
  136. </div>
  137. <!-- 210415_수정 : 휴대폰 인증 수정 -->
  138. <div class="form_field">
  139. <label class="input_label sr-only">휴대폰번호</label>
  140. <!-- 휴대폰 인증 입력 전 -->
  141. <div class="input_wrap form_full">
  142. <input type="text" id="cellPhnno" name="cellPhnno" placeholder="휴대폰 인증 해주세요." class="form_control" minlength="10" maxlength="11" required="required" data-valid-type="numeric" data-valid-name="휴대폰" readonly="readonly"/>
  143. <button type="button" id="btnCellPhoneCertify" class="btn btn_dark btn_hp_certi">
  144. <span>본인인증</span>
  145. </button>
  146. </div>
  147. <!-- //휴대폰 인증 입력 전 -->
  148. <!-- case (휴대폰번호 형식이 맞지 않을경우,이미 가입되어있는 핸드폰번호일경우) -->
  149. <div class="help_block">
  150. <p id="failPhnno" class="t_err hide">휴대폰번호를 형식에 맞게 정확히 입력해주세요</p>
  151. <p id="dupPhnno" class="t_err hide">I***D로 가입된 핸드폰 번호 입니다.</p>
  152. <div id="dupPhnnoDiv" class="mt20 hide">
  153. <button type="button" class="btn btn_default btn_sm mini" onclick="cfnGoToPage(_PAGE_LOGIN);">
  154. <span>로그인</span>
  155. </button>
  156. <button type="button" class="btn btn_default btn_sm mini" onclick="cfnGoToPage(_PAGE_CUSTOMER_ID_FIND);">
  157. <span>아이디 찾기</span>
  158. </button>
  159. </div>
  160. </div>
  161. </div>
  162. <div class="btn_group_flex">
  163. <div>
  164. <button type="button" id="btnJoin" class="btn btn_primary btn_block" disabled="disabled">
  165. <span>동의하고 가입하기</span>
  166. </button>
  167. </div>
  168. </div>
  169. <div class="desc_wrap t_c mt20">
  170. <div class="form_field">
  171. <p>
  172. 본인은&nbsp;만 14세 이상이며&nbsp;<br>
  173. <input id="chk-policies-1" type="checkbox">
  174. <label for="chk-policies-1">
  175. <span>STYLE24이용약관</span>
  176. </label>
  177. <a href="javascript:void(0)" onclick="cfnUseTermsLayer();"><i class="ico ico_blank ml5"></i></a>,&nbsp;<br>
  178. <input id="chk-policies-2" type="checkbox">
  179. <label for="chk-policies-2">
  180. <span>개인정보 수집 및 이용</span>
  181. </label>
  182. <a href="javascript:void(0)" onclick="cfnPrivacyPolicyLayer('join');"><i class="ico ico_blank ml5"></i></a>,&nbsp;
  183. <input id="chk-policies-3" type="checkbox">
  184. <label for="chk-policies-3">
  185. <span>개인정보 취급 위탁</span>
  186. </label>
  187. <a href="javascript:void(0)" onclick="cfnPrivacyTrustLayer();"><i class="ico ico_blank ml5"></i></a><br>
  188. 내용을 확인 하였으며,동의합니다.
  189. </p>
  190. </div>
  191. </div>
  192. </form>
  193. </div>
  194. </section>
  195. <!-- ★ 컨텐츠 종료 -->
  196. </main>
  197. <script th:src="@{'/biz/customer.js?v=' + ${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}}" src="/biz/customer.js"></script>
  198. <script th:inline="javascript">
  199. /*<![CDATA[*/
  200. const sEncData = [[${sEncData}]]; //인증 후 해당 페이지로 리다이렉트함
  201. const authMethod = [[${authMethod}]]; //인증 후 해당 페이지로 리다이렉트함
  202. let custParams = [[${custParams}]];
  203. let custIdCheck = false;
  204. let passwdCheck = false;
  205. let emailCheck = false;
  206. let authCheck = false;
  207. // 아이디 확인
  208. $('#custId').on('blur', function () {
  209. let custId = $(this).val();
  210. const $errCustIdDiv = $('#errCustIdDiv');
  211. const $custId = $('#custId');
  212. if(!gagajf.isNull(custId)) {
  213. if (custId.length > 3) {
  214. if (!fnCheckCustId(custId)) {
  215. $custId.addClass('err');
  216. $custId.removeClass('usable');
  217. $errCustIdDiv.show();
  218. return;
  219. } else {
  220. $custId.removeClass('err');
  221. $custId.addClass('usable');
  222. $errCustIdDiv.hide();
  223. let custInfo = {};
  224. custInfo.custId = custId;
  225. let jsonData = JSON.stringify(custInfo);
  226. gagajf.ajaxJsonSubmit('/customer/join/id/check', jsonData, fnIdConfirmCallBack);
  227. }
  228. }
  229. } else {
  230. custIdCheck = false
  231. $errCustIdDiv.show();
  232. $custId.addClass('err');
  233. $custId.removeClass('usable');
  234. }
  235. });
  236. // 아이디 결과
  237. var fnIdConfirmCallBack = function (result) {
  238. const $dupCustIdDiv = $('#dupCustIdDiv');
  239. const $custId = $('#custId');
  240. const $usable = $('span > .usable');
  241. if (result.isFind) { // 중복된 아이디가 존재
  242. $custId.addClass('err');
  243. $custId.removeClass('usable');
  244. $dupCustIdDiv.show();
  245. $usable.hide();
  246. custIdCheck = false;
  247. } else {
  248. $custId.removeClass('err');
  249. $custId.addClass('usable');
  250. $dupCustIdDiv.hide();
  251. $usable.show();
  252. custIdCheck = true;
  253. }
  254. fnPossibleJoin();
  255. };
  256. // 비밀번호 입력
  257. $('#joinForm input[name=passwd]').on('focusout keyup keydown', function () {
  258. fnCheckPassword();
  259. });
  260. // 비밀번호 확인 입력
  261. $('#joinForm input[name=confirmPassword]').on('focusout keyup keydown', function () {
  262. fnCheckConfirmPassword();
  263. });
  264. // 비밀번호 확인
  265. var fnCheckPassword = function () {
  266. const $firstFailed = $('#firstFailed');
  267. const $secondFailed = $('#secondFailed');
  268. const $thirdFailed = $('#thirdFailed');
  269. const $avlPwd = $('#avlPwd');
  270. const red = 'c_red2';
  271. const gray = 'c_gray';
  272. const icoRed = 'red';
  273. const icoGray = 'gray';
  274. let custId = $('#joinForm input[name=custId]').val();
  275. let password = $('#joinForm input[name=passwd]').val();
  276. let confirmPassword = $('#joinForm input[name=confirmPassword]').val();
  277. let pwdCheck = true;
  278. // 영문, 숫자, 특수문자 2종 이상 혼용 || 길이
  279. if (fnValidtaionPwdMixedWord(password) || fnValidationPwdLength(password)) {
  280. pwdCheck = false;
  281. $firstFailed.removeClass(gray);
  282. $firstFailed.find('.ico').removeClass(icoGray);
  283. $firstFailed.addClass(red);
  284. $firstFailed.find('.ico').addClass(icoRed);
  285. } else {
  286. $firstFailed.removeClass(red);
  287. $firstFailed.find('.ico').removeClass(icoRed);
  288. $firstFailed.addClass(gray);
  289. $firstFailed.find('.ico').addClass(icoGray);
  290. }
  291. // 동일한 문자/숫자 4자이상 || 연속된 문자가 4자이상
  292. if (fnValidationPwdSameWord(password) || fnValidtaionPwdCntnsWord(password)) {
  293. pwdCheck = false;
  294. $secondFailed.removeClass(gray);
  295. $secondFailed.find('.ico').removeClass(icoGray);
  296. $secondFailed.addClass(red);
  297. $secondFailed.find('.ico').addClass(icoRed);
  298. } else {
  299. $secondFailed.removeClass(red);
  300. $secondFailed.find('.ico').removeClass(icoRed);
  301. $secondFailed.addClass(gray);
  302. $secondFailed.find('.ico').addClass(icoGray);
  303. }
  304. // 아이디 포함
  305. if (!gagajf.isNull(custId)) {
  306. if (fnValidationPwdSameId(password, custId)) {
  307. pwdCheck = false;
  308. $thirdFailed.removeClass(gray);
  309. $thirdFailed.find('.ico').removeClass(icoGray);
  310. $thirdFailed.addClass(red);
  311. $thirdFailed.find('.ico').addClass(icoRed);
  312. } else {
  313. $thirdFailed.removeClass(red);
  314. $thirdFailed.find('.ico').removeClass(icoRed);
  315. $thirdFailed.addClass(gray);
  316. $thirdFailed.find('.ico').addClass(icoGray);
  317. }
  318. }
  319. if (pwdCheck) {
  320. $firstFailed.hide();
  321. $secondFailed.hide();
  322. $thirdFailed.hide();
  323. $avlPwd.show();
  324. } else {
  325. $firstFailed.show();
  326. $secondFailed.show();
  327. $thirdFailed.show();
  328. $avlPwd.hide();
  329. }
  330. if (!gagajf.isNull(confirmPassword)) {
  331. fnCheckConfirmPassword();
  332. }
  333. };
  334. // 비밀번호 확인
  335. var fnCheckConfirmPassword = function () {
  336. const $misPwd = $('#misPwd');
  337. const $avlConPwd = $('#avlConPwd');
  338. let password = $('#joinForm input[name=passwd]').val();
  339. let confirmPassword = $('#joinForm input[name=confirmPassword]').val();
  340. let sameConfirmPwd = fnValidationPwdSameConfirmPwd(password, confirmPassword);
  341. if (sameConfirmPwd) {
  342. $avlConPwd.show();
  343. $misPwd.hide()
  344. passwdCheck = true;
  345. } else {
  346. $misPwd.show();
  347. $avlConPwd.hide();
  348. passwdCheck = false;
  349. }
  350. fnPossibleJoin();
  351. };
  352. // 이메일 확인
  353. $('#email').on('blur', function () {
  354. const $failEmail = $('#failEmail');
  355. const $dupEmail = $('#dupEmail');
  356. const $dupEmailDiv = $('#dupEmailDiv');
  357. $failEmail.hide();
  358. $dupEmail.hide();
  359. $dupEmailDiv.hide();
  360. let email = $(this).val();
  361. let validation;
  362. if(!gagajf.isNull(email)) {
  363. if (!fnCheckValidationEmail(email)) {
  364. $failEmail.show();
  365. emailCheck = false;
  366. validation = false;
  367. } else {
  368. validation = true;
  369. $failEmail.hide();
  370. }
  371. if (validation) {
  372. let custInfo = {};
  373. custInfo.email = email;
  374. let jsonData = JSON.stringify(custInfo);
  375. gagajf.ajaxJsonSubmit('/customer/email/check', jsonData, fnEmailConfirmCallBack);
  376. }
  377. }
  378. });
  379. // 이메일 확인 결과
  380. var fnEmailConfirmCallBack = function (result) {
  381. const $dupEmail = $('#dupEmail');
  382. const $dupEmailDiv = $('#dupEmailDiv');
  383. if (result.isFind) { // 중복된 아이디가 존재
  384. $dupEmail.show();
  385. $dupEmailDiv.show();
  386. emailCheck = false;
  387. } else {
  388. $dupEmail.hide();
  389. $dupEmailDiv.hide();
  390. emailCheck = true;
  391. }
  392. fnPossibleJoin();
  393. };
  394. //휴대폰 인증
  395. $('#btnCellPhoneCertify').on('click', function () {
  396. let joinForm = $('#joinForm').serializeObject();
  397. let custParams = joinForm.custId +','+ joinForm.passwd +','+ joinForm.confirmPassword +','+ joinForm.email;
  398. cfnOpenCellphoneCertify(_PAGE_CUSTOMER_JOIN, custParams);
  399. });
  400. // 나이스 본인인증 후 콜백
  401. var fnNiceCallBack = function(encData) {
  402. if (!gagajf.isNull(encData)) {
  403. let custInfo = {};
  404. custInfo.encData = encData;
  405. let jsonData = JSON.stringify(custInfo);
  406. gagajf.ajaxJsonSubmit('/customer/authentication/check', jsonData, fnInfoConfirmCallBack);
  407. }
  408. };
  409. // 본인인증 후 결과
  410. var fnInfoConfirmCallBack = function (result) {
  411. const $cellPhnno = $('#cellPhnno');
  412. const $dupPhnno = $('#dupPhnno');
  413. const $dupPhnnoDiv = $('#dupPhnnoDiv');
  414. const $btnCellPhoneCertify = $('#btnCellPhoneCertify');
  415. $cellPhnno.val(result.cellPhnno);
  416. if (result.isFind) { // 가입된 고객 정보가 있으면
  417. let msg = '';
  418. if (result.custStat === 'G104_30') {
  419. msg = "탈퇴한 회원입니다. 탈퇴 후 60일 동안 재가입이 불가능합니다.";
  420. $dupPhnnoDiv.hide();
  421. } else {
  422. msg = result.maskingCustId+"로 가입된 이력이 있습니다.";
  423. $dupPhnnoDiv.show();
  424. }
  425. $dupPhnno.show();
  426. $dupPhnno.html(msg);
  427. authCheck = false;
  428. } else {
  429. $dupPhnno.hide();
  430. $dupPhnnoDiv.hide();
  431. authCheck = true;
  432. }
  433. $btnCellPhoneCertify.find('span').text('인증완료');
  434. $btnCellPhoneCertify.attr('disabled', true);
  435. fnPossibleJoin();
  436. };
  437. // 저장
  438. $('#btnJoin').on('click', function () {
  439. const $policies1 = $('#chk-policies-1');
  440. const $policies2 = $('#chk-policies-2');
  441. const $policies3 = $('#chk-policies-3');
  442. if (!$policies1.is(':checked')) {
  443. mcxDialog.alert("이용약관 체크 해주세요.");
  444. return;
  445. }
  446. if (!$policies2.is(':checked')) {
  447. mcxDialog.alert("개인정보 수집 및 이용 체크 해주세요.");
  448. return;
  449. }
  450. if (!$policies3.is(':checked')) {
  451. mcxDialog.alert("개인정보 취급 위탁 체크 해주세요.");
  452. return;
  453. }
  454. mcxDialog.confirm("회원가입을 하시겠습니까?", {
  455. cancelBtnText: "취소",
  456. sureBtnText: "확인",
  457. sureBtnClick: function() {
  458. $('#btnJoin').attr('disabled', true);
  459. let jsonData = JSON.stringify($('#joinForm').serializeObject());
  460. gagajf.ajaxJsonSubmit('/customer/join/save', jsonData, fnJoinSaveCallback);
  461. }
  462. });
  463. });
  464. var fnJoinSaveCallback = function (result) {
  465. cfnGoToPage(_PAGE_CUSTOMER_JOIN_COMPLETE);
  466. };
  467. // 가입 가능한지 확인
  468. var fnPossibleJoin = function () {
  469. const $btnJoin = $('#btnJoin');
  470. if (custIdCheck && passwdCheck && emailCheck && authCheck ) {
  471. $btnJoin.attr('disabled', false);
  472. } else {
  473. $btnJoin.attr('disabled', true);
  474. }
  475. };
  476. // 본인인증 후 데이터 입력 값 셋팅
  477. var fnDataSet = function (custParams) {
  478. const $custId = $('#joinForm input[name=custId]');
  479. const $passwd = $('#joinForm input[name=passwd]');
  480. const $confirmPassword = $('#joinForm input[name=confirmPassword]');
  481. const $email = $('#joinForm input[name=email]');
  482. let arrayParams = custParams.split(',');
  483. //[0]아이디/[1]비밀번호/[2]비밀번호확인/[3]이메일
  484. let custId = arrayParams[0];
  485. let passwd = arrayParams[1];
  486. let confirmPassword = arrayParams[2];
  487. let email = arrayParams[3];
  488. // console.log(arrayParams);
  489. if (!gagajf.isNull(custId)) {
  490. $custId.val(custId);
  491. $custId.trigger('blur');
  492. }
  493. if (!gagajf.isNull(passwd)) {
  494. $passwd.val(passwd);
  495. $passwd.trigger('blur');
  496. }
  497. if (!gagajf.isNull(confirmPassword)) {
  498. $confirmPassword.val(confirmPassword);
  499. $confirmPassword.trigger('blur');
  500. }
  501. if (!gagajf.isNull(email)) {
  502. $email.val(email);
  503. $email.trigger('blur');
  504. }
  505. };
  506. $(document).ready(function () {
  507. if (!gagajf.isNull(custParams)) {
  508. fnDataSet(custParams);
  509. }
  510. if (!gagajf.isNull(sEncData)) {
  511. fnNiceCallBack(sEncData, authMethod);
  512. }
  513. });
  514. /*]]>*/
  515. </script>
  516. </th:block>
  517. </body>
  518. </html>