function postCouponImpressions(couponIds) {
  $.post("/coupons/impressions", { 
    'coupon_id[]':$.makeArray(couponIds), 
    authenticity_token:AUTH_TOKEN 
  });
}

$(document).bind("alice::coupons::shown", function(evt, couponSelector) {
  var couponIds = $(couponSelector).map(function() { return $(this).metadata().id; });
  couponIds = $.grep($.makeArray(couponIds), function(cid) { return cid !== null && typeof cid !== undefined; });
  if(couponIds.length > 0) { postCouponImpressions(couponIds); }
  return false;
});

$(function() {
  $(document).trigger("alice::coupons::shown", '.coupon_impression');
});
