///
///
///
$(document).ready(function () {
// set dropdown
if ($('#case-studies-region-dropdown').length > 0) {
var caseStudiesRegionDropdown = new Menubutton(document.getElementById('case-studies-region-dropdown'));
caseStudiesRegionDropdown.init();
}
if ($('#case-studies-industry-dropdown').length > 0) {
var caseStudiesIndustryDropdown = new Menubutton(document.getElementById('case-studies-industry-dropdown'));
caseStudiesIndustryDropdown.init();
}
var region = getUrlParameter('region');
var industry = getUrlParameter('industry');
var isSearching = false;
// get json data for cards
var caseStudiesCardJSON;
var caseStudiesCardTopJSON;
var hastagJSON;
var isLoading = false;
var hastagTopJSON;
var nextPage = '';
var caseStudiesCardApi = apiDomain + "/api/case-studies?language=" + htmlLang;
var cardTopPage = apiDomain + "/api/highlight-card?type=case-studies&language=" + htmlLang;
var totalItemCount;
// get templates
var caseCardHashTag = $('script[data-template="tags"]').text().split(/\$\{(.+?)\}/g);
var caseCard = $('script[data-template="caseStudiesCard"]').text().split(/\$\{(.+?)\}/g);
var caseCardTopHashTag = $('script[data-template="tags"]').text().split(/\$\{(.+?)\}/g);
var caseCardTop = $('script[data-template="caseStudiesCardTop"]').text().split(/\$\{(.+?)\}/g);
// Search case studies
$('.case-studies__top__button').click(function (e) {
caseStudiesTopButtonClick(e);
});
$('.case-studies__top__button').keydown(function (e) {
if (e.keyCode == 13) {
caseStudiesTopButtonClick(e);
isKeyboardUser = true;
}
});
function caseStudiesTopButtonClick(e) {
e.preventDefault();
// init load more button
// $('.case-studies__moreContainer').hide(0)
$('.loadMoreButton').addClass('hidden');
// add loading and clear all cards
$('.case-studies__content__cards').html('');
$('
').appendTo($('.case-studies__content__cards'));
var formData = $('#searchCaseStudies').serialize();
getJsonCards(caseStudiesCardApi + '&' + formData);
isSearching = true;
}
//first load
if (typeof region == 'undefined') {
region = '';
}
if (typeof industry == 'undefined') {
industry = '';
}
setDropdownAndSearch();
getJsonCards(caseStudiesCardApi + '®ion=' + region + '&industry=' + industry);
getJsonCardTop(cardTopPage);
//load more news
$('.loadMoreButton').click(function () {
getJsonCards(nextPage);
});
// get cards via JSON
function getJsonCards(currentPage) {
if (!isLoading) {
isLoading = true;
currentPage = currentPage;
$.ajax({
url: currentPage
}).done(function (data) {
// get data
caseStudiesCardJSON = data._items;
hastagJSON = data.items;
nextPage = data._metadata.next;
totalItemCount = data._metadata.total_count;
// bind data to templates
if (totalItemCount <= 0 || typeof nextPage == 'undefined' || typeof caseStudiesCardJSON == 'undefined') {
$('.result_not_found').addClass('active');
$('.loadMoreButton').addClass('hidden');
$('.case-studies__content__cards .loader').remove();
}
else {
$('.result_not_found').removeClass('active');
$('.case-studies__content__cards').append(caseStudiesCardJSON.map(function (item, index) {
var finalHashTag = item.hashtag.map(function (item, index) {
return caseCardHashTag.map(render(item)).join('');
}).join('');
item["hashtagFinal"] = finalHashTag;
return caseCard.map(render(item)).join('');
}));
}
templateReplaceAttribute();
cssObjectFit($('.caseStudiesCard__image'));
// display cards
loadJSONCards({
cardsToDisplay: 9,
cardClass: 'caseStudiesCard',
loadMoreButtonClass: 'case-studies__more',
cardParent: 'case-studies__content__cards',
totalCards: totalItemCount
});
isLoading = false;
if (isSearching) {
isSearching = false;
setTimeout(function () {
scrollToResults();
}, 100);
}
setCaseStudiesCardTitle();
});
}
}
// get cards via JSON
function getJsonCardTop(page) {
$.ajax({
url: page
}).done(function (data) {
// get data
caseStudiesCardTopJSON = data;
hastagTopJSON = data;
// bind data to templates
$('.case-studies__content .case-studies__inner').prepend(caseStudiesCardTopJSON.map(function (item, index) {
var finalHashTag = item.hashtag.map(function (item, index) {
return caseCardTopHashTag.map(render(item)).join('');
}).join('');
item["hashtagFinal"] = finalHashTag;
return caseCardTop.map(render(item)).join('');
}));
templateReplaceAttribute();
// display cards
cssObjectFit($('.case-studies__cover__image'));
loadAsset('case-studies__cover');
setCaseStudiesCoverLink();
setCaseStudiesCardTopTitle();
});
}
function setDropdownAndSearch() {
if (region != '') {
region = decodeURIComponent(region);
var obj_1 = $('.case-studies__top__item input[name="region"]').parents('.case-studies__top__item').find('ul li');
obj_1.each(function (index) {
if (region == $(this).find('a').attr('data-value')) {
obj_1.eq(index).click();
}
});
}
if (industry != '') {
industry = decodeURIComponent(industry);
var obj_2 = $('.case-studies__top__item input[name="industry"]').parents('.case-studies__top__item').find('ul li');
obj_2.each(function (index) {
if (industry == $(this).find('a').attr('data-value')) {
obj_2.eq(index).click();
}
});
}
if (region != '' || industry != '') {
// search
setTimeout(function () {
$('.case-studies__top__button').click();
}, 600);
}
else {
setDefaultRegionAndSearch();
}
}
$(document).on('keydown', ".case-studies__cover > a", function (e) {
if (e.keyCode == 13) {
window.location.href = $(this).attr('href');
}
});
});
function scrollToResults() {
var headerHeight = $('#header').outerHeight(true);
var breadcrumbsHeight = $('.breadcrumbs').outerHeight(true);
var caseStudiesHeader = $('.case-studies__header').outerHeight(true);
var caseStudiesCover = $('.case-studies__cover').outerHeight(true);
var caseStudiesCoverRight = $('.case-studies__cover__right').innerHeight();
var caseStudiesCoverLeft = $('.case-studies__cover__left').innerHeight();
var elementAboveTop = headerHeight + breadcrumbsHeight + caseStudiesHeader + caseStudiesCover;
var bufferHeight;
var cardsTop = $('.case-studies__content__cards').offset().top;
var toPosTop;
if ($(window).width() > 1200) {
bufferHeight = 60;
}
else if ($(window).width() > 580 && $(window).width() <= 1200) {
bufferHeight = 90;
}
else if ($(window).width() <= 580) {
bufferHeight = 70;
}
toPosTop = elementAboveTop - bufferHeight;
$('html,body').animate({
scrollTop: toPosTop + 'px'
}, 800, function () {
// set focus to first item
if (isKeyboardUser) {
isKeyboardUser = false;
setTimeout(function () {
$('.caseStudiesCard:first a:first').focus();
}, 30);
}
});
}
function setDefaultRegionAndSearch() {
// for japan and france
if (lang == 'ja' || lang == 'fr') {
var currentLang = $('html').attr('lang');
var showname_1;
if (lang == 'ja') {
showname_1 = 'Japan';
}
else if (lang == 'fr') {
showname_1 = 'France';
}
var obj_3 = $('.case-studies__top__item input[name="region"]').parents('.case-studies__top__item').find('ul ul li');
obj_3.each(function (index) {
if (showname_1 == $(this).attr('data-value')) {
obj_3.eq(index).click();
}
});
// search
setTimeout(function () {
$('.case-studies__top__button').click();
}, 600);
}
}
function setCaseStudiesCoverLink() {
// let link = $('.case-studies__cover > a').attr('href');
// $('.case-studies__cover').wrapInner('')
// $('.case-studies__cover > a').remove()
}
function setCaseStudiesCardTopTitle() {
$('.case-studies__cover > a').attr('aria-label', $('.case-studies__cover h2').text());
}
function setCaseStudiesCardTitle() {
$('.caseStudiesCard').each(function () {
$(this).find(' > a').attr('aria-label', $(this).find('.caseStudiesCard__text').text());
});
}
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1), sURLVariables = sPageURL.split('&'), sParameterName, i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};