var web_api_url = 'https://www.airlineeconomicsplus.com/'; jQuery( document ).ready(function() { jQuery("li.void-link a").click(function(e) { e.preventDefault(); }); // this is used for shop products jQuery(document).on("click", ".openShopModal", function (e) { e.preventDefault(); var el_url = jQuery(this).attr('href'); var ext_slg = ''; var mem_id = parseInt(jQuery('#urlMemberId').val()); if(mem_id > 0){ var productData = {mid : mem_id } jQuery.ajax({ type: 'POST', url: web_api_url+"ajax/generateshoptoken/", data: productData, dataType: "text", success: function(renc) { ext_slg = renc + '/'; jQuery(".modal-ajax-holder").attr('src', el_url + ext_slg); jQuery('#shopContentModal').show(); } }); }else{ jQuery(".modal-ajax-holder").attr('src', el_url); jQuery('#shopContentModal').show(); } }); jQuery(document).on("click", ".modal-close", function (e) { jQuery(".modal-ajax-holder").attr('src', ''); jQuery('#shopContentModal').hide(); }); // this is used for shop sub-events jQuery(document).on("click", ".openShopSevModal", function (e) { e.preventDefault(); var mem_id = jQuery(this).data("mid"); var seid = jQuery(this).data("seid"); var eid = jQuery(this).data("eid"); var el_url = web_api_url+"shop/conference-addons/"; var ext_slg = ''; if(seid > 0 && eid > 0){ var productData = {mid: mem_id, sid: seid, eid: eid} jQuery.ajax({ type: 'POST', url: web_api_url+"ajax/generatesevtoken/", data: productData, dataType: "text", success: function(renc) { ext_slg = renc + '/'; jQuery(".modal-ajax-holder").attr('src', el_url + ext_slg); jQuery('#shopContentModal').show(); } }); }else{ jQuery(".modal-ajax-holder").attr('src', el_url); jQuery('#shopContentModal').show(); } }); // this is used for shop conferences jQuery(document).on("click", ".openShopConference", function (e) { e.preventDefault(); var mem_id = jQuery(this).data("mid"); var eid = jQuery(this).data("eid"); var el_url = web_api_url+"shop/conference/"; var ext_slg = ''; if(eid > 0){ var productData = {mid: mem_id, eid: eid} jQuery.ajax({ type: 'POST', url: web_api_url+"ajax/generatevtoken/", data: productData, dataType: "text", success: function(renc) { ext_slg = renc + '/'; jQuery(".modal-ajax-holder").attr('src', el_url + ext_slg); jQuery('#shopContentModal').show(); } }); }else{ jQuery(".modal-ajax-holder").attr('src', el_url); jQuery('#shopContentModal').show(); } }); jQuery(document).on("click", "#removeMemberProfileImage", function (e) { e.preventDefault(); var delete_url = jQuery(this).attr('href'); if(delete_url !=''){ jQuery.ajax({ type: 'GET', url: delete_url, success: function(re) { if(re == 1){ jQuery('#removeMemberProfileImage').hide(); jQuery('.main-profile-image').attr("src",'https://www.airlineeconomicsplus.com/public/uploads/profile/25_profile_placeholder.png'); } } }); } }); /* for member account bio form load */ if( jQuery('#accountProfileFormHolder').length ){ loadMemberBio(); } jQuery(document).on("click", "#updateProfileSubmit", function (e) { setTimeout(function(){ //loadMemberBio(); }, 1000); }); // JC specific vendors registration if( jQuery('#vendorRegForm').length ){ loadVendorRegForm(1); } jQuery(document).on("click", "#vendorRegFrmBtn", function (e) { setTimeout(function(){ loadVendorRegForm(1); }, 1000); }); // global member search if( jQuery('#memberGlobalSearch').length ){ loadMemberSearchForm(); } // MRO specific limited member registration if( jQuery('#mroRegForm').length ){ loadVendorRegForm(2); } /* jQuery(document).on("click", "#startMemberSearch", function (e) { e.preventDefault(); loadMemberSearchForm(); }); */ }); function loadMemberBio(){ var mem_id = parseInt(jQuery('#urlMemberId').val()); if(mem_id > 0){ var memberData = {mid : mem_id } jQuery.ajax({ url: web_api_url+"forms/profile/", type: 'POST', data: memberData, success: function(res) { jQuery("#accountProfileFormHolder").empty().html(res); } }); } } function loadVendorRegForm(type){ var data = {ftype:type}; jQuery.ajax({ url: web_api_url+"forms/vendors/", type: 'POST', data: data, success: function(res) { if(type == 2){ jQuery("#mroRegForm").empty().html(res); }else{ jQuery("#vendorRegForm").empty().html(res); } } }); } function loadMemberSearchForm(){ var mem_id = parseInt(jQuery('#urlMemberId').val()); if(mem_id > 0){ var url = new URL(window.location.href); var search_term = url.searchParams.get("st"); var search_cat = url.searchParams.get("c"); var search_page = url.searchParams.get("page"); var origin_url = 1; var searchData = {m:mem_id,st:search_term,c:search_cat,o:origin_url,page:search_page} jQuery.ajax({ url: web_api_url+"member-search/", type: 'POST', data: searchData, success: function(res) { jQuery("#memberGlobalSearch").empty().html(res); setTimeout( equalHeights("mro-wrapper"), 100 ); } }); } } function equalHeights(className) { var findClass = document.getElementsByClassName(className); var tallest = 0; for(i = 0; i < findClass.length; i++) { var ele = findClass[i]; var eleHeight = ele.offsetHeight; tallest = (eleHeight>tallest ? eleHeight : tallest); } for(i = 0; i < findClass.length; i++) { findClass[i].style.height = tallest + "px"; } } function getAddBanners(code) { var is_mobile = detectMob() === false ? 1 : 2; var url_source = encodeURIComponent(window.location.href); jQuery.ajax({ url: web_api_url+"ads/getads/"+code+"/"+is_mobile+"/", type: 'GET', dataType: 'json', data: {"ref_url": url_source}, cache: false, async: true, timeout: 3000, success: function(res) { if(res.err == 0){ jQuery('#ad-pos-'+code).empty().html(res.html); if(res.ttl > 1){ customAdSlider(code); } } } }); } function detectMob() { const toMatch = [/Android/i,/webOS/i,/iPhone/i,/iPad/i,/iPod/i,/BlackBerry/i,/Windows Phone/i]; return toMatch.some((toMatchItem) => { return navigator.userAgent.match(toMatchItem); }); } function customAdSlider(code){ setTimeout(function(){ let currentIndex = 0; const slides = jQuery('.add-slider-'+code+' a'); const slideCount = slides.length; const intervalTime = 5000; // Time between slides in milliseconds function showNextSlide() { slides.eq(currentIndex).hide(); // Fade out current slide currentIndex = (currentIndex + 1) % slideCount; // Move to the next slide slides.eq(currentIndex).fadeIn(100); // Fade in next slide } setInterval(showNextSlide, intervalTime); }, 100); }