function initForm()
{
	// Hide all textarea fields
	hideTextAreas();
	setLinks();
}
function hideTextAreas()
{
	//----------------------------------------------
	// Hides <p> containing TextAreas
	//----------------------------------------------
	var link = document.getElementById('frm_evaluation').getElementsByTagName('p');
	for(var i = 0; i < link.length; i++)
	{
		if(link[i].id != '' && link[i].className == 'hiddenfield')
		{
			link[i].style.display = 'none';
		}
	}
}
function setLinks()
{
	//----------------------------------------------
	// Adds onclick() event handler to radio buttons
	//----------------------------------------------
	var link = document.getElementsByTagName('input');
	for(var i = 0; i < link.length; i++)
	{
		if(link[i].type == 'radio')
		{
			link[i].onclick = function() {return toggleField(this);};
		}
	}
}
function toggleField(id)
{		
	//----------------------------------------------
	// Toggles form field visibility
	//----------------------------------------------
	var hiddenfield = document.getElementById('toggle_' + id.name);	
	if(id.value == "Unacceptable" || id.value == "No")
	{
		hiddenfield.style.display = 'block';			
	}
	else
	{
		hiddenfield.style.display = 'none';
	}
	return true;
}
function vEvaluation(frm)
{
	//----------------------------------------------
	// Validates required fields
	//----------------------------------------------
	resetStyle(frm);

	var err_msg = "Please complete the following required fields:\n\n";
	var err_flag = false;
	var i = 1;
	
	if(frm.fName.value == "")
	{
		err_msg += i + "> Your Name.\n";
		frm.fName.focus();
		err_flag = true;		
		i++;
		changeStyle('fName', true);
	}
	if(frm.fEmail.value == "")
	{
		err_msg += i + "> Your Email Address.\n";
		if(!err_flag)
		{
			frm.fEmail.focus();
		}
		err_flag = true;		
		i++;
		changeStyle('fEmail', true);
	}	
	else
	{
		// Check email address supplied
		if(!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(frm.fEmail.value))
		{
			// Invalid Email Address
			err_msg += i + "> Your email address (" + frm.fEmail.value + ") appears to be invalid.\n";
			if(!err_flag)
			{
				frm.fEmail.focus();
			}
			err_flag = true;
			i++;
			changeStyle('fEmail', true);
		}
	}
	if(frm.fFixture.value == "")
	{
		err_msg += i + "> The Fixture information.\n";
		if(!err_flag)
		{
			frm.fFixture.focus();
		}
		err_flag = true;
		i++;
		changeStyle('fFixture', true);
	}
	if(frm.fRefName.value == "")
	{
		err_msg += i + "> The Match Referee's name.\n";
		if(!err_flag)
		{
			frm.fRefName.focus();
		}
		err_flag = true;
		i++;
		changeStyle('fRefName', true);
	}
	if(frm.fUmpName.value == "")
	{
		err_msg += i + "> The Match Umpire's name.\n";
		if(!err_flag)
		{
			frm.fUmpName.focus();
		}
		err_flag = true;
		i++;
		changeStyle('fUmpName', true);
	}
	
	// Where there any errors?
	if(err_flag)
	{
		alert(err_msg);	
		return false;		
	}
	else
	{
		return true;
	}
}
function changeStyle(x, fail)
{
	// Highlights incomplete required fields
	if (document.getElementById)
	{
		var ctrl = document.getElementById(x);
		if(fail)
		{
			ctrl.style.border='1px solid #f00';
		}
		else
		{
			ctrl.style.border='1px solid #333';
		}
	}
}
function resetStyle(frm)
{
	// Resets background of required fields
	if (document.getElementById)
	{
		for(var i=0; i < frm.length; i++)
		{
			var e = frm.elements[i];
			if(e.type == "text" || e.type == "textarea")
			{
				changeStyle(e.name, false);
			}
		}
	}
}
