$experimental-support-for-pie: true !default;

// It is recommended that you use Sass's @extend directive to apply the behavior
// to your PIE elements. To assist you, Compass provides this variable.
// When set, it will cause the `@include pie` mixin to extend this class.
// The class name you provide should **not** include the `.`.
$pie-base-class: false !default;

// The default approach to using PIE.
// Can be one of:
//
// * relative (default)
// * z-index
// * none
$pie-default-approach: relative !default;

// The location of your PIE behavior file
// This should be root-relative to your web server
// relative assets don't work. It is recommended that
// you set this yourself.
$pie-behavior: stylesheet-url("PIE.htc") !default;

// When using the z-index approach, the
// first ancestor of the PIE element at
// or before the container's opaque background
// should have a z-index set as well to ensure
// propert z-index stacking.
//
// The `$position` argument must be some non-static
// value (absolute, relative, etc.)
@mixin pie-container($z-index: 0, $position: relative) {
  z-index: $z-index;
  position: $position;
}

// PIE elements must have this behavior attached to them.
// IE is broken -- it doesn't think of behavior urls as
// relative to the stylesheet. It considers them relative
// to the webpage. As a result, you cannot reliably use
// compass's relative_assets with PIE.
//
// * `$approach` - one of: relative, z-index, or none
// * `$z-index` - when using the z-index approach, this
//                is the z-index that is applied.
@mixin pie-element(
  $approach: $pie-default-approach,
  $z-index: 0
) {
  behavior: $pie-behavior;
  @if $approach == relative {
    position: relative;
  }
  @else if $approach == z-index {
    z-index: $z-index;
  }
}

// a smart mixin that knows to extend or include pie-element according
// to your stylesheet's configuration variables.
@mixin pie($base-class: $pie-base-class) {
  @if $base-class {
    @extend .#{$base-class};
  }
  @else {
    @include pie-element;
  }
}

// Watch `$n` levels of ancestors for changes to their class attribute
// So that cascading styles will work correctly on the PIE element.
@mixin pie-watch-ancestors($n) {
  -pie-watch-ancestors: $n;
}
