 
     	var RAND = 3;
	var RAND1 = 4;
	var CONTROL = 1;
	var t = 0;
	var DIRECTIONS = "DIRECTIONS: Name the shape which completes each pattern.";
	var DIRECTIONS1 = "DIRECTIONS: Write the missing number.";
	var LINE = "1. _______________  2. _______________  3. ______________";
     	var CORRECT = "";
	PLACE1 = new Array (" ","circle","hexagon","square","triangle")

      	function GetShape() 
	{
		NUMBER = Math.random() * RAND + CONTROL;
        	 NUMBER = Math.round (NUMBER);
		NUMBER1 = Math.random() * RAND + CONTROL;
        	 NUMBER1 = Math.round (NUMBER1);
		NUMBER2 = Math.random() * RAND + CONTROL;
        	 NUMBER2 = Math.round (NUMBER2);
		NUMBER3 = Math.random() * RAND + CONTROL;
        	 NUMBER3 = Math.round (NUMBER3);
		t++;
		if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
		{
			NUMBER = Math.random() * RAND + CONTROL;
        		 NUMBER = Math.round (NUMBER);
			NUMBER1 = Math.random() * RAND + CONTROL;
        		 NUMBER1 = Math.round (NUMBER1);
			NUMBER2 = Math.random() * RAND + CONTROL;
        		 NUMBER2 = Math.round (NUMBER2);
			NUMBER3 = Math.random() * RAND + CONTROL;
        		 NUMBER3 = Math.round (NUMBER3);
			if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
			{
				NUMBER = Math.random() * RAND + CONTROL;
        			 NUMBER = Math.round (NUMBER);
				NUMBER1 = Math.random() * RAND + CONTROL;
        			 NUMBER1 = Math.round (NUMBER1);
				NUMBER2 = Math.random() * RAND + CONTROL;
        			 NUMBER2 = Math.round (NUMBER2);
				NUMBER3 = Math.random() * RAND + CONTROL;
        			 NUMBER3 = Math.round (NUMBER3);
			}
		}
        	document.SHAPE.src = SHAPES[NUMBER];
		document.SHAPE1.src = SHAPES[NUMBER1];
        	document.SHAPE2.src = SHAPES[NUMBER2];
		document.SHAPE3.src = SHAPES[NUMBER3];
		document.SHAPE4.src = SHAPES[NUMBER];
		document.SHAPE5.src = SHAPES[NUMBER1];
		document.SHAPE6.src = SHAPES[NUMBER2];
		document.SHAPE7.src = SHAPES[NUMBER3];
        	document.SHAPE8.src = SHAPES[NUMBER];
		SELECT = Math.random() * RAND1 + CONTROL;
        	 SELECT = Math.round (SELECT);
		switch(SELECT)
		{
			case 1:
				document.SHAPE4.src = SHAPES[0];
				PLACE = NUMBER;
			break;
			case 2:
				document.SHAPE5.src = SHAPES[0];
				PLACE = NUMBER1;
			break;
			case 3:
				document.SHAPE6.src = SHAPES[0];
				PLACE = NUMBER2;
			break;
			case 4:
				document.SHAPE7.src = SHAPES[0];
				PLACE = NUMBER3;
			break;
			case 5:
				document.SHAPE8.src = SHAPES[0];
				PLACE = NUMBER;
			break;
		}
		CORRECT = CORRECT + "(" + t + ") " + PLACE1[PLACE] + " ";
      	}

      	function GetShape1() 
	{
		NUMBER = Math.random() * RAND + CONTROL;
        	 NUMBER = Math.round (NUMBER);
		NUMBER1 = Math.random() * RAND + CONTROL;
        	 NUMBER1 = Math.round (NUMBER1);
		NUMBER2 = Math.random() * RAND + CONTROL;
        	 NUMBER2 = Math.round (NUMBER2);
		NUMBER3 = Math.random() * RAND + CONTROL;
        	 NUMBER3 = Math.round (NUMBER3);
		t++;
		if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
		{
			NUMBER = Math.random() * RAND + CONTROL;
        		 NUMBER = Math.round (NUMBER);
			NUMBER1 = Math.random() * RAND + CONTROL;
        		 NUMBER1 = Math.round (NUMBER1);
			NUMBER2 = Math.random() * RAND + CONTROL;
        		 NUMBER2 = Math.round (NUMBER2);
			NUMBER3 = Math.random() * RAND + CONTROL;
        		 NUMBER3 = Math.round (NUMBER3);
			if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
			{
				NUMBER = Math.random() * RAND + CONTROL;
        			 NUMBER = Math.round (NUMBER);
				NUMBER1 = Math.random() * RAND + CONTROL;
        			 NUMBER1 = Math.round (NUMBER1);
				NUMBER2 = Math.random() * RAND + CONTROL;
        			 NUMBER2 = Math.round (NUMBER2);
				NUMBER3 = Math.random() * RAND + CONTROL;
        			 NUMBER3 = Math.round (NUMBER3);
			}
		}
        	document.SHAPE10.src = SHAPES[NUMBER];
		document.SHAPE11.src = SHAPES[NUMBER1];
        	document.SHAPE12.src = SHAPES[NUMBER2];
		document.SHAPE13.src = SHAPES[NUMBER3];
		document.SHAPE14.src = SHAPES[NUMBER];
		document.SHAPE15.src = SHAPES[NUMBER1];
		document.SHAPE16.src = SHAPES[NUMBER2];
		document.SHAPE17.src = SHAPES[NUMBER3];
        	document.SHAPE18.src = SHAPES[NUMBER];
		SELECT = Math.random() * RAND1 + CONTROL;
        	 SELECT = Math.round (SELECT);
		switch(SELECT)
		{
			case 1:
				document.SHAPE14.src = SHAPES[0];
				PLACE = NUMBER;
			break;
			case 2:
				document.SHAPE15.src = SHAPES[0];
				PLACE = NUMBER1;
			break;
			case 3:
				document.SHAPE16.src = SHAPES[0];
				PLACE = NUMBER2;
			break;
			case 4:
				document.SHAPE17.src = SHAPES[0];
				PLACE = NUMBER3;
			break;
			case 5:
				document.SHAPE18.src = SHAPES[0];
				PLACE = NUMBER;
			break;
		}
		CORRECT = CORRECT + "(" + t + ") " + PLACE1[PLACE] + " ";
      	}

      	function GetShape2() 
	{
		NUMBER = Math.random() * RAND + CONTROL;
        	 NUMBER = Math.round (NUMBER);
		NUMBER1 = Math.random() * RAND + CONTROL;
        	 NUMBER1 = Math.round (NUMBER1);
		NUMBER2 = Math.random() * RAND + CONTROL;
        	 NUMBER2 = Math.round (NUMBER2);
		NUMBER3 = Math.random() * RAND + CONTROL;
        	 NUMBER3 = Math.round (NUMBER3);
		t++;
		if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
		{
			NUMBER = Math.random() * RAND + CONTROL;
        		 NUMBER = Math.round (NUMBER);
			NUMBER1 = Math.random() * RAND + CONTROL;
        		 NUMBER1 = Math.round (NUMBER1);
			NUMBER2 = Math.random() * RAND + CONTROL;
        		 NUMBER2 = Math.round (NUMBER2);
			NUMBER3 = Math.random() * RAND + CONTROL;
        		 NUMBER3 = Math.round (NUMBER3);
			if (NUMBER == NUMBER1 && NUMBER == NUMBER2 && NUMBER == NUMBER3)
			{
				NUMBER = Math.random() * RAND + CONTROL;
        			 NUMBER = Math.round (NUMBER);
				NUMBER1 = Math.random() * RAND + CONTROL;
        			 NUMBER1 = Math.round (NUMBER1);
				NUMBER2 = Math.random() * RAND + CONTROL;
        			 NUMBER2 = Math.round (NUMBER2);
				NUMBER3 = Math.random() * RAND + CONTROL;
        			 NUMBER3 = Math.round (NUMBER3);
			}
		}
        	document.SHAPE20.src = SHAPES[NUMBER];
		document.SHAPE21.src = SHAPES[NUMBER1];
        	document.SHAPE22.src = SHAPES[NUMBER2];
		document.SHAPE23.src = SHAPES[NUMBER3];
		document.SHAPE24.src = SHAPES[NUMBER];
		document.SHAPE25.src = SHAPES[NUMBER1];
		document.SHAPE26.src = SHAPES[NUMBER2];
		document.SHAPE27.src = SHAPES[NUMBER3];
        	document.SHAPE28.src = SHAPES[NUMBER];
		SELECT = Math.random() * RAND1 + CONTROL;
        	 SELECT = Math.round (SELECT);
		switch(SELECT)
		{
			case 1:
				document.SHAPE24.src = SHAPES[0];
				PLACE = NUMBER;
			break;
			case 2:
				document.SHAPE25.src = SHAPES[0];
				PLACE = NUMBER1;
			break;
			case 3:
				document.SHAPE26.src = SHAPES[0];
				PLACE = NUMBER2;
			break;
			case 4:
				document.SHAPE27.src = SHAPES[0];
				PLACE = NUMBER3;
			break;
			case 5:
				document.SHAPE28.src = SHAPES[0];
				PLACE = NUMBER;
			break;
		}
		CORRECT = CORRECT + "(" + t + ") " + PLACE1[PLACE] + " ";
      	}

	function CreateNumber ()
	{   

     		var RAND = 9;
     		var RAND1 = 80;
     		var CONTROL1 = 80;
		t++;
		PLACE ="";
      	  	NUMBER1 = Math.random() * RAND;
	  	 NUMBER1 = Math.round(NUMBER1);
	  	NUMBER2 = Math.random() * RAND; 
	  	 NUMBER2 = Math.round(NUMBER2);
	  	NUMBER3 = Math.random() * RAND; 
	  	 NUMBER3 = Math.round(NUMBER3);
	  	NUMBER4 = Math.random() * RAND1 + CONTROL1;
	  	 NUMBER4 = Math.round(NUMBER4);
	  	PROBLEMLENGTH = Math.random() * 4 + 8;
	  	 PROBLEMLENGTH = Math.round(PROBLEMLENGTH);
 	  	CHOOSE = Math.random() * 7;
	  	 CHOOSE = Math.round(CHOOSE);
	    	switch (CHOOSE) {	
			case 0:
		   		QUESTION = "What is the next number in the pattern?";
		      		j = Math.random() * 4;
	   			 j = Math.round(j);
		    		PROBLEM = " "
		  		for (i = PROBLEMLENGTH; i > 0 ; i--) 
				{
		     			HOLD = NUMBER4 - j;  
		     			PROBLEM = PROBLEM + HOLD + "      ";
		     			NUMBER4 = HOLD;
	             			j++;
	             			PLACE = NUMBER4 -  j;
	           		}
				PROBLEM = PROBLEM + "___";
	   		break;
			case 1:
		  		QUESTION = "What is the next number in the pattern?";
		    		j = 0;
		    		PROBLEM = " ";
		  		for (i = 0; i < PROBLEMLENGTH; i++) 
				{
		     			HOLD = NUMBER1 + j;	  
		     			PROBLEM = PROBLEM + HOLD + "      "
		     			NUMBER1 = HOLD;
	             			j++;
	             			PLACE = NUMBER1 +  j;
	           		} 
				PROBLEM = PROBLEM + "___";   
	   		break;
			case 2:
		 		QUESTION = "What is the next number in the pattern?";
		    		j = Math.random() * 8;
	   	     		 j = Math.round(j);
		   		 PROBLEM = " ";
		  		for (i = PROBLEMLENGTH; i > 0 ; i--) 
				{
		     			HOLD = NUMBER4 - j;	  
		    			PROBLEM = PROBLEM + HOLD + "      ";
		     			NUMBER4 = HOLD;
	             			j--;
	             			PLACE = NUMBER4 - j;
	           		}
				PROBLEM = PROBLEM + "___";     
	   		break;
			case 3:
		 		QUESTION = "What is the next number in the pattern?";
		    		j = 0;
		    		SELECT = 0;
		    		PROBLEM = " ";
		  		for (i = 0; i < PROBLEMLENGTH; i++)
				{
		     			if (SELECT == 0) 
					{
		      		 		HOLD = NUMBER1 + NUMBER2;
		      			}	 
		      			else 
					{
		      				HOLD = NUMBER1 + NUMBER3
		      			}
		     				SELECT++;
	    	       			if (SELECT > 1) 
					{
			 			SELECT = 0;
					}	   
		     			PROBLEM = PROBLEM + HOLD + "      ";
		     			NUMBER1 = HOLD;
		      			if (SELECT == 0) 
					{
		       				PLACE = NUMBER1 + NUMBER2;
		      			}	 
		      			else 
					{
		       				PLACE = NUMBER1 + NUMBER3;
		      			}
	          		}
				PROBLEM = PROBLEM + "___";
	        	break;  
			case 4:
		  		QUESTION = "What number is missing?"
		     		x = PROBLEMLENGTH/2;
		     		 x = Math.round (x);
		    		SELECT = 0;
		    		PROBLEM = " ";
		  		for (i = 0; i < PROBLEMLENGTH; i++) 
				{
		     			if (SELECT == 0)
 					{
		       				HOLD = NUMBER1 + NUMBER2;
		      			}
		       			else 
					{	 
		       				HOLD = NUMBER1 + NUMBER3;
		      			}
		     			if (i == x)
					{
			  			PLACE = HOLD;
			  			HOLD = "___";	
		      			}
		      			SELECT++;
	    	       			if (SELECT > 1) 
					{
			 			SELECT = 0;
		      			}	   
		      			PROBLEM = PROBLEM + HOLD + "      ";
		     			if (HOLD == "___") 
					{
		       				HOLD = PLACE;
		      			} 
		     			NUMBER1 = HOLD;
	           		}
	        	break; 
			case 5:
		   		QUESTION = "What number is missing?";
		      		j = Math.random() * 4;
	   			 j = Math.round(j);
		      		x = PROBLEMLENGTH/2;
		      		  x = Math.round (x);
		    		PROBLEM = " "
		  		for (i = PROBLEMLENGTH; i > 0 ; i--) 
				{
		     			HOLD = NUMBER4 - j;
		     			NUMBER4 = HOLD;	  
		    			if (i == x)
					{
			  			PLACE = HOLD
			  			HOLD = "___";
					}
		     			PROBLEM = PROBLEM + HOLD + "      ";	     
	             			j++;
	           		}  	    
	   		break;
			case 6:
		  		QUESTION = "What number is missing?"; 
		    		x = PROBLEMLENGTH/2;
		     		 x = Math.round (x); 
		    		j = 0;
		    		PROBLEM = " ";
		  		for (i = 0; i < PROBLEMLENGTH; i++) 
				{
		     			HOLD = NUMBER1 + j;
		     			NUMBER1 = HOLD ;
					if (i == x)
					{
			  			PLACE = HOLD;
			  			HOLD = "___";
					} 
		     			PROBLEM = PROBLEM + HOLD + "      ";	     
	             			j++;
	          		 }    
	   		break;
	        	case 7:
		 		QUESTION = "What number is missing?";
		  		if (PROBLEMLENGTH < 5) 
				{
		     			PROBLEMLENGTH = PROBPEMLENGTH + 4;
	            		}
		    		j = Math.random() * 8;
	   	     		 j = Math.round(j);
		    		x = PROBLEMLENGTH/2;
		     		 x = Math.round (x); 
		   	 	PROBLEM = " ";
		  		for (i = PROBLEMLENGTH; i > 0 ; i--)
 				{
		    			HOLD = NUMBER4 - j;
		    			NUMBER4 = HOLD;	
		    			if (i == x)
					{
			  			PLACE = HOLD;
			  			HOLD = "___";
					}  
		     			PROBLEM = PROBLEM + HOLD + "      ";
	             			j--;
	           		}     
	   		break; 
	        }
		CORRECT = CORRECT + "(" + t + ") " + PLACE + " ";
		PROBLEM = t + ") " + PROBLEM;
	}






