function addEventSimple(obj,evt,fn)
{
	if( obj.addEventListener )
	{
		obj.addEventListener(evt,fn,false);
	}
	else if( obj.attachEvent )
	{
		obj.attachEvent('on'+evt,fn);
	}
}

/* =========================================================== */
	
function displayPreviousButton()
{
	var back = document.getElementById('back');
	if( back.value != 'no' )
	{
		var prev = document.getElementById('previous_button');
		prev.style.display = 'block';
		prev.onclick = function()
		{
			// survey.php checks for this value to go back
			back.value = 'yes';
			// do survey form stuff below
			if( document.survey )
			{
				var sur = document.survey;
				// Cancel out checkRapi
				sur.onsubmit = function() { return true; }
				// Cancel out class names that would trigger form_validation.js
				var els = sur.elements;
				for( var j=0;j<els.length;j++ )
				{
					var type = els[j].getAttribute('type');
					// Set class names for form_validation.js
					if( type == 'radio' || type == 'hidden' || type == 'submit' || type == null ) continue;
					var cn = els[j].className;
					if( cn )
					{
						els[j].className = els[j].className.replace(/req num/,'');
					}
				}
			}
		}
	}
}
	
/* =========================================================== */
	
function modifyForms()
{
	document.quit_form.onsubmit = function()
	{
		if( confirm("Are you sure you want to quit?") )
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	var sur = document.survey;
	if( sur.is_rapi )
	{
		sur.onsubmit = checkRapi;
	}
	else
	{
		// For use with form_validation.js
		var els = sur.elements;
		for( var j=0;j<els.length;j++ )
		{
			var type = els[j].getAttribute('type');
			// Set class names for form_validation.js
			if( type == 'radio' || type == 'hidden' || type == 'submit' || type == null ) continue;
			var cn = els[j].className;
			if( cn )
			{
				els[j].className += ' req num';
			}
			else
			{
				els[j].className = 'req num';
			}
		}
	}
}
	
/* =========================================================== */

function checkRapi()
{
	var els = document.survey.elements;
	var num_radios = false;
	var num_checked = false;
	for( i=0; i < els.length; i++ )
	{
		if( els[i].getAttribute('type') == 'radio')
		{
			num_radios++;
			if( els[i].checked )
			{
				num_checked++;
			}
		}
	}
	if( num_checked != ( num_radios / 5 ) )
	{
		alert('Please complete all form fields before submitting.');
		return false;
	}
	return true;
}

/* =========================================================== */
	
function attachSpin()
{
	var spins = document.getElementsByTagName('div');
	for(var i=0; i<spins.length; i++)
	{
		if( spins[i].className == 'spinner-body' )
		{
			spins[i].style.display = 'none';
		}
	}
	var a = document.getElementsByTagName('a');
	for(var i=0; i<a.length; i++)
	{
		var rel = a[i].getAttribute('rel');
		if( rel == 'spinner' )
		{
			a[i].className = 'closed';
			a[i].onclick = spin;
		}
	}
}

/* =========================================================== */

function removeCheckBoxBorders()
{
	var el = document.getElementsByTagName("input");
	for( i=0;i<el.length;i++ )
	{
		var type = el[i].getAttribute("type");
		if( (type=="checkbox") || (type=="radio") )
		{
			el[i].style.border = '0';
			el[i].style.backgroundColor = '';
		}
	}
}
	
/* =========================================================== */
	
addEventSimple(window,'load',displayPreviousButton);
addEventSimple(window,'load',modifyForms);
addEventSimple(window,'load',attachSpin);
addEventSimple(window,'load',removeCheckBoxBorders);