///
$(document).ready(function () {
// get json data
// $.getJSON( "json/index", function(data:any) {
var gridArray = Array();
// insert spacer between two sliders
setSliderSpacer();
$.ajax({
url: apiDomain + "/api/home?language=" + htmlLang
}).done(function (data) {
// get data sets
var indexSliderBottomJSON = data.bottom;
var indexPanel = data.grid;
// get templates
var sliderTemplateBottom = $('script[data-template="indexBottomSlider"]').text().split(/\$\{(.+?)\}/g);
var indexSliderTags = $('script[data-template="tags"]').text().split(/\$\{(.+?)\}/g);
var indexPanelLink = $('script[data-template="indexPanelLink"]').text().split(/\$\{(.+?)\}/g);
var indexPanelText = $('script[data-template="indexPanelText"]').text().split(/\$\{(.+?)\}/g);
var indexPanelTwitterSlider = $('script[data-template="indexPanelTwitterSlider"]').text().split(/\$\{(.+?)\}/g);
var indexPanelTwitterSliderItem = $('script[data-template="indexPanelTwitterSliderItem"]').text().split(/\$\{(.+?)\}/g);
var indexPanelFAQ = $('script[data-template="indexPanelFAQ"]').text().split(/\$\{(.+?)\}/g);
var indexPanelTextSlider = $('script[data-template="indexPanelTextSlider"]').text().split(/\$\{(.+?)\}/g);
var indexPanelTextSliderItem = $('script[data-template="indexPanelTextSliderItem"]').text().split(/\$\{(.+?)\}/g);
// bottom slider
$('.indexCarousellBottom').append(indexSliderBottomJSON.map(function (item) {
var finalHashTag = item.hashtag.map(function (item, index) {
return indexSliderTags.map(render(item)).join('');
}).join('');
item["hashtagFinal"] = finalHashTag;
return sliderTemplateBottom.map(render(item)).join('');
}));
// index panel
$('.panel').append(indexPanel.map(function (item) {
if (item.type == 'link') {
return indexPanelLink.map(render(item)).join('');
// }else if(item.type == 'events') {
// return indexPanelText.map(render(item)).join('');
}
else if (item.type == 'FAQ') {
return indexPanelFAQ.map(render(item)).join('');
}
else if (typeof item.length != 'undefined') {
if (typeof item[0] != 'undefined') {
if (item[0].type == 'twitter') {
var twitterItems = item.map(function (item, index) {
return indexPanelTwitterSliderItem.map(render(item)).join('');
}).join('');
item["twitterItems"] = twitterItems;
return indexPanelTwitterSlider.map(render(item)).join('');
}
else if (item[0].type == 'news' || item[0].type == 'events') {
var textItems = item.map(function (item, index) {
return indexPanelTextSliderItem.map(render(item)).join('');
}).join('');
item["textItems"] = textItems;
return indexPanelTextSlider.map(render(item)).join('');
}
else {
var textItems = item.map(function (item, index) {
return indexPanelTextSliderItem.map(render(item)).join('');
}).join('');
item["textItems"] = textItems;
return indexPanelTextSlider.map(render(item)).join('');
}
}
}
}));
loadSliderImages('index');
// slider for panel
var panelSectionSlider = $('.panel__section__slider');
panelSectionSlider.on('init', function (e) {
var slickCount = $(this).find('.slick-dots li').length;
if (slickCount <= 1) {
$(this).find('.slick-dots').hide();
}
});
panelSectionSlider.slick({
dots: true,
arrows: false,
infinite: false
});
$('.panel__section').each(function (i) {
if (i % 2 === 0) {
$(this).find('.panel__section__inner').addClass('panel__section__innerUp');
}
else {
$(this).find('.panel__section__inner').addClass('panel__section__innerDown');
}
// disable pointer anchor if item without href
if ($(this).find('.panel__section__image').length > 0) {
if ($(this).find('.panel__section__image a').attr('template-href') == "") {
$(this).find('.panel__section__image a').addClass('noAnchor');
setNoAnchor();
}
}
});
showPanel();
// add class to grid items
var gridClass = Array();
indexPanel.map(function (item) {
if (typeof item.type == 'undefined') {
if (typeof item[0] != 'undefined') {
gridClass.push(item[0].type);
}
}
else {
gridClass.push(item.type);
}
});
$('.panel__section').each(function (index, item) {
$(this).addClass(gridClass[index]);
});
templateReplaceAttribute();
cssObjectFit($('.index__section__image, .panel__section__image'));
videoLightbox();
removeFaqExtraLink();
});
});
function videoLightbox() {
// set it can be focused
var videoObj;
var lightboxContainer = $('
');
lightboxContainer.appendTo($('body'));
$(document).find('.index__section__image a').click(function (e) {
videoObj = $(this);
e.preventDefault();
var geoLocationApi = apiDomain + "/api/locate";
var youtubeLink = $(this).attr('data-video');
var youkuLink = $(this).attr('data-youku');
// $.ajax({
// url: geoLocationApi,
// //dataType: 'jsonp'
// }).done(function (data) {
// let location = data.code;
// let videoLink;
if (lang == 'zh-hans') {
videoLink = youkuLink;
}
else {
videoLink = youtubeLink;
}
$('.index__lightbox-wrap').find('iframe').attr('src', videoLink);
$('html, body').css('overflow', 'hidden');
$('.index__lightbox-wrap').fadeIn(function () {
$('.index__lightbox-wrap .close').focus();
});
// })
});
$(document).on('click', '.index__lightbox-wrap, .index__lightbox-wrap .inner .close', function () {
closeVideoLightbox();
});
$(document).on('keydown', ".index__lightbox-wrap .close", function (e) {
if (e.keyCode == 13) {
closeVideoLightbox();
}
if (e.keyCode == 9) {
if (e.shiftKey) {
return false;
}
else {
// $('.html5-video-player a').focus();
// return false;
}
}
});
$(document).on('click', '.index__lightbox-wrap .inner', function (e) {
e.stopPropagation();
});
function closeVideoLightbox() {
$('html, body').removeAttr('style');
$('.index__lightbox-wrap').find('iframe').attr('src', '');
$('.index__lightbox-wrap').fadeOut(function () {
videoObj.focus();
});
}
}
function loadSliderImages(target) {
$('.slider').waitForImages(function () {
$('.slider').closest('.index__section').removeClass('hidden');
$('.slider').closest('.index').find('.loader__container').remove();
setTimeout(function () {
// slider
$('.indexCarousellTop').slick({
prevArrow: "",
nextArrow: "",
dots: true,
adaptiveHeight: true
});
$('.indexCarousellBottom').slick({
prevArrow: "",
nextArrow: "",
dots: true,
adaptiveHeight: true
});
setSliderDots();
resetindexSliderNav();
setSliderTextHeight();
}, 10);
});
}
function showPanel() {
if (($(window).height() + $(window).scrollTop()) >= $('.panel').offset().top) {
$('.panel__section__innerDown').addClass('startDown');
$('.panel__section__innerUp').addClass('startUp');
}
$(".panel").waypoint(function () {
;
$('.panel__section__innerDown').addClass('startDown');
$('.panel__section__innerUp').addClass('startUp');
}, { offset: '100%' });
}
function resetindexSliderNav() {
setInterval(function () {
// slide top
var slickTextHeader = $(document).find('.index__up .slick-slide.slick-active .index__section__header');
var slickImage = $(document).find('.index__up .slick-slide.slick-active .index__section__image');
var slickTextContainer = $(document).find('.index__up .slick-slide.slick-active .index__section__textInner');
var slickTextContainerHeight = slickTextContainer.outerHeight(true);
if ($(window).width() > 1023) {
$('.index__section.index__up .indexCarousellTop .slick-dots').css({
'left': slickTextHeader.offset().left + 'px',
'top': slickTextContainerHeight + 25 + 'px',
'bottom': 'auto'
});
}
else if ($(window).width() <= 1023 && $(window).width() > 580) {
$('.index__section.index__up .indexCarousellTop .slick-dots').css({
'left': slickTextHeader.offset().left + 'px',
'top': 'auto',
'bottom': '525px'
});
}
else if ($(window).width() <= 580) {
$('.index__section.index__up .indexCarousellTop .slick-dots').css({
'left': slickTextHeader.offset().left + 'px',
'top': 'auto',
'bottom': '330px'
});
}
// slide bottom
var slickTopTextContainer = $(document).find('.index2 .slick-slide.slick-active .index__section__textInner');
var slickTopTextContainerHeight = slickTopTextContainer.outerHeight(true);
if ($(window).width() > 1100) {
$('.index2 .indexCarousellBottom .slick-dots').css({
'top': (slickTopTextContainerHeight - 34) + 'px',
'bottom': 'auto'
});
}
else if ($(window).width() > 1023 && $(window).width() <= 1100) {
$('.index2 .indexCarousellBottom .slick-dots').css({
'top': (slickTopTextContainerHeight + 5) + 'px',
'bottom': 'auto'
});
}
else {
$('.index2 .indexCarousellBottom .slick-dots').removeAttr('style');
}
}, 5);
}
function setSliderTextHeight() {
if ($(window).width() <= 1023) {
$('.index .slick-slider').each(function () {
$thisSlider = $(this);
var obj = $thisSlider.find('.index__section__textInner');
resetHeight(obj);
setHeight(obj);
$(window).resize(function () {
resetHeight(obj);
if ($(window).width() <= 1023) {
setHeight(obj);
}
});
});
}
else {
$('.index .index__section__textInner').removeAttr('style');
}
function setHeight(obj) {
var maxHeight = 0;
obj.each(function (index, item) {
var h = $(this).outerHeight();
maxHeight = h > maxHeight ? h : maxHeight;
maxHeight = Math.ceil(maxHeight);
});
obj.attr('style', 'height:' + maxHeight + 'px');
}
function resetHeight(obj) {
obj.removeAttr('style');
}
}
function setNoAnchor() {
$(document).find('.noAnchor').click(function (e) {
e.preventDefault();
});
}
function setSliderDots() {
// top slider
if ($('.index__up .slick-slide').length <= 1) {
$('.index__up .slick-dots').addClass('noDots');
}
// bottom slider
if ($('.index__down .slick-slide').length <= 1) {
$('.index__down .slick-dots').addClass('noDots');
}
}
function setSliderSpacer() {
var ele = $('');
ele.insertAfter($('.index:eq(0)'));
}
function removeFaqExtraLink() {
function count(string, char) {
var re = new RegExp(char, "gi");
return string.match(re).length;
}
// $('.panel__section.FAQ').each(function(item, index){
//
// let faqLink = $(this).find('.panel__section__text a').attr('href');
//
// if(count(faqLink, 'investhk') >= 2){
// // duplicate url in faq
// let domainName = location.protocol+'//'+window.location.hostname+'/';
// let newLink = faqLink.replace(domainName, '')
// $(this).find('.panel__section__text a').attr('href',newLink);
// }
// })
}