
     	var NOUNSNUMBER = 27;
	var OBJECTSNUMBER = 11;
	var VERBACQUIRE = 7;
	var VERBGIVEAWAY = 8;
	var TIMENUMBER = 3;
	var MONTH = 11;
	var DAY = 6;
	var BLANK = " ";
	var VALUE1 = 2;
	var c = 0;
	var LINE = "_____________________";
	TIME = new Array (" ","day","week","month","year");
	TIME1 = new Array (" ","day","week");
	TIME2 = new Array (" ","month","year");
	VERBGET = new Array (" ","bought ","purchased ","acquired ","received ","was given ","gained ","obtained ","secured ");
	VERBGIVE =new Array (" ","gave ","traded ","lost ","sold ","transferred ","awarded ","bestowed ","donated ","gave away ");
	AMOUNT = new Array (100,1000,10000,.1);
	AMOUNT1 = new Array ("100","1,000","10,000",".1");
	MONTHS = new Array ("","January","February","March","April","May","June","July","August","September","October","November","December");
	DAYS = new Array ("","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	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","baseball cards","magazines","football cards","tickets","pencils","stamps","trucks","pamphlets","pens");
	OBJECT2 = new Array ("","cat","dog","turkey","chicken","rabbit","snake","pig","lamb","kitten","rooster","puppy")
     	CORRECT= new Array (12);

	function CreateNumber ()
	{
		c++;
		if (c == 1)
		{
	  		SELECT = Math.random() * 1 + 1;
	  		 SELECT = Math.round(SELECT);
	  		SENTENCE = Math.random() * 2;
	  		 SENTENCE = Math.round(SENTENCE);
	  		n = Math.random() * NOUNSNUMBER + 1;
	 		 n = Math.round(n);
			var RAND = 88880;
			var CONTROL = 10000;
			PRONOUN = "he";
             		PRONOUN1 = "He";
			PRONOUN2 = "His";
	   		if (n/2 == Math.round(n/2))
			{
	     			PRONOUN = "she";
				PRONOUN1 = "She";
				PRONOUN2 = "Her";
	    		}
			NOUN = NOUNS [n];
			t = Math.random() * TIMENUMBER + 1;
			 t = Math.round(t);
			t1 = Math.random() * 1 + 1;
			 t1 = Math.round(t1);
			t2 = Math.random() * 1 + 1;
			 t2 = Math.round(t2);
			vg = Math.random() * VERBACQUIRE + 1;
			 vg = Math.round(vg);
			va = Math.random() * VERBGIVEAWAY + 1;
			 va = Math.round(va);
			a = Math.random() * VALUE1;
			 a = Math.round(a);
			o = Math.random() * OBJECTSNUMBER + 1;
			 o = Math.round(o);
			d = Math.random() * DAY + 1;
			 d = Math.round(d);
			m = Math.random() * MONTH + 1;
			 m = Math.round(m);
			NUMBER = Math.random() * RAND + CONTROL;
			 NUMBER = Math.round(NUMBER);
			SetComma(); 
     			if (SELECT == 1) 
			{
				NUMBER1 = VALUE;
	  			PLACE = NUMBER + AMOUNT[a];
				NUMBER = PLACE;
				SetComma();
				PLACE = VALUE;
				switch(SENTENCE)
				{
					case 0:
	  					PROBLEM = NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME[t] + " later " + PRONOUN  + "  " +  "    " + VERBGET[vg] + AMOUNT1[a] + " more. How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
					break;
					case 1:
	  					PROBLEM = "By " + DAYS[d] + " " + NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME1[t1] + " later " + PRONOUN  + "  " +  "    " + VERBGET[vg] + AMOUNT1[a] + " more. How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
        				break;
					case 2:
	  					PROBLEM = "By " + MONTHS[m] + " " + NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME2[t2] + " later " + PRONOUN  + "  " +  "    " + VERBGET[vg] + AMOUNT1[a] + " more. How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
					break;
				}
			}
      			if (SELECT == 2) 
			{
				NUMBER1 = VALUE;
				if(AMOUNT[a] >= NUMBER)
				{
					NUMBER = NUMBER + AMOUNT[a];
				}
				PLACE = NUMBER - AMOUNT[a];
				NUMBER = PLACE;
				SetComma();
				PLACE = VALUE;
				switch(SENTENCE)
				{
					case 0:
	  					PROBLEM = NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME[t] + " later " + PRONOUN  + "  " +  "    " + VERBGIVE[va] + AMOUNT1[a] + ". How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
					break;
					case 1:
	  					PROBLEM = "By " + DAYS[d] + " " + NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME1[t1] + " later " + PRONOUN  + "  " +  "    " + VERBGIVE[va] + AMOUNT1[a] + ". How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
        				break;
					case 2:
	  					PROBLEM = "By " + MONTHS[m] + " " + NOUN + " had "  + NUMBER1 + " " + OBJECT1[o] + ". A " + TIME2[t2] + " later " + PRONOUN  + "  " +  "    " + VERBGIVE[va] + AMOUNT1[a] + ". How many " +OBJECT1[o] + " does " + PRONOUN + " have?";
					break;
				}
      			}
		}
		else
		{
			RAND = 78;
			 CONTROL = 20;
			NUMBER = Math.random() * RAND + CONTROL;
			 NUMBER = Math.round(NUMBER);
	  		SELECT = Math.random() * 1 + 1;
	  		 SELECT = Math.round(SELECT);
	  		n = Math.random() * NOUNSNUMBER + 1;
	 		 n = Math.round(n);
			PRONOUN = "he";
             		PRONOUN1 = "He";
			PRONOUN2 = "His";
	   		if (n/2 == Math.round(n/2))
			{
	     			PRONOUN = "she";
				PRONOUN1 = "She";
				PRONOUN2 = "Her";
	    		}
			NOUN = NOUNS [n];
			o = Math.random() * OBJECTSNUMBER + 1;
			 o = Math.round(o);
     			if (SELECT == 1) 
			{
				NUMBER2 = NUMBER + 1;
				NUMBER1 = NUMBER / 10;
				PLACE = NUMBER2 / 10;		
				PROBLEM = NOUN + "'s " +  OBJECT2[o] +" weighted "  + NUMBER1 + " pounds. It gained .1 of a pound. How much does it weigh now?";
			}
      			if (SELECT == 2) 
			{
				NUMBER2 = NUMBER - 1;
				NUMBER1 = NUMBER / 10;
				PLACE = NUMBER2 / 10;
				PROBLEM = NOUN + "'s " +  OBJECT2[o] +" weighted "  + NUMBER1 + " pounds. It lost .1 of a pound. How much does it weigh now?";
      			}
		}
		CORRECT[c] = PLACE;
	}

	function SetComma ()
	{
	   	SNUMBER = BLANK + NUMBER;
            	INDEX = SNUMBER.length;
	     	sNUMBER = SNUMBER.substring (1,INDEX);
	      	sINDEX = sNUMBER.length;
		VALUE = sNUMBER.substring (0,sINDEX-3) + "," +sNUMBER.substring(sINDEX-3,sINDEX);
	}

	function CreateNumber1 ()
	{
     		var RAND =   8880; 
    		var CONTROL =  1000;
		var BLANK = " ";
		c++;
		for (i = 1; i < 2; i++)
		{
      	  		NUMBER = Math.random() * RAND + CONTROL;
	  		 NUMBER = Math.round(NUMBER);
      	  		NUMBER1 = Math.random() * 6 + 1;
	  		 NUMBER1 = Math.round(NUMBER1);
	   		SNUMBER = BLANK + NUMBER;
	   		W = SNUMBER.substring (1,2);
	   		X = SNUMBER.substring (2,3);
	  		Y = SNUMBER.substring (3,4);
	  		Z = SNUMBER.substring (4,5);
			NUMBER = W +"," + X + Y + Z;
			if (Y == 0 || Z == 0)
			{
				i = 0;
			}
			if (Y == Z || Y == X || Z == X ||W == Y || W == Z || W == X)
			{
				i = 0;
			}
      	  		SELECT = Math.random() * 3;
	  		 SELECT = Math.round(SELECT);
			switch(SELECT)
			{
				case 0:
					if (Z <= NUMBER1)
					{
						i = 0;
					}
					else
					{
						DIGIT = Z;
						PLACE = Z - NUMBER1;
					}
				break;
				case 1:
					if (Y <= NUMBER1)
					{
						i = 0;
					}
					else
					{
						DIGIT = Y;
						PLACE = (Y - NUMBER1) * 10;
					}
				break;
				case 2:
					if (X <= NUMBER1)
					{
						i = 0;
					}
					else
					{
						DIGIT = X;
						PLACE = (X - NUMBER1) * 100;
					}
				break;
				case 3:
					if (W <= NUMBER1)
					{
						i = 0;
					}
					else
					{
						DIGIT = W;
						PLACE = (W - NUMBER1) * 1000;
					}
				break;
			}
		}
		PROBLEM = "The value of " + NUMBER + " would change by how much if the " + DIGIT + " was replaced by a " + NUMBER1 + "?";
		CORRECT[c] = PLACE;
	}

	function CreateNumber2 ()
	{
     		var RAND =   860; 
    		var CONTROL =  100;
		var BLANK = " ";
     		PLACENAMES = new Array (" ","hundreds","tens","ones","thousands");
		c++;
      	  	NUMBER = Math.random() * RAND + CONTROL;
	  	 NUMBER = Math.round(NUMBER);
	    	X = Math.random() * 2 + 1;
	     	 X = Math.round (X);
	   	SNUMBER = BLANK + NUMBER;
		VAL = SNUMBER.substring(X,X+1)
            	INDEX = SNUMBER.length;
	     	sNUMBER = SNUMBER.substring (1,INDEX);
	      	sINDEX = sNUMBER.length;
		PLACEVALUE = sNUMBER;
		PLACE = PLACENAMES[X];
		switch(X)
		{
			case 1:
				MARK = "^**";
	  			PLACE = VAL + "00";
			break;
			case 2:
				MARK = "*^*";
	  			PLACE = VAL + "0";
			break;
			case 3:
				MARK = "**^";
	  			PLACE = VAL;
			break;
		}
	 	if (VAL == "0")
		{
	  		PLACE = "0";
	 	}
		CORRECT[c] = PLACE;
	}


	function CreateNumber3()
	{
		var TITLE = "Circle the expanded notation which means ";
     		HOLDER = new Array ("","a) ","b) ","c) ","d) ");
     		ANSWER = new Array (" "," "," "," "," ");
	  	i = Math.random() * 3 + 1;
	  	 i = Math.round(i);
		z = i;
		c++;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
		x = i;
		i++;
		 if (i > 4) 
		{ 
			i = 1;
		}
		y = i;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
		w = i;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
	  	a = Math.random() * 5 + 2;
	    	 a = Math.round(a);
	    	b = Math.random() * 5 + 2;
	    	 b = Math.round(b);
		if(a == b)
		{
		  	a++;
		}
	    	c1 = Math.random() * 6 + 2;
	    	 c1 = Math.round(c1);
		if(a == c1)
		{
		  	a++;
		}
		if(c1 == b)
		{
		  	c1--;
		}
	    	d = Math.random() * 7 + 2;
	     	d = Math.round(d);
		if(d == a || d == b || d == c1) 
		{
		  	d = 1;
		}
	     	ANSWER[w] = a + "000  + " + b + "00 + " + c1 + "0 + " + d;
	     	ANSWER[x] = a + "000 + " + b + "00 + " + c1 + "0 + " + d + "0";
	     	ANSWER[y] = a + "00 + " + b + "0 + " + c1 + "00 + " + d;
	     	ANSWER[z] = a + "00 + " + b + "00 + " + c1 + "0 + " + d+ "0";
	    	PLACEVALUE = " "+ a +"," + b + c1 + d + "?";
	    	CORRECT[c] = HOLDER[w] + ANSWER[w];
		PROBLEM = c + ". " + TITLE + PLACEVALUE;
		HOLD = "&nbsp;&nbsp" + "a) " + ANSWER[1] + " " + "&nbsp;&nbsp;&nbsp;&nbsp;"  + "b) " + ANSWER[2] + "&nbsp;&nbsp;&nbsp;" + "c) " + ANSWER[3] + " " + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + "d) " + ANSWER[4];
       	}

	function CreateNumber4 ()
	{
     		var TITLE = "Circle the number which means ";
     		ANSWER = new Array (" "," "," "," "," ");
	  	i = Math.random() * 3 + 1;
	  	 i = Math.round(i);
		z = i;
		c++;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
		x = i;
		i++;
		 if (i > 4) 
		{ 
			i = 1;
		}
		y = i;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
		w = i;
		i++;
	 	if (i > 4) 
		{ 
			i = 1;
		}
	  	a = Math.random() * 5 + 2;
	    	 a = Math.round(a);
	    	b = Math.random() * 5 + 2;
	    	 b = Math.round(b);
		if(a == b)
		{
		  	a++;
		}
	    	c1 = Math.random() * 6 + 2;
	    	 c1 = Math.round(c1);
		if(a == c1)
		{
		  	a++;
		}
		if(c1 == b)
		{
		  	c1--;
		}
	    	d = Math.random() * 7 + 2;
	     	d = Math.round(d);
		if(d == a || d == b || d == c1) 
		{
		  	d = 1;
		}
	     	ANSWER[w] = " " + a + "," + b + c + d;
	     	ANSWER[x] = " " + a + "," + b + d + c;
	     	ANSWER[y] = " " + a + "," + c + b + d;
	     	ANSWER[z] = " " + b + "," + a + c + d;
	    	PROBLEM = c + ". " + TITLE + "(" + a + " x 1000) + (" + b + " x 100) + ("  + c + " x 10) + " + d +"?";
	    	CORRECT[c] = HOLDER[w] + ANSWER[w];
		HOLD = "&nbsp;&nbsp;&nbsp;&nbsp;" + "a) " + ANSWER[1] + " " + "&nbsp;&nbsp;&nbsp;&nbsp;"  + "b) " + ANSWER[2] +  " " + "&nbsp;&nbsp;&nbsp;&nbsp;" + "c) " + ANSWER[3] + " " + "&nbsp;&nbsp;&nbsp;&nbsp;" + "d) " + ANSWER[4];
       	}

