// #### This javascript applet copyright 2000 and copyright 10 AA
// #### Discordia Incorporated. If for any reason you want to use
// #### any part of this, please email us:
// #### webmaster@discordia-inc.co.uk We just want to know where 
// #### it's being used, nothing more. Thanks.

// this funtion checks whether the other checkboxes in the
// group have been checked and, if so, warns user.
function verify(c_no)
{
	var c = document.mbti.elements;
	var g_no, a_no;
	g_no = Math.round((c_no /3) + (0.4));
	a_no = Math.round(((c_no /3)-(g_no -1))*3);
	c_val = c_no - 0;

	if (a_no == 1 && c[c_val -1].checked)
		{
		if ( (c[c_val].checked) && (c[c_val+1].checked) )
			{
			msg_usr();
			c[c_val -1].checked = false;
			}
		}
		
	if (a_no == 2 && c[c_val -1].checked)
		{
		if ( (c[c_val -2].checked) && (c[c_val].checked) )
			{
			msg_usr();
			c[c_val - 1].checked = false;
			}
		}		
		
	if (a_no == 3 && c[c_val -1].checked)
		{
		if ( (c[c_val -3].checked) && (c[c_val -2].checked) )
			{
			msg_usr();
			c[c_val -1].checked = false;
			}
		}		
}

// adds handlers to the checkboxes to check that no more than
// two are checked at any time
function addhandlers(f)
{
    for(var i = 0; i < 96; i++)
		{
        var e = f.elements[i];
		e.onclick = new Function("verify(this.name )");
	    }
}

// Messages the user to tell them they have checked all three boxes
function msg_usr()
{
	alert('You may only check 2 out of three boxes for each question.');
}

function totalise(df)
{
	var a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, g = 0, h = 0; 
	for(i = 0; i < 96; i++)
		{
		x = df.elements[i];
		if(x.checked)
			{
			cb =  df.elements[i].value;
			
			if( cb == "A" || cb == "a" ) cb == "A" ? a += 2 : a++;
			else if( cb == "B" || cb == "b" ) cb == "B" ? b += 2 : b++;
			else if( cb == "C" || cb == "c" ) cb == "C" ? c += 2 : c++;
			else if( cb == "D" || cb == "d" ) cb == "D" ? d += 2 : d++;
			else if( cb == "E" || cb == "e" ) cb == "E" ? e += 2 : e++;
			else if( cb == "F" || cb == "f" ) cb == "F" ? f += 2 : f++;
			else if( cb == "G" || cb == "g" ) cb == "G" ? g += 2 : g++;
			else if( cb == "H" || cb == "h" ) cb == "H" ? h += 2 : h++;
//			else alert("error");
			}
		}
	for (i = 0; i < 32 ; i++)
		{
		cba = df.elements;
		if ( !cba[(i*3)].checked && !cba[(i*3)+1].checked && !cba[(i*3)+2].checked )
			{
			h += 2;
			}
		}
	self.a_val = a;
	self.b_val = b;
	self.c_val = c;
	self.d_val = d;
	self.e_val = e;
	self.f_val = f;
	self.g_val = g;
	self.h_val = h;

	display_results(a,b,c,d,e,f,g,h);
}


// This function works out the results from answers
// given and displays the results in a separate window.
function display_results(a,b,c,d,e,f,g,h)
{
	
	if ( a > e ) 
	{
		self.r1 = ("I");
	}
	else if ( a < e )
	{
		self.r1 = "E";
	}
	else self.r1 = "X";

	if ( b > f ) 
	{
		self.r2 = "S";
	}
	else if ( b < f )
	{
		self.r2 = "N";
	}
	else self.r2 = "X";

	if ( c > g ) 
	{
		self.r3 = "T";
	}
	else if ( c < g )
	{
		self.r3 = "F";
	}
	else self.r3 = "X";

	if ( d > h ) 
	{
		self.r4 = "J";
	}
	else if ( d < h )
	{
		self.r4 = "P";
	}
	else self.r4 = "X";
	
	var w = window.open("results.html", "_results");

//	w.close();
}

