package rainbowPackage;

import javafx.scene.image.PixelReader;
//import javafx.scene.paint.Paint.*;
import javafx.scene.paint.Color;

import java.awt.Dimension;

//import javafx.application.Platform;
import javafx.geometry.Rectangle2D;

public class Diagnostics
{
	public VibrantColors vibrantColors = new VibrantColors();
	public VibrantColorCombos vibrantColorCombos = new VibrantColorCombos();
	public RainbowSoftColorCodesSets rainbowSoftColorCodesSets = new RainbowSoftColorCodesSets();
	public ColorSets colorSets = new ColorSets();
	public /* static */ Rectangle2D bounds = new Rectangle2D( 0, 0, 1920, 1080 );
	public /* static */ ColorTooSimilar colorTooSimilar = new ColorTooSimilar(false);
	int tempColorNum = 0;
	public /* static */ double[] rgb = {0,0,0};// = {0,0,0};
	public /* static */ double[] argb = {0,0,0,1};// = {0,0,0};
	public /* static */ Color fxColor;
	public /* final */ /* static */ ColorSlider black = new ColorSlider( new double[]{0,0,0} );
	public /* final */ /* static */ ColorSlider white = new ColorSlider( new double[]{255,255,255} );
	public /* final */ /* static */ ColorSlider skyblue = new ColorSlider( new double[]{134,206,249} );
	public /* final */ /* static */ ColorSlider oxylblue = new ColorSlider( new double[]{0,255,255} );
	public /* final */ /* static */ ColorSlider pink = new ColorSlider( new double[]{255,64,143} );
	public /* final */ /* static */ ColorSlider blue = new ColorSlider( new double[]{0,0,192} );
	public /* final */ /* static */ ColorSlider red = new ColorSlider( new double[]{193,0,0} );
	public /* final */ /* static */ ColorSlider purple = new ColorSlider( new double[]{122,0,178} );
	public /* final */ /* static */ ColorSlider orange = new ColorSlider( new double[]{255,134,0} );
	public /* final */ /* static */ ColorSlider green = new ColorSlider( new double[]{0,133,50} );
	public /* final */ /* static */ ColorSlider yellow = new ColorSlider( new double[]{246,252,15} );
	public /* final */ /* static */ ColorSlider teal = new ColorSlider( new double[]{3,224,149} );
	public /* final */ /* static */ ColorSlider bronze = new ColorSlider( new double[]{152,123,46} );
	public /* final */ /* static */ ColorSlider silver = new ColorSlider( new double[]{193,192,192} );
	public /* final */ /* static */ ColorSlider gold = new ColorSlider( new double[]{205,191,44} );
	public /* final */ /* static */ ColorSlider lime = new ColorSlider( new double[]{126,193,33} );
	public /* final */ /* static */ ColorSlider brown = new ColorSlider( new double[]{131,103,71} );
	public /* final */ /* static */ ColorSlider neongreen = new ColorSlider( new double[]{0,255,0} );
	public /* final */ /* static */ ColorSlider oxylblue0FF = new ColorSlider( new double[]{0,255,255} );
	public /* final */ /* static */ int oxylblue0FFNum = (int)(255 * 16777216) + (int)(0 * 65536) + (int)(255 * 256) + 255;
	public /* final */ /* static */ TransparencySlider blackT = new TransparencySlider( new double[]{0,0,0} );
	public /* final */ /* static */ TransparencySlider whiteT = new TransparencySlider( new double[]{255,255,255} );
	public /* final */ /* static */ TransparencySlider skyblueT = new TransparencySlider( new double[]{134,206,249} );
	public /* final */ /* static */ TransparencySlider oxylblueT = new TransparencySlider( new double[]{0,255,255} );
	public /* final */ /* static */ TransparencySlider pinkT = new TransparencySlider( new double[]{255,64,143} );
	public /* final */ /* static */ TransparencySlider blueT = new TransparencySlider( new double[]{0,0,192} );
	public /* final */ /* static */ TransparencySlider redT = new TransparencySlider( new double[]{193,0,0} );
	public /* final */ /* static */ TransparencySlider purpleT = new TransparencySlider( new double[]{122,0,178} );
	public /* final */ /* static */ TransparencySlider orangeT = new TransparencySlider( new double[]{255,134,0} );
	public /* final */ /* static */ TransparencySlider greenT = new TransparencySlider( new double[]{0,133,50,.5} );
	public /* final */ /* static */ TransparencySlider yellowT = new TransparencySlider( new double[]{246,252,15} );
	public /* final */ /* static */ TransparencySlider tealT = new TransparencySlider( new double[]{3,224,149} );
	public /* final */ /* static */ TransparencySlider bronzeT = new TransparencySlider( new double[]{152,123,46} );
	public /* final */ /* static */ TransparencySlider silverT = new TransparencySlider( new double[]{193,192,192} );
	public /* final */ /* static */ TransparencySlider goldT = new TransparencySlider( new double[]{205,191,44} );
	public /* final */ /* static */ TransparencySlider limeT = new TransparencySlider( new double[]{126,193,33} );
	public /* final */ /* static */ TransparencySlider brownT = new TransparencySlider( new double[]{131,103,71} );
	public /* final */ /* static */ TransparencySlider neongreenT = new TransparencySlider( new double[]{0,255,0} );
	public /* final */ /* static */ TransparencySlider oxylblue0FFT = new TransparencySlider( new double[]{0,255,255} );

	public /* final */ /* static */ Color[] imperialFXcolors = new Color[] {green.ToFXColor(), blue.ToFXColor(), purple.ToFXColor(), blue.ToFXColor(), green.ToFXColor()};
	public /* final */ /* static */ double[][] imperialColorsNum = {green.ToRGB(), blue.ToRGB(), purple.ToRGB(), purple.ToRGB(), blue.ToRGB(), green.ToRGB()};
	public /* final */ /* static */ Color[] imperialFXcolorsReverse = new Color[] {red.ToFXColor(), orange.ToFXColor(), gold.ToFXColor(), orange.ToFXColor(), red.ToFXColor()};
	public /* final */ /* static */ double[][] imperialColorsReverseNum = {red.ToRGB(), orange.ToRGB(), gold.ToRGB(), gold.ToRGB(), orange.ToRGB(), red.ToRGB()};
	public /* final */ /* static */ Color[] doubleBlack = new Color[] { black.ToFXColor(), black.ToFXColor() };

	public /* static */ ColorSlider colorSlider = black;//, tempColor = white;
	public /* static */ TransparencySlider colorTransparency = new TransparencySlider( new double[]{0,0,0,1} );
	public /* static */ RainbowSoftColor rainbowSoftColor = new RainbowSoftColor ( new double[]{0,0,0,1} );
	public /* static */ RainbowPattern2D rainbowPattern2D = new RainbowPattern2D ( new double[]{0,0,0,1} );
	public /* static */ RainbowPostPattern2D rainbowPostPattern2D = new RainbowPostPattern2D();
	Buddhism buddhism = new Buddhism( new double[]{0,0,0,1} );
	MagiElite magiElite = new MagiElite( new double[]{0,0,0,1} );
	FwaSplashLogo fwaSplashLogo = new FwaSplashLogo( new double[]{0,0,0,1} );
	FwaFlagSplashLogo fwaFlagSplashLogo = new FwaFlagSplashLogo( new double[]{0,0,0,1} );
	FwaFlagLogo fwaFlagLogo = new FwaFlagLogo( new double[]{0,0,0,1} );
	public /* static */ GlobalSelector globalSelector = new GlobalSelector();
	public /* static */ boolean tooSimilar= false;
	public /* static */ double xRectangleNum = 0, yRectangleNum = 0, xDiagRectangleNum = 0, yDiagRectangleNum = 0;
	public /* static */ double colorBeingChecked = 0, opacityBeingChecked = 1, xSlid = 0;
	final Object lock = new Object();

	public Diagnostics ( Rectangle2D Bounds )
	{
		bounds = Bounds;
	}
	public Color ToFXColor ()//8th Square BasicDiagnosticsClass.java
	{
		//fxColor = colorSlider.ToFXColor();
		//fxColor = Color.ToRGB()( (int)(ColorValueFitter(rgb[0])), (int)(ColorValueFitter(rgb[1])), (int)(ColorValueFitter(rgb[2])) );
		return fxColor;
	}

	public Color ColorTooSimilar( double x, double y, double xSlider )//ADD BOUNDS!!!!!!!!!!!!!!
	{
		double xRectangleQuantity = 3, yRectangleQuantity = 3;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		xSlid = x /*- bounds.getMinX() */ - xRectangleNum * ( bounds.getWidth() - 1. ) - xSlider / xRectangleQuantity + 0.5 * xRectangleQuantity;
		while ( xSlid < 0 )
			xSlid = xSlid + ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		while ( xSlid > ( bounds.getWidth() - 1. ) / xRectangleQuantity )
			xSlid = xSlid - ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, purple.ToFXColor(), oxylblue0FF.ToFXColor() );
		switch ( (int)yRectangleNum )
		{
		case 0:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTooSimilar = new ColorTooSimilar ();
				if ( colorTooSimilar.ToBoolean() )
					colorSlider.set( orange.ToFXColor() );
				else
					colorSlider.set( yellow.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			case 1:
				colorTooSimilar = new ColorTooSimilar ( true );
				if ( colorTooSimilar.ToBoolean() )
					colorSlider.set( lime.ToFXColor() );
				else
					colorSlider.set( orange.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			case 2:
				tempColorNum = (int)((int)( 255 * 16777216) + (int)(colorSlider.ToFXColor().getRed() * 255 * 65536) + (int)(colorSlider.ToFXColor().getGreen() * 255 * 256) + colorSlider.ToFXColor().getBlue() * 255);
				if ( colorTooSimilar.ColorTooSimilarFunction( tempColorNum, oxylblue0FFNum ) )
					colorSlider.set( silver.ToFXColor() );
				else
					colorSlider.set( neongreen.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			}
			break;
		case 1:
			switch ( (int)xRectangleNum )
			{
			case 0:
				if ( colorTooSimilar.ColorTooSimilarFunction( colorSlider.ToFXColor(), oxylblue0FF.ToFXColor() ) )
					colorSlider.set( green.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			case 1:
				colorTooSimilar.set(true);
				if ( colorTooSimilar.ToBoolean() )
					colorSlider.set( pink.ToFXColor() );
				else
					colorSlider.set( orange.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			case 2:
				tempColorNum = (int)((int)( 255 * 16777216) + (int)(colorSlider.ToFXColor().getRed() * 255 * 65536) + (int)(colorSlider.ToFXColor().getGreen() * 255 * 256) + colorSlider.ToFXColor().getBlue() * 255);
				if ( colorTooSimilar.ColorTooSimilarFunction( tempColorNum, oxylblue0FFNum, 111 ) )
					colorSlider.set( skyblue.ToFXColor() );
				else
					colorSlider.set( bronze.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			}
			break;
		case 2:
			switch ( (int)xRectangleNum )
			{
			case 0:
				tempColorNum = (int)((int)( 255 * 16777216) + (int)(colorSlider.ToFXColor().getRed() * 255 * 65536) + (int)(colorSlider.ToFXColor().getGreen() * 255 * 256) + colorSlider.ToFXColor().getBlue() * 255);
				if ( colorTooSimilar.ColorTooSimilarFunction( tempColorNum, oxylblue0FFNum, 82 ) )
					colorSlider.set( neongreen.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			case 1:
				if ( colorTooSimilar.ColorTooSimilarFunction( colorSlider.ToFXColor(), oxylblue0FF.ToFXColor(), 82  ) )
					colorSlider.set( gold.ToFXColor() );
				//colorSlider = new ColorSlider(colorSlider.fxColor.invert());
				break;
			}
		}
		//colorSlider = new ColorSlider( rgb );
		fxColor = colorSlider.ToFXColor();
		return fxColor;
	}

	public Color ColorSlider( double x, double y, double xSlider, double BrightnessMultiplyer, int Gradations )
	{
		double xRectangleQuantity = 3, yRectangleQuantity = 5;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		xSlid = x /*- bounds.getMinX() */ - xRectangleNum * ( bounds.getWidth() - 1. ) - xSlider / xRectangleQuantity + 0.5 * xRectangleQuantity;
		while ( xSlid < 0 )
			xSlid = xSlid + ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		while ( xSlid > ( bounds.getWidth() - 1. ) / xRectangleQuantity )
			xSlid = xSlid - ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		switch ( (int)yRectangleNum )
		{
		case 0:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorSlider = new ColorSlider();
				break;
			case 1:
				colorSlider = new ColorSlider( white.ToFXColor() );
				break;
			case 2:
				colorSlider = new ColorSlider( green.ToRGB() );
				break;
			}
			break;
		case 1:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, green.ToFXColor(), purple.ToFXColor() );
				break;
			case 1:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, blue.ToFXColor(), green.ToFXColor() );
				break;
			case 2:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, purple.ToFXColor(), green.ToFXColor(), Gradations );
				break;
			}
			break;
		case 2:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, purple.ToFXColor(), green.ToFXColor(), Gradations );
				break;
			case 1:
				colorSlider.set( Color.CHOCOLATE );
				if ( colorSlider.get() == Color.CHOCOLATE )
					colorSlider = new ColorSlider ( Color.BLUE );
				else
					colorSlider = new ColorSlider ( Color.RED );
				break;
			case 2:
				colorSlider = new ColorSlider ( colorSlider.ToFXColor( pink.ToRGB() ) );
				break;
			}
			break;
		case 3:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blue.ToFXColor(), oxylblue0FF.ToFXColor() );
				int tempColorNum = (int)((int)( 255 * 16777216) + (int)(colorSlider.ToFXColor().getRed() * 255 * 65536) + (int)(colorSlider.ToFXColor().getGreen() * 255 * 256) + colorSlider.ToFXColor().getBlue() * 255);
				if ( colorSlider.ColorTooSimilarFunction( tempColorNum, oxylblue0FFNum ) )
					colorSlider.set( neongreen.ToFXColor() );
				break;
			case 1:
				colorSlider.ColorSliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, purple.ToFXColor(), oxylblue0FF.ToFXColor() );
				if ( colorSlider.ColorTooSimilarFunction( colorSlider.ToFXColor(), oxylblue0FF.ToFXColor() ) )
					colorSlider.set( Color.MEDIUMSEAGREEN );
				break;
			case 2:
				if ( 0 == colorSlider.ColorValueFitterCapper(-5000) && colorSlider.ColorValueFitterCapper(5000) == 255 && 0 == colorSlider.ColorValueFitterCapper(-50) && 255 == colorSlider.ColorValueFitterCapper(350) && 100 == colorSlider.ColorValueFitterCapper(100) &&
				0 <= colorSlider.ColorValueFitter(-5000) && colorSlider.ColorValueFitter(5000) <= 255 && 200 == colorSlider.ColorValueFitter(200) )
					colorSlider = white;
				else
					colorSlider = black;
				break;
			}
			break;
		case 4:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorSlider.set( Color.AQUAMARINE );
				break;
			case 1:
				colorSlider.set( new double[]{255,134,0} );
				break;
			case 2:
				colorSlider = new ColorSlider ( gold.ToRGB() );
				break;
			}
			break;
		}
		rgb = colorSlider.ToRGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitterCapper(colorSlider.ToRGB()[z]);
			argb[z] = ColorValueFitterCapper(rgb[z]);
		}
		argb[3] = 1;
		//colorSlider = new ColorSlider( rgb );
		fxColor = colorSlider.ToFXColor();
		return fxColor;
	}

	public Color TransparencySlider( double x, double y, double xSlider, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter )
	{
		double xRectangleQuantity = 4, yRectangleQuantity = 6;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		xSlid = x /*- bounds.getMinX() */ - xRectangleNum * ( bounds.getWidth() - 1. ) - xSlider / xRectangleQuantity + 0.5 * xRectangleQuantity;
		while ( xSlid < 0 )
			xSlid = xSlid + ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		while ( xSlid > ( bounds.getWidth() - 1. ) / xRectangleQuantity )
			xSlid = xSlid - ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		switch ( (int)yRectangleNum )
		{
		case 0:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTransparency = new TransparencySlider( );
				break;
			case 1:
				colorTransparency = new TransparencySlider( white.ToFXColor() );
				break;
			case 2:
				colorTransparency = new TransparencySlider( green.ToRGB() );
				break;
			case 3:
				colorTransparency = new TransparencySlider( greenT.ToARGB() );
				break;
			}
			break;
		case 1:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, greenT.ToFXColor(), purpleT.ToFXColor() );
				break;
			case 1:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blueT.ToFXColor(), greenT.ToFXColor(), OpacityBefore );
				break;
			case 2:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blueT.ToFXColor(), redT.ToFXColor(), OpacityBefore, OpacityAfter );
				break;
			case 3:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, redT.ToFXColor(), BrightnessMultiplyer, purpleT.ToFXColor() );
				break;
			}
			break;
		case 2:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blueT.ToFXColor(), BrightnessMultiplyer, brownT.ToFXColor(), OpacityBefore );
				break;
			case 1:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, yellowT.ToFXColor(), BrightnessMultiplyer, redT.ToFXColor(), OpacityBefore, OpacityAfter );
				break;
			case 2:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, Gradations, bronzeT.ToFXColor(), silverT.ToFXColor() );
				break;
			case 3:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, Gradations, silverT.ToFXColor(), goldT.ToFXColor(), OpacityBefore );
				break;
			}
			break;
		case 3:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, Gradations, bronzeT.ToFXColor(), goldT.ToFXColor(), OpacityBefore, OpacityAfter );
				break;
			case 1:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, yellowT.ToFXColor(), blueT.ToFXColor() );
				break;
			case 2:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, orangeT.ToFXColor(), blueT.ToFXColor(), OpacityBefore );
				break;
			case 3:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, greenT.ToFXColor(), goldT.ToFXColor(), OpacityBefore, OpacityAfter );
				break;
			}
			break;
		case 4:
			switch ( (int)xRectangleNum )
			{
			case 0:
				colorTransparency = new TransparencySlider ( Color.DEEPSKYBLUE );
				break;
			case 1:
				colorTransparency = new TransparencySlider ( colorTransparency.ToFXColor( pinkT.ToARGB() ) );
				break;
			case 2:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blueT.ToFXColor(), oxylblue0FFT.ToFXColor() );
				//int tempColorNum = (int)((int)( colorTransparency.ToFXColor().getOpacity() * 255 * 16777216) + (int)(colorTransparency.ToFXColor().getRed() * 255 * 65536) + (int)(colorTransparency.ToFXColor().getGreen() * 255 * 256) + colorTransparency.ToFXColor().getBlue() * 255);
				//System.out.println("tempColorNum: " + tempColorNum + " oxylblue0FFNum: " + oxylblue0FFNum);
				fxColor = colorTransparency.ToFXColor();
				if ( colorTransparency.ColorTooSimilarFunction( fxColor, oxylblue0FFT.ToFXColor() ) )
					colorTransparency.set( neongreenT.ToFXColor() );
				break;
			case 3:
				colorTransparency.TransparencySliderFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, purpleT.ToFXColor(), oxylblue0FFT.ToFXColor() );
				if ( colorTransparency.ColorTooSimilarFunction( colorTransparency.ToFXColor(), oxylblue0FFT.ToFXColor(), 111 ) )
					colorTransparency.set( neongreenT.ToFXColor() );
				break;
			}
			break;
		case 5:
			switch ( (int)xRectangleNum )
			{
			case 0:
				if ( 0 == colorTransparency.ColorValueFitterCapper(-5000) && colorTransparency.ColorValueFitterCapper(5000) == 255 && 0 == colorTransparency.ColorValueFitterCapper(-50) && 255 == colorTransparency.ColorValueFitterCapper(350) && 100 == colorTransparency.ColorValueFitterCapper(100) &&
				0 <= colorTransparency.ColorValueFitter(-5000) && colorTransparency.ColorValueFitter(5000) <= 255 && 200 == colorTransparency.ColorValueFitter(200) &&
				1 == colorTransparency.OpacityValueFitterCapper(100) && colorTransparency.OpacityValueFitterCapper(-100) == 0 && 0.5 == colorTransparency.OpacityValueFitterCapper(0.5) && colorTransparency.OpacityValueFitterCapper(1 ) == 1 && colorTransparency.OpacityValueFitterCapper(0) == 0 &&
				0 <= colorTransparency.OpacityValueFitter(100) && colorTransparency.OpacityValueFitter(100) <= 1 && 0 <= colorTransparency.OpacityValueFitter(-100) && colorTransparency.OpacityValueFitter(-100) <= 1 )
					colorTransparency = whiteT;
				else
					colorTransparency = blackT;
				break;
			case 1:
				colorTransparency.set( Color.AQUAMARINE );
				break;
			case 2:
				colorTransparency.set( new double[]{255,134,0} );
				break;
			case 3:
				colorTransparency = new TransparencySlider ( goldT.ToARGB() );
				break;
			}
			break;
		}
		/*argb = colorTransparency.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitterCapper(colorTransparency.ToARGB()[z]);
			argb[z] = ColorValueFitterCapper(argb[z]);
		}
		argb[3] = OpacityValueFitterCapper(argb[3]);
		colorTransparency = new TransparencySlider( argb );// */
		fxColor = colorTransparency.ToFXColor();
		return fxColor;
	}

	public Color RainbowSoftColor( double x, double y, double xSlider, double BrightnessMultiplyer, int Gradations, Color[] FXcolorArray, double[][] ARGBcolorArray, double OpacityBefore, double OpacityAfter )
	//For Variated Gradations = 2147483647, For Rainbow 2 Fully Black Colors Into FXcolorArray, For Fully Opaque OpacityBefore = 1 & OpacityAfter = 1
	{
		double xRectangleQuantity = 2, yRectangleQuantity = 17;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( bounds.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( bounds.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		xSlid = x /*- bounds.getMinX() */ - xRectangleNum * ( bounds.getWidth() - 1. ) - xSlider / xRectangleQuantity;//?( 4./7. ) * ?SEEMS LIKE ( 9./16. ) * Before xSlider / .. SHOULD BE Gone Or ( 3./4. ) Instead To Be Rectified To 1 When Multiplied By 4/3
		while ( xSlid < 0 )
			xSlid = xSlid + ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		while ( xSlid > ( bounds.getWidth() - 1. ) / xRectangleQuantity )
			xSlid = xSlid - ( bounds.getWidth() - 1. ) / xRectangleQuantity;
		xSlid = ( 4./3. ) * xSlid - bounds.getWidth() / ( 6. * xRectangleQuantity ) + 0.5 * xRectangleQuantity;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		switch ( (int)xRectangleNum )
		{
		case 0://1st Column
			switch ( (int)yRectangleNum )
			{
			case 0:
				rainbowSoftColor = new RainbowSoftColor();
				break;
			case 1:
				rainbowSoftColor = new RainbowSoftColor( white.ToFXColor() );
				break;
			case 2:
				argb = new double[] { green.ToRGB()[0], green.ToRGB()[1], green.ToRGB()[2], 1 };
				rainbowSoftColor = new RainbowSoftColor( argb );
				break;
			case 3:
				rainbowSoftColor.RainbowSoftColorRainbowFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid );
				break;
			case 4:
				rainbowSoftColor.RainbowSoftColorFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, green.ToFXColor(), purple.ToFXColor() );
				break;
			case 5:
				rainbowSoftColor.RainbowSoftColorFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, blue.ToFXColor(), green.ToFXColor(), true, OpacityBefore, OpacityAfter );
				break;
			case 6:
				rainbowSoftColor.RainbowSoftColorRainbowFunctionReverse( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid );
				break;
			case 7:
				rainbowSoftColor.RainbowSoftCustomColorFunction ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, ARGBcolorArray );
				break;
			case 8:
				rainbowSoftColor.RainbowSoftCustomColorFunction ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, FXcolorArray );
				break;
			case 9:
				rainbowSoftColor.RainbowSoftColorRainbowFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations );
				break;
			case 10:
				rainbowSoftColor.RainbowSoftColorRainbowFunctionReverseUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations );
				break;
			case 11:
				rainbowSoftColor.RainbowSoftColorRainbowFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations );
				break;
			case 12:
				rainbowSoftColor.RainbowSoftColorRainbowFunctionReverseAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations );
				break;
			case 13:
				rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
				break;
			case 14:
				rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionReverseUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
				break;
			case 15:
				rainbowSoftColor.RainbowSoftCustomColorFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, ARGBcolorArray );
				break;
			case 16://17th Square
				rainbowSoftColor.RainbowSoftCustomColorFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, FXcolorArray );
				break;
			}
			break;
		case 1://2nd Column
			switch ( (int)yRectangleNum )
			{
			case 0://18th Square
				rainbowSoftColor.RainbowSoftCustomColorFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, ARGBcolorArray );
				break;
			case 1:
				rainbowSoftColor.RainbowSoftCustomColorFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, FXcolorArray );
				break;
			case 2:
				rainbowSoftColor.RainbowSoftCustomColorTransparencyFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, ARGBcolorArray, OpacityBefore, OpacityAfter );
				break;
			case 3:
				rainbowSoftColor.RainbowSoftCustomColorTransparencyFunctionUnAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, FXcolorArray, OpacityBefore, OpacityAfter );
				break;
			case 4:
				rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
				break;
			case 5:
				rainbowSoftColor.RainbowSoftColorRainbowTransparencyFunctionReverseAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
				break;
			case 6:
				rainbowSoftColor.RainbowSoftCustomColorTransparencyFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, ARGBcolorArray, OpacityBefore, OpacityAfter );
				break;
			case 7:
				rainbowSoftColor.RainbowSoftCustomColorTransparencyFunctionAdjusted ( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, BrightnessMultiplyer, Gradations, FXcolorArray, OpacityBefore, OpacityAfter );
				break;
			case 8://26th Square DiagnosticsClass.java
				rainbowSoftColor = new RainbowSoftColor ( bronzeT.ToARGB() );
				rainbowSoftColor = new RainbowSoftColor ( rainbowSoftColor.ToFXColor() );
				break;
			case 9:
				rainbowSoftColor = new RainbowSoftColor ( rainbowSoftColor.ToFXColor( silverT.ToARGB() ) );
				break;
			case 10:
				rainbowSoftColor.RainbowSoftColorFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, blue.ToFXColor(), oxylblue.ToFXColor() );
				//int tempColorNum = (int)(16777216 + (int)(rainbowSoftColor.ToFXColor().getRed() * 255 * 65536) + (int)(rainbowSoftColor.ToFXColor().getGreen() * 255 * 256) + rainbowSoftColor.ToFXColor().getBlue() * 255);
				fxColor = rainbowSoftColor.ToFXColor();
				if ( rainbowSoftColor.ColorTooSimilarFunction( fxColor, oxylblue.ToFXColor(), 100 ) )
					rainbowSoftColor = new RainbowSoftColor( neongreen.ToFXColor() );
				break;
			case 11:
				rainbowSoftColor.RainbowSoftColorFunction( ( bounds.getWidth() - 1. ) / xRectangleQuantity, xSlid, purple.ToFXColor(), oxylblue0FF.ToFXColor() );
				if ( rainbowSoftColor.ColorTooSimilarFunction( rainbowSoftColor.ToFXColor(), oxylblue0FF.ToFXColor() ) )
					rainbowSoftColor = new RainbowSoftColor( neongreen.ToFXColor() );
				break;
			case 12:
				if ( 0 == rainbowSoftColor.ColorValueFitterCapper(-5000) && rainbowSoftColor.ColorValueFitterCapper(5000) == 255 && 0 == rainbowSoftColor.ColorValueFitterCapper(-50) && 255 == rainbowSoftColor.ColorValueFitterCapper(350) && 100 == rainbowSoftColor.ColorValueFitterCapper(100) &&
				0 <= rainbowSoftColor.ColorValueFitter(-5000) && rainbowSoftColor.ColorValueFitter(5000) <= 255 && 200 == rainbowSoftColor.ColorValueFitter(200) )
					rainbowSoftColor = new RainbowSoftColor ( white.ToFXColor() );
				else
					rainbowSoftColor = new RainbowSoftColor ( black.ToFXColor() );
				break;
			case 13:
				if ( 1 == rainbowSoftColor.OpacityValueFitterCapper(100) && rainbowSoftColor.OpacityValueFitterCapper(-100) == 0 && 0.5 == rainbowSoftColor.OpacityValueFitterCapper(0.5) && rainbowSoftColor.OpacityValueFitterCapper(1 ) == 1 && rainbowSoftColor.OpacityValueFitterCapper(0) == 0 &&
				0 <= rainbowSoftColor.OpacityValueFitter(100) && rainbowSoftColor.OpacityValueFitter(100) <= 1 && 0 <= rainbowSoftColor.OpacityValueFitter(-100) && rainbowSoftColor.OpacityValueFitter(-100) <= 1 )
					rainbowSoftColor = new RainbowSoftColor ( white.ToFXColor() );
				else
					rainbowSoftColor = new RainbowSoftColor ( black.ToFXColor() );
				break;
			case 14:
				rainbowSoftColor.set( new double[]{255,134,0,1} );
				break;
			case 15:
				rainbowSoftColor.set( Color.AQUAMARINE );
				break;
			case 16://34th Square
				rainbowSoftColor = new RainbowSoftColor ( gold.ToFXColor() );
				rainbowSoftColor.set( rainbowSoftColor.ToFXColor() );
				break;
			}
			break;
		}
		fxColor = rainbowSoftColor.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowSoftColorTransparencySliderTooSimilar( double x, double y, double xSlider, double BrightnessMultiplyer, int Gradations, Color[] FXcolorArray, double[][] ARGBcolorArray, double OpacityBefore, double OpacityAfter )
	{
		double xDiagRectangleQuantity = 2, yDiagRectangleQuantity = 2;
		for ( xDiagRectangleNum = 0; xDiagRectangleNum < xDiagRectangleQuantity; xDiagRectangleNum++ )
			if ( x >= ( bounds.getWidth() - 1. ) * xDiagRectangleNum / xDiagRectangleQuantity && x <= ( bounds.getWidth() - 1. ) * ( xDiagRectangleNum + 1 ) / xDiagRectangleQuantity )
				break;
		for ( yDiagRectangleNum = 0; yDiagRectangleNum < yDiagRectangleQuantity; yDiagRectangleNum++ )
			if ( y >= ( bounds.getHeight() - 1. ) * yDiagRectangleNum / yDiagRectangleQuantity && y <= ( bounds.getHeight() - 1. ) * ( yDiagRectangleNum + 1 ) / yDiagRectangleQuantity )
				break;
		double xDiagPostScaled = Math.round( /*- bounds.getMinX()*/ ( x - xDiagRectangleNum * ( bounds.getWidth() - 1. ) / xDiagRectangleQuantity ) * xDiagRectangleQuantity - xDiagRectangleQuantity );
		double yDiagPostScaled = Math.round( /*- bounds.getMinY()*/ ( y - yDiagRectangleNum * ( bounds.getHeight() - 1. ) / yDiagRectangleQuantity )* yDiagRectangleQuantity - yDiagRectangleQuantity );
		switch ( (int)xDiagRectangleNum )
		{
		case 0:
			switch ( (int)yDiagRectangleNum )
			{
			case 0: return ColorTooSimilar( xDiagPostScaled, yDiagPostScaled, xSlider );
			case 1: return TransparencySlider( xDiagPostScaled, yDiagPostScaled, xSlider, BrightnessMultiplyer, Gradations, .5, 1 );
			}
			break;
		case 1:
			switch ( (int)yDiagRectangleNum )
			{
			case 0: return ColorSlider( xDiagPostScaled, yDiagPostScaled, xSlider, BrightnessMultiplyer, Gradations );
			case 1:	return RainbowSoftColor( xDiagPostScaled, yDiagPostScaled, xSlider, BrightnessMultiplyer, Gradations, vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );
			}
			break;
		}
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPattern2D( double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, Dimension Dim, Dimension HalfedDim, Color[][] ColorSet, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double SliderInterval, double GradientExpontierMultiplier, boolean ReversedColors, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment )
	{
		if ( ColorSet == null || ColorSet[0] == null || ColorSet[0][0] == null )
			ColorSet = new Color[][]{ vibrantColorCombos.RainbowFXcolors, vibrantColorCombos.RainbowNormalPastelReverseFX };
		double xRectangleQuantity = 9, yRectangleQuantity = 6, xDiagRectangleQuantity = 2, yDiagRectangleQuantity = 2;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)xRectangleNum )
		{
		case 0://1st Column
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.TransparencySliderFunction( Math.abs( RainbowWidth * ColorsFactor / FullSliderRunThrough ), xPostScaled, BrightnessMultiplyer, Gradations, vibrantColors.Red, vibrantColors.Blue, OpacityBefore, OpacityAfter );//ColorSet[0][0], ColorSet[0][1] Not Good Idea To Ensure ColorSet Can == null
			case 1: return rainbowPattern2D.TransparencySliderFunction( Math.abs( RainbowWidth * ColorsFactor / FullSliderRunThrough ), xPostScaled, vibrantColors.Green, vibrantColors.Orange );//ColorSet[0][0], ColorSet[0][1] Not Good Idea To Ensure ColorSet Can == null
			case 2: return rainbowPattern2D.SimpleRainbow( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 3: return rainbowPattern2D.SimpleRainbow( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
			case 4: return rainbowPattern2D.SimpleRainbow( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, BlockAdjustment );
			case 5: return rainbowPattern2D.SimpleRainbow( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations );
			}
			break;
		case 1:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.SimpleRainbow( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough );
			case 1: return rainbowPattern2D.SimpleRainbowReverse( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 2: return rainbowPattern2D.SimpleRainbowReverse( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter );
			case 3: return rainbowPattern2D.SimpleRainbowReverse( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, BlockAdjustment );
			case 4: return rainbowPattern2D.SimpleRainbowReverse( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations );
			case 5: return rainbowPattern2D.SimpleRainbowReverse( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough );
			}
			break;
		case 2:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, ColorSet[0], OpacityBefore, OpacityAfter, BlockAdjustment, ReversedColors );
			case 1: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, ColorSet[0], OpacityBefore, OpacityAfter, BlockAdjustment );
			case 2: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, vibrantColorCombos.ImperialColorsNum, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 3: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, ColorSet[0], BlockAdjustment );
			case 4: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, ColorSet[0] );
			case 5: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, vibrantColorCombos.ImperialColorsNum, BlockAdjustment );
			}
			break;
		case 3:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, BrightnessMultiplyer, Gradations, vibrantColorCombos.ImperialColorsNum );
			case 1: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, ColorSet[0], ReversedColors );
			case 2: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, vibrantColorCombos.ImperialColorsNum );
			case 3: return rainbowPattern2D.SimpleCustomColor( RainbowWidth * ColorsFactor / FullSliderRunThrough, RainbowWidth * LocationOfStillMovement / FullSliderRunThrough, RainbowWidth * LocationOfColorMovement / FullSliderRunThrough, xPostScaled, RainbowWidth * RepeatFactor / FullSliderRunThrough, FullSliderRunThrough, ColorSet[0] );
			case 4: return rainbowPattern2D.RainbowDiskVaryated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, ColorSet[0], ReversedColors);
			case 5: return rainbowPattern2D.RainbowDiskVaryated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, ReversedColors);
			}
			break;
		case 4:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.RainbowDiskGradated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 1: return rainbowPattern2D.RainbowDiskGradated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 2: return rainbowPattern2D.RainbowRingVaryated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ColorSet[0], ReversedColors);
			case 3: return rainbowPattern2D.RainbowRingVaryated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ReversedColors);
			case 4: return rainbowPattern2D.RainbowRingGradated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 5: return rainbowPattern2D.RainbowRingGradated( HalfedDim.getHeight() * ColorsFactor / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfStillMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), HalfedDim.getHeight() * LocationOfColorMovement / ( NumberOfRingsVertically * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), HalfedDim.getHeight() * RepeatFactor / ( NumberOfRingsVertically * FullSliderRunThrough), FullSliderRunThrough, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			}
			break;
		case 5:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.RainbowClockVaryated( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfColorMovement / ( NumberOfClockHands * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, ColorSet[0], ReversedColors );
			case 1: return rainbowPattern2D.RainbowClockVaryated( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfColorMovement / ( NumberOfClockHands * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, ReversedColors );
			case 2: return rainbowPattern2D.RainbowClockGradated( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfColorMovement / ( NumberOfClockHands * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 3: return rainbowPattern2D.RainbowClockGradated( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfColorMovement / ( NumberOfClockHands * FullSliderRunThrough ), xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 4: return rainbowPattern2D.RainbowSpiralVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ColorSet[0], ReversedColors );
			case 5: return rainbowPattern2D.RainbowSpiralVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ReversedColors );
			}
			break;
		case 6:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.RainbowSpiralGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 1: return rainbowPattern2D.RainbowSpiralGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 2: return rainbowPattern2D.RainbowCheapFractalVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, Dim.getWidth(), ColorSet[0], ReversedColors );
			case 3: return rainbowPattern2D.RainbowCheapFractalVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, Dim.getWidth(), ReversedColors );
			case 4: return rainbowPattern2D.RainbowCheapFractalGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, Dim.getWidth(), ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 5: return rainbowPattern2D.RainbowCheapFractalGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled - HalfedDim.getWidth(), yPostScaled - HalfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, Dim.getWidth(), ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			}
			break;
		case 7:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.RainbowStrobeVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, HalfedDim, HalfScreenDiagionalLength, ColorSet[0], ReversedColors );
			case 1: return rainbowPattern2D.RainbowStrobeVaryated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, HalfedDim, HalfScreenDiagionalLength, ReversedColors );
			case 2: return rainbowPattern2D.RainbowStrobeGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, HalfedDim, HalfScreenDiagionalLength, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 3: return rainbowPattern2D.RainbowStrobeGradated( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, HalfedDim, HalfScreenDiagionalLength, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 4: return rainbowPattern2D.RainbowExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, ExponentValue, ColorFlipper, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 5: return rainbowPattern2D.RainbowExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, ExponentValue, ColorFlipper, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			}
			break;
		case 8:
			switch ( (int)yRectangleNum )
			{
			case 0: return rainbowPattern2D.RainbowDoubleExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, ExponentValue, ColorFlipper, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 1: return rainbowPattern2D.RainbowDoubleExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, ExponentValue, ColorFlipper, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 2: return rainbowPattern2D.RainbowFanOutClock( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ), ( xPostScaled - HalfedDim.getWidth() ) / yRectangleQuantity, ( yPostScaled - HalfedDim.getHeight() ) / yRectangleQuantity, 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, 16, ExponentValue, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 3: return rainbowPattern2D.RainbowKaladaScope( 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ), 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ), ( xPostScaled - HalfedDim.getWidth() ) * yRectangleQuantity, ( yPostScaled - HalfedDim.getHeight() ) * yRectangleQuantity, 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ), FullSliderRunThrough, 16, ExponentValue, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, ColorSet[0], ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 4: return vibrantColors.Clear;
			case 5: for ( xDiagRectangleNum = 0; xDiagRectangleNum < xDiagRectangleQuantity; xDiagRectangleNum++ )
				if ( x >= /*bounds.getMinX() +*/ xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity + ( Dim.getWidth() - 1. ) * xDiagRectangleNum / ( xRectangleQuantity * xDiagRectangleQuantity ) && x <= /*bounds.getMinX() +*/ xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity + ( Dim.getWidth() - 1. ) * ( xDiagRectangleNum + 1 ) / ( xRectangleQuantity * xDiagRectangleQuantity ) )
					break;
			for ( yDiagRectangleNum = 0; yDiagRectangleNum < yDiagRectangleQuantity; yDiagRectangleNum++ )
				if ( y >= /*bounds.getMinY() +*/ yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity + ( Dim.getHeight() - 1. ) * yDiagRectangleNum / ( yRectangleQuantity * yDiagRectangleQuantity ) && y <= /*bounds.getMinY() +*/ yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity + ( Dim.getHeight() - 1. ) * ( yDiagRectangleNum + 1 ) / ( yRectangleQuantity * yDiagRectangleQuantity ) )
					break;
			double xDiagPostScaled = Math.round( /*- bounds.getMinX()*/ ( x - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity - xDiagRectangleNum * ( Dim.getWidth() - 1. ) / ( xRectangleQuantity * xDiagRectangleQuantity ) ) * xRectangleQuantity * xDiagRectangleQuantity + 0.5 * xRectangleQuantity * xDiagRectangleQuantity );
			double yDiagPostScaled = Math.round( /*- bounds.getMinY()*/ ( y - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity - yDiagRectangleNum * ( Dim.getHeight() - 1. ) / ( yRectangleQuantity * yDiagRectangleQuantity ) ) * yRectangleQuantity * yDiagRectangleQuantity + 0.5 * yRectangleQuantity * yDiagRectangleQuantity );
			switch ( (int)xDiagRectangleNum )
			{
			case 0:
				switch ( (int)yDiagRectangleNum )
				{
				case 0: return ColorTooSimilar( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough );
				case 1: return TransparencySlider( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ), .5, 1 );
				}
				break;
			case 1:
				switch ( (int)yDiagRectangleNum )
				{
				case 0: return ColorSlider( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ) );
				case 1:	return RainbowSoftColor( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );
				}
				break;
			}
			break;
			}
			break;
		}

		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowSplashAndPostPattern2D( double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double FanOutRadius, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, PixelReader BrowserPR, PixelReader BasisPRBuddhism, PixelReader BackgroundBasisPRBuddhism, PixelReader BasisPRMagiElite, PixelReader BackgroundBasisPRMagiElite, PixelReader BasisPRFwaSplashLogo, PixelReader BackgroundBasisPRFwaSplashLogo, PixelReader BasisPRFwaFlagLogo, PixelReader BackgroundBasisPRFwaFlagLogo, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean AuxiliarySwitch, boolean InvertInsteadOfReverse, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		/*synchronized (lock) { BrowserPR = BrowserPR; }
		synchronized (lock) { BasisPRBuddhism = BasisPRBuddhism; }
		synchronized (lock) { BackgroundBasisPRBuddhism = BackgroundBasisPRBuddhism; }
		synchronized (lock) { BasisPRMagiElite = BasisPRMagiElite; }
		synchronized (lock) { BackgroundBasisPRMagiElite = BackgroundBasisPRMagiElite; }
		synchronized (lock) { BasisPRFwaSplashLogo = BasisPRFwaSplashLogo; }
		synchronized (lock) { BackgroundBasisPRFwaSplashLogo = BackgroundBasisPRFwaSplashLogo; }
		synchronized (lock) { BasisPRFwaFlagLogo = BasisPRFwaFlagLogo; }
		synchronized (lock) { BackgroundBasisPRFwaFlagLogo = BackgroundBasisPRFwaFlagLogo; }// */
		double xRectangleQuantity = 4, yRectangleQuantity = 4, xDiagRectangleQuantity = 2, yDiagRectangleQuantity = 2;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)xRectangleNum )
		{
		case 0://1st Column
			switch ( (int)yRectangleNum )
			{
			case 0: return buddhism.BuddhismForRaster( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, SliderInterval, FullSliderRunThrough, (int)xPostScaled, (int)yPostScaled, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowHorizontal( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );//, reversalOfBackgroundEffectsMaster//Simple Double Slider 1 Rotation Rainbow Clock With Browser Support And For Below Block////////
			case 2: return rainbowPostPattern2D.RainbowSpiral( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, HalfScreenDiagionalLength, 0.5 * SpiralFactor, - NumberOfSpirals, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 3: return rainbowPostPattern2D.RainbowFlasher( ColorsFactor, 0 * LocationOfStillMovement, -LocationOfColorMovement, 1, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor((int)xPostScaled, (int)yPostScaled), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			}
			break;
		case 1://2nd Column
			switch ( (int)yRectangleNum )
			{
			case 0: return magiElite.MagiEliteForRaster( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowClock( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, NumberOfClockHands, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: return rainbowPostPattern2D.RainbowCheapFractal( ColorsFactor, LocationOfStillMovement + 0 * FullSliderRunThrough / 2, 0.001 * 0.055555555555555 * Dim.getHeight() * ( LocationOfColorMovement + 1 * 9.25 * FullSliderRunThrough / 24 ), xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 3: return rainbowPostPattern2D.RainbowFanOutClock( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, 16/* NumberOfClockHands */, ExponentValue, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), /*PixelWriter BrowserPW,*/ Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference,  InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways,/*boolean ReversalOfBackgroundEffectsMaster,*/ NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			}
			break;
		case 2://3rd Column
			switch ( (int)yRectangleNum )
			{
			case 0: return fwaSplashLogo.FwaLogoSplash( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowRing( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: return rainbowPostPattern2D.RainbowExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 3: return fwaFlagLogo.FwaFlagLogoRaster( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 3://4th Column
			switch ( (int)yRectangleNum )
			{
			case 0: return fwaFlagSplashLogo.FwaFlagLogoSplash( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, 4 * NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowStrobe( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, HalfScreenDiagionalLength * Dim.getWidth() / Dim.getHeight(), XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: return rainbowPostPattern2D.RainbowDoubleExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 3: for ( xDiagRectangleNum = 0; xDiagRectangleNum < xDiagRectangleQuantity; xDiagRectangleNum++ )
				if ( x >= /*bounds.getMinX() +*/ xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity + ( Dim.getWidth() - 1. ) * xDiagRectangleNum / ( xRectangleQuantity * xDiagRectangleQuantity ) && x <= /*bounds.getMinX() +*/ xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity + ( Dim.getWidth() - 1. ) * ( xDiagRectangleNum + 1 ) / ( xRectangleQuantity * xDiagRectangleQuantity ) )
					break;
			for ( yDiagRectangleNum = 0; yDiagRectangleNum < yDiagRectangleQuantity; yDiagRectangleNum++ )
				if ( y >= /*bounds.getMinY() +*/ yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity + ( Dim.getHeight() - 1. ) * yDiagRectangleNum / ( yRectangleQuantity * yDiagRectangleQuantity ) && y <= /*bounds.getMinY() +*/ yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity + ( Dim.getHeight() - 1. ) * ( yDiagRectangleNum + 1 ) / ( yRectangleQuantity * yDiagRectangleQuantity ) )
					break;
			double xDiagPostScaled = Math.round( /*- bounds.getMinX()*/ ( x - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity - xDiagRectangleNum * ( Dim.getWidth() - 1. ) / ( xRectangleQuantity * xDiagRectangleQuantity ) ) * xRectangleQuantity * xDiagRectangleQuantity + 0.5 * xRectangleQuantity * xDiagRectangleQuantity );
			double yDiagPostScaled = Math.round( /*- bounds.getMinY()*/ ( y - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity - yDiagRectangleNum * ( Dim.getHeight() - 1. ) / ( yRectangleQuantity * yDiagRectangleQuantity ) ) * yRectangleQuantity * yDiagRectangleQuantity + 0.5 * yRectangleQuantity * yDiagRectangleQuantity );
			switch ( (int)xDiagRectangleNum )
			{
			case 0:
				switch ( (int)yDiagRectangleNum )
				{
				case 0: return ColorTooSimilar( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough );
				case 1: return TransparencySlider( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ), .5, 1 );
				}
				break;
			case 1:
				switch ( (int)yDiagRectangleNum )
				{
				case 0: return ColorSlider( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ) );
				case 1:	return RainbowSoftColor( xDiagPostScaled, yDiagPostScaled, LocationOfColorMovement * Dim.getWidth() / FullSliderRunThrough, 6 * LocationOfColorMovement / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * LocationOfColorMovement / ( 5 * SliderInterval ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );
				}
				break;
			}
			break;
			}
			break;
		}
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPattern2DcolorMovementDynamics( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, Color BrowserPRColor, Color BasisPRColor, Color BackgroundBasisPRColor, PixelReader BasisPixelReader, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean InvertInsteadOfReverse, boolean AuxiliarySwitch, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//synchronized (lock) { BasisPixelReader = BasisPixelReader; }
		double xRectangleQuantity = 6, yRectangleQuantity = 4;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)yRectangleNum )
		{
		case 0://1st Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 1://2nd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 2://3rd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 3://4th Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, 0, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		}
		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPattern2DstillMovementDynamics( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, Color BrowserPRColor, Color BasisPRColor, Color BackgroundBasisPRColor, PixelReader BasisPixelReader, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean InvertInsteadOfReverse, boolean AuxiliarySwitch, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//synchronized (lock) { BasisPixelReader = BasisPixelReader; }
		double xRectangleQuantity = 6, yRectangleQuantity = 4;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)yRectangleNum )
		{
		case 0://1st Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 1://2nd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 2://3rd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 3://4th Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, 0, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		}
		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPattern2DdoubleMovementDynamics( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, Color BrowserPRColor, Color BasisPRColor, Color BackgroundBasisPRColor, PixelReader BasisPixelReader, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean InvertInsteadOfReverse, boolean AuxiliarySwitch, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//synchronized (lock) { BasisPixelReader = BasisPixelReader; }
		double xRectangleQuantity = 6, yRectangleQuantity = 4;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)yRectangleNum )
		{
		case 0://1st Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet ); 
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 1://2nd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 2://3rd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor / 3, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 3://4th Column
			switch ( (int)xRectangleNum )
			{
			case 0: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, -ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, -RepeatFactor / 3, -FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		}
		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPattern2DfullMovementDynamics( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, Color BrowserPRColor, Color BasisPRColor, Color BackgroundBasisPRColor, PixelReader BasisPixelReader, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean InvertInsteadOfReverse, boolean AuxiliarySwitch, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//synchronized (lock) { BasisPixelReader = BasisPixelReader; }
		Dimension halfedDim = new Dimension();
		halfedDim.setSize( Dim.getWidth() / 2, Dim.getHeight() / 2 );
		double xRectangleQuantity = 2, yRectangleQuantity = 2;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		switch ( (int)yRectangleNum )
		{
		case 0://1st Column
			switch ( (int)xRectangleNum )
			{
			case 0: return RainbowPattern2DcolorMovementDynamics( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return RainbowPattern2DstillMovementDynamics( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 1://2nd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return RainbowPattern2DdoubleMovementDynamics( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPRColor, BasisPRColor, BackgroundBasisPRColor, BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return RainbowPattern2D( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, halfedDim, ColorSet, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, SliderInterval, GradientExpontierMultiplier, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			}
			break;
		}
		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}

	public Color RainbowPostPattern2D( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, PixelReader BrowserPR, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference,  boolean InvertBasisFromBackground, boolean AuxiliarySwitch, boolean InvertInsteadOfReverse, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, Color TextColorToOverlay, Color BackgroundColorToOverlay, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//synchronized (lock) { BrowserPR = BrowserPR; }
		double xRectangleQuantity = 4, yRectangleQuantity = 4;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		String selection = "None";
		switch ( (int)yRectangleNum )
		{
		case 0://1st Row
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowFlasher"; break;
			case 1: selection = "RainbowHorizontal"; break;
			case 2: selection = "RainbowClock"; break;
			case 3: selection = "RainbowRing"; break;
			}
			break;
		case 1://2nd Row
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowStrobe"; break;
			case 1: selection = "RainbowSpiral"; break;
			case 2: selection = "RainbowCheapFractal"; break;
			case 3: selection = "RainbowExponentiator"; break;
			}
			break;
		case 2://3rd Row
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowDoubleExponentiator"; break;
			case 1: selection = "RainbowFanOutClock"; LocationOfColorMovement = LocationOfColorMovement + 1 * FullSliderRunThrough / 2; NumberOfClockHands = 16; break;
			case 2: selection = "RainbowKaladaScope"; LocationOfColorMovement = LocationOfColorMovement + 1 * FullSliderRunThrough / 2; NumberOfClockHands = 16; break;
			case 3: selection = "FireColorsOrPutUserChoiceHere"; break;
			}
			break;

		}
		/*argb = rainbowSoftColor.ToARGB();
		for  (int z = 0; z <= 2; z++)
		{
			rgb[z] = ColorValueFitter(rainbowSoftColor.ToARGB()[z]);
			argb[z] = ColorValueFitter(argb[z]);
		}
		argb[3] = OpacityValueFitter(argb[3]);
		rainbowSoftColor = new RainbowSoftColor( argb );// */
		//fxColor = rainbowPattern2D.ToFXColor();// */
		//return fxColor;
		return rainbowPostPattern2D.Selector ( selection, SubSelection, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference,  InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
	}

	public Color RainbowFirmFullSystemDisplay( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double FanOutRadius, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, PixelReader BrowserPR, PixelReader BasisPRBuddhism, PixelReader BackgroundBasisPRBuddhism, PixelReader BasisPRMagiElite, PixelReader BackgroundBasisPRMagiElite, PixelReader BasisPRFwaSplashLogo, PixelReader BackgroundBasisPRFwaSplashLogo, PixelReader BasisPRFwaFlagLogo, PixelReader BackgroundBasisPRFwaFlagLogo, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean AuxiliarySwitch, boolean InvertInsteadOfReverse, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		//PixelReader browserPR;
		/*synchronized (lock) { BrowserPR = BrowserPR; }
		synchronized (lock) { BasisPRBuddhism = BasisPRBuddhism; }
		synchronized (lock) { BackgroundBasisPRBuddhism = BackgroundBasisPRBuddhism; }
		synchronized (lock) { BasisPRMagiElite = BasisPRMagiElite; }
		synchronized (lock) { BackgroundBasisPRMagiElite = BackgroundBasisPRMagiElite; }
		synchronized (lock) { BasisPRFwaSplashLogo = BasisPRFwaSplashLogo; }
		synchronized (lock) { BackgroundBasisPRFwaSplashLogo = BackgroundBasisPRFwaSplashLogo; }
		synchronized (lock) { BasisPRFwaFlagLogo = BasisPRFwaFlagLogo; }
		synchronized (lock) { BackgroundBasisPRFwaFlagLogo = BackgroundBasisPRFwaFlagLogo; }// */
		Dimension halfedDim = new Dimension();
		halfedDim.setSize( Dim.getWidth() / 2, Dim.getHeight() / 2 );

		double xRectangleQuantity = 6, yRectangleQuantity = 6;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		/*System.out.println( "x: " + x + " y: " + y );
		System.out.println( "xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		System.out.println( "(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );// */
		//BrowserPR.getPixels( xPostScaled, yPostScaled, Dim.getWidth() / xRectangleQuantity, Dim.getHeight() / yRectangleQuantity, null, null, 0); Would Be Needed Without Going To Area Of Blow-Up From Shrinking And Getting In-Between Pixel
		
		switch ( (int)yRectangleNum )
		{
		case 0://1st Column
			switch ( (int)xRectangleNum )
			{
			case 0: return buddhism.BuddhismForRaster( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, SliderInterval, FullSliderRunThrough, (int)xPostScaled, (int)yPostScaled, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return magiElite.MagiEliteForRaster( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: return fwaSplashLogo.FwaLogoSplash( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, 1 * 8, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return fwaFlagSplashLogo.FwaFlagLogoSplash( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, 1 * 8, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: return rainbowPostPattern2D.RainbowHorizontal( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet);
			case 5: double videoSplittingQuantity = 4;//For ColorTooSimilar->ColorSlider->TransparencySlider->RainbowSoftColor Diagnostics For At Least 24 Frames From RainbowSetup.Setup: fRateDivisor = 24;
			if ( QuadentaryXslider < FullSliderRunThrough / videoSplittingQuantity )
				return ColorTooSimilar( xPostScaled, yPostScaled, QuadentaryXslider * Dim.getWidth() * videoSplittingQuantity / FullSliderRunThrough );
			else if ( QuadentaryXslider < 2 * FullSliderRunThrough / videoSplittingQuantity )
				return ColorSlider( xPostScaled, yPostScaled, QuadentaryXslider * Dim.getWidth() * videoSplittingQuantity / FullSliderRunThrough, 6 * ( QuadentaryXslider - FullSliderRunThrough / videoSplittingQuantity ) * videoSplittingQuantity / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * ( QuadentaryXslider - FullSliderRunThrough / videoSplittingQuantity ) / 5 * videoSplittingQuantity / ( FullSliderRunThrough / SliderInterval ) - 1 / 5 ) - 1 ) ) );
			else if ( QuadentaryXslider < 3 * FullSliderRunThrough / videoSplittingQuantity )
				return TransparencySlider( xPostScaled, yPostScaled, QuadentaryXslider * Dim.getWidth() * videoSplittingQuantity / FullSliderRunThrough, 6 * ( QuadentaryXslider - 2 * FullSliderRunThrough / videoSplittingQuantity ) * videoSplittingQuantity / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * ( QuadentaryXslider - 2 * FullSliderRunThrough / videoSplittingQuantity ) / 5 * videoSplittingQuantity / ( FullSliderRunThrough / SliderInterval ) - 1 / 5 ) - 1 ) ), .5, 1 );
			else
				return RainbowSoftColor( xPostScaled, yPostScaled, QuadentaryXslider * Dim.getWidth() * videoSplittingQuantity / FullSliderRunThrough, 6 * ( QuadentaryXslider - 3 * FullSliderRunThrough / videoSplittingQuantity ) * videoSplittingQuantity / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * ( QuadentaryXslider - 3 * FullSliderRunThrough / videoSplittingQuantity ) / 5 * videoSplittingQuantity / ( FullSliderRunThrough / SliderInterval ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );
			}
			break;
		case 1://2nd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return rainbowPostPattern2D.RainbowClock( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement/* - FullSliderRunThrough / 2 */, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, NumberOfClockHands /* * QuadentaryXslider / FullSliderRunThrough + 1 */, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowRing( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: return rainbowPostPattern2D.RainbowStrobe( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, 0.5 * HalfScreenDiagionalLength * Dim.getWidth() / Dim.getHeight(), XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 3: return rainbowPostPattern2D.RainbowSpiral( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, HalfScreenDiagionalLength, SpiralFactor, - NumberOfSpirals, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 4: return rainbowPostPattern2D.RainbowCheapFractal( ColorsFactor, LocationOfStillMovement + 0 * FullSliderRunThrough / 2, 0.001 * 0.055555555555555 * Dim.getHeight() * ( LocationOfColorMovement + 1 * 9.25 * FullSliderRunThrough / 24 ), xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 5: return rainbowPattern2D.FullSelector( Selection, SubSelection, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled-halfedDim.getWidth(), yPostScaled-halfedDim.getHeight(), RepeatFactor, FullSliderRunThrough, Dim, halfedDim, ColorSet, NumberOfClockHands, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			}
			break;
		case 2://3rd Column
			switch ( (int)xRectangleNum )
			{
			case 0: return rainbowPostPattern2D.RainbowExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowDoubleExponentiator( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: return RainbowSplashAndPostPattern2D( ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, FanOutRadius, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR, BasisPRBuddhism, BackgroundBasisPRBuddhism, BasisPRMagiElite, BackgroundBasisPRMagiElite, BasisPRFwaSplashLogo, BackgroundBasisPRFwaSplashLogo, BasisPRFwaFlagLogo, BackgroundBasisPRFwaFlagLogo, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return RainbowPattern2D( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, Dim, halfedDim, ColorSet, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, SliderInterval, GradientExpontierMultiplier, ReversedColors, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment );
			case 4: if ( Selection == "RainbowBuddhism" ) return RainbowPattern2DcolorMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowMagiElite" ) return RainbowPattern2DcolorMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowFwaLogoSplash" ) return RainbowPattern2DcolorMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else return RainbowPattern2DcolorMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: if ( Selection == "RainbowBuddhism" ) return RainbowPattern2DstillMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowMagiElite" ) return RainbowPattern2DstillMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowFwaLogoSplash" ) return RainbowPattern2DstillMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else return RainbowPattern2DstillMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 3://4th Column
			switch ( (int)xRectangleNum )
			{
			case 0: if ( Selection == "RainbowBuddhism" ) return RainbowPattern2DdoubleMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowMagiElite" ) return RainbowPattern2DdoubleMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowFwaLogoSplash" ) return RainbowPattern2DdoubleMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else return RainbowPattern2DdoubleMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			//BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return RainbowGlobalSelector( QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR, new PixelReader[] { BasisPRBuddhism, BasisPRMagiElite, BasisPRFwaSplashLogo, BasisPRFwaFlagLogo }, new PixelReader[] { BackgroundBasisPRBuddhism, BackgroundBasisPRMagiElite, BackgroundBasisPRFwaSplashLogo, BackgroundBasisPRFwaFlagLogo }, BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: if ( Selection == "RainbowBuddhism" ) return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowMagiElite" ) return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowFwaLogoSplash" ) return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else /*if ( Selection == "RainbowFwaFlagLogoSplash" || Selection == "RainbowFwaFlagLogo" )*/ return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			//else return globalSelector.Selector( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return rainbowPostPattern2D.RainbowFlasher( ColorsFactor, 0 * LocationOfStillMovement, -LocationOfColorMovement, 1, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 4: return RainbowPostPattern2D( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 5: return rainbowPostPattern2D.Selector ( Selection, SubSelection, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			}
			break;
		case 4://5th Column
			switch ( (int)xRectangleNum )
			{
			case 0: return fwaFlagLogo.FwaFlagLogoRaster( ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement, FullSliderRunThrough, xPostScaled, yPostScaled, RepeatFactor, RainbowWidth, NumberOfClockHands, 1 * 8, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, SuckInExponentialness, SuckInDivisor, LengthOfColorBar, Rainbowovalfitting, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return rainbowPostPattern2D.RainbowFanOutClock( ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement + 1 * FullSliderRunThrough / 2, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, 16/* NumberOfClockHands */, ExponentValue, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 2: if ( Selection == "RainbowBuddhism" ) return RainbowPattern2DfullMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRBuddhism.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowMagiElite" ) return RainbowPattern2DfullMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRMagiElite.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else if ( Selection == "RainbowFwaLogoSplash" ) return RainbowPattern2DfullMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaSplashLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			else return RainbowPattern2DfullMovementDynamics( Selection, SubSelection, QuadentaryXslider, Math.abs(ColorsFactor), LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, Math.abs(RepeatFactor), Math.abs(FullSliderRunThrough), RainbowWidth, NumberOfClockHands, FanOutRadius, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BackgroundBasisPRFwaFlagLogo.getColor( (int)xPostScaled, (int)yPostScaled ), BasisPRBuddhism, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: return rainbowPostPattern2D.RainbowKaladaScope( ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement + 1 * FullSliderRunThrough / 2, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, 16/* NumberOfClockHands */, ExponentValue, FanOutRadius, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, ColorSet );
			case 4: return RainbowSoftColorTransparencySliderTooSimilar( xPostScaled, yPostScaled, QuadentaryXslider * Dim.getWidth() / FullSliderRunThrough, 6 * QuadentaryXslider / FullSliderRunThrough, (int)Math.abs(Math.round( Math.pow( 2, GradientExpontierMultiplier * QuadentaryXslider / ( 5 * ( FullSliderRunThrough / SliderInterval ) ) - 1 / 5 ) - 1 ) ), vibrantColorCombos.ImperialFXcolors, vibrantColorCombos.ImperialColorsNum, 0, 1 );
			case 5: return RainbowFirmFullSystemDisplay( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, FanOutRadius, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR, BasisPRBuddhism, BackgroundBasisPRBuddhism, BasisPRMagiElite, BackgroundBasisPRMagiElite, BasisPRFwaSplashLogo, BackgroundBasisPRFwaSplashLogo, BasisPRFwaFlagLogo, BackgroundBasisPRFwaFlagLogo, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 5://5th Column
			switch ( (int)xRectangleNum )
			{
			case 0: return RainbowFirmFullColorDisplay( Selection, SubSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement/* + teenyTinyItsyWitzyBit*/, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, 1 * NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, FanOutRadius, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR, BasisPRBuddhism, BackgroundBasisPRBuddhism, BasisPRMagiElite, BackgroundBasisPRMagiElite, BasisPRFwaSplashLogo, BackgroundBasisPRFwaSplashLogo, BasisPRFwaFlagLogo, BackgroundBasisPRFwaFlagLogo, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: return vibrantColors.Clear;
			case 2: return vibrantColors.ClearWhite;
			case 3: return vibrantColors.ClearMagenta;
			case 4: return vibrantColors.ClearNeonGreen;
			case 5: colorSlider.ColorSliderFunction( Dim.getWidth(), xPostScaled, green.ToFXColor(), purple.ToFXColor() ); return colorSlider.ToFXColor();
			}
			break;
		}
		fxColor = rainbowPattern2D.ToFXColor();
		return fxColor;
	}

	public Color RainbowFirmFullColorDisplay( String Selection, int SubSelection, double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double FanOutRadius, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, PixelReader BrowserPR, PixelReader BasisPRBuddhism, PixelReader BackgroundBasisPRBuddhism, PixelReader BasisPRMagiElite, PixelReader BackgroundBasisPRMagiElite, PixelReader BasisPRFwaSplashLogo, PixelReader BackgroundBasisPRFwaSplashLogo, PixelReader BasisPRFwaFlagLogo, PixelReader BackgroundBasisPRFwaFlagLogo, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean AuxiliarySwitch, boolean InvertInsteadOfReverse, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		/*synchronized (lock) { BrowserPR = BrowserPR; }
		synchronized (lock) { BasisPRBuddhism = BasisPRBuddhism; }
		synchronized (lock) { BackgroundBasisPRBuddhism = BackgroundBasisPRBuddhism; }
		synchronized (lock) { BasisPRMagiElite = BasisPRMagiElite; }
		synchronized (lock) { BackgroundBasisPRMagiElite = BackgroundBasisPRMagiElite; }
		synchronized (lock) { BasisPRFwaSplashLogo = BasisPRFwaSplashLogo; }
		synchronized (lock) { BackgroundBasisPRFwaSplashLogo = BackgroundBasisPRFwaSplashLogo; }
		synchronized (lock) { BasisPRFwaFlagLogo = BasisPRFwaFlagLogo; }
		synchronized (lock) { BackgroundBasisPRFwaFlagLogo = BackgroundBasisPRFwaFlagLogo; }// */
		//Dimension halfedDim = new Dimension();
		//halfedDim.setSize( Dim.getWidth() / 2, Dim.getHeight() / 2 );
		int colorSetIndex = 0;
		double xRectangleQuantity = 13, yRectangleQuantity = 8;
		//double yScaled = y * yRectangleQuantity / xRectangleQuantity;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		//System.out.println("xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		//System.out.println("(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );
		for ( colorSetIndex = 0; colorSetIndex < 104; colorSetIndex++ )
			if ( colorSetIndex == xRectangleNum + xRectangleQuantity * yRectangleNum )
				return rainbowPostPattern2D.RainbowHorizontal( ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, HalfScreenDiagionalLength, XScaleFactor, YScaleFactor, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)xPostScaled, (int)yPostScaled ), Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertInsteadOfReverse, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextColorToOverlay, BackgroundColorToOverlay, TextColorOverlay, BackgroundColorOverlay, OverlayColorScheme, colorSets.SuperColorComboSetWithInfo[colorSetIndex].ColorCombo() );
		fxColor = rainbowPattern2D.ToFXColor();// */
		return fxColor;
	}


	public Color RainbowGlobalSelector( double QuadentaryXslider, double ColorsFactor, double LocationOfStillMovement, double LocationOfColorMovement, double x, double y, double RepeatFactor, double FullSliderRunThrough, double RainbowWidth, double NumberOfClockHands, double FanOutRadius, double NumberOfRingsVertically, double RingDisplacement, double InnerCutOffRadius, double OuterCutOffRadius, double SpiralFactor, double ShrunkenFactor, double NumberOfSpirals, double HalfScreenDiagionalLength, double ExponentValue, double ColorFlipper, double XScaleFactor, double YScaleFactor, double LengthOfColorBar, double SliderInterval, double SuckInExponentialness, double SuckInDivisor, RainbowOvalFitting[] Rainbowovalfitting, double GradientExpontierMultiplier, boolean ReversedColors, boolean ReversedRainbow, double BrightnessMultiplyer, int Gradations, double OpacityBefore, double OpacityAfter, boolean BlockAdjustment, PixelReader BrowserPR, PixelReader[] BasisPRs, PixelReader[] BackgroundBasisPRs, PixelReader BasisPixelReader, Dimension Dim, String TypeOfDisplay, Color InitialColorContrastingChoice, Color ColorTooSimilarReplacementColor, double ColorDifference, boolean InvertBasisFromBackground, boolean InvertInsteadOfReverse, boolean AuxiliarySwitch, boolean InvertBasisPicture, boolean InvertBoth, boolean InvertJustOrigional, boolean InvertTextAlways, boolean NextStepColorTooSimilarEffect, boolean TextOutlineBlendingToBasisInvert, Color TextColorToOverlay, Color BackgroundColorToOverlay, Color BasisOverlaySperateTextColor, Color BasisOverlaySperateBackgroundColor, boolean TextColorOverlay, boolean BackgroundColorOverlay, boolean ShowBasisOverlayForText, boolean ShowBasisOverlayForBackground, boolean BasisOverlaySeperateTextFade, boolean BasisOverlaySeperateBackgroundFade, boolean OverlayColorScheme, Color[][] ColorSet )
	{
		/*synchronized (lock) { BrowserPR = BrowserPR; }
		synchronized (lock) { BasisPRs = BasisPRs; }
		synchronized (lock) { BackgroundBasisPRs = BackgroundBasisPRs; }
		synchronized (lock) { BasisPixelReader = BasisPixelReader; }// */
		
		Dimension halfedDim = new Dimension();
		halfedDim.setSize( Dim.getWidth() / 2, Dim.getHeight() / 2 );
		
		double numberOfRingsVertically = 1, ringDisplacement = 0, innerCutOffRadius = 0, outerCutOffRadius = 24000;
		
		double xRectangleQuantity = 9, yRectangleQuantity = 9;
		for ( xRectangleNum = 0; xRectangleNum < xRectangleQuantity; xRectangleNum++ )
			if ( x >= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * xRectangleNum / xRectangleQuantity - 0.5 * xRectangleQuantity && x <= /*bounds.getMinX() +*/ ( Dim.getWidth() - 1. ) * ( xRectangleNum + 1 ) / xRectangleQuantity - 0.5 * xRectangleQuantity )
				break;
		for ( yRectangleNum = 0; yRectangleNum < yRectangleQuantity; yRectangleNum++ )
			if ( y >= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * yRectangleNum / yRectangleQuantity - 0.5 * yRectangleQuantity && y <= /*bounds.getMinY() +*/ ( Dim.getHeight() - 1. ) * ( yRectangleNum + 1 ) / yRectangleQuantity - 0.5 * yRectangleQuantity )
				break;
		double xPostScaled = Math.round( ( x /*- bounds.getMinX()*/ - xRectangleNum * ( Dim.getWidth() - 1. ) / xRectangleQuantity ) * xRectangleQuantity + 0.5 * xRectangleQuantity );
		double yPostScaled = Math.round( ( y /*- bounds.getMinY()*/ - yRectangleNum * ( Dim.getHeight() - 1. ) / yRectangleQuantity ) * yRectangleQuantity + 0.5 * yRectangleQuantity );
		if ( xPostScaled >= Dim.getWidth() ) xPostScaled = Dim.getWidth() - 1; if ( yPostScaled >= Dim.getHeight() ) yPostScaled = Dim.getHeight() - 1; if ( xPostScaled < 0 ) xPostScaled = 0; if ( yPostScaled < 0 ) yPostScaled = 0;
		/*System.out.println( "x: " + x + " y: " + y );
		System.out.println( "xRectangleNum: " + xRectangleNum + " yRectangleNum: " + yRectangleNum );
		System.out.println( "(int)xPostScaled: " + (int)xPostScaled + " (int)yPostScaled: " + (int)yPostScaled );// */
		String selection = "None";//Selection;
		int subSelection = 0, basisImageViewIndex = 0;
		switch ( (int)yRectangleNum )
		{
		case 0:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowBuddhism"; basisImageViewIndex = 0; break;
			case 1: selection = "RainbowMagiElite"; basisImageViewIndex = 1; break;
			case 2: selection = "RainbowFwaLogoSplash"; basisImageViewIndex = 2; break;
			case 3: selection = "RainbowFwaFlagLogoSplash"; basisImageViewIndex = 3; break;
			case 4: selection = "RainbowHorizontal"; break;
			case 5: selection = "RainbowClock"; break;
			case 6: selection = "RainbowRing"; break;
			case 7: selection = "RainbowStrobe"; break;
			case 8: selection = "RainbowSpiral"; break;
			}
			break;
		case 1:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowCheapFractal"; break;
			case 1: selection = "RainbowExponentiator"; break;
			case 2: selection = "RainbowDoubleExponentiator"; break;
			case 3: selection = "RainbowFlasher"; break;
			case 4: selection = "RainbowFanOutClock"; NumberOfClockHands = 16; break;//ColorsFactor = 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfStillMovement = 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfColorMovement = 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ); RepeatFactor = 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ); break; 
			case 5: selection = "RainbowKaladaScope"; NumberOfClockHands = 16; break;//ColorsFactor = 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfStillMovement = 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfColorMovement = 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ); RepeatFactor = 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ); break; 
			case 6: selection = "TransparencySliderFunction"; subSelection = 0; break;
			case 7: selection = "TransparencySliderFunction"; subSelection = 1; break;
			case 8: selection = "TheRainbowSoftColorFunction"; subSelection = 0; break;
			}
			break;
		case 2:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "SimpleRainbow"; subSelection = 0; break;
			case 1: selection = "SimpleRainbow"; subSelection = 1; break;
			case 2: selection = "SimpleRainbow"; subSelection = 2; break;
			case 3: selection = "SimpleRainbow"; subSelection = 3; break;
			case 4: selection = "SimpleRainbow"; subSelection = 4; break;
			case 5: selection = "SimpleRainbowReverse"; subSelection = 0;  break;
			case 6: selection = "SimpleRainbowReverse"; subSelection = 1;  break;
			case 7: selection = "SimpleRainbowReverse"; subSelection = 2;  break;
			case 8: selection = "SimpleRainbowReverse"; subSelection = 3;  break;
			}
			break;
		case 3:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "SimpleRainbowReverse"; subSelection = 4;  break;
			case 1: selection = "SimpleCustomColor"; subSelection = 0; break;
			case 2: selection = "SimpleCustomColor"; subSelection = 1; break;
			case 3: selection = "SimpleCustomColor"; subSelection = 2; break;
			case 4: selection = "SimpleCustomColor"; subSelection = 3; break;
			case 5: selection = "SimpleCustomColor"; subSelection = 4; break;
			case 6: selection = "SimpleCustomColor"; subSelection = 5; break;
			case 7: selection = "SimpleCustomColor"; subSelection = 6; break;
			case 8: selection = "SimpleCustomColor"; subSelection = 7; break;
			}
			break;
		case 4:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "SimpleCustomColor"; subSelection = 8; break;
			case 1: selection = "SimpleCustomColor"; subSelection = 9; break;
			case 2: selection = "DiskVaryated"; subSelection = 0; break;
			case 3: selection = "DiskVaryated"; subSelection = 1; break;
			case 4: selection = "DiskGradated"; subSelection = 0; break;
			case 5: selection = "DiskGradated"; subSelection = 1; break;
			case 6: selection = "RingVaryated"; subSelection = 0; break;
			case 7: selection = "RingVaryated"; subSelection = 1; break;
			case 8: selection = "RingGradated"; subSelection = 0; break;
			}
			break;
		case 5:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RingGradated"; subSelection = 1; break;
			case 1: selection = "ClockVaryated"; subSelection = 0; break;
			case 2: selection = "ClockVaryated"; subSelection = 1; break;
			case 3: selection = "ClockGradated"; subSelection = 0; break;
			case 4: selection = "ClockGradated"; subSelection = 1; break;
			case 5: selection = "SpiralVaryated"; subSelection = 0; break;
			case 6: selection = "SpiralVaryated"; subSelection = 1; break;
			case 7: selection = "SpiralGradated"; subSelection = 0; break;
			case 8: selection = "SpiralGradated"; subSelection = 1; break;
			}
			break;
		case 6:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "CheapFractalVaryated"; subSelection = 0; break;
			case 1: selection = "CheapFractalVaryated"; subSelection = 1; break;
			case 2: selection = "CheapFractalGradated"; subSelection = 0; break;
			case 3: selection = "CheapFractalGradated"; subSelection = 1; break;
			case 4: selection = "StrobeVaryated"; subSelection = 0; break;
			case 5: selection = "StrobeVaryated"; subSelection = 1; break;
			case 6: selection = "StrobeGradated"; subSelection = 0; break;
			case 7: selection = "StrobeGradated"; subSelection = 1; break;
			case 8: selection = "Exponentiator"; subSelection = 0; break;
			}
			break;
		case 7:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "Exponentiator"; subSelection = 1; break;
			case 1: selection = "DoubleExponentiator"; subSelection = 0; break;
			case 2: selection = "DoubleExponentiator"; subSelection = 1; break;
			case 3: selection = "FanOutClock"; subSelection = 0; NumberOfClockHands = 16; break;// ColorsFactor = 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfStillMovement = 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfColorMovement = 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ); xPostScaled = xPostScaled * xRectangleQuantity; yPostScaled = yPostScaled * yRectangleQuantity; RepeatFactor = 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ); break; 
			case 4: selection = "KaladaScope"; subSelection = 0; NumberOfClockHands = 16; break;// ColorsFactor = 2 * Math.PI * ColorsFactor / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfStillMovement = 2 * Math.PI * LocationOfStillMovement / ( NumberOfClockHands * FullSliderRunThrough ); LocationOfColorMovement = 2 * Math.PI * ( LocationOfColorMovement + 1 * FullSliderRunThrough / 2 ) / ( NumberOfClockHands * FullSliderRunThrough ); xPostScaled = xPostScaled * xRectangleQuantity; yPostScaled = yPostScaled * yRectangleQuantity; RepeatFactor = 2 * Math.PI * RepeatFactor / ( NumberOfClockHands * FullSliderRunThrough ); break; 
			case 5: selection = "RainbowRing"; numberOfRingsVertically = 2; return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 6: selection = "RainbowRing"; numberOfRingsVertically = 2; innerCutOffRadius = ( 1 / 2 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, innerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 7: selection = "RainbowRing"; numberOfRingsVertically = 2; innerCutOffRadius = ( 1 / 2 ) * halfedDim.getHeight(); outerCutOffRadius = ( 2 / 2 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, innerCutOffRadius, outerCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet ); 
			case 8: selection = "RainbowRing"; numberOfRingsVertically = 4; innerCutOffRadius = ( 1 / 4 ) * halfedDim.getHeight(); outerCutOffRadius = ( 3 / 4 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, innerCutOffRadius, outerCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}
			break;
		case 8:
			switch ( (int)xRectangleNum )
			{
			case 0: selection = "RainbowRing"; numberOfRingsVertically = 5.625; ringDisplacement = 226.25 * halfedDim.getHeight() / 1080; return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, ringDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 1: selection = "RainbowRing"; numberOfRingsVertically = 5.625; ringDisplacement = 226.25 * halfedDim.getHeight() / 1080; innerCutOffRadius = ( 1 - 1 / 5.625 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, ringDisplacement, innerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 2: selection = "RainbowRing"; numberOfRingsVertically = 5.625; ringDisplacement = 226.25 * halfedDim.getHeight() / 1080; innerCutOffRadius = ( 1 - 2 / 5.625 ) * halfedDim.getHeight(); outerCutOffRadius = ( 2 / 2 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, ringDisplacement, innerCutOffRadius, outerCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 3: selection = "RainbowRing"; numberOfRingsVertically = 10; return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 4: selection = "RainbowRing"; numberOfRingsVertically = 10; innerCutOffRadius = ( 2 / 10 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, innerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 5: selection = "RainbowRing"; numberOfRingsVertically = 10; outerCutOffRadius = ( 2 / 2 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, InnerCutOffRadius, outerCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 6: selection = "RainbowRing"; numberOfRingsVertically = 10; innerCutOffRadius = ( 9 / 10 ) * halfedDim.getHeight(); outerCutOffRadius = ( 2 / 2 ) * halfedDim.getHeight(); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, innerCutOffRadius, outerCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 7: selection = "RainbowRing"; numberOfRingsVertically = ( 1 / 2 ); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			case 8: selection = "RainbowRing"; numberOfRingsVertically = ( 1 / 6 ); return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, numberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
			}//case x: selection = "Giberish"; subSelection = 0; break;
			break;
		}
		//int currentBasisViewIndex = 0; if ( selection == "RainbowBuddhism" ) currentBasisViewIndex = 0; else if ( selection == "RainbowMagiElite" ) currentBasisViewIndex = 1; else if ( selection == "RainbowFwaLogoSplash" ) currentBasisViewIndex = 2; else if ( selection == "RainbowRainbowFwaFlagLogoSplash" ) currentBasisViewIndex = 3;
		return globalSelector.Selector( selection, subSelection, QuadentaryXslider, ColorsFactor, LocationOfStillMovement, LocationOfColorMovement, xPostScaled, yPostScaled, RepeatFactor, FullSliderRunThrough, RainbowWidth, NumberOfClockHands, FanOutRadius, NumberOfRingsVertically, RingDisplacement, InnerCutOffRadius, OuterCutOffRadius, SpiralFactor, ShrunkenFactor, NumberOfSpirals, HalfScreenDiagionalLength, ExponentValue, ColorFlipper, XScaleFactor, YScaleFactor, LengthOfColorBar, SliderInterval, SuckInExponentialness, SuckInDivisor, Rainbowovalfitting, GradientExpontierMultiplier, ReversedColors, ReversedRainbow, BrightnessMultiplyer, Gradations, OpacityBefore, OpacityAfter, BlockAdjustment, BrowserPR.getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BackgroundBasisPRs[basisImageViewIndex].getColor( (int)Math.round(xPostScaled), (int)Math.round(yPostScaled) ), BasisPixelReader, Dim, TypeOfDisplay, InitialColorContrastingChoice, ColorTooSimilarReplacementColor, ColorDifference, InvertBasisFromBackground, AuxiliarySwitch, InvertInsteadOfReverse, InvertBasisPicture, InvertBoth, InvertJustOrigional, InvertTextAlways, NextStepColorTooSimilarEffect, TextOutlineBlendingToBasisInvert, TextColorToOverlay, BackgroundColorToOverlay, BasisOverlaySperateTextColor, BasisOverlaySperateBackgroundColor, TextColorOverlay, BackgroundColorOverlay, ShowBasisOverlayForText, ShowBasisOverlayForBackground, BasisOverlaySeperateTextFade, BasisOverlaySeperateBackgroundFade, OverlayColorScheme, ColorSet );
	}

	//public Object RainbowSoftColor( double x, double y, double xSlider, double BrightnessMultiplyer, int Gradations, boolean Adjusted, FXcolorArray )
	//{ }
	public Boolean ColorTooSimilarFunction(Color Color1, Color Color2)//4th Square DiagnosticsClass.java
	{
		int currentColorDifference = (int)( 255 * ( Math.abs( Color1.getOpacity() - Color2.getOpacity() ) + Math.abs( Color1.getRed() - Color2.getRed() ) + Math.abs( Color1.getGreen() - Color2.getGreen() ) + Math.abs( Color1.getBlue() - Color2.getBlue() ) ) );
		if ( currentColorDifference <= 164 )//200 )
			tooSimilar = true;
		else
			tooSimilar = false;
		return tooSimilar;
	}
	public Boolean ColorTooSimilarFunction(ColorSlider Color1, ColorSlider Color2)
	{
		tooSimilar = false;
		int colorDifference = (int)( Math.abs(Color1.ToRGB()[0] - Color2.ToRGB()[0]) + Math.abs(Color1.ToRGB()[1] - Color2.ToRGB()[1]) + Math.abs(Color1.ToRGB()[2] - Color2.ToRGB()[2]) );
		if ( colorDifference <= 164 )
			tooSimilar = true;
		else
			tooSimilar = false;
		//System.out.println("colorDifference: " + colorDifference);
		//System.out.println(TooSimilar);
		return tooSimilar;
	}
	public double ColorValueFitterCapper ( double ColorToBeChecked )
	{
		colorBeingChecked = ColorToBeChecked;
		while ( colorBeingChecked < 0 )
			colorBeingChecked = 0;
		while ( colorBeingChecked > 255 )
			colorBeingChecked = 255;
		return Math.round(colorBeingChecked);
	}
	public double OpacityValueFitterCapper ( double OpacityToBeChecked )
	{
		opacityBeingChecked = OpacityToBeChecked;
		while ( opacityBeingChecked < 0 )
			opacityBeingChecked = 0;
		while ( opacityBeingChecked > 1 )
			opacityBeingChecked = 1;
		return opacityBeingChecked;
	}
	public double ColorValueFitter ( double ColorToBeChecked )
	{
		colorBeingChecked = ColorToBeChecked;
		while ( colorBeingChecked < -4080 )
			colorBeingChecked = colorBeingChecked + 4080;
		while ( colorBeingChecked < 0 )
			colorBeingChecked = colorBeingChecked + 255;
		while ( colorBeingChecked > 4080 )
			colorBeingChecked = colorBeingChecked - 4080;
		while ( colorBeingChecked > 255 )
			colorBeingChecked = colorBeingChecked - 255;
		return Math.round(colorBeingChecked);
	}
	public double OpacityValueFitter ( double OpacityToBeChecked )
	{
		opacityBeingChecked = OpacityToBeChecked;
		while ( opacityBeingChecked < -16 )
			opacityBeingChecked = opacityBeingChecked + 16;
		while ( opacityBeingChecked < 0 )
			opacityBeingChecked = opacityBeingChecked + 1;
		while ( opacityBeingChecked > 16 )
			opacityBeingChecked = opacityBeingChecked - 16;
		while ( opacityBeingChecked > 1 )
			opacityBeingChecked = opacityBeingChecked - 1;
		return opacityBeingChecked;
	}
	public void set(double[] ARGB) { argb = ARGB; rgb[0] = ARGB[0]; rgb[1] = ARGB[1]; rgb[2] = ARGB[2]; fxColor = Color.rgb( (int)(ColorValueFitterCapper(ARGB[0])), (int)(ColorValueFitterCapper(ARGB[1])), (int)(ColorValueFitterCapper(ARGB[2])), OpacityValueFitterCapper(ARGB[3]) ); rainbowSoftColor = new RainbowSoftColor( ARGB ); }//Assigns Colors With ARGB //29th Square In SimpleDiagnosticsClass.java
	public void set(Color FXColor) { fxColor = FXColor; argb = new double[] { FXColor.getRed() * 255, FXColor.getGreen() * 255, FXColor.getBlue() * 255, FXColor.getOpacity() }; rgb = new double[] { FXColor.getRed() * 255, FXColor.getGreen() * 255, FXColor.getBlue() * 255 }; rainbowSoftColor = new RainbowSoftColor( argb ); }//Assigns Colors With FXColor //30th Square In SimpleDiagnosticsClass.java
	public Color get() { return fxColor; }
}
