
	var MODE_TEST        =  -1;
	var MODE_NORMAL      =   1;

	var MODE_BLURB       =   3;
	var MODE_THINK       =   4;
	var MODE_TAX         =   5;

	var DEFAULT_MODE = MODE_NORMAL;  // change this for diff startup

    var LINE_CENTER = 8;
    var LINE_LEFT   = 4;
    var LINE_RIGHT  = 12;

    var C_BLURB    = 2;
    var C_OVERHEAD = 2;
    var C_HEAD     = 3;
    var C_BROW     = 4;
    var C_EYES     = 5;
    var C_MOUTH    = 6;
    var C_TAX      = 9;

    var C_FOREHEAD = C_HEAD; // use this to indicate where brow is.

	var blurbs; // this is the collection of blurbs from tax file.

	var choochoo = new Array();
	var choo_timeouts = new Array();

	var scroll_to;

	var spmsg = null;
	var credits = null;
	var credit_timeout;

	var loading = true;

	var credits_count = 0;

	function roll_credits(){
		start();
		credit_timeout = setTimeout("add_br()", 10);
	}

	function add_br(){

	    clearTimeout(credit_timeout);

		if (credits_count < 15) {
			credits.innerHTML = "<br /><br /><br />" + credits.innerHTML;
			credit_timeout = setTimeout("add_br()", 100);
			credits_count += 1;
		}
	}

	function start(number_of_chews, default_behavior){

		loading = true;

		if (number_of_chews == undefined) number_of_chews = 1;
		if (default_behavior != undefined) DEFAULT_MODE = default_behavior;

		for (i = 0; i < choo_timeouts.length; i ++){
			if (choo_timeouts[i]) clearTimeout(choo_timeouts[i]);
		}

		if (!spmsg) {
			spmsg = document.getElementById("special_message");

		    if (spmsg) {
				spmsg.innerHTML = "";

				//var crate = document.getElementById("so_crates");
		        //var c_tbody = document.getElementsByTagName("TBODY");

				//for (i = 0; i < c_tbody.length; i++){
				//	if (c_tbody[i].parentNode.id == crate.id) {
				//		c_tbody[i].parentNode.removeChild(c_tbody[i]);
				//	}
				//}

				credits = document.getElementById("credits");

                if (credits) {
				    credit_timeout = setTimeout("roll_credits()", 0);
				    return;
				}
		    }
	    }

		choochoo = new Array();
		choo_timeouts = new Array();

        // clear_balls(); // removed for tax

        make_chewys(number_of_chews);
        // make_ball(10); // removed for tax

        document.documentElement.scrollTop = 0;

        loading = false;
	}

	function clear_balls(){
		var balls = document.getElementsByTagName("SPAN");

		for (i = 0; i < balls.length; i ++){
			if (balls[i].id.indexOf("ball") == 0){
				balls[i].parentNode.removeChild(balls[i]);
			}
		}
	}

	function make_ball(speed){

		if (window.top != window) return;

		var ball = document.createElement("SPAN");
		var ball_inside = document.createElement("SPAN");
		var body_doc = document.getElementsByTagName("BODY");

		ball.appendChild(ball_inside);
		ball.setAttribute("id", "ball");
		ball.className= "ball";

		body_doc[0].appendChild(ball);

		choochoo[choochoo.length] = new ball_personality(ball, choochoo.length);
		choochoo[choochoo.length -1].speed = speed;

		return(choochoo[choochoo.length -1]);
	}

	function make_chewys(number_of_chews){

		var chewys = document.getElementsByTagName("A");

		for (i = 0; i < chewys.length; i ++){
			if (chewys[i].id.indexOf("_chewys") == 0){
				if (chewys[i].id == "_chewys" + number_of_chews) chewys[i].className = "the_links_sel";
				else chewys[i].className = "the_links";
			}
		}
		rebuild_crate(number_of_chews);
    }

	function rebuild_crate(number_of_chews){

		var crate = document.getElementById("so_crates");

		var i_across = 3;
		var i_count  = 0;

		var c_tbody = null;
		var c_row   = null;
		var c_cell  = null;
		var c_span  = null;
		var c_br    = null;
		var c_x     = null;

		if (number_of_chews == 4)   i_across = 2;
		if (number_of_chews == 16)  i_across = 4;
		if (number_of_chews == 25)  i_across = 5;

		c_tbody = document.getElementsByTagName("TBODY");

		for (i = 0; i < c_tbody.length; i++){
			if (c_tbody[i].parentNode.id == crate.id) {
				c_tbody[i].parentNode.removeChild(c_tbody[i]);
			}
	    }

		c_tbody = document.createElement("TBODY");

		crate.appendChild(c_tbody);

		while(i_count < number_of_chews){
			c_row = document.createElement("TR");
			c_tbody.appendChild(c_row);

			for (k = 0; k < i_across; k++){

				c_cell = document.createElement("TD");
				c_cell.setAttribute ("id", "chewy_pic" + (i + 1));

				choochoo[choochoo.length] = new chewy(c_cell, choochoo.length, DEFAULT_MODE);

				c_row.appendChild(c_cell);

				for (j = 0; j < 11; j++){
					c_span  = document.createElement("SPAN");

					c_span.setAttribute((document.all?"className":"class"),"liner");

					c_br = document.createElement("BR");

					c_cell.appendChild(c_span);
					c_cell.appendChild(c_br);

				}


				i_count += 1;
				if (i_count == number_of_chews) break;
			}
		}
	}

	function super_duper (index, prog, delay){
		if (loading) return;
		if (choo_timeouts[index]) clearTimeout(choo_timeouts[index]);
		choo_timeouts[index] = setTimeout("choochoo[" + index + "]." +  prog, delay);
	}

	function super_looper(index){
		if (loading) return;
		if (!choochoo[index]) return;
		choochoo[index].super_looper();
	}

	function db(msg){
		// spmsg.innerHTML = msg + "<br />" + spmsg.innerHTML;
	}



