package rainbowPackage;

import javafx.scene.paint.Color;

public final class DisplayType
{
	public static boolean returnImmediately = false;
	public static boolean laterReversed = false;
	public static double textTransitionFactor = 0;
	//public TransparencySlider transparencySlider = new TransparencySlider();

	public static final Color DisplayTypeDeterminer ( String TypeOfDisplay, Color BasisColor, Color BrowserColor, boolean Reversed )//Maybe Make Separate Class File After Finishing DisplayTypeDeterminer But Use This Internal One For Now //[]Make Seperate RainbowSoft2D Class For Getting With Individual FXColors Input The Following; ?Custom (Color)? Or Naitive Color (White And Transparent) No Color Too Similar (Black And Transparent) Too Similar Choice Color And Choice Difference Also With Native FullScreen Functionality For "FullDisplay" , "FullDisplayNoTextShownAtAll" , "FullDisplayBasisText" , "FullDisplayBasisBackround" , "FullDisplayBasisOnly" , "NoDisplay" , "TextDisplayOnly" , "BackgroundDisplayOnly" , "BasisTextDisplayOnly" , "BasisBackroundDisplayOnly"
	{//"FullDisplay", "FullDisplayNoBrowser", "SimplyBrowserShowing", "FullDisplayNoTextShownAtAll", "FullDisplayBasisText", "FullDisplayBasisBackround", "FullDisplayBasisOnly", "BasisBackroundDisplayOnly", "TextDisplayAndBrowser", "TextDisplayOnly", "TextDisplayOnlyWhiteShowingBackground", "BasisTextDisplayOnly", "BasisTextDisplayOnWhite", "BasisTextDisplayOnBlack", "NoDisplay", "BlackScreen"
		/*if ( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() ) ||
				( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
				BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) ||
				( BrowserColor.getOpacity() > 0. &&
				!(BrowserColor.getRed() == VibrantColors.White.getRed() && 
				BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.White.getBlue() ) ) )
			browserHit = true;// */
		returnImmediately = false;
		laterReversed = Reversed;
		textTransitionFactor = 0;
		if ( TypeOfDisplay == "SimplyBrowserShowing" )
		{
			returnImmediately = true;
			return BrowserColor;
		}
		else if ( TypeOfDisplay == "FullDisplay" )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				return BasisColor;
			}
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{
				returnImmediately = true;
				return VibrantColors.OxylBlue0FF;
			}
			else if ( BrowserColor.getOpacity() > 0.01 &&
					!(BrowserColor.getRed() == VibrantColors.White.getRed() && 
					BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.White.getBlue() ) )
			{
				returnImmediately = true;
				return BrowserColor;
			}
			else if ( ( BrowserColor.getOpacity() > 0.01 && BrowserColor.getOpacity() < 0.99 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser Develop From HalfGrey Browser Text Color
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				if ( BrowserColor.getOpacity() < 0.99 )//Maybe Split Above If For This To Work For SemiTransparent Colors Used In Browser Text/Background
					textTransitionFactor = BrowserColor.getOpacity();
				else
					textTransitionFactor = BrowserColor.getGreen();
				return BasisColor;
			}// */
			else {
				returnImmediately = false; laterReversed = Reversed;
				return BasisColor;
			}
		}
		else if ( ( TypeOfDisplay ==  "FullDisplayBasisBackround" || TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" || TypeOfDisplay == "TextDisplayOnly" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" || TypeOfDisplay == "FullDisplayNoBrowser" ) && ( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() ) ||
				( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
				BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) )  )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{
				returnImmediately = false; laterReversed = !Reversed;
				return BasisColor;
			}
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{
				returnImmediately = true; return VibrantColors.OxylBlue0FF;
			}
			else if ( ( BrowserColor.getOpacity() > 0.01 &&
					!(BrowserColor.getRed() == VibrantColors.White.getRed() && 
					BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.White.getBlue() ) ) && ( TypeOfDisplay != "FullDisplayNoBrowser" || TypeOfDisplay != "TextDisplayOnly" || TypeOfDisplay != "TextDisplayOnlyWhiteShowingBackground" ) )
			{ returnImmediately = true; return BrowserColor; }
			else if ( ( BrowserColor.getOpacity() > 0 && BrowserColor.getOpacity() < 1 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser && BrowserColor.getRed() < 1 && BrowserColor.getBlue() < 1 &&
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				if ( BrowserColor.getOpacity() < 0.99 )
					textTransitionFactor = BrowserColor.getOpacity();
				else
					textTransitionFactor = BrowserColor.getGreen();
				return BasisColor;
			}// */
		}
		else if ( TypeOfDisplay == "FullDisplayNoTextShownAtAll" )
		{
			returnImmediately = false; laterReversed = Reversed;
			return BasisColor;
		}
		else if ( TypeOfDisplay == "FullDisplayBasisBackround" )
		{
			returnImmediately = true;
			return BasisColor;
		}
		else if ( ( TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" ) && BrowserColor.getOpacity() > 0. &&
				!( BrowserColor.getRed() == VibrantColors.White.getRed() && 
				BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.White.getBlue() ) &&
				!( BrowserColor.getRed() == VibrantColors.Black.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Black.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Black.getBlue() ) )
		{
			returnImmediately = true;
			return BrowserColor;
		}
		else if ( TypeOfDisplay == "TextDisplayOnly" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" || TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" || TypeOfDisplay == "BlackScreen" )
		{
			returnImmediately = true;
			if ( TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" )
				return VibrantColors.White;
			else
				return VibrantColors.Black;
		}
		else if ( TypeOfDisplay == "NoDisplay" )
		{
			returnImmediately = true;
			return Color.TRANSPARENT;
		}
		else if ( ( TypeOfDisplay == "FullDisplayBasisText" || TypeOfDisplay == "FullDisplayBasisOnly" || TypeOfDisplay == "BasisTextDisplayOnly" || TypeOfDisplay == "BasisTextDisplayOnWhite" || TypeOfDisplay == "BasisTextDisplayOnBlack" ) && 
				( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() ) ||
						( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
						BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
						BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
						BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) ) )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{
				returnImmediately = true;
				return VibrantColors.Magenta;
			}
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{
				returnImmediately = true;
				return VibrantColors.OxylBlue0FF;
			}
			else if ( ( BrowserColor.getOpacity() > 0 && BrowserColor.getOpacity() < 1 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser && BrowserColor.getRed() < 1 && BrowserColor.getBlue() < 1 &&
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) )
			{
				returnImmediately = true;
				return BrowserColor;
			}// */
		}
		else if ( TypeOfDisplay == "FullDisplayBasisText" )
		{ returnImmediately = false;
		laterReversed = Reversed;
		return BasisColor; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnBlack" )
		{ returnImmediately = true;
		return VibrantColors.Black; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnWhite" )
		{ returnImmediately = true;
		return VibrantColors.White; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnly" )
		{ returnImmediately = true;
		return Color.TRANSPARENT; }
		else if ( TypeOfDisplay == "FullDisplayBasisOnly" || TypeOfDisplay == "BasisBackroundDisplayOnly" )
		{ returnImmediately = true;
		return BasisColor; }
		returnImmediately = false;
		return VibrantColors.ShitBrown;
	}


	public static final Color DisplayTypeDeterminer ( String TypeOfDisplay, Color BasisColor, Color BackgroundBasisColor, Color BrowserColor, boolean Reversed /*boolean ReversalOfBackgroundEffectsMaster,*/ )//Maybe Make Separate Class File After Finishing DisplayTypeDeterminer But Use This Internal One For Now //[]Make Seperate RainbowSoft2D Class For Getting With Individual FXColors Input The Following; ?Custom (Color)? Or Naitive Color (White And Transparent) No Color Too Similar (Black And Transparent) Too Similar Choice Color And Choice Difference Also With Native FullScreen Functionality For "FullDisplay" , "FullDisplayNoTextShownAtAll" , "FullDisplayBasisText" , "FullDisplayBasisBackround" , "FullDisplayBasisOnly" , "NoDisplay" , "TextDisplayOnly" , "BackgroundDisplayOnly" , "BasisTextDisplayOnly" , "BasisBackroundDisplayOnly"
	{//"FullDisplay", "FullDisplayNoBrowser", "BackgroundToBasisFullDisplay", "FullDisplayNoTextShownAtAll", "FullDisplayBasisText", "FullDisplayBackgroundToBasisNoTextShownAtAll", "BackgroundToBasisFullDisplayBasisText", "FullDisplayBasisBackround", "FullDisplayBackroundToBasis", "FullDisplayBasisOnly", "FullDisplayBackroundToBasisOnly", "BasisBackroundDisplayOnly", "BackroundToBasisOnly", "TextDisplayOnly", "TextDisplayOnlyWhiteShowingBackground", "BasisTextDisplayOnly", "BasisTextDisplayOnWhite", "BasisTextDisplayOnBlack", "NoDisplay", "BlackScreen"
		/*if ( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() ) ||
				( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
				BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) ||
				( BrowserColor.getOpacity() > 0. &&
				!(BrowserColor.getRed() == VibrantColors.White.getRed() && 
				BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.White.getBlue() ) ) )
			browserHit = true;// */
		returnImmediately = false;
		laterReversed = Reversed;
		textTransitionFactor = 0;
		if ( TypeOfDisplay == "SimplyBrowserShowing" )
		{
			returnImmediately = true;
			return BrowserColor;
		}
		else if ( TypeOfDisplay == "FullDisplay" || TypeOfDisplay == "BackgroundToBasisFullDisplay" || TypeOfDisplay == "FullDisplayNoBrowser" )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{
				returnImmediately = false; laterReversed = !Reversed; //reversalOfBackgroundEffectsSlave = false;
				return BackgroundBasisColor;
			}
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{ returnImmediately = true; return VibrantColors.OxylBlue0FF; }
			else if ( ( BrowserColor.getOpacity() > 0.01 &&
					!(BrowserColor.getRed() == VibrantColors.White.getRed() && 
					BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.White.getBlue() ) ) && TypeOfDisplay != "FullDisplayNoBrowser" )
			{ returnImmediately = true; return BrowserColor; }
			else if ( ( ( BrowserColor.getOpacity() > 0.01 && BrowserColor.getOpacity() < 0.99 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser Develop From HalfGrey Browser Text Color
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) ) && TypeOfDisplay != "FullDisplayNoBrowser" )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				if ( BrowserColor.getOpacity() < 0.99 )
					textTransitionFactor = BrowserColor.getOpacity();
				else
					textTransitionFactor = BrowserColor.getGreen();
				return BasisColor;
			}// */
			else
			{
				laterReversed = Reversed; returnImmediately = false;
				if ( TypeOfDisplay == "FullDisplay" || TypeOfDisplay == "FullDisplayNoBrowser" )
					return BasisColor;
				else
				{
					//reversalOfBackgroundEffectsSlave = false;
					return BackgroundBasisColor;
				}
			}
		}
		else if ( TypeOfDisplay == "FullDisplayNoTextShownAtAll" )
		{
			returnImmediately = false;
			//reversalOfBackgroundEffectsSlave = false;
			laterReversed = Reversed;
			return BasisColor;
		}
		else if ( TypeOfDisplay == "FullDisplayBackgroundToBasisNoTextShownAtAll" )
		{
			returnImmediately = false;
			laterReversed = Reversed;
			return BackgroundBasisColor;
		}
		else if ( ( TypeOfDisplay == "FullDisplayBasisBackround" || TypeOfDisplay == "FullDisplayBackroundToBasis" || TypeOfDisplay == "FullDisplayBackroundToBasisOnly" || TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" || TypeOfDisplay == "TextDisplayOnly" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" || TypeOfDisplay == "FullDisplayNoBrowser" )
				&& ( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
						|| ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
						BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
						BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
						BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) )  )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				if ( TypeOfDisplay != "FullDisplayBasisBackround" )// || ReversalOfBackgroundEffectsMaster )
					return BackgroundBasisColor;
				else
				{	//reversalOfBackgroundEffectsSlave = false;
					return BasisColor; }
			}
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{ returnImmediately = true; return VibrantColors.OxylBlue0FF; }
			else if ( ( BrowserColor.getOpacity() > 0 && BrowserColor.getOpacity() < 1 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser && BrowserColor.getRed() < 1 && BrowserColor.getBlue() < 1 &&
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) )
			{
				returnImmediately = false;
				laterReversed = !Reversed;
				if ( BrowserColor.getOpacity() < 0.99 )
					textTransitionFactor = BrowserColor.getOpacity();
				else
					textTransitionFactor = BrowserColor.getGreen();
				return BasisColor;
			}// */
		}
		else if ( TypeOfDisplay == "FullDisplayBasisBackround" )
		{ 
			returnImmediately = true;
			return BasisColor; }
		else if ( TypeOfDisplay == "FullDisplayBackroundToBasisOnly" )
		{
			returnImmediately = true;
			return BackgroundBasisColor; }
		else if ( ( TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" ) && BrowserColor.getOpacity() > 0. &&
				!( BrowserColor.getRed() == VibrantColors.White.getRed() && 
				BrowserColor.getGreen() == VibrantColors.White.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.White.getBlue() ) &&
				!( BrowserColor.getRed() == VibrantColors.Black.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Black.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Black.getBlue() ) )
		{
			returnImmediately = true;
			return BrowserColor;
		}
		else if ( TypeOfDisplay == "TextDisplayOnly" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" || TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayAndBrowserBlackShowingBackground" || TypeOfDisplay == "BlackScreen" )
		{
			returnImmediately = true;
			if ( TypeOfDisplay == "TextDisplayAndBrowser" || TypeOfDisplay == "TextDisplayOnlyWhiteShowingBackground" )
				return VibrantColors.White;
			else
				return VibrantColors.Black;
		}
		else if ( TypeOfDisplay == "NoDisplay" )
		{ returnImmediately = true;
		return Color.TRANSPARENT; }
		else if ( ( TypeOfDisplay == "FullDisplayBasisText" || TypeOfDisplay == "FullDisplayBasisOnly" || TypeOfDisplay == "BackgroundToBasisFullDisplayBasisText" || TypeOfDisplay == "BasisTextDisplayOnly" || TypeOfDisplay == "BasisTextDisplayOnWhite" || TypeOfDisplay == "BasisTextDisplayOnBlack" ) && 
				( ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
				BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
				BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
				BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() ) 
						|| ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
						BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
						BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
						BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() ) ) )
		{
			if ( BrowserColor.getOpacity() == VibrantColors.Magenta.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.Magenta.getRed() && 
					BrowserColor.getGreen() == VibrantColors.Magenta.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.Magenta.getBlue() )
			{ returnImmediately = true; return VibrantColors.Magenta; }
			else if ( BrowserColor.getOpacity() == VibrantColors.OxylBlue0FF.getOpacity() && 
					BrowserColor.getRed() == VibrantColors.OxylBlue0FF.getRed() && 
					BrowserColor.getGreen() == VibrantColors.OxylBlue0FF.getGreen() && 
					BrowserColor.getBlue() == VibrantColors.OxylBlue0FF.getBlue() )
			{ returnImmediately = true; return VibrantColors.OxylBlue0FF; }
			else if ( ( BrowserColor.getOpacity() > 0 && BrowserColor.getOpacity() < 1 && BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01
					&& ( BrowserColor.getGreen() < BrowserColor.getRed() - 0.01 || BrowserColor.getGreen() > BrowserColor.getRed() + 0.01 ) ) ||
					( BrowserColor.getGreen() < 0.99 && BrowserColor.getGreen() > 0.01 &&// if Black Background Browser && BrowserColor.getRed() < 1 && BrowserColor.getBlue() < 1 &&
							BrowserColor.getRed() > BrowserColor.getBlue() - 0.01 && BrowserColor.getRed() < BrowserColor.getBlue() + 0.01 ) )
			{ returnImmediately = true;
			return BrowserColor; }// */
		}
		else if ( TypeOfDisplay == "FullDisplayBasisText" )
		{ returnImmediately = false;
		//reversalOfBackgroundEffectsSlave = false;
		laterReversed = Reversed;
		return BasisColor; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnBlack" )
		{ returnImmediately = true;
		return VibrantColors.Black; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnWhite" )
		{ returnImmediately = true;
		return VibrantColors.White; }
		else if ( TypeOfDisplay == "BasisTextDisplayOnly" )
		{ returnImmediately = true;
		return Color.TRANSPARENT; }
		else if ( TypeOfDisplay == "FullDisplayBasisOnly" || TypeOfDisplay == "BasisBackroundDisplayOnly" )
		{ returnImmediately = true;
		return BasisColor; }
		else if ( TypeOfDisplay == "BackgroundToBasisFullDisplayBasisText" || TypeOfDisplay == "BackroundToBasisOnly" )
		{ returnImmediately = true;
		return BackgroundBasisColor; }
		returnImmediately = false;
		return VibrantColors.ShitBrown;
	}
}