var r_count = new Number(0);
var c_count = new Number(0);
var t_count = new Number(0);
var s_count = new Number(0);

//#############################################################################
function load_graphics(source)
{
	var i = new Number();

	for(i = 101; i < 126; i++)
		for(r = 1; r < 5; r++)
			eval(   'g_'
                  + i
                  + '_'
                  + r
                  + ' = new Image(); g_'
                  + i
                  + '_'
                  + r
                  + '.src = "'
                  + source
                  + i
                  + '_t_'
                  + r
                  + '.jpg";'
                );
}

//#############################################################################
function change_graphics(source)
{
	for(i = 101; i < 126; i++)
		for(r = 1; r < 5; r++)
			eval(   'g_'
                  + i
                  + '_'
                  + r
                  + '.src = "'
                  + source
                  + i
                  + '_t_'
                  + r
                  + '.jpg";'
                );

	for(i = 101; i < 126; i++)
        eval(   'document.i_'
              + i
              + '.src = "'
              + source
              + i
              + '_t_1.jpg";'
            );
}


//#############################################################################
function shuffle_square()
{
	var i;
	var j;
	var square = new Array(26);

	for(i = 1; i < 26; i++)
		square[i] = 0;

	for(i = 101; i < 126; i++)
	{
		while(square[j = Math.ceil(Math.random() * 25)]){};
		square[j] = i;
	}

	for(i = 1; i < 26; i++)
	{
		eval(   "document.i_"
              + (100 + i)
              + ".src = g_"
		      + square[i]
              + "_"
			  + Math.ceil(Math.random() * 4)
              + ".src");
	}
	clear();
	stats();
}

//#############################################################################
function rotate_tile(tile)
{
	var X = new String();
	var r;
	var t;

	X = tile.src;

	r = X.charAt(X.length - 5);
	r++;
	if(r == 5)
		r = 1;

	t = X.substring(X.length - 11, X.length - 8);

	eval(   "document."
          + tile.name
          + ".src = g_"
	      + t
          + "_"
		  + r
          + ".src");

	t_count++;
	stats();
}

//#############################################################################
function swap_tiles()
{
	var x              = document.i_125.src;
	document.i_125.src = document.i_124.src;
	document.i_124.src = x;
	s_count++;
	stats();
}


//#############################################################################
function rotate_row_left(row)
{
	var X = new Image();

	eval("X.src = document.i_" + (100 + (row * 5 - 4)) + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 4))
          + ".src = document.i_"
	      + (100 + (row * 5 - 3))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 3))
          + ".src = document.i_"
	      + (100 + (row * 5 - 2))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 2))
          + ".src = document.i_"
	      + (100 + (row * 5 - 1))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 1))
          + ".src = document.i_"
	      + (100 + (row * 5))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5))
          + ".src = X.src");

	r_count++;
	stats();
}

//#############################################################################
function rotate_row_right(row)
{
	var X = new Image();

	eval("X.src = document.i_" + (100 + (row * 5)) + ".src");

	eval(   "document.i_"
          + (100 + (row * 5))
          + ".src = document.i_"
	      + (100 + (row * 5 - 1))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 1))
          + ".src = document.i_"
	      + (100 + (row * 5 - 2))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 2))
          + ".src = document.i_"
	      + (100 + (row * 5 - 3))
          + ".src");

	eval(   "document.i_"
          + (100 + (row * 5 - 3))
          + ".src = document.i_"
	      + (100 + (row * 5 - 4))
          + ".src");

	eval(   "document.i_"
	      + (100 + (row * 5 - 4))
          + ".src = X.src");

	r_count++;
	stats();
}

//#############################################################################
function rotate_col_up(col)
{
	var X = new Image();

	eval("X.src = document.i_" + (100 + col) + ".src");

	eval(   "document.i_"
          + (100 + col)
          + ".src = document.i_"
	      + (105 + col)
          + ".src");

	eval(   "document.i_"
          + (105 + col)
          + ".src = document.i_"
	      + (110 + col)
          + ".src");

	eval(   "document.i_"
          + (110 + col)
          + ".src = document.i_"
	      + (115 + col)
          + ".src");

	eval(   "document.i_"
          + (115 + col)
          + ".src = document.i_"
	      + (120 + col)
          + ".src");

	eval(   "document.i_"
	      + (120 + col)
          + ".src = X.src");

	c_count++;
	stats();
}

//#############################################################################
function rotate_col_down(col)
{
	var X = new Image();

	eval("X.src = document.i_" + (120 + col) + ".src");

	eval(   "document.i_"
          + (120 + col)
          + ".src = document.i_"
	      + (115 + col)
          + ".src");

	eval(   "document.i_"
          + (115 + col)
          + ".src = document.i_"
	      + (110 + col)
          + ".src");

	eval(   "document.i_"
          + (110 + col)
          + ".src = document.i_"
	      + (105 + col)
          + ".src");

	eval(   "document.i_"
          + (105 + col)
          + ".src = document.i_"
	      + (100 + col)
          + ".src");

	eval(   "document.i_"
	      + (100 + col)
          + ".src = X.src");

	c_count++;
	stats();
}

//#############################################################################
function stats()
{
	document.the_form.r.value = r_count;
	document.the_form.c.value = c_count;
	document.the_form.t.value = t_count;
	document.the_form.s.value = s_count;
	document.the_form.m.value = r_count + c_count + t_count + s_count;
}

//#############################################################################
function clear()
{
	document.the_form.r.value = r_count = 0;
	document.the_form.c.value = c_count = 0;
	document.the_form.t.value = t_count = 0;
	document.the_form.s.value = s_count = 0;
	document.the_form.m.value = 0;
}


//#############################################################################
///////////////////////////////////////////////////////////////////////////////
//#############################################################################

