"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();
});
}
}