var API_URL="https://www.trust-power.com/matching/wp-json/wp/v2/";
var carMakerJson=API_URL + "tcm?";
var carNameJson=API_URL + "tcm?";
var carYearJson=API_URL + "cm?";
var catJson=API_URL + "categories?";
var productsJson=API_URL + "posts?";
var sc=0;
var maker_id=getLS('maker_id');
var maker_name=getLS('maker_name');
var tcm_id=getLS('tcm_id');
var tcm_name=getLS('tcm_name');
var cm_name=getLS('cm_name');
var cm_ids=getLS('cm_ids');
var cm_years=getLS('cm_years');
var cm_engines=getLS('cm_engines');
var categories=getLS('categories');
function setLS(name, value){
localStorage.setItem(name, value);
}
function getLS(name){
var storage=localStorage;
var ls=localStorage.getItem(name);
if(ls==null||ls=="") ls="";
return ls;
}
if(!Array.prototype.find){
Array.prototype.find=function (predicate){
if(this===null){
throw new TypeError('Array.prototype.find called on null or undefined');
}
if(typeof predicate!=='function'){
throw new TypeError('predicate must be a function');
}
var list=Object(this);
var length=list.length >>> 0;
var thisArg=arguments[1];
var value;
for (var i=0; i < length; i++){
value=list[i];
if(predicate.call(thisArg, value, i, list)){
return value;
}}
return undefined;
};}
jQuery(function (){
if(typeof shortcode!="undefined"){
init({ cmids: shortcode });
}else{
init({ cmids: 0 });
}});
function init(arg){
if(typeof arg==='undefined') arg={};
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
sc=arg.cmids;
var lng=(document.documentElement.lang=='ja') ? 'ja':'en';
i18next.use(i18nextXHRBackend).init({
lng: 'ja',
lng: lng,
debug: false,
load: 'languageOnly',
fallbackLng: 'ja',
backend: {
loadPath: '/matching/js/locales/{{lng}}/{{ns}}.json'
}}, function (err, t){
jQuery('#con1 span.text-title').text(i18next.t('tcw.modal'));
jQuery('#con1 a.modal-close').text(t('tcw.close'));
jQuery('#result_wrap p.year_type').text(t('search_results.year_type'));
jQuery('#result_wrap p.engine_type').text(t('search_results.engine_type'));
jQuery('#result_wrap .research_btn a').eq(0).text(t('search_results.research_btn01'));
jQuery('#result_wrap .research_btn a').eq(1).text(t('search_results.research_btn02'));
jQuery('#result_wrap .research_btn a.btn').eq(0).text(t('search_results.research_btn03'));
jQuery('#result_wrap .research_btn a.btn').eq(1).text(t('search_results.research_btn04'));
jQuery('#result_wrap .research_btn p.btn_caution').text(t('search_results.btn_caution'));
jQuery('.breadcrumb_s span').eq(0).text(t('tcw.breadcrumb_car'));
jQuery('.breadcrumb_s span').off("click").css('cursor', 'auto');
jQuery('.breadcrumb_s span').eq(1).text(t('tcw.breadcrumb_cat'));
jQuery('.breadcrumb_s span').eq(2).text(t('tcw.breadcrumb_result'));
jQuery('#step1 h3').text(t('step1.h3'));
jQuery('#step2 h3').text(t('step2.h3'));
jQuery('#lv2_car_sort p').text(t('step2.refine'));
jQuery('#lv2_car_sort button[value="clear"]').text(t('step2.clear'));
jQuery('#step3 h3').text(t('step3.h3'));
jQuery('#vehicle button[type="submit"]').text(t('tcw.submit'));
jQuery('#serch_category h3').text(t('search_category.title'));
jQuery('#serch_category button[type="submit"]').text(t('search_category.submit'));
jQuery('.breadcrumb_s span').removeClass('current_s').eq(1).text(i18next.t('tcw.breadcrumb_cat'));
jQuery('.breadcrumb_s span').removeClass('current_s').eq(2).text(i18next.t('tcw.breadcrumb_result'));
getCategories();
getCarMakers();
if(cm_ids!=""){
jQuery('.result_cardate h2').html(maker_name + '<br>' + tcm_name + '<br>' + cm_name);
jQuery('.breadcrumb_s').show();
jQuery('.breadcrumb_s span').eq(0).text(maker_name + ' ' + tcm_name + ' ' + cm_name);
getCarNames({ parent: maker_id });
getCarYears({ tcm: tcm_id });
jQuery('#vehicle .serch_his a').text(i18next.t('tcw.history') + ' ' + maker_name + ' > ' + tcm_name + ' > ' + cm_name);
jQuery('#vehicle button[type="submit"]').prop("disabled", false);
jQuery('#serch_category button[type="submit"]').prop("disabled", false);
jQuery('.result_cardate .engine select').children().remove();
var cm_years_arr=cm_years.split(',');
var cm_ids_arr=cm_ids.split(',');
var cm_engines_arr=cm_engines.split(',');
unique_cm_years_arr=Array.from(new Set(cm_years_arr));
for (var i=0; i < unique_cm_years_arr.length; i++){
jQuery('.result_cardate .engine .year-select select').append('<option value="' + unique_cm_years_arr[i] + '">' + unique_cm_years_arr[i] + '</option>');
}
for (var i=0; i < cm_ids_arr.length; i++){
if(jQuery('.result_cardate .engine .year-select select').val()==cm_years_arr[i]){
jQuery('.result_cardate .engine .engine-select select').append('<option value="' + cm_ids_arr[i] + '" data-year="' + cm_years_arr[i] + '">' + cm_engines_arr[i] + '</option>');
}}
jQuery('.result_cardate .engine .year-select select').change(function (){
var chk_val=jQuery(this).val();
var selected_cm_id=jQuery('.result_cardate .engine .engine-select select').val();
var selected_enabled_flg=0;
jQuery('.result_cardate .engine .engine-select select').children().remove();
for (var i=0; i < cm_ids_arr.length; i++){
if(chk_val==cm_years_arr[i]){
if(selected_cm_id==cm_years_arr[i]) selected_enabled_flg++;
jQuery('.result_cardate .engine .engine-select select').append('<option value="' + cm_ids_arr[i] + '" data-year="' + cm_years_arr[i] + '">' + cm_engines_arr[i] + '</option>');
}}
if(selected_enabled_flg==0){
getResults({ cmids: jQuery('.result_cardate .engine .engine-select select').val(), cats: categories });
}});
}else{
jQuery('#vehicle .serch_his').hide();
jQuery('.breadcrumb_s span').removeClass('current_s').eq(0).addClass('current_s');
}});
}
jQuery(function (){
jQuery('#vehicle form').submit(function (){
return false;
});
});
function getCarMakers(arg){
if(typeof arg==='undefined') arg={};
var setArea=jQuery('#step1 select');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var config={
parent: 0,
per_page: 100,
page: 1
}
var posts_all=[];
var max=0;
jQuery.extend(config, arg);
getPages(config);
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: carMakerJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(posts_all);
}else{
getPages({ page: arg.page + 1 });
}}
}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data){
jQuery(setArea).children().remove();
var appendHtml='<option value="*" class="default">' + i18next.t('step1.option0') + '</option>';
for (var i=0; i < data.length; i++){
appendHtml +='<option value="' + data[i].id + '">' + data[i].name + '</option>';
}
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
if(maker_id!="") jQuery(setArea).val(maker_id);
}}
jQuery(function (){
jQuery('#step1 select').change(function (){
if(jQuery(this).val()!='*'){
jQuery('#step2 select').children().remove();
jQuery('#step3 select').children().remove();
getCarNames({ parent: jQuery(this).val() });
}});
});
var carNamesData=[];
function getCarNames(arg){
if(typeof arg==='undefined') arg={};
var setArea=jQuery('#step2 select');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var config={
parent: null,
per_page: 100,
page: 1
}
var posts_all=[];
var max=0;
jQuery.extend(config, arg);
getPages(config);
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: carNameJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(posts_all);
}else{
getPages({ page: arg.page + 1 });
}}
}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data){
jQuery(setArea).children().remove();
carNamesData=data;
jQuery('#lv2_car_sort button').hide();
jQuery('#lv2_car_sort button[value="clear"]').show();
var appendHtml='<option value="*" class="default">' + i18next.t('step2.option0') + '</option>';
for (var i=0; i < data.length; i++){
if(data[i].count > 0){
var name=(i18next.language=='ja') ? data[i].name:data[i].acf.title_en;
var dataIndex=searchSortString(name.substr(0, 1)).toUpperCase();
appendHtml +='<option value="' + data[i].id + '" data-index="' + dataIndex + '">' + name + '</option>';
jQuery('#lv2_car_sort button[value="' + dataIndex + '"]').show();
}}
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
if(tcm_id!="") jQuery(setArea).val(tcm_id);
jQuery('.loader').hide();
}}
jQuery(function (){
jQuery('#step2 select').change(function (){
if(jQuery(this).val()!='*'){
jQuery('#step3 select').children().remove();
getCarYears({ tcm: jQuery(this).val() });
}});
});
jQuery(function (){
jQuery('#lv2_car_sort button').on("click", function (){
jQuery(this).siblings(".active").removeClass('active');
jQuery(this).addClass('active');
var setArea=jQuery('#step2 select');
var index=jQuery(this).val();
var data=carNamesData;
jQuery(setArea).children().remove();
var appendHtml='<option value="*" class="default">' + i18next.t('step2.option0') + '</option>';
for (var i=0; i < data.length; i++){
if(data[i].count > 0){
var name=(i18next.language=='ja') ? data[i].name:data[i].acf.title_en;
var dataIndex=searchSortString(name.substr(0, 1)).toUpperCase();
if(index==dataIndex||index=="clear"){
appendHtml +='<option value="' + data[i].id + '" data-index="' + dataIndex + '">' + name + '</option>';
}}
}
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
return false;
});
});
function getCarYears(arg){
if(typeof arg==='undefined') arg={};
var setArea=jQuery('#step3 select');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var config={
tcm: null,
per_page: 100,
page: 1
}
var posts_all=[];
var max=0;
jQuery.extend(config, arg);
getPages(config);
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: carYearJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(posts_all);
}else{
getPages({ page: arg.page + 1 });
}}
}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data){
jQuery(setArea).children().remove();
var data2=data.reduce(function (result, current){
var element=result.find(function (p){
return (p.acf.title_jp)===(current.acf.title_jp);
});
if(current.acf.ed!=''&&current.acf.ed!=undefined){
current.engine=current.acf.engine + '-' + current.acf.ed.substr(0, 4) + current.acf.ed.substr(5, 2);
}else{
current.engine=current.acf.engine;
}
if(element){
element.id +=',' + current.id;
element.year +=',' + i18next.t('search_results.year', { yyyy: current.acf.sd.substr(0, 4), mm: current.acf.sd.substr(5, 2) });
element.engine +=',' + current.engine;
}else{
var name=(i18next.language=='ja') ? current.acf.title_jp:current.acf.title_en;
result.push({
id: current.id,
engine: current.engine,
title: current.acf.title_jp,
sd: current.acf.sd,
year: i18next.t('search_results.year', { yyyy: current.acf.sd.substr(0, 4), mm: current.acf.sd.substr(5, 2) }),
label: name,
acf: { title_jp: current.acf.title_jp, sd: current.acf.sd }});
}
return result;
}, []);
console.log(data2);
var appendHtml='<option value="*" class="default">' + i18next.t('step3.option0') + '</option>';
for (var i=0; i < data2.length; i++){
appendHtml +='<option value="' + data2[i].id + '" data-year="' + data2[i].year + '" data-engine="' + data2[i].engine + '">' + data2[i].label + '</option>';
}
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
if(cm_ids!="") jQuery(setArea).val(cm_ids);
jQuery('.loader').hide();
}}
jQuery(function (){
jQuery('#step3 select').change(function (){
if(jQuery(this).val()!='*'){
jQuery('#vehicle button[type="submit"]').prop("disabled", false);
}else{
jQuery('#vehicle button[type="submit"]').prop("disabled", true);
}});
});
jQuery(function (){
jQuery('#vehicle button[type="submit"]').on("click", function (){
jQuery('#serch_category input[name="cmids"]').val(jQuery('#step3 select').val());
jQuery('#vehicle').slideUp();
jQuery('#serch_category').slideDown();
setLS('maker_name', jQuery('#step1 select :selected').text());
setLS('maker_id', jQuery('#step1 select').val());
setLS('tcm_name', jQuery('#step2 select :selected').text());
setLS('tcm_id', jQuery('#step2 select').val());
setLS('cm_name', jQuery('#step3 select :selected').text());
setLS('cm_ids', jQuery('#step3 select').val());
setLS('cm_years', jQuery('#step3 select :selected').data('year'));
setLS('cm_engines', jQuery('#step3 select :selected').data('engine'));
jQuery('.breadcrumb_s').show();
jQuery('.breadcrumb_s span').eq(0).text(jQuery('#step1 select :selected').text() + ' ' + jQuery('#step2 select :selected').text() + ' ' + jQuery('#step3 select :selected').text());
jQuery('.breadcrumb_s span').removeClass('current_s').eq(1).addClass('current_s');
jQuery('.breadcrumb_s span').eq(0).on("click", function (){
jQuery('#vehicle').slideDown();
jQuery('#serch_category').slideUp();
}).css('cursor', 'pointer');
return false;
});
});
var cats=[];
function getCategories(arg){
if(typeof arg==='undefined') arg={};
var setArea=jQuery('#serch_category .serch_category_list');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var config={
exclude: 1,
per_page: 100,
page: 1
}
var posts_all=[];
var max=0;
jQuery.extend(config, arg);
getPages(config);
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: catJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(posts_all);
}else{
getPages({ page: arg.page + 1 });
}}
}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data){
jQuery(setArea).children().remove();
cats=data;
var appendHtml='<label for="checkAll" class="serch_label">';
appendHtml +='<input type="checkbox" name="" value="" id="checkAll" class="checkbox01-input">';
appendHtml +='<span class="checkbox01-parts">ALL</span>';
appendHtml +='</label>';
for (var i=0; i < data.length; i++){
if(data[i].parent==0){
appendHtml +='<label for="' + data[i].slug + '" class="serch_label">';
appendHtml +='<input type="checkbox" name="product[]" value="' + data[i].id + '" id="' + data[i].slug + '" class="checkbox01-input">';
var name=(i18next.language=='ja') ? data[i].name:data[i].acf.title_en;
appendHtml +='<span class="checkbox01-parts">' + name + '</span></label>';
}}
jQuery(appendHtml).appendTo(setArea);
if(categories!=""){
var cats_arr=categories.split(',');
for (var c=0; c < cats_arr.length; c++){
jQuery('#serch_category input[name="product[]"]').each(function (){
if(jQuery(this).val()==cats_arr[c]) jQuery(this).prop('checked', true);
});
}
if(jQuery('#serch_category input[name="product[]"]').length==jQuery('#serch_category input[name="product[]"]:checked').length) jQuery('#checkAll').prop('checked', true);
}
jQuery('#serch_category .checkbox01-input').change(function (){
if(jQuery('#serch_category input[name="product[]"]:checked').length > 0){
jQuery('#serch_category button[type="submit"]').prop("disabled", false);
}else{
jQuery('#serch_category button[type="submit"]').prop("disabled", true);
}});
var checkAll='#checkAll';
var checkBox='input[name="product[]"]';
jQuery(checkAll).on('click', function (){
jQuery(checkBox).prop('checked', jQuery(this).is(':checked'));
jQuery('#serch_category button[type="submit"]').prop("disabled", !jQuery(this).is(':checked'));
});
jQuery(checkBox).on('click', function (){
var boxCount=jQuery(checkBox).length;
var checked=jQuery(checkBox + ':checked').length;
if(checked===boxCount){
jQuery(checkAll).prop('checked', true);
}else{
jQuery(checkAll).prop('checked', false);
}});
if(cm_ids!=""){
if(sc!=0){
}else{
jQuery('.result_cardate .engine .engine-select select').change(function (){
getResults({ cmids: jQuery(this).val(), cats: categories });
});
var cm_ids_arr=cm_ids.split(',');
var cm_ids_arr=cm_ids;
getResults({ cmids: jQuery('.result_cardate .engine .engine-select select').val(), cats: categories });
jQuery('#vehicle .serch_his a').on("click", function (){
getResults({ cmids: cm_ids_arr, cats: categories });
});
}}else{
}
jQuery('.loader').hide();
}}
jQuery(function (){
jQuery('#serch_category button[type="submit"]').on("click", function (){
var categories=jQuery('#serch_category input[name="product[]"]:checked').map(function (index, el){ return jQuery(this).val(); }).get().join(',');
jQuery('#serch_category input[name="categories"]').val(categories);
setLS('categories', categories);
});
});
function getResults(arg){
if(typeof arg==='undefined') arg={};
console.dir(arg);
var setArea=jQuery('#result_wrap .result_info');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var config={
cmids: null,
per_page: 100,
page: 1,
order: 'asc',
orderby: 'title'
}
var posts_all=[];
var max=0;
jQuery.extend(config, arg);
getPages(config);
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: productsJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(posts_all);
}else{
getPages({ page: arg.page + 1 });
}}else{
}}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data){
console.log(data);
jQuery(setArea).children().remove();
var engineHtml='';
var engine_arr=[];
for (key in data){
if(key!='find'){
var engine_ed=(data[key].ed!=''&&data[key].ed!=undefined) ? data[key].engine + '-' + data[key].ed.substr(0, 4) + data[key].ed.substr(5, 2):data[key].engine;
engine_arr.push({ id: data[key].acf.cmid[0].ID, name: engine_ed });
}}
var arrObj={};
for (var i=0; i < engine_arr.length; i++){
arrObj[engine_arr[i]['id']]=engine_arr[i];
}
engine_arr=[];
for (var key in arrObj){
engine_arr.push(arrObj[key]);
}
console.log(engine_arr);
(async ()=> {
var cautionHtml=await getStockCaution();
for (var e=0; e < engine_arr.length; e++){
var engine_result_flg=false;
for (var mm=0; mm < data.length; mm++){
if(engine_arr[e].id==data[mm].acf.cmid[0].ID){
engine_result_flg=true;
break;
}}
if(engine_result_flg){
var engineHtml='';
for (var i=0; i < cats.length; i++){
if(cats[i].parent==0){
var mainCatHtml='';
for (var k=0; k < cats.length; k++){
if(cats[i].id==cats[k].parent){
var subCatHtml='';
for (var m=0; m < data.length; m++){
if(data[m].categories.some(function (v){ return v===cats[k].id; })){
if(engine_arr[e].id==data[m].acf.cmid[0].ID){
subCatHtml +='<tr>';
subCatHtml +='<td class="td_thum">';
for (var thum=0; thum < data[m].acf.images.length; thum++){
var img_url=data[m].acf.images[thum].url;
if(thum > 0){
subCatHtml +='<a href="' + img_url + '" rel="lightbox[i' + data[m].title.rendered + ']" style="display:none;">';
}else{
subCatHtml +='<a href="' + img_url + '" rel="lightbox[i' + data[m].title.rendered + ']">';
}
subCatHtml +='<img src="' + img_url + '"></a>';
}
subCatHtml +='</td>';
var name=(i18next.language=='ja') ? data[m].acf.name:data[m].acf.name_en;
subCatHtml +='<td class="td_name">' + name + '</td>';
var spec=(i18next.language=='ja') ? data[m].acf.spec:data[m].acf.spec_en;
subCatHtml +='<td class="td_spec">' + spec + '</td>';
var memo=(i18next.language=='ja') ? data[m].acf.memo:data[m].acf.memo_en;
subCatHtml +='<td class="td_remark">' + memo + '</td>';
subCatHtml +='<td>' + data[m].title.rendered + '</td>';
var price=(isNumber(data[m].acf.price)) ? i18next.t('search_results.td_price', { price: getPrice(data[m].acf.price) }):data[m].acf.price;
var taxin_price=(isNumber(data[m].acf.price)) ? i18next.t('search_results.td_taxin_price', { price: getPrice(getITP(data[m].acf.price)) }):data[m].acf.price;
subCatHtml +='<td class="td_price">' + price + '<br>' + taxin_price + '</td>';
if(data[m].acf.cm_url){
subCatHtml +='<td><a href="' + data[m].acf.cm_url + '" target="_blank"><i class="far fa-file-alt icon_blue"></i></a></td>';
}else{
subCatHtml +='<td></td>';
}
if(data[m].acf.pd_url){
subCatHtml +='<td><a href="' + data[m].acf.pd_url + '" target="_blank"><i class="far fa-file-alt icon_red"></i></a></td>';
}else{
subCatHtml +='<td></td>';
}
if(data[m].acf.stock){
var stock_memo=(data[m].acf.stock_memo) ? (data[m].acf.stock_memo):'';
if(stock_memo) stock_memo=stock_memo.match(/.{1,5}/g).join('<br>');
subCatHtml +='<td class="td_stock">' + data[m].acf.stock + '</td>';
subCatHtml +='<td class="td_stock">' + stock_memo + '</td>';
}else{
subCatHtml +='<td class="td_stock"> - </td>';
subCatHtml +='<td class="td_stock"></td>';
}
subCatHtml +='</tr>';
}}
}
if(subCatHtml!=''){
var sub_cat_title=(i18next.language=='ja') ? cats[k].name:cats[k].acf.title_en;
mainCatHtml +='<p class="child_category">' + sub_cat_title + '</p>';
mainCatHtml +='<div class="resultTbl">';
mainCatHtml +='<table id="" class="js-scrollable">';
mainCatHtml +='<thead>';
mainCatHtml +='<tr>';
mainCatHtml +='<th class="th_thum">' + i18next.t('search_results.images') + '</th>';
mainCatHtml +='<th class="th_name">' + i18next.t('search_results.name') + '</th>';
mainCatHtml +='<th class="th_spec">' + i18next.t('search_results.spec') + '</th>';
mainCatHtml +='<th class="th_remark">' + i18next.t('search_results.memo') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.code') + '</th>';
mainCatHtml +='<th class="th_price">' + i18next.t('search_results.price') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.cm_url') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.pd_url') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.stock') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.stock_memo') + '</th>';
mainCatHtml +='</tr>';
mainCatHtml +='</thead>';
mainCatHtml +='<tbody>';
mainCatHtml +=subCatHtml;
mainCatHtml +='</tbody>';
mainCatHtml +='</table>';
mainCatHtml +='</div>';
}}
}
if(mainCatHtml!=''){
var mainCatTitle=(i18next.language=='ja') ? cats[i].name:cats[i].acf.title_en;
engineHtml +='<h3>' + mainCatTitle + '</h3>';
engineHtml +=mainCatHtml;
}}
}
if(engineHtml!=''){
var h3_engine_name='<h3 class="engine_name">' + engine_arr[e].name + '</h3>';
var appendHtml='';
appendHtml=cautionHtml;
appendHtml +=h3_engine_name;
appendHtml +=engineHtml;
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
}}
}})();
jQuery('.loader').hide();
doLightBox();
jQuery('#con1').fadeOut('slow');
jQuery('.modal-overlay').fadeOut('slow', function (){
jQuery('html, body').removeClass('lock');
jQuery('.modal-overlay').remove();
var $con=jQuery('#con1');
if($con.parent().hasClass('modal-wrap')){
$con.unwrap();
}});
new ScrollHint('.js-scrollable', {
applyToParents: true,
enableOverflowScrolling: false,
i18n: {
scrollable: 'Scroll'
}});
return false;
}}
function getSCResults(arg){
if(typeof arg==='undefined') arg={};
console.dir(arg);
var setArea=jQuery('.' + arg.set + ' .result_info');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var cat_config={
exclude: 1,
per_page: 100,
page: 1
}
var cat_posts_all=[];
var cat_max=0;
var config={
cmids: null,
per_page: 100,
page: 1,
order: 'asc',
orderby: 'title'
}
var posts_all=[];
var max=0;
jQuery.extend(cat_config, arg);
jQuery.extend(config, arg);
getCats(cat_config);
function getCats(arg){
jQuery.extend(cat_config, arg);
jQuery.ajax({
type: 'get',
url: catJson + jQuery.param(cat_config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(cat_posts_all, data);
if(cat_max==0)
cat_max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==cat_max){
getPages(config);
}else{
getCats({ page: arg.page + 1 });
}}else{
}}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: productsJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(cat_posts_all, posts_all);
}else{
getPages({ page: arg.page + 1 });
}}else{
}}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data, data2){
var cats=data;
var posts=data2;
var engineHtml='';
var engine_arr=[];
for (var x=0; x < data2.length; x++){
var engine_ed=(data2[x].ed!=''&&data2[x].ed!=undefined) ? data2[x].engine + '-' + data2[x].ed.substr(0, 4) + data2[x].ed.substr(5, 2):data2[x].engine;
engine_arr.push({ id: data2[x].acf.cmid[0].ID, name: engine_ed });
}
var arrObj={};
for (var i=0; i < engine_arr.length; i++){
arrObj[engine_arr[i]['id']]=engine_arr[i];
}
engine_arr=[];
for (var key in arrObj){
engine_arr.push(arrObj[key]);
}
(async ()=> {
var cautionHtml=await getStockCaution();
for (var e=0; e < engine_arr.length; e++){
var engine_result_flg=false;
for (var mm=0; mm < posts.length; mm++){
if(engine_arr[e].id==posts[mm].acf.cmid[0].ID){
engine_result_flg=true;
break;
}}
if(engine_result_flg){
var engineHtml='';
for (var i=0; i < cats.length; i++){
if(cats[i].parent==0){
var mainCatHtml='';
for (var k=0; k < cats.length; k++){
if(cats[i].id==cats[k].parent){
var subCatHtml='';
for (var m=0; m < posts.length; m++){
if(posts[m].categories.some(function (v){ return v===cats[k].id; })){
if(engine_arr[e].id==posts[m].acf.cmid[0].ID){
subCatHtml +='<tr>';
subCatHtml +='<td class="td_thum">';
for (var thum=0; thum < posts[m].acf.images.length; thum++){
var img_url=posts[m].acf.images[thum].url;
if(thum > 0){
subCatHtml +='<a href="' + img_url + '" rel="lightbox[i' + posts[m].title.rendered + ']" style="display:none;">';
}else{
subCatHtml +='<a href="' + img_url + '" rel="lightbox[i' + posts[m].title.rendered + ']">';
}
subCatHtml +='<img src="' + img_url + '"></a>';
}
subCatHtml +='</td>';
var name=(i18next.language=='ja') ? posts[m].acf.name:posts[m].acf.name_en;
subCatHtml +='<td class="td_name">' + name + '</td>';
var spec=(i18next.language=='ja') ? posts[m].acf.spec:posts[m].acf.spec_en;
subCatHtml +='<td class="td_spec">' + spec + '</td>';
var memo=(i18next.language=='ja') ? posts[m].acf.memo:posts[m].acf.memo_en;
subCatHtml +='<td class="td_remark">' + memo + '</td>';
subCatHtml +='<td>' + posts[m].title.rendered + '</td>';
var price=(isNumber(posts[m].acf.price)) ? i18next.t('search_results.td_price', { price: getPrice(posts[m].acf.price) }):posts[m].acf.price;
var taxin_price=(isNumber(posts[m].acf.price)) ? i18next.t('search_results.td_taxin_price', { price: getPrice(getITP(posts[m].acf.price)) }):posts[m].acf.price;
subCatHtml +='<td class="td_price">' + price + '<br>' + taxin_price + '</td>';
if(posts[m].acf.cm_url){
subCatHtml +='<td><a href="' + posts[m].acf.cm_url + '" target="_blank"><i class="far fa-file-alt icon_blue"></i></a></td>';
}else{
subCatHtml +='<td></td>';
}
if(posts[m].acf.pd_url){
subCatHtml +='<td><a href="' + posts[m].acf.pd_url + '" target="_blank"><i class="far fa-file-alt icon_red"></i></a></td>';
}else{
subCatHtml +='<td></td>';
}
if(posts[m].acf.stock){
var stock_memo=(posts[m].acf.stock_memo) ? (posts[m].acf.stock_memo):'';
if(stock_memo) stock_memo=stock_memo.match(/.{1,5}/g).join('<br>');
subCatHtml +='<td class="td_stock">' + posts[m].acf.stock + '</td>';
subCatHtml +='<td class="td_stock">' + stock_memo + '</td>';
}else{
subCatHtml +='<td class="td_stock"> - </td>';
subCatHtml +='<td class="td_stock"></td>';
}
subCatHtml +='</tr>';
}}
}
if(subCatHtml!=''){
var sub_cat_title=(i18next.language=='ja') ? cats[k].name:cats[k].acf.title_en;
mainCatHtml +='<p class="child_category">' + sub_cat_title + '</p>';
mainCatHtml +='<div class="resultTbl">';
mainCatHtml +='<table id="" class="js-scrollable">';
mainCatHtml +='<thead>';
mainCatHtml +='<tr>';
mainCatHtml +='<th class="th_thum">' + i18next.t('search_results.images') + '</th>';
mainCatHtml +='<th class="th_name">' + i18next.t('search_results.name') + '</th>';
mainCatHtml +='<th class="th_spec">' + i18next.t('search_results.spec') + '</th>';
mainCatHtml +='<th class="th_remark">' + i18next.t('search_results.memo') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.code') + '</th>';
mainCatHtml +='<th class="th_price">' + i18next.t('search_results.price') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.cm_url') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.pd_url') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.stock') + '</th>';
mainCatHtml +='<th>' + i18next.t('search_results.stock_memo') + '</th>';
mainCatHtml +='</tr>';
mainCatHtml +='</thead>';
mainCatHtml +='<tbody>';
mainCatHtml +=subCatHtml;
mainCatHtml +='</tbody>';
mainCatHtml +='</table>';
mainCatHtml +='</div>';
}}
}
if(mainCatHtml!=''){
var mainCatTitle=(i18next.language=='ja') ? cats[i].name:cats[i].acf.title_en;
engineHtml +='<h3>' + mainCatTitle + '</h3>';
engineHtml +=mainCatHtml;
}}
}
if(engineHtml!=''){
var h3_engine_name='<h3 class="engine_name">' + engine_arr[e].name + '</h3>';
var appendHtml='';
appendHtml=cautionHtml;
appendHtml +=h3_engine_name;
appendHtml +=engineHtml;
jQuery(appendHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500);
}}
}})();
jQuery('.loader').hide();
doLightBox();
new ScrollHint('.js-scrollable', {
applyToParents: true,
enableOverflowScrolling: false,
i18n: {
scrollable: 'Scroll'
}});
return false;
}}
function getMFPResults(arg){
if(typeof arg==='undefined') arg={};
console.dir(arg);
var setArea=jQuery('.' + arg.set + ' .result_info');
if(jQuery('.loader').css('display')!='block') jQuery('.loader').show();
var cat_config={
exclude: 1,
per_page: 100,
page: 1,
search: ''
}
var cat_posts_all=[];
var cat_max=0;
var config={
per_page: 100,
page: 1,
order: 'asc',
orderby: 'title',
categories: null
}
var posts_all=[];
var max=0;
jQuery.extend(cat_config, arg);
jQuery.extend(config, arg);
getCats(cat_config);
function getCats(arg){
jQuery.extend(cat_config, arg);
console.log(cat_config);
jQuery.ajax({
type: 'get',
url: catJson + jQuery.param(cat_config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(cat_posts_all, data);
if(cat_max==0)
cat_max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==cat_max){
config.categories=data[0].id;
delete config.search;
getPages(config);
}else{
getCats({ page: arg.page + 1 });
}}else{
}}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function getPages(arg){
jQuery.extend(config, arg);
jQuery.ajax({
type: 'get',
url: productsJson + jQuery.param(config),
dataType: 'json'
}).done(function (data, textStatus, jqXHR){
if(data.length!=0){
Array.prototype.push.apply(posts_all, data);
if(max==0)
max=parseInt(jqXHR.getResponseHeader('X-WP-TotalPages'));
if(arg.page==max){
setDatas(cat_posts_all, posts_all);
}else{
getPages({ page: arg.page + 1 });
}}else{
}}).fail(function (jqXHR, textStatus, errorThrown){
});
}
function setDatas(data, data2){
var cats=data;
var posts=data2;
var mfp_arr=[];
for (var m=0; m < posts.length; m++){
var p_name=(i18next.language=='ja') ? posts[m].acf.name:posts[m].acf.name_en;
var pd_url='';
if(posts[m].acf.pd_url) pd_url='<a href="' + posts[m].acf.pd_url + '" target="_blank"><i class="far fa-file-alt icon_red"></i></a>';
var cm_url='';
if(posts[m].acf.cm_url) cm_url='<a href="' + posts[m].acf.cm_url + '" target="_blank"><i class="far fa-file-alt icon_blue"></i></a>';
var pcode=posts[m].title.rendered;
var cm=posts[m].acf.cmid;
for (var k=0; k < cm.length; k++){
var maker=(i18next.language=='ja') ? cm[k].maker:cm[k].maker_en;
if(maker=='') maker=cm[k].maker;
var car=(i18next.language=='ja') ? cm[k].car:cm[k].car_en;
var title=(i18next.language=='ja') ? cm[k].title_jp:cm[k].title_en;
var year=(i18next.language=='ja') ? (cm[k].sd + '<wbr>' + cm[k].ed):(cm[k].sd_en + '<wbr>' + cm[k].ed_en);
var price=(isNumber(posts[m].acf.price)) ? i18next.t('search_results.td_price', { price: getPrice(posts[m].acf.price) }):posts[m].acf.price;
var taxin_price=(isNumber(posts[m].acf.price)) ? i18next.t('search_results.td_taxin_price', { price: getPrice(getITP(posts[m].acf.price)) }):posts[m].acf.price;
var spec=(i18next.language=='ja') ? posts[m].acf.spec:posts[m].acf.spec_en;
var memo=(i18next.language=='ja') ? posts[m].acf.memo:posts[m].acf.memo_en;
var stock=(posts[m].acf.stock) ? posts[m].acf.stock:'-';
var stock_memo=posts[m].acf.stock_memo;
mfp_arr.push({
id: cm[k].ID,
pid: posts[m].id,
p_name: p_name,
price: price,
taxin_price: taxin_price,
maker: maker,
term_order: cm[k].term_order,
car: car,
title: title,
spec: spec,
memo: memo,
year: year,
engine: cm[k].engine,
sd: cm[k].sd,
pd_url: pd_url,
cm_url: cm_url,
pcode: pcode,
stock: stock,
stock_memo: stock_memo,
cats: posts[m].categories
});
}}
mfp_arr.sort(function (a, b){
if(a.term_order < b.term_order) return -1;
if(a.term_order > b.term_order) return 1;
if(a.car < b.car) return -1;
if(a.car > b.car) return 1;
if(a.title < b.title) return -1;
if(a.title > b.title) return 1;
return 0;
});
console.log(mfp_arr);
function swapRecords(records, id1, id2){
const record1=records.find(record=> record.id===id1);
const record2=records.find(record=> record.id===id2);
if(record1&&record2){
const index1=records.indexOf(record1);
const index2=records.indexOf(record2);
[records[index1], records[index2]]=[records[index2], records[index1]];
}}
swapRecords(mfp_arr, 62767, 62768);
var carModelHtml='';
(async ()=> {
carModelHtml=await getStockCaution();
carModelHtml +='<div class="maker-select">';
carModelHtml +='<select name="" id="makerFilter">';
carModelHtml +='<option value="all">ALL MAKER</option>';
var mfp_maker_arr=Array.from(new Set(mfp_arr.map(item=> item.maker)));
for (var i=0; i < mfp_maker_arr.length; i++){
carModelHtml +='<option value=".' + mfp_maker_arr[i] + '">' + mfp_maker_arr[i] + '</option>';
}
carModelHtml +='</select>';
carModelHtml +='</div>';
carModelHtml +='<div class="resultTbl">';
carModelHtml +='<table id="" class="js-scrollable">';
carModelHtml +='<thead>';
carModelHtml +='<tr>';
carModelHtml +='<th>' + i18next.t('search_results.maker') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.c_name') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.c_model') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.c_engine') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.c_year') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.p_name') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.spec') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.code') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.price') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.cm_url') + '</th>';
carModelHtml +='<th>' + i18next.t('search_results.stock') + '</th>';
carModelHtml +='</tr>';
carModelHtml +='</thead>';
carModelHtml +='<tbody>';
for (var l=0; l < mfp_arr.length; l++){
carModelHtml +='<tr data-id="' + mfp_arr[l].id + '" class="mix ' + mfp_arr[l].maker + '">';
carModelHtml +='<td>' + mfp_arr[l].maker + '</td>';
carModelHtml +='<td class="td_car_name">' + mfp_arr[l].car + '</td>';
carModelHtml +='<td>' + mfp_arr[l].title + '</td>';
carModelHtml +='<td>' + mfp_arr[l].engine + '</td>';
carModelHtml +='<td class="td_year">' + mfp_arr[l].year + '</td>';
carModelHtml +='<td class="td_name">' + mfp_arr[l].p_name + '</td>';
carModelHtml +='<td class="td_spec">' + mfp_arr[l].spec + '</td>';
carModelHtml +='<td>' + mfp_arr[l].pcode + '</td>';
carModelHtml +='<td>' + mfp_arr[l].price + '<br>' + mfp_arr[l].taxin_price + '</td>';
carModelHtml +='<td>' + mfp_arr[l].cm_url + '</td>';
var stock_memo=(mfp_arr[l].stock_memo) ? (mfp_arr[l].stock_memo):'';
if(stock_memo) stock_memo=stock_memo.match(/.{1,5}/g).join('<br>');
carModelHtml +='<td>' + mfp_arr[l].stock + '</td>';
carModelHtml +='<td>' + stock_memo + '</td>';
carModelHtml +='</tr>';
}
carModelHtml +='</tbody>';
carModelHtml +='</table>';
carModelHtml +='</div>';
await jQuery(carModelHtml).appendTo(setArea).css({ opacity: '0' }).animate({ opacity: '1' }, 500).promise();
jQuery('.loader').hide();
var mixer=mixitup('.resultTbl table tbody', {
selectors: {
target: 'tr.mix'
},
animation: {
enable: false
}});
document.getElementById('makerFilter').addEventListener('change', function (){
const filterValue=this.value;
if(filterValue==='all'){
mixer.filter('all');
}else{
mixer.filter(filterValue);
}});
})();
return false;
}}
function ajaxError(){ }
function isNumber(x){
if(typeof (x)!='number'&&typeof (x)!='string') return false;
else return (x==parseFloat(x)&&isFinite(x));
}
function is_ios(){
var agent=navigator.userAgent;
if(agent.search(/iPhone/)!=-1){
return true;
}else if(agent.search(/iPad/)!=-1){
return true;
}
return false;
}
function getITP(price){
var tax=0.1;
return parseInt(price) + parseInt(price * tax);
}
function getPrice(price){
return String(price).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,');
}
function getStock(num){
if(num=="") return '-';
if(num >=10){
return "○";
}else if(num >=3){
return "△";
}else{
return '✕';
}}
function searchSortString(str){
var return_value;
var alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
if(alphabet.indexOf(str)==-1){
switch (str){
case "ア": case "イ": case "ウ": case "ヴ": case "エ": case "オ": return_value="ア"; break;
case "カ": case "キ": case "ク": case "ケ": case "コ":
case "ガ": case "ギ": case "グ": case "ゲ": case "ゴ": return_value="カ"; break;
case "サ": case "シ": case "ス": case "セ": case "ソ":
case "ザ": case "ジ": case "ズ": case "ゼ": case "ゾ": return_value="サ"; break;
case "タ": case "チ": case "ツ": case "テ": case "ト":
case "ダ": case "ヂ": case "ヅ": case "デ": case "ド": return_value="タ"; break;
case "ナ": case "ニ": case "ヌ": case "ネ": case "ノ": return_value="ナ"; break;
case "ハ": case "ヒ": case "フ": case "ヘ": case "ホ":
case "バ": case "ビ": case "ブ": case "ベ": case "ボ":
case "パ": case "ピ": case "プ": case "ペ": case "ポ": return_value="ハ"; break;
case "マ": case "ミ": case "ム": case "メ": case "モ": return_value="マ"; break;
case "ヤ": case "ユ": case "ヨ": return_value="ヤ"; break;
case "ラ": case "リ": case "ル": case "レ": case "ロ": return_value="ラ"; break;
case "ワ": case "ヲ": case "ン": return_value="ワ"; break;
}}else{
return_value=str.substr(0, 1).toUpperCase();
}
return return_value;
}
jQuery(function (){
jQuery('.research_btn a').on("click", function (){
if(jQuery(this).data('mode')=='car'){
jQuery('.breadcrumb_s').show();
jQuery('.breadcrumb_s span').removeClass('current_s').eq(0).addClass('current_s');
jQuery('#vehicle').slideDown();
jQuery('#serch_category').slideUp();
}else{
jQuery('.breadcrumb_s').show();
jQuery('.breadcrumb_s span').removeClass('current_s').eq(1).addClass('current_s');
jQuery('#vehicle').slideUp();
jQuery('#serch_category').slideDown();
}});
});
jQuery(function (){
var select_size=(window.matchMedia('(max-width: 599px)').matches) ? 1:6;
jQuery('#step1 select').attr('size', select_size);
jQuery('#step2 select').attr('size', select_size);
jQuery('#step3 select').attr('size', select_size);
});
async function getStockCaution(){
try {
const res=await fetch('https://www.trust-power.com/matching/wp-json/custom/v1/stock_update');
const data=await res.json();
const nowUTC=new Date(data.stock_update);
const nowJST=new Date(nowUTC.getTime() + 9 * 60 * 60 * 1000);
let rv='<div id="stock-caution">';
if(i18next.language==='ja'){
rv +='<h5>在庫更新日時：' + formatDateJST(nowJST) + '</h5>';
rv +='<p class="bold">〇：在庫有り　△：少なめ在庫有り　×：欠品中　－：問合せ</p>';
rv +='<p>※在庫は『更新日時』の在庫状況です。常に変動してますのでご注意下さい。<br>';
rv +=' 『○』の場合でもご注文のタイミングによっては欠品してしまう事もございますので、<br>';
rv +=' ご注文時に販売代理店を通じてご確認下さい。</p>';
}else{
rv +='<h5>Stock Update Time: ' + formatDateJST(nowJST) + '</h5>';
rv +='<p class="bold">〇: In stock&nbsp;&nbsp;&nbsp; △: Low stock&nbsp;&nbsp;&nbsp; ×: Out of stock&nbsp;&nbsp;&nbsp; －: Please inquire</p>';
rv +='<p>※Stock status reflects the "Update Time". Stock levels are constantly changing, so please be aware.<br>';
rv +=' Even if marked as "〇", items may be out of stock depending on the timing of your order.<br>';
rv +=' Please check with the distributor at the time of ordering.</p>';
}
rv +='</div>';
return rv;
} catch (err){
console.error(err);
return '<div id="stock-caution">在庫情報を取得できませんでした。</div>';
}}
function formatDateJST(d){
const yyyy=d.getFullYear();
const mm=String(d.getMonth() + 1).padStart(2, '0');
const dd=String(d.getDate()).padStart(2, '0');
const hh=String(d.getHours()).padStart(2, '0');
const mi=String(d.getMinutes()).padStart(2, '0');
const ss=String(d.getSeconds()).padStart(2, '0');
return `${yyyy}/${mm}/${dd} ${hh}:${mi}:${ss}`;
};