"use strict";

// Ad Placements
let adTop = `<div class="ad-placement ad-top"></div>`;
let adInline = `<div class="ad-placement ad-inline"></div>`;
let adSidebar = `<div class="ad-placement ad-sidebar"></div>`;
let adBottom = `<div class="ad-placement ad-bottom"></div>`;

// Breakpoints
let windowWidth = window.innerWidth;
let bpSmall = 640;
let bpMedium = 768;
let bpLarge = 1025;
let bpXLarge = 1200;

function adPlacer(bpWidth, currentWidth) {
    //Define variables
    let newTopAd;
    let newInlineAd;
    let newSidebarAd;
    let newBottomAd;

    //Remove old ads
    $('.ad-placement').html('');

    if(currentWidth < bpWidth) {
        newSidebarAd = `<div class="ad-display ad-rectangle" id="div-gpt-ad-1682017548066-0" style="width: 300px; height: 250px;"></div>`;
        newTopAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017606344-0" style="width: 320px; height: 50px;"></div>`;
        newInlineAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017654734-0" style="width: 320px; height: 50px;"></div>`;
        newBottomAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017710441-0" style="width: 320px; height: 50px;"></div>`;
    } else {
        newSidebarAd = `<div class="ad-display ad-rectangle" id="div-gpt-ad-1682017548066-0" style="width: 300px; height: 600px;"></div>`;
        newTopAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017606344-0" style="width: 728px; height: 90px;"></div>`;
        newInlineAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017654734-0" style="width: 728px; height: 90px;"></div>`;
        newBottomAd = `<div class="ad-display ad-leaderboard" id="div-gpt-ad-1682017710441-0" style="width: 728px; height: 90px;"></div>`;
    }

    // Set Top Ad
    $('.ad-top').prepend(newTopAd);
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1682017606344-0'); });

    // Set Inline Ad
    $('.ad-inline').prepend(newInlineAd);
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1682017654734-0'); });

    // Set Sidebar Ad
    $('.ad-sidebar').prepend(newSidebarAd);
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1682017548066-0'); });

    // Set Bottom Ad
    $('.ad-bottom').prepend(newBottomAd);
    googletag.cmd.push(function() { googletag.display('div-gpt-ad-1682017710441-0'); });

    console.log('Added from function.');

}

$(window).on('load', function(){
  $(".init").removeClass("init");
});

$(document).ready(function () {

    // Update Copyright year
    var currentYear = new Date().getFullYear();
    $('#currentYear').text(currentYear);

    // Parse URL and split to make a class for body and set active nav items
    var pathName = window.location.pathname.toLowerCase();
    var pageClass = pathName.split('/');
    var $body = $('body');
    var navArray = $(".site-nav-list li a").map(function (i, el) {
        return $(el).text().replace(/\s+/g, "-").toLowerCase();
    }).get();

    if (pathName === '/' || pathName === '/home' || pathName === '/minnesota-farm-bureau') {
        $body.addClass('home');
    } else {
        for (var i = 0; i < pageClass.length; i++) {
            var currentPath = pageClass[i];
            var navIndex = navArray.indexOf(currentPath);

            $body.addClass(currentPath);

            if (currentPath != "" && navIndex != -1) {
                // switch (currentPath) {
                //     case 'news':
                //     currentPath = 'news-&-resources';
                //     $(".site-nav-list li").removeClass("active");
                //     break;
                //     default:
                // }

                $(".site-nav-list li").eq(navIndex).addClass("active");
            }
        }
    }

    if ($(".admin-navigation").length > 0) {
        $body.addClass("admin");
    }

    $('#joinForm').addClass('card').wrapInner('<div class="card-section"></div>');

    // HEADER: Colored Split
    // Place this within the document ready function
    var stickyOffset = $('.site-nav-bottom').offset().top;
    
    $(window).scroll(function () {
    var sticky = $('.site-nav-bottom'),
        scroll = $(window).scrollTop();

    if (scroll >= stickyOffset) sticky.addClass('fixed');
    else sticky.removeClass('fixed');
    });


    const $sideNav = $('.side-nav');
    const sideNavContact = `
        <aside class="side-section side-callout">
            <h2 class="sr-only">Contact Information</h2>
            <div class="form-group">
                <h3 class="overline">Physical Address</h3>
                <address class="address">
                    <p class="address-line line-street-1">3080 Eagandale Pl.</p>
                    <p class="address-line line-locale"><span class="locale-item locale-city">Eagan</span><span class="locale-item locale-state">MN</span><span class="locale-item locale-postal-code">55121</span></p>
                </address>
                <p><a href="https://goo.gl/maps/t8qf9ZQsQB1bceFS8" class="button subtle"><span class="button-icon fas fa-map-marker-alt" aria-hidden="true"></span><span class="button-text">View Map</span></a></p>
            </div>
            <div class="form-group">
                <h3 class="overline">Mailing Address</h3>
                <address class="address">
                    <p class="address-line line-street-1">P.O. Box 64370</p>
                    <p class="address-line line-locale"><span class="locale-item locale-city">St. Paul</span><span class="locale-item locale-state">MN</span><span class="locale-item locale-postal-code">55164</span></p>
                </address>
            </div>
            <div class="form-group">
                <h3 class="overline">Phone</h3>
                <p><a href="tel:+16517682100">651-768-2100</a></p>
            </div>
            <div class="form-group">
                <h3 class="overline">Email</h3>
                <p><a href="mailto:info@fbmn.org">info@fbmn.org</a></p>
            </div>
        </aside>
    `;

    if($sideNav.length > 0) {
        $sideNav.append(sideNavContact);
    }

    $('#contactForm input, #contactForm textarea, #contactForm select').addClass('form-control');
    $('#contactForm [type="submit"]').addClass('large');
    $('#ddForm select').addClass('form-control');

    $('.fr-video').addClass('responsive-embed widescreen');

    if (pageClass[1] === 'land-life-magazine') {
        // Banner
        $('.banner').detach().prependTo('.main');

        // Side Navigation
        $('.side-item:not(:first-child):not(:last-child) .side-link').addClass('secondary-link');

        // Hero Article
        // Change nth-child to 2 when ads are enabled.
        $('.news-item:nth-child(1)').addClass('article-hero');

        // Place Ads on LL Hub pages
        $('#desktop-page-title').before(adTop);
        $('.news-item:nth-child(9n)').after(adInline);
        $('.news-container').prepend(adSidebar);
        $('.body-container').append(adBottom);
    }

    if (pageClass[1] === 'article') {
        // Place Ads on article pages
        $('.article-content').prepend(adTop);
        $('.news-item:nth-child(9n)').after(adInline);
        $('.article-content').append(adBottom);
    }



    if (pageClass[1] === 'land-life-magazine' || pageClass[1] === 'article') {

        const googleAd = document.createElement('script');
        googleAd.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
        document.body.appendChild(googleAd);

        window.googletag = window.googletag || {cmd: []};
        googletag.cmd.push(function() {
          var mappingLead = googletag.sizeMapping().
          addSize([750, 200], [728,90]).//tablet and desktop
          addSize([0, 0], [320,50]).//mobile
          build();
      
          var mappingRect = googletag.sizeMapping().
          addSize([750, 200], [300,600]).//tablet and desktop
          addSize([0, 0], [300,250]).//mobile
          build();
      
          googletag.defineSlot('/13949128/MFB_Rectangle', [[300, 250], [300, 600]], 'div-gpt-ad-1682017548066-0').defineSizeMapping(mappingRect).addService(googletag.pubads());
          googletag.defineSlot('/13949128/MFB_Leaderboard_Top', [[728, 90], [320, 50]], 'div-gpt-ad-1682017606344-0').defineSizeMapping(mappingLead).addService(googletag.pubads());
          googletag.defineSlot('/13949128/MFB_Leaderboard_Inline', [[728, 90], [320, 50]], 'div-gpt-ad-1682017654734-0').defineSizeMapping(mappingLead).addService(googletag.pubads());
          googletag.defineSlot('/13949128/MFB_Leaderboard_Bottom', [[728, 90], [320, 50]], 'div-gpt-ad-1682017710441-0').defineSizeMapping(mappingLead).addService(googletag.pubads());
          googletag.pubads().enableSingleRequest();
          googletag.enableServices();
        });
        
        adPlacer(800, windowWidth);
        
    }
});