


















console.log("eventURL: ");

//console.log("facebook consent: " + hasConsent('facebook-pixel'));
if (hasConsent('facebook-pixel')) {
  //console.log("loading facebook event id: 45e4af4c-4f0e-4daf-8798-30afaf2e4fbe");
  window.__fbPageViewEventId = '45e4af4c-4f0e-4daf-8798-30afaf2e4fbe';

  //console.log("initializing facebook pixel");
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window,document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('dataProcessingOptions', []);

  fbq('init', '1500661974642379'); 
  fbq('track', 'PageView', {eventID: '45e4af4c-4f0e-4daf-8798-30afaf2e4fbe'});

  
  
}


function trackAddToCart(elmt, opts) {
  var parentForm = jQuery(elmt).parents('form'),
  sku = parentForm.find('[data-fb-sku]').val(),
  name = parentForm.find('[data-fb-name]').html(),
  category = parentForm.data('fbCategoryMain'),
  price = parentForm.find('[data-fb-price]').html(),
  pid = parentForm.find('[name="pid"]').val();
  if(parentForm.find('.storeColorLinksSelected').length) {
    category = parentForm.find('.storeColorLinksSelected').data('fbCategory');
  }

  var options = jQuery.extend(true,
      {
        sku: sku,
        category: category,
        name: name,
        price: price,
        pid: pid
      },
      opts
  );

  options.sku = '[\'' + options.sku + '\']';
  options.name = encodeURIComponent(options.name);
  options.category = encodeURIComponent(options.category);
  options.price = options.price.trim().substring(1);

   nox.ajax.request({
    url:'/global/ajax_responders/fb_server_side_event.jsp', 
    data: {
      eventName: 'AddToCart',
      eventURL: '',
      productID: options.pid
    },
    complete: function(jqXHR) {
      var trimmedResponse = jQuery.trim(jqXHR.responseText);
      fbq('track', 'AddToCart', {
        content_type: 'product',
        content_ids: options.sku,
        content_name: options.name,
        content_category: options.category,
        value: options.price,
        currency: 'USD'
      },
      {
        eventID: trimmedResponse
      });
    }
  });
}

function gatherMemberData() {
    jQuery.getJSON('/json/member/member.jsp', function(data, textStatus, jqXHR) {
        if (data && data.resultArray && data.resultArray.length > 0) {
            jQuery(document).trigger({
                type: 'member_dataFetched',
                memberData: data.resultArray[0]
            });
        }
    });
}   
function ajaxReload(opts) {
    var options = jQuery.extend(true, {
        target: null,
        url: '',
        data: {},
        method: "GET",
        complete: jQuery.noop
    },
    opts);
    if (options.target && options.target instanceof jQuery == false) {
        options.target = jQuery(options.target);
    }
    var $ajaxData = options.target.data('ajax');
    if ($ajaxData) {
        options = jQuery.extend(true,
            {},
            options,
            $ajaxData
        );
    }
    if (options.url && options.target) {
        jQuery.ajax({
            method: options.method,
            url: options.url,
            data: options.data,
            complete: function(jqXHR, textStatus) {
                options.target.trigger({
                    type: 'ajaxLoadComplete',
                    ajaxOptions: options
                });
                options.target.html(jqXHR.responseText);
                options.complete(jqXHR, textStatus);
                options.target.trigger({
                    type: 'ajax_sectionAutoLoaded',
                    reloadContainer: options.target
                });
            }
        });
    }
    
};

jQuery(document).on('DOMReady', function(evnt) {
    gatherMemberData();
});

jQuery(document).ready(function() {
    jQuery('[data-reload-on-event]').each(function(index, elmnt) {
        var $elmnt = jQuery(elmnt),
        reloadEvent = $elmnt.data('reloadOnEvent');
        jQuery(document).on(reloadEvent + '.ajaxLoadOnEvent', function() {
            ajaxReload({
                target: $elmnt
            });
        });
        
    });
    jQuery(document).trigger('DOMReady');
});
