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