public static function ContrastRatio($color1, $color2)
 {
     include_once AC_INCLUDE_PATH . "classes/ColorValue.class.php";
     $color1 = new ColorValue($color1);
     $color2 = new ColorValue($color2);
     if (!$color1->isValid() || !$color2->isValid()) {
         return true;
     }
     $colorR1 = $color1->getRed() / 255;
     $colorG1 = $color1->getGreen() / 255;
     $colorB1 = $color1->getBlue() / 255;
     $colorR2 = $color2->getRed() / 255;
     $colorG2 = $color2->getGreen() / 255;
     $colorB2 = $color2->getBlue() / 255;
     if ($colorR1 <= 0.03928) {
         $colorR1 = $colorR1 / 12.92;
     } else {
         $colorR1 = pow(($colorR1 + 0.055) / 1.055, 2.4);
     }
     if ($colorG1 <= 0.03928) {
         $colorG1 = $colorG1 / 12.92;
     } else {
         $colorG1 = pow(($colorG1 + 0.055) / 1.055, 2.4);
     }
     if ($colorB1 <= 0.03928) {
         $colorB1 = $colorB1 / 12.92;
     } else {
         $colorB1 = pow(($colorB1 + 0.055) / 1.055, 2.4);
     }
     if ($colorR2 <= 0.03928) {
         $colorR2 = $colorR2 / 12.92;
     } else {
         $colorR2 = pow(($colorR2 + 0.055) / 1.055, 2.4);
     }
     if ($colorG2 <= 0.03928) {
         $colorG2 = $colorG2 / 12.92;
     } else {
         $colorG2 = pow(($colorG2 + 0.055) / 1.055, 2.4);
     }
     if ($colorB2 <= 0.03928) {
         $colorB2 = $colorB2 / 12.92;
     } else {
         $colorB2 = pow(($colorB2 + 0.055) / 1.055, 2.4);
     }
     $Lum1 = $colorR1 * 0.2126 + $colorG1 * 0.7151999999999999 + $colorB1 * 0.0722;
     $Lum2 = $colorR2 * 0.2126 + $colorG2 * 0.7151999999999999 + $colorB2 * 0.0722;
     $ContrastRatio = 0;
     if ($Lum1 > $Lum2) {
         $ContrastRatio = ($Lum1 + 0.05) / ($Lum2 + 0.05);
     } else {
         $ContrastRatio = ($Lum2 + 0.05) / ($Lum1 + 0.05);
     }
     return $ContrastRatio;
 }
 /**
  * Check if the luminosity contrast ratio between $color1 and $color2 is at least 5:1
  * Input: color values to compare: $color1 & $color2. Color value can be one of: rgb(x,x,x), #xxxxxx, colorname
  * Return: true or false
  */
 public static function hasGoodContrastWaiert($color1, $color2)
 {
     include_once AC_INCLUDE_PATH . "classes/ColorValue.class.php";
     $color1 = new ColorValue($color1);
     $color2 = new ColorValue($color2);
     if (!$color1->isValid() || !$color2->isValid()) {
         return true;
     }
     $colorR1 = $color1->getRed();
     $colorG1 = $color1->getGreen();
     $colorB1 = $color1->getBlue();
     $colorR2 = $color2->getRed();
     $colorG2 = $color2->getGreen();
     $colorB2 = $color2->getBlue();
     $brightness1 = ($colorR1 * 299 + $colorG1 * 587 + $colorB1 * 114) / 1000;
     $brightness2 = ($colorR2 * 299 + $colorG2 * 587 + $colorB2 * 114) / 1000;
     $difference = 0;
     if ($brightness1 > $brightness2) {
         $difference = $brightness1 - $brightness2;
     } else {
         $difference = $brightness2 - $brightness1;
     }
     if ($difference < 125) {
         return false;
     }
     // calculate the color difference
     $difference = 0;
     // red
     if ($colorR1 > $colorR2) {
         $difference = $colorR1 - $colorR2;
     } else {
         $difference = $colorR2 - $colorR1;
     }
     // green
     if ($colorG1 > $colorG2) {
         $difference += $colorG1 - $colorG2;
     } else {
         $difference += $colorG2 - $colorG1;
     }
     // blue
     if ($colorB1 > $colorB2) {
         $difference += $colorB1 - $colorB2;
     } else {
         $difference += $colorB2 - $colorB1;
     }
     return $difference > 499;
 }