/*!
 * jQuery fitToParent; version: 1.2.1
 * https://github.com/drewbaker/fitToParent
 */
jQuery.fn.fitToParent = function (options) {

  this.each(function () {
    // Vars
    var $el = jQuery(this);
    var $box;

    // Get size parent (box to fit element in)
    if ($el.closest('.size-parent').length) {
      $box = $el.closest('.size-parent');
    } else {
      $box = $el.parent();
    }

    // These are the defaults.
    var settings = jQuery.extend({
      heightOffset: 0,
      widthOffset: 0,
      boxHeight: $box.height(),
      boxWidth: $box.width(),
      callback: null
    }, options);

    // Setup box and element widths
    var width = $el.attr('width');
    var height = $el.attr('height');

    if (!width || !height) {
      var width = $el.width();
      var height = $el.height();
    }

    var parentWidth = settings.boxWidth - settings.widthOffset;
    var parentHeight = settings.boxHeight - settings.heightOffset;

    console.log(`settings.boxWidth, parentWidth ${settings.boxWidth} ${parentWidth}`);

    // Maintain aspect ratio
    var aspect = $el.data('aspect');
    if (!aspect) {
      aspect = width / height;
      $el.data('aspect', aspect);
    }
    //  var parentAspect = parentWidth / parentHeight;
    // // Resize to fit box
    // if (aspect > parentAspect) {
    //   newWidth = parentWidth;
    //   console.log(`aspect > width ${newWidth}`)
    //   newHeight = (newWidth / aspect);
    //
    // } else {
    //   newHeight = parentHeight;
    //   newWidth = newHeight * aspect;
    //   console.log(`aspect < width ${newWidth}`)
    // }

    newWidth = parentWidth;
    newHeight = (newWidth / aspect);

    console.log(`width before setting ${newWidth}`)

    // Set new size of element
    $el.width(newWidth);
    $el.height(newHeight);

    // Fire callback
    if (typeof (settings.callback) == "function") {
      settings.callback(newWidth, newHeight);
    }

  });
};
