//global variables that can be used by ALL the function son this page.
var inputs;
var ckFalse = '/images/checkbox.gif';
var ckTrue = '/images/checkbox_on.gif';
var rdFalse = '/images/radio.gif';
var rdTrue = '/images/radio_on.gif';

//this function runs when the page is loaded, put all your other onload stuff in here too.
function init() {
	replaceChecks();
}

function replaceChecks() {
	
	//get all the input fields on the page
	inputs = document.getElementsByTagName('input');

	//cycle trough the input fields
	for(var i=0; i < inputs.length; i++) {

		//check if the input is a checkbox
		if(inputs[i].getAttribute('type') == 'checkbox' || inputs[i].getAttribute('type') == 'radio') {
			
			//create a new image
			var img = document.createElement('img');
			
			//check if the checkbox is checked
			if(inputs[i].checked)
			{
				img.src = (inputs[i].getAttribute('type') == 'checkbox') ? ckTrue : rdTrue;
			}
			else
			{
				img.src = (inputs[i].getAttribute('type') == 'checkbox') ? ckFalse : rdFalse;
			}

			//set image ID and onclick action
			img.id = 'checkImage'+i;
			//set image 
			img.onclick = new Function('checkChange('+i+')');
			//place image in front of the checkbox
			inputs[i].parentNode.insertBefore(img, inputs[i]);
			
			//hide the checkbox
			inputs[i].style.display='none';
		}
	}
}

//change the checkbox status and the replacement image
function checkChange(i) {
	
	var bRadio = (inputs[i].getAttribute('type') == 'checkbox') ? false : true;
	if(inputs[i].checked) {
		inputs[i].checked = '';
		document.getElementById('checkImage'+i).src = (!bRadio) ? ckFalse : rdFalse;
	} else {
		inputs[i].checked = 'checked';
		document.getElementById('checkImage'+i).src = (!bRadio) ? ckTrue : rdTrue;
	}
	
	if (bRadio)
	{
		var myName = inputs[i].name;
		for(var j=0; j < inputs.length; j++)
		{
			if ((inputs[j].getAttribute('type') == 'radio') && myName == inputs[j].name && j != i)
			{
				inputs[j].checked = '';
				document.getElementById('checkImage'+j).src = rdFalse;
			}
		}
	}
}

// rerun checks
function checkAll()
{
	inputs = document.getElementsByTagName('input');
	for(var i=0; i < inputs.length; i++) {
		checkChange(i);
	}
}

window.onload = init;
