@import "compass/support";

// This mixin provides basic support for CSS3 properties and
// their corresponding experimental CSS2 properties when
// the implementations are identical except for the property
// prefix.
@mixin experimental($property, $value,
$moz: $experimental-support-for-mozilla,
$webkit: $experimental-support-for-webkit,
$o: $experimental-support-for-opera,
$ms: $experimental-support-for-microsoft,
$khtml: $experimental-support-for-khtml,
$official: true) {
  @if $webkit  and $experimental-support-for-webkit    {
    -webkit-#{$property} : $value;
  }
  @if $khtml   and $experimental-support-for-khtml     {
    -khtml-#{$property} : $value;
  }
  @if $moz     and $experimental-support-for-mozilla   {
    -moz-#{$property} : $value;
  }
  @if $ms      and $experimental-support-for-microsoft {
    -ms-#{$property} : $value;
  }
  @if $o       and $experimental-support-for-opera     {
    -o-#{$property} : $value;
  }
  @if $official {
    #{$property} : $value;
  }
}

// Same as experimental(), but for cases when the property is the same and the value is vendorized
@mixin experimental-value($property, $value,
$moz: $experimental-support-for-mozilla,
$webkit: $experimental-support-for-webkit,
$o: $experimental-support-for-opera,
$ms: $experimental-support-for-microsoft,
$khtml: $experimental-support-for-khtml,
$official: true) {
  @if $webkit  and $experimental-support-for-webkit    {
    #{$property} : -webkit-#{$value};
  }
  @if $khtml   and $experimental-support-for-khtml     {
    #{$property} : -khtml-#{$value};
  }
  @if $moz     and $experimental-support-for-mozilla   {
    #{$property} : -moz-#{$value};
  }
  @if $ms      and $experimental-support-for-microsoft {
    #{$property} : -ms-#{$value};
  }
  @if $o       and $experimental-support-for-opera     {
    #{$property} : -o-#{$value};
  }
  @if $official {
    #{$property} : #{$value};
  }
}
