1$(function(){ 2 if(LIMIT_API_LIST.indexOf('youtube') === -1){ 3 var $youtube_player_api = $('#youtube_player_api'); 4 if($youtube_player_api.length === 0){ 5 $youtube_player_api = $('<script src="https://www.youtube.com/iframe_api" id="youtube_player_api" />'); 6 var $first_script = $('script').eq(0); 7 $first_script.before($youtube_player_api); 8 } 9 } 10}); 11var SITE_SECTION_YOUTUBE = function(){ 12 var type; 13 var tv; 14 var vid; 15 var playerDefaults = {'autoplay': 1, 'autohide': 1, 'modestbranding': 0, 'rel': 0, 'showinfo': 0, 'controls': 0, 'disablekb': 1, 'enablejsapi': 1, 'iv_load_policy': 3}; 16 var screen_code; 17 var slide_code; 18 var id; 19 var $screen; 20 var code; 21 var currVid = 0; 22 var $section_obj; 23 var is_fullpage; 24 25 var init = function(t,c,d,s){ 26 type = t; 27 code = c; 28 id = d; 29 slide_code = s; 30 is_fullpage = $('#'+code).attr('doz_fullpage') === 'Y'; 31 32 if(type == 'section'){ 33 screen_code = "screen_"+code; 34 $section_obj = $('#' + code); 35 } 36 if(type == 'visual'){ 37 screen_code = "screen_"+code+"_"+slide_code; 38 $section_obj = $('#visual_' + code); 39 if(is_fullpage){ 40 $section_obj = $('#visual_' + code+' .item'); 41 } 42 } 43 vid = [ {'videoId': id, 'startSeconds': 0, 'endSeconds': 0, 'suggestedQuality': 'default'}]; 44 45 youTubePlayer(); 46 }; 47 48 var youTubePlayer = function (){ 49 $section_obj.imagesLoaded() 50 .always(function(){ 51 tv = new YT.Player(screen_code, {events: {'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange}, playerVars: playerDefaults}); 52 }); 53 54 }; 55 56 var onPlayerReady = function(){ 57 if(type == 'section'){ 58 screen_code = "screen_"+code; 59 } 60 if(type == 'visual'){ 61 screen_code = "screen_"+code+"_"+slide_code; 62 } 63 $screen = $('#' + screen_code); 64 tv.loadVideoById(vid[currVid]); 65 tv.mute(); 66 if(type == 'visual' && is_fullpage){ 67 $screen.attr('data-keepplaying', ''); 68 tv.stopVideo(); 69 } 70 vidRescale(); 71 $('body').off('gridChange.'+code).on('gridChange.'+code,function(){ 72 vidRescale(); 73 }); 74 $(window).on('resize', function(){ 75 vidRescale(); 76 }); 77 }; 78 79 var playVideo = function(){ 80 if(typeof tv.playVideo === 'function'){ 81 tv.playVideo(); 82 return true; 83 }else 84 return false; 85 }; 86 87 var onPlayerStateChange = function(e) { 88 $screen = $('#' + screen_code); 89 if (e.data === 1){ 90 $screen.addClass('active'); 91 } else if (e.data === 0){ 92 $screen.removeClass('active'); 93 if(currVid === vid.length - 1){ 94 currVid = 0; 95 } else { 96 currVid++; 97 } 98 tv.loadVideoById(vid[currVid]); 99 tv.seekTo(vid[currVid].startSeconds); 100 } 101 }; 102 103 var vidRescale = function(){ 104 var w = $section_obj.outerWidth()+20, 105 h = $section_obj.outerHeight()+20; 106 if (w/h > 16/9){ //ë©ìíë¤ë ì 기 107 tv.setSize(w, w/16*9); 108 $screen.css({'left': '-10px', 'top':'-10px'}); 109 } else { //길죽í ë 110 tv.setSize(h*(16/9), h); 111 $screen.css({'left': -(($screen.outerWidth()-w)/2)-10 , "top":"-10px"}); 112 } 113 }; 114 115 return { 116 'init' : function(t,c,d,s){ 117 init(t,c,d,s); 118 }, 119 'playVideo' : function(){ 120 return playVideo(); 121 } 122 } 123 124}; 125 126// Vimeo SDK ëì ë¡ë ì í¸ë¦¬í° (site_video.js ììë ì¬ì©) 127const ensureVimeoSDK = (() => { 128 let promise = null; 129 return (callback) => { 130 if (typeof Vimeo !== 'undefined') { 131 callback(); 132 return; 133 } 134 if (!promise) { 135 promise = new Promise((resolve, reject) => { 136 const script = document.createElement('script'); 137 script.src = 'https://player.vimeo.com/api/player.js'; 138 script.onload = resolve; 139 script.onerror = () => { 140 promise = null; 141 reject(); 142 }; 143 document.head.appendChild(script); 144 }); 145 } 146 promise.then(callback); 147 }; 148})(); 149 150var SITE_SECTION_VIMEO = function(){ 151 var type; 152 var tv; 153 var options = {'autoplay': true, 'autopause': false, 'controls': false, 'title': false, 'loop': true, 'muted': true, 'background': true}; 154 var screen_code; 155 var id; 156 var slide_code; 157 var $screen; 158 var code; 159 var $section_obj; 160 var is_fullpage; 161 var $screen_iframe; 162 var org_width; 163 var org_height; 164 165 var init = function(t,c,d,s){ 166 type = t; 167 code = c; 168 id = d; 169 slide_code = s; 170 is_fullpage = $('#'+code).attr('doz_fullpage') === 'Y'; 171 172 if(type == 'section'){ 173 screen_code = "screen_"+code; 174 $section_obj = $('#' + code); 175 } 176 if(type == 'visual'){ 177 screen_code = "screen_"+code+"_"+slide_code; 178 $section_obj = $('#visual_' + code); 179 if(is_fullpage){ 180 $section_obj = $('#visual_' + code+' .item'); 181 } 182 } 183 184 vimeoPlayer(); 185 }; 186 187 var vimeoPlayer = function (){ 188 $section_obj.imagesLoaded() 189 .always(function(){ 190 $.extend(options, {'id': id}); 191 ensureVimeoSDK(() => { 192 tv = new Vimeo.Player(screen_code, options); 193 tv.on('loaded', () => onPlayerReady()); 194 tv.on('play', () => $screen.addClass('active')); 195 tv.on('ended', () => $screen.removeClass('active')); 196 }); 197 }); 198 199 }; 200 201 var onPlayerReady = function(){ 202 if(type == 'section'){ 203 screen_code = "screen_"+code; 204 } 205 if(type == 'visual'){ 206 screen_code = "screen_"+code+"_"+slide_code; 207 } 208 $screen = $('#' + screen_code);
209 $screen_iframe = $screen.find('iframe'); 210 org_width = $screen_iframe.width(); 211 org_height = $screen_iframe.height(); 212 tv.setVolume(0); 213 if(type == 'visual' && is_fullpage){ 214 $screen.attr('data-keepplaying', ''); 215 if(!tv.getPaused()) tv.pause(); 216 } 217 vidRescale(); 218 $('body').off('gridChange.'+code).on('gridChange.'+code,function(){ 219 vidRescale(); 220 }); 221 $(window).on('resize', function(){ 222 vidRescale(); 223 }); 224 }; 225 226 var playVideo = function(){ 227 if(typeof tv.play === 'function'){ 228 tv.play(); 229 return true; 230 }else 231 return false; 232 }; 233 234 var vidRescale = function(){ 235 var w = $section_obj.outerWidth()+20, 236 h = $section_obj.outerHeight()+20; 237 if (w/h > org_width/org_height){ //ë©ìíë¤ë ì 기 238 $screen_iframe.attr('width', w); 239 $screen_iframe.attr('height', w/(org_width/org_height)); 240 $screen.css({'left': '-10px', 'top':'-10px'}); 241 } else { //길죽í ë 242 $screen_iframe.attr('width', h*(org_width/org_height)); 243 $screen_iframe.attr('height', h); 244 $screen.css({'left': -(($screen_iframe.outerWidth()-w)/2)-10 , "top":"-10px"}); 245 } 246 }; 247 248 return { 249 'init' : function(t,c,d,s){ 250 init(t,c,d,s); 251 }, 252 'playVideo' : function(){ 253 return playVideo(); 254 } 255 } 256 257}; 258 259var SECTION_RESIZE = function(){ 260 var code; 261 var $section; 262 var org_inside_width; 263 var $main; 264 var $aside; 265 var $gutter; 266 var $inside; 267 var init = function(c){ 268 code = c; 269 $section = $('#'+c); 270 $main = $section.find('main'); 271 $aside = $section.find('div[doz_type="aside"]'); 272 $gutter = $section.find('div._side_gutter'); 273 $inside = $section.find('main > div[doz_type="inside"]'); 274 org_inside_width = parseInt($inside.css('width')); 275 run(); 276 }; 277 278 var run = function(){ 279 //calc(); 280 $(window).off('resize.section_resize_'+code).on('resize.section_resize_'+code,function(){ 281 //calc(); 282 }); 283 }; 284 285 var calc = function(){ 286 var main_width = $main.width(); 287 if($aside.css('display')=='none') 288 return; 289 var side_width = $aside.outerWidth() + parseInt($aside.css('margin-left')) + parseInt($aside.css('margin-right')); 290 var gutter_width = $gutter.outerWidth(); 291 var inside_width = $inside.outerWidth(); 292 var t_width = side_width+gutter_width+inside_width; 293 if(main_width < t_width){ 294 var term = t_width-main_width; 295 $inside.outerWidth(inside_width-term); 296 }else if(t_width < main_width){ 297 var term = main_width - t_width; 298 $inside.outerWidth(inside_width+term); 299 }else{ 300 $inside.outerWidth(parseInt(org_inside_width)); 301 } 302 }; 303 304 return { 305 'init' : function(c){ 306 init(c) 307 } 308 } 309}; 310 311var SECTION_PARTICLE_ANIMATION = function(){ 312 var code; 313 var $section; 314 var $section_class; 315 var SCREEN_WIDTH = window.innerWidth; 316 var SCREEN_HEIGHT = window.innerHeight; 317 var particle; 318 var camera; 319 var scene; 320 var renderer; 321 var mouseX = 0; 322 var mouseY = 0; 323 var windowHalfX = window.innerWidth / 2; 324 var windowHalfY = window.innerHeight / 2; 325 326 var particles = []; 327 var particleImage = new Image(); 328 var animation_interval = {}; 329 var animation_timeout = {}; 330 particleImage.src = '/common/img/ParticleSmoke.png'; 331 332 333 var init = function(c, vc){ 334 335 $section = $('#'+c); 336 $section_class = $('#'+c+'_snowfall'); 337 338 if($section_class.length == 0) 339 return; 340 341 setTimeout(function(){ 342 run(); 343 },1000); 344 345 $(window).on('resize',function(){ 346 clearAnimation(); 347 clearTimeout(animation_timeout); 348 animation_timeout = setTimeout(function(){ 349 run(); 350 },1000); 351 }) 352 }; 353 354 355 function clearAnimation(){ //@TODO ë¸ë¼ì°ì 모ë°ì¼ ì¬ì´ì¦ìì pc ì¬ì´ì¦ë¡ ë³ê²½ì domElement ì°¾ìì ìë¤ë ìë¬ë¡ ì¡°ê±´ ë¶ì¬í¨. 356 clearInterval(animation_interval); 357 if(typeof renderer !== 'undefined' && typeof renderer.domElement !== 'undefined') 358 $(renderer.domElement).remove(); 359 360 } 361 362 function run(){ 363 SCREEN_WIDTH = $section.innerWidth(); 364 SCREEN_HEIGHT = $section.innerHeight(); 365 366 367 camera = new THREE_IMWEB.PerspectiveCamera(75, SCREEN_WIDTH / SCREEN_HEIGHT, 1, 10000); 368 camera.position.z = 1000; 369 scene = new THREE_IMWEB.Scene(); 370 scene.add(camera); 371 372 renderer = new THREE_IMWEB.CanvasRenderer(); 373 renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT); 374 var material = new THREE_IMWEB.ParticleBasicMaterial({map: new THREE_IMWEB.Texture(particleImage)}); 375 376 377 for (var i = 0; i < 150; i++) { 378 particle = new Particle3D(material); 379 particle.position.x = Math.random() * 2000 - 1000; 380 particle.position.y = Math.random() * 2000 - 1000; 381 particle.position.z = Math.random() * 2000 - 1000; 382 383 if(SCREEN_HEIGHT < 1000) 384 particle.scale.x = particle.scale.y = 1.5; 385 else 386 particle.scale.x = particle.scale.y = 1; 387 388 scene.add(particle); 389 390 particles.push(particle); 391 } 392 $section_class.append(renderer.domElement); 393 394 clearInterval(animation_interval); 395 animation_interval = setInterval(loop, 30); 396 } 397 398 function loop() { 399 for (var i = 0; i < particles.length; i++) { 400 var particle = particles[i]; 401 particle.updatePhysics(); 402 403 with (particle.position) { 404 if (y < -1000) y += 2000; 405 if (x > 1000) x -= 2000; 406 else if (x < -1000) x += 2000; 407 if (z > 1000) z -= 2000; 408 else if (z < -1000) z += 2000; 409 } 410 } 411 412 // camera.position.x += ( mouseX - camera.position.x ) * 0.05; 413 //camera.position.y += ( -mouseY - camera.position.y ) * 0.05; 414 // camera.lookAt(scene.position); 415 416 renderer.render(scene, camera); 417 } 418 419 return { 420 'init' : function(c, vc){ 421 init(c, vc) 422 } 423 } 424}; 425 426var SECTION_FIXED = function(){ 427 var $body = $('body'); 428 var $section; 429 var $section_next; 430 var $aside; 431 var $aside_inside; 432 var limit = 0; 433 var margin_top = 0; 434 var fixed_class = 'new_fixed_menu_on'; // ê³ ì ë©ë´ ì¬ì©ì 435 var fixed_diable_class = 'new_fixed_header_disable'; // ì¤í¬ë¡¤ ê³ ì (scrollTofixed) ì¬ì©ì 436 var fixed_section_disable_class = 'section_fixed_disable'; // ì¹ì ê³ ì ì ì¶ê°ëë class && ì¹ì ê°ì¥ ìë¨ì ì¡´ì¬í ë í´ë¹ ë¶ë¶ background ìí´ ì¶ê° 437 var shop_view_class = 'shop_view'; 438 var booking_view_class = 'booking_view'; 439 var fixed_header_active_height = 0; 440 var $fixed_header_active; 441 var $fixed_header_disable; 442 var options = {}; 443 var $container = ''; 444 var is_section_fixed = false;
445 var is_section_side_fixed = false; 446 var is_mobile_section_fixed = false; 447 var is_one_page = false; 448 var next_id; 449 var prev_id; 450 var ScrollToFixedZIndex = 0; 451 var window_width = $(window).width(); 452 var window_height = $(window).height(); 453 454 var init = function(c, _d){ 455 $section = $('#'+c); 456 $section_next = $section.next('._fixed_section'); 457 $aside = $section.find('div[doz_type="aside"]'); 458 $aside_inside = $aside.find('div[doz_type="inside"]'); 459 $container = $section; 460 $fixed_header_active = $('#doz_header_wrap').find('._new_fixed_header'); 461 fixed_header_active_height = $fixed_header_active.length > 0 ? $fixed_header_active.height() : 0; 462 $fixed_header_disable = $('#inline_header_normal').find('._fixed_header_section'); 463 options = $.extend(options, _d); 464 is_section_fixed = options.section_fixed == 'Y' && options.side == 'basic'; 465 is_section_side_fixed = options.section_side_fixed == 'Y' && options.side != 'basic'; 466 is_mobile_section_fixed = options.mobile_section_fixed == 'Y'; 467 is_one_page = $body.hasClass('one-page-on'); 468 next_id = $section.nextAll('._fixed_section').attr('id'); 469 prev_id = $section.prevAll('._fixed_section').attr('id'); 470 471 runFixed(); 472 }; 473 474 var runFixed = function(){ 475 $(function(){ 476 var resize_flag = window_width < 992 ? "mobile" : "pc"; 477 478 var setFixedTime = {}; 479 480 var sectionResizeFlag = false; 481 if(typeof ResizeObserver === 'function' && is_section_side_fixed){ 482 // ì¬ì´ë ì¹ì ê³ ì ì ê²½ì° ì¹ì ë´ì ìì½ëì¸ ê²ìí ë±ì´ í¬í¨ëì´ ì¹ì ëì´ ìì²´ê° ë³í ê²½ì° ê³ ì ëì´ì¼ íë ë²ìë ë³íë¯ë¡ ResizeObserverë¡ ì²´í¬ 483 // IEë ResizeObserver를 ì§ìíì§ ìì 484 var sectionResizeObserver = new ResizeObserver(function(entries){ 485 486 window_height = $(window).height(); 487 var container_height = $container.height(); 488 489 clearTimeout(setFixedTime); 490 setFixedTime = setTimeout(function(){ 491 if(!sectionResizeFlag){ 492 sectionResizeFlag = true; 493 window_width = $(window).width(); 494 window_height = $(window).height(); 495 resize_flag = window_width < 992 ? "mobile" : "pc"; 496 setFixed(resize_flag, function(){ 497 sectionResizeFlag = false; 498 }); 499 } 500 }, 500); 501 }); 502 sectionResizeObserver.observe($section[0]); 503 }else{ 504 $(window).on('resize',function(){ 505 window_width = $(this).width(); 506 window_height = $(this).height(); 507 resize_flag = window_width < 992 ? "mobile" : "pc"; 508 setFixed(resize_flag); 509 }); 510 } 511 }); 512 513 setTimeout(function(){ 514 setFixed($(window).outerWidth() < 992 ? "mobile" : "pc"); 515 },500); 516 517 }; 518 519 function setFixed(type, callback){ 520 if ( type != 'mobile' ) { 521 $fixed_header_disable = $('#inline_header_normal').find('._fixed_header_section'); 522 if( $section.hasClass('mobile_section') ) return; 523 } else { 524 $fixed_header_disable = $('#inline_header_mobile').find('._fixed_header_section'); 525 if ( !$section.hasClass('side_basic') || $section.hasClass('mobile_hide') ) return; 526 } 527 528 getMarginTop(); 529 530 531 if ( $body.hasClass(fixed_class) ) { 532 if ( type != 'mobile' ) { 533 margin_top = fixed_header_active_height; 534 } else { 535 getMarginTop(); 536 } 537 } 538 539 if ( is_section_fixed || is_mobile_section_fixed ) { 540 next_id = getNextId($section, type); 541 if ( next_id !== false ) { 542 limit = $('#'+next_id).offset().top - $container.outerHeight(); 543 } else { 544 limit = 0; 545 } 546 } 547 548 if ( is_section_side_fixed && type != 'mobile') { 549 $container = $aside; 550 prev_id = $section.prevAll('._fixed_section.pc_section').attr('id'); 551 limit = $section.offset().top + $section.outerHeight() - $aside_inside.outerHeight(); 552 553 if ( typeof prev_id !== 'undefined' && $section.prevAll('._fixed_section').length >= 1 ) { 554 if ( $body.hasClass('new_header_overlay') && $body.find('._section_first').hasClass('_fixed_section') ) { 555 margin_top = $('#' + prev_id).outerHeight(); 556 } else { 557 margin_top = margin_top + $('#' + prev_id).outerHeight(); 558 } 559 } 560 561 $(window).resize(function(){ 562 $aside.css('left', 'auto'); 563 }); 564 } 565 566 var zoom = 1; 567 if(window_width <= 1024 && window_width >= 767){ 568 zoom = 0.85; 569 } 570 571 if ($container.hasClass('doz_aside')) { 572 $container.find('.inside').css({ 573 position : 'sticky', 574 top : margin_top, 575 left : 0, 576 zIndex : 100, 577 }) 578 } else { 579 $container.trigger('detach.ScrollToFixed'); 580 $container.scrollToFixed({ 581 'marginTop': margin_top, 582 'limit': limit * zoom, 583 'zoom': zoom, /* íë¸ë¦¿ êµ¬ê° zoom 커ì¤í ì ëìí기 ìí 커ì¤í ìì±, body zoom ë°°ì
583¨ì ë겨주면 ìì¹ ê³ì° ì ë°ì */ 584 'preFixed': function() { 585 $(this).removeClass('scroll-to-fixed-fixed-end'); 586 }, 587 'preAbsolute': function() { 588 ScrollToFixedZIndex++; 589 $(this).addClass('scroll-to-fixed-fixed-end'); 590 $(this).css({ 591 'z-index' : ScrollToFixedZIndex, 592 }); 593 } 594 }); 595 596 $container.trigger('resize.ScrollToFixed'); 597 $container.trigger('scroll.ScrollToFixed'); 598 } 599 600 if ( $body.hasClass('new_header_overlay') ) { 601 $body.addClass(fixed_section_disable_class); // ê²¹ì¹ê¸°ê° ìëë¼ë©´ í´ë¹ í´ëì¤ ì¶ê° 602 if (window.pageYOffset > 0) { // ì¤í¬ë¡¤ì´ ëì´ìì ë 603 $body.removeClass(fixed_section_disable_class); 604 } 605 } 606 607 $(window).scroll(function(e) { 608 if ($body.hasClass('new_header_overlay')) { 609 if (window.pageYOffset <= 0 && !$body.hasClass(fixed_section_disable_class)) { 610 $body.addClass(fixed_section_disable_class); 611 } 612 if (window.pageYOffset > 0 && $body.hasClass(fixed_section_disable_class)) { 613 $body.removeClass(fixed_section_disable_class); 614 } 615 } 616 }); 617 618 if(typeof callback === 'function'){ 619 return callback(); 620 } 621 622 } 623 624 var getMarginTop = function(){ 625 margin_top = 0; 626 if ( $body.hasClass(shop_view_class) || $body.hasClass(booking_view_class) ) { 627 margin_top = 0; 628 } else { 629 for ( var i = 0; i < $fixed_header_disable.length; i++ ) { 630 var target = $fixed_header_disable[i].getBoundingClientRect(); 631 margin_top += target.height; 632 } 633 } 634 }; 635 636 var getNextId = function($section, type){ 637 if ( is_one_page ) { 638 if ( type == 'mobile' ) { 639 next_id = $section.nextAll('._fixed_section:not(.mobile_hide)').attr('id'); 640 } else { 641 next_id = $section.nextAll('._fixed_section.pc_section').attr('id'); 642 } 643 if ( typeof next_id === 'undefined' ) { 644 var $next_p_section = $section.parent('._one_page_section').nextAll('._one_page_section'); 645 if ( $next_p_section.length > 0 ) { 646 $next_p_section.each(function(){ 647 if ( type == 'mobile' ){ 648 var $next_f_section = $(this).find('._fixed_section'); 649 } else { 650 var $next_f_section = $(this).find('._fixed_section.pc_section'); 651 } 652 var next_f_section_id = $next_f_section.attr('id'); 653 if ( typeof next_f_section_id !== 'undefined' ) { 654 next_id = next_f_section_id; 655 } 656 }); 657 } 658 } 659 } else { 660 if ( type == 'mobile' ) { 661 next_id = $section.nextAll('._fixed_section:not(.mobile_hide)').attr('id'); 662 } else { 663 next_id = $section.nextAll('._fixed_section.pc_section').attr('id'); 664 } 665 if ( $body.hasClass(shop_view_class) || $body.hasClass(booking_view_class) ) { 666 var find_detail_wrap = $section.nextAll('.section_wrap'); 667 find_detail_wrap.each(function(){ 668 if ( type == 'mobile' ){ 669 var $fixed_tab = $(this).find('#fixed_tab_mobile'); 670 } else { 671 var $fixed_tab = $(this).find('#fixed_tab'); 672 } 673 var fixed_tab_id = $fixed_tab.attr('id'); 674 if ( typeof fixed_tab_id !== 'undefined' ) { 675 next_id = fixed_tab_id; 676 } 677 }); 678 } 679 } 680 if( typeof next_id === 'undefined' ) 681 return false; 682 683 return next_id; 684 }; 685 686 return { 687 'init' : function(c, d){ 688 init(c, d) 689 } 690 } 691};
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.