 

     	var NOUNSNUMBER = 27;
     	var OBJECTSNUMBER = 10;
     	var RAND = 8800;
     	var CONTROL = 1000;
     	var RAND1 = 6;
     	var CONTROL1= 3;
     	var PLACE1 = 0;
	var LINE = "__________";
	var t = 0;
	var DIRECTIONS1 = "DIRECTIONS: Solve each word problem."
	PROBLEM = new Array (6)
	OPERATION = new Array (6)
     	NOUNS = new Array ("","Robert","Joan","George","Jane","Tommy","Samantha","Donald","Betty","Eric","Erica","Steven","Stephanie","Ronald","Ricki","Tommy","Toni","Brian","Roberta","James","Ann","Josh","Brittany","Chris","Christine","Kevin","Judy","Carl","Erin")
     	OBJECT1 = new Array ("","cars","hockey cards","books","marigolds","oaks","tomatoes","pliers","pencils","stamps","forks","plates")
     	OBJECT2 = new Array ("","buses","baseball cards","magazines","impatients","maples","peppers","saws","pens","envelopes","knives","pots")
     	OBJECT3 = new Array ("","trucks","football cards","pamphlets","salvia","pines","cucumbers","hammers","tablets","boxes","spoons","pans")

	function CreateNumber ()
	{
	  	SELECT = Math.random() * 7 + 1;
	  	 SELECT = Math.round(SELECT);
	  	SENTENCE = Math.random() * 1;
	  	 SENTENCE = Math.round(SENTENCE);  
	  	n = Math.random() * NOUNSNUMBER + 1;
	  	 n = Math.round(n);
	  	o = Math.random() * OBJECTSNUMBER + 1;
	  	 o = Math.round(o);
		t++;
      	  	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() * RAND1 + CONTROL1;
	 	 NUMBER3 = Math.round(NUMBER3);
		NOUN = NOUNS [n];
		PRONOUN = "he";
             	PRONOUN1 = "He";
	   	if (n/2 == Math.round(n/2))
		{
	     		PRONOUN = "she";
			PRONOUN1 = "She";
	    	}
		if(NUMBER1 >= NUMBER) 
		{
	     	   	NUMBER2 = Math.random() * RAND + CONTROL;
	      	   	 NUMBER2 = Math.round(NUMBER2);
	     	   	NUMBER = NUMBER1 + NUMBER2;
		}
	  	NUMBER4 = NUMBER * NUMBER3;
	  	NUMBER5 = NUMBER + NUMBER1 + NUMBER2; 
		if (SELECT == 4) 
		{
	   		NUMBER5 = (NUMBER * NUMBER3) + NUMBER5;
	   	}
	  	MONEY = NUMBER /100;
	  	HOLD = Math.round (MONEY);
	  	MONEY = "$" + MONEY;
	  	if (MONEY.length == 5) 
		{
	      		MONEY = MONEY + "0";
	   	}
	  	if (MONEY.length == 6 && NUMBER < 1000) 
		{
	      		MONEY = MONEY + "0";
	   	}	
	  	if (MONEY.length == 6 && NUMBER > 9999) 
		{
	      		MONEY = MONEY + "0";
	   	}
	  	if (MONEY.length == 3) 
		{
	      		MONEY = MONEY + ".00";
           	}	
	  	if (MONEY.length == 4) 
		{
	      		MONEY = MONEY + ".00";
           	}
	  	if (NUMBER/100 > 999.99) 
		{
	       		HOLD1 = "$" + MONEY.charAt(1) + "," + MONEY.substring (2,9);
   	       		MONEY = HOLD1;
	      	}
		if (NUMBER/100 > 999.99 && HOLD1.length == 8) 
		{
	       		MONEY = HOLD1 + "0";
	   	}
		NUMBER = HOLD;
		MONEY1 = NUMBER1 /100;
		HOLD = Math.round (MONEY1);
		MONEY1 = "$" + MONEY1;
	  	if (MONEY1.length == 5) 
		{
	      		MONEY1 = MONEY1 + "0";
	   	}
	  	if (MONEY1.length == 6 && NUMBER1 < 1000) 
		{
	      		MONEY1 = MONEY1 + "0";
	   	}
	  	if (MONEY1.length == 6 && NUMBER1 > 9999) 
		{
	      		MONEY1 = MONEY1 + "0";
	   	}
	  	if (MONEY1.length == 3) 
		{
	      		MONEY1 = MONEY1 + ".00";
           	}	
	  	if (MONEY1.length == 4) 
		{
	      		MONEY1 = MONEY1 + ".00";
           	}
	  	if (NUMBER1/100 > 999.99) 
		{
	       		HOLD1 = "$" + MONEY1.charAt(1) + "," + MONEY1.substring (2,9);
   	       		MONEY1 = HOLD1;
	      	}
	  	if (NUMBER1/100 > 999.99 && HOLD1.length == 8) 
		{
	       		MONEY1 = HOLD1 + "0";
	   	}
	 	NUMBER1 = HOLD;
		MONEY2 = NUMBER2 /100;
		HOLD = Math.round (MONEY2);
		MONEY2 = "$" + MONEY2;
	  	if (MONEY2.length == 5) 
		{
	      		MONEY2 = MONEY2 + "0";
	  	}
	  	if (MONEY2.length == 6 && NUMBER2 < 1000) 
		{
	      		MONEY2 = MONEY2 + "0";
	   	}
	  	if (MONEY2.length == 6 && NUMBER2 > 9999) 
		{
	      		MONEY2 = MONEY2 + "0";
	   	}
	  	if (MONEY2.length == 4) 
		{
	      		MONEY2 = MONEY2 + ".00";
           	}
	  	if (MONEY2.length == 3) 
		{
	      		MONEY2 = MONEY2 + ".00";
           	}
	  	if (NUMBER/100 > 999.99) 
		{
	       		HOLD1 = "$" + MONEY2.charAt(1) + "," + MONEY2.substring (2,9)
   	       		MONEY2 = HOLD1;
	   		}
	  	if (NUMBER2/100 > 999.99 && HOLD1.length == 8) 
		{
	       		MONEY2 = HOLD1 + "0";
	   	}
	 	NUMBER2 = HOLD;
		MONEY4 = NUMBER4 /100;
		HOLD = Math.round (MONEY4);
		MONEY4 = "$" + MONEY4;
	  	if (MONEY4.length == 5) 
		{
	      		MONEY4 = MONEY4 + "0";
	   	}
	  	if (MONEY4.length == 6 && NUMBER4 < 1000) 
		{
	      		MONEY4 = MONEY4 + "0";
	   	}
	  	if (MONEY4.length == 6 && NUMBER4 > 9999) 
		{
	      		MONEY4 = MONEY4 + "0";
	   	}
	  	if (MONEY4.length == 4) 
		{
	      		MONEY4 = MONEY4 + ".00";
           	}
	  	if (MONEY4.length == 3) 
		{
	      		MONEY4 = MONEY4 + ".00";
           	}	
	  	if (NUMBER4/100 > 999.99) 
		{
	       		HOLD1 = "$" + MONEY4.charAt(1) + "," + MONEY4.substring (2,9);
   	       		MONEY4 = HOLD1;
	      	}
	  	if (NUMBER4/100 > 999.99 && HOLD1.length == 8) 
		{
	       MONEY4 = HOLD1 + "0";
	   	}
	 	NUMBER4 = HOLD; 
		MONEY5 = NUMBER5 /100;
		HOLD = Math.round (MONEY5);
		MONEY5 = "$" + MONEY5;
	  	if (MONEY5.length == 5) 
		{
	      		MONEY5 = MONEY5 + "0";
	   	}
	  	if (MONEY5.length == 6 && NUMBER5< 1000) 
		{
	      		MONEY5 = MONEY5 + "0";
	   	}
	  	if (MONEY5.length == 6 && NUMBER5 > 9999) 
		{
	      		MONEY5 = MONEY5 + "0";
	   	}
	  	if (MONEY5.length == 4) 
		{
	      		MONEY5 = MONEY5 + ".00";
           	}
	  	if (MONEY5.length == 3) 
		{
	      		MONEY5 = MONEY5 + ".00";
           	}	
	  	if (NUMBER5/100 > 999.99) 
		{
	       		HOLD1 = "$" + MONEY5.charAt(1) + "," + MONEY5.substring (2,9);
   	       		MONEY5 = HOLD1;
	      	}
	  	if (NUMBER5/100 > 999.99 && HOLD1.length == 8) 
		{
	       		MONEY5 = HOLD1 + "0";
	   	}
	 	NUMBER5 = HOLD;

  //add-subtract

		switch(SELECT)
		{
			case 0:
			break;
			case 1:
	  			PROBLEM[t] = NOUN + " spent " + MONEY + " for " + OBJECT1 [o] + " and " + MONEY1 + " for " + OBJECT2 [o]+ ". " + PRONOUN1 + " started with " +  MONEY5 +". ABOUT how much did " + PRONOUN  + " have left?"; 
	  			PLACE1 = NUMBER5 - (NUMBER + NUMBER1);  
	  			SetPlace();
	  			OPERATION[t] = "$" + NUMBER5 + " - ($" + NUMBER + " + $" + NUMBER1 + " ) = " + PLACE;
	 		break;
  //add-add
     			case 2:
	  			PROBLEM[t] = NOUN + " spent " + MONEY + " for " + OBJECT1 [o] + " and " + MONEY1 + " for " + OBJECT2 [o]+ ". " + PRONOUN1 + " had " +  MONEY2 +" left. ABOUT how much did " + PRONOUN  + " start with?"; 
	  			PLACE1 = NUMBER + NUMBER1 + NUMBER2;
	  			SetPlace();
	  			OPERATION[t] = "$" + NUMBER + " + $" + NUMBER1 + " + $" + NUMBER2 + " = " + PLACE;
			break;

  //add-multiply
   			case 3:
	   			PROBLEM[t] = "At the mall " +  OBJECT1[o] + " cost " + MONEY  +  " each and " + OBJECT2[o] + " "  + MONEY1 + " each. " + NOUN  + " purchased " + NUMBER3 + " of each. ABOUT how much did "+ PRONOUN + " spend?"   
	   			PLACE1 =(NUMBER + NUMBER1) * NUMBER3;
	   			SetPlace();
	   			OPERATION[t] = "($" + NUMBER + " + $" + NUMBER1 + ") x " + NUMBER3 + " = " + PLACE;
			break;  
  //multiply-subtract
			case 4:
	   			PROBLEM[t] = NOUN + " bought " + NUMBER3 +" " +  OBJECT3 [o]+" " + MONEY + " each. " + PRONOUN1 + " started with " + MONEY5 + ". ABOUT how much did " + PRONOUN + " have left?";  
	   			PLACE1 =  NUMBER5 - (NUMBER * NUMBER3);
	   			SetPlace();
	  		 	OPERATION[t] = "$" + NUMBER5 + " - ($" + NUMBER + " x " + NUMBER3 + " ) = " + PLACE;  
			break;
  //subtract-subtract
			case 5:
	   			PROBLEM[t] = NOUN + " had " + MONEY5 + ". " + PRONOUN1 + " spent " + MONEY + " for " + OBJECT1 [o]  + " and " + MONEY1 + " for " + OBJECT3[o]  + ". ABOUT how much money does " + PRONOUN + " have left?";  
	   			PLACE1 =  NUMBER5 - (NUMBER + NUMBER1);
	   			SetPlace();
	   			OPERATION[t] = "($" + NUMBER5 + " - $" + NUMBER + ") - $" + NUMBER1 + " = " + PLACE;  
 			break;
  //add
			case 6: 
				if (SENTENCE == 0) 
				{
	  				PROBLEM[t] = NOUN + " paid " + MONEY + " for " + OBJECT1 [o] + ", " + MONEY1 + " for " + OBJECT2 [o] + " and "+ MONEY2 + " for " + OBJECT3 [o] +". ABOUT how much did " + PRONOUN  + " spend?"; 
	  				PLACE1 = NUMBER + NUMBER1 + NUMBER2;
	  				SetPlace();
  	  				OPERATION[t] = "$" + NUMBER + " + $" + NUMBER1 + " + $" + NUMBER2 + " = " + PLACE;
	  			}
				else 
				{
	  				PROBLEM[t] = NOUN + " spent " + MONEY + " for " + OBJECT2 [o] + " and "+ MONEY1 + " for " + OBJECT3 [o] +". ABOUT how much did " + PRONOUN  + " spend?"; 
	  				PLACE1 = NUMBER + NUMBER1;
	  				SetPlace();
	  				OPERATION[t] = "$" + NUMBER + " + $" + NUMBER1 + " = " + PLACE;
        			}
      			break;
  //subtract
			case 7:
	   			PLACE1 = NUMBER - NUMBER1;
	   			SetPlace();
	   			OPERATION[t] = "$" + NUMBER + " - $" + NUMBER1 + " = " + PLACE;
				if (SENTENCE == 0) 
				{
	  				PROBLEM[t] = NOUN + " had " + MONEY + ". " + PRONOUN1 + " spent " + MONEY1 + " for "+ OBJECT1[o]+ ". ABOUT how much money does " + PRONOUN + " have left? "   
				}
				else 
				{
	  				PROBLEM[t] = NOUN + " spent " + MONEY1 +" for " + OBJECT2 [o]+ ". " + PRONOUN1  + " had " + MONEY +  ". ABOUT how much money does " + PRONOUN  + "  have left?";
				}
 			break;
  //multiply
			case 8: 
	 			PLACE1 = NUMBER * NUMBER3;
	  			SetPlace(); 
	 	 		OPERATION[t] = "$" + NUMBER + " x " + NUMBER3 + " = " + PLACE; 
				if (SENTENCE == 0) 
				{
	  				PROBLEM[t] = NOUN + "  purchased " + NUMBER3 + " groups of " + OBJECT3 [o] + ". Each group cost " + MONEY + ". ABOUT how many did " + PRONOUN + " spend?";
				}
				else 
				{
	  				PROBLEM[t] =  "Each group of " + OBJECT1 [o] + " cost " + MONEY + ". " + NOUN + " bought " +  NUMBER3 + " groups. ABOUT how much did " + PRONOUN + " spend?";	
				}
			break;
		}
    	}

	function SetPlace ()
	{
	   	if (PLACE1 < 1000) 
		{
	    		 PLACE = "$" + PLACE1;
	    	}
	     	else 
		{	
	     	SNUMBER =" " + PLACE1;
              	INDEX = SNUMBER.length;
	     	sNUMBER = SNUMBER.substring (1,INDEX);
	      	sINDEX = sNUMBER.length;
	  	PLACE = sNUMBER.substring (sINDEX-6,sINDEX-3)+ "," + 
              	sNUMBER.substring(sINDEX-3,sINDEX);
	 	 PLACE = "$" + PLACE;
	  	}
        }