"use strict"; /* * * global * */ var viewportW = jQuery(window).width(); var viewportH = jQuery(window).height(); var viewportSMP = 800; var is_lancelot = typeof (domain_user) != 'undefined' ? true : false; var is_dynamic = typeof (id_dynamic) != 'undefined' && id_dynamic != '' ? true : false; var media_upload = typeof (images_public) != 'undefined' ? images_public : 'images/'; var header = jQuery('#header'); var navbox = jQuery('.navbox'); jQuery(document).ready(function () { load_function(); jQuery(window).resize(function () { viewportW = jQuery(window).width(); viewportH = jQuery(window).height(); height_menu(); }).resize(); }); /* * * load-function * */ function load_function() { /* common */ scroll_anchor(); tel_link(); detectSMP(); viewport_size(); reload_page_pcsmp(); /* pages */ template(); toppage(); businesslist(); fund(); csr(); welfare(); ir(); } /* * * common-function * */ /* scroll to with animation */ function scroll_anchor() { if (jQuery('.scrollTo').length > 0) { jQuery('.scrollTo').each(function () { jQuery(this).on('click', function (event) { event.preventDefault(); var headerH = jQuery('#header').length > 0 ? jQuery('#header').height() : 0; var target = jQuery(this).attr('href'); if (jQuery(target).length > 0) { jQuery('html, body').animate({ scrollTop: jQuery(target).offset().top - headerH }, 500); } }); }); } } /* reload page when change viewport between pc <=> smp */ function reload_page_pcsmp() { tablet_layout(); var is_device, get_device; is_device = viewportW > viewportSMP ? 'is_pc' : 'is_smp'; jQuery(window).smartresize(function () { var get_viewportW = jQuery(window).width(); get_device = get_viewportW > viewportSMP ? 'is_pc' : 'is_smp'; if (is_device != get_device) window.location.href = window.location.href; }); /* rotate device */ window.addEventListener("orientationchange", function () { window.location.href = window.location.href; }, false); } /* set tel link for text-tel when mobile */ function tel_link() { var ua = navigator.userAgent; if (ua.indexOf('iPhone') > 0 && ua.indexOf('iPod') == -1 || ua.indexOf('Android') > 0 && ua.indexOf('Mobile') > 0 && ua.indexOf('SC-01C') == -1 && ua.indexOf('A1_07') == -1) { jQuery('.tel-link img').each(function () { var alt = jQuery(this).attr('alt'); jQuery(this).wrap(jQuery('').attr('href', 'tel:' + alt.replace(/-/g, ''))); }); jQuery('.tel-text').each(function () { var txt = jQuery(this).html(); jQuery(this).wrap(jQuery('').attr('href', 'tel:' + txt.replace(/-/g, ''))); }); jQuery('.fax-text').each(function () { if (jQuery(this).parent().is('a')) jQuery(this).unwrap(); }); } }; /* detect device and add className to support layout (require detectmobile.js) */ function detectSMP() { if (DetectIos() != false) jQuery('html').addClass('ios'); if (DetectAndroid() != false) jQuery('html').addClass('android'); if (DetectSmartphone() != false) jQuery('html').addClass('smartphone'); if (DetectIphone() != false) return jQuery('html').addClass('iphone'); else if (DetectIpad() != false) return jQuery('html').addClass('tabletdevice ipad'); else if (DetectAndroidPhone() != false) return jQuery('html').addClass('androidphone'); else if (DetectAndroidTablet() != false) return jQuery('html').addClass('tabletdevice androidtablet'); return jQuery('html').addClass('pczoomin'); } /* device size */ function viewport_size() { if (viewportW > viewportSMP) return jQuery('html').addClass('desktop'); if (viewportW <= 380) return jQuery('html').addClass('media-s'); if (viewportW <= 600) return jQuery('html').addClass('media-m'); if (viewportW <= 800) return jQuery('html').addClass('media-l'); } /* heightline advance */ function _heightline(settings) { // generate random ID string var id_hl = 'HL' + Math.uuid(6, 16); // default settings var defaultSettings = { itemClsName: '.hl', itemPerRow: 0, supportTableCell: false, device: 'both', delayFunc: 500 }; // get settings var _settings = defaultSettings; for (var key in settings) { if (settings.hasOwnProperty(key)) if (settings[key] !== undefined) _settings[key] = settings[key]; } var _item = _settings.itemClsName, _number = _settings.itemPerRow, _supportTableCell = _settings.supportTableCell, _device = _settings.device, _delay = _settings.delayFunc; // process heightline if element exist if (jQuery(_item).length > 0) { setTimeout(function () { // heighline all item if itemPerRow = 0 if (_number == 0) { if (_device == 'both' || _device == 'pc' && viewportW > viewportSMP || _device == 'smp' && viewportW <= viewportSMP) { // set height jQuery(_item).heightLine(); // set width to support vertical-align width display:tale-cell if (_supportTableCell) jQuery(_item).css('width', jQuery(_item).width()).css('display', 'table-cell'); } } else { // add class heightline var count = 0, row = 1; jQuery(_item).each(function () { count++; jQuery(this).addClass(id_hl + '-' + row); if (count >= _number) { row++; count = 0; } }); // calc rows number max var totalItem = jQuery(_item).length; var maxRow = Math.floor(totalItem % _number > 0 ? (totalItem / _number) + 1 : totalItem / _number); // process heightline for (var i = 1; i <= maxRow; i++) { if (_device == 'both' || _device == 'pc' && viewportW > viewportSMP || _device == 'smp' && viewportW <= viewportSMP) { jQuery('.' + id_hl + '-' + i).heightLine(); // set width to support vertical-align width display:tale-cell if (_supportTableCell) jQuery('.' + id_hl + '-' + i).css('width', jQuery(_item).width()).css('display', 'table-cell'); } } } }, _delay); } } /* layout tablet */ function tablet_layout() { if (viewportW > viewportSMP && viewportW <= 1278) jQuery('meta[name=viewport]').attr('content', 'width=1400'); else jQuery('meta[name=viewport]').attr('content', 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no'); } /* * * pages-function * */ /* template */ function template() { /* header */ if (viewportW > viewportSMP) { jQuery(window).on('scroll', function (e) { if (jQuery(window).scrollTop() > header.height()) header.addClass('head_small'); else header.removeClass('head_small'); }); } else { //menu button smp jQuery('.menu').click(function () { jQuery(this).toggleClass('is-act').find('span').toggleClass('hidden'); navbox.stop(true, true).fadeToggle(500); height_menu(); }); } /* main visual zoom */ var zoom_mainvisual = jQuery('.zoom_mainvisual'); if (zoom_mainvisual.length > 0) { setTimeout(function () { zoom_mainvisual.each(function () { var _this = jQuery(this).find('.zoom_mainvisual-banner'); var img_src = viewportW > viewportSMP ? _this.attr('data-imgpc') : _this.attr('data-imgsmp'); _this.find('.zoom_show').css({ 'background': 'url(' + img_src + ')', 'background-size': viewportW > viewportSMP ? 'auto' : 'cover', 'background-position': 'top center', 'transform': 'scale(1, 1)', 'transition': 'transform 5000ms ease-out 0s, opacity 500ms ease 0s' }); }); }, 500); } /* gallery scroller */ jQuery(".page_scroller_bl").simplyScroll(); jQuery(".businesdtl_gallary_scroller").simplyScroll(); } function height_menu() { if (viewportW <= viewportSMP) { navbox.height(viewportH - jQuery('#header .header-top').height()); } } /* top page */ function toppage() { /* fadein content */ jQuery('.fade-in').viewportChecker({ classToAdd: 'visible animated fadeIn animation_delay', offset: 50 }); /* slider */ jQuery('#slide_wrapp').on('init', function (event, slick, direction) { jQuery('.ind_slider').removeClass('reload_slider'); }); if (jQuery('.ind_slider').length > 0) { jQuery('#slide_wrapp').slick({ initialSlide: 0, slidesToScroll: 1, slidesToShow: 1, lazyLoad: 'ondemand', asNavFor: '.main_slide-nav', autoplay: true, autoplaySpeed: 5000, fade: true, arrows: false, pauseOnFocus: false, pauseOnHover: false }); jQuery('.main_slide-nav').slick({ initialSlide: 0, slidesToScroll: 1, slidesToShow: 3, variableWidth: true, asNavFor: '#slide_wrapp', autoplay: true, focusOnSelect: true, centerMode: true, centerPadding: '246px', responsive: [ { breakpoint: 800, settings: { arrows: false, slidesToShow: 3, variableWidth: false, centerPadding: '15%', } }, { breakpoint: 520, settings: { arrows: false, variableWidth: false, slidesToShow: 1, centerPadding: '25%', } } ] }); } _heightline({ itemClsName: '.ind_release', device: 'pc' }); if (jQuery('.tabs_navi').length > 0) { jQuery('.tabs_navi li a').on('click', function (e) { e.preventDefault(); var currentAttrValue = jQuery(this).attr('href'); // Show/Hide Tabs jQuery('.admiss_tab_main ' + currentAttrValue).fadeIn(400).siblings().hide(); // Change/remove current tab to active jQuery(this).parent('li').addClass('active').siblings().removeClass('active'); admis_tbl_rowheight(); e.preventDefault(); }); } } function businesslist() { _heightline({ itemClsName: '.ind_release', itemPerRow: 3, device: 'pc' }); _heightline({ itemClsName: '.business_block .page_bl05-item', itemPerRow: 2, device: 'smp' }); _heightline({ itemClsName: '.page_bl05-item', itemPerRow: 3, device: 'pc' }); } function fund() { _heightline({ itemClsName: '.page_bl06-item ._title', itemPerRow: viewportW > viewportSMP ? 5 : 2 }); _heightline({ itemClsName: '.page_bl06-item ._txt', itemPerRow: viewportW > viewportSMP ? 5 : 2 }); } function csr() { _heightline({ itemClsName: '.csr_bl03_group .item h3', itemPerRow: 3, device: 'pc' }); } function welfare() { _heightline({ itemClsName: '.welfare_block.page_bl07 [class*="item_l"] .title', itemPerRow: 3, }); _heightline({ itemClsName: '.welfare_block.page_bl07 [class*="item_l"] .txt', itemPerRow: 3, }); } function ir() { if (jQuery('.ir_notice').length > 0) { jQuery('.ir_notice ul li a').on('click', function (e) { var currentAttrValue = jQuery(this).attr('href'); // Show/Hide Tabs jQuery('.ir_notice-cnt ' + currentAttrValue).fadeIn(400).siblings().hide(); // Change/remove current tab to active jQuery(this).parent('li').addClass('active').siblings().removeClass('active'); e.preventDefault(); }); } }