//global variables that can be used by ALL the function son this page.
var inputs;
var imgFalse = '/theme/checkbox.jpg';
var imgTrue = '/theme/checkbox_checked.jpg';

var imgFalseR = '/theme/radio.jpg';
var imgTrueR = '/theme/radio_checked.jpg';

//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].getAttribute('type')=="checkbox")
			{
				if(inputs[i].checked) {
					img.src = imgTrue;
				} else {
					img.src = imgFalse;
				}
			} else {
				if(inputs[i].checked) {
					img.src = imgTrueR;
				} else {
					img.src = imgFalseR;
				}
			}
			//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) {

	if (inputs[i].getAttribute('type') == "checkbox")
	{
		if(inputs[i].checked) {
			inputs[i].checked = '';
			document.getElementById('checkImage'+i).src=imgFalse;
		} else {
			inputs[i].checked = 'checked';
			document.getElementById('checkImage'+i).src=imgTrue;
		}
	} else {
			inputs = document.getElementsByTagName('input');
			for (var x=0;x<inputs.length;x++)
			{
				if (i != x)
				{
					if (inputs[i].name == inputs[x].name)
					{
						inputs[x].checked='';
						document.getElementById('checkImage'+x).src=imgFalseR;
					}
				} 
				else 
				{
					inputs[x].checked="checked";
					document.getElementById('checkImage'+x).src=imgTrueR;

				}
			}		
	}
	
}

Event.observe(window, 'load', function () {
	init();
	$$('.selectBoxMedium, .selectBoxLarge').each(function(el) {
		Event.observe(el, 'change', changeSelect.bindAsEventListener(el));
		changeSelect(el);
	});
});

function changeSelect(el){
	if (!Object.isElement(el))
		var el = Event.element(el);
	$('fake'+el.name).update(el.options[el.selectedIndex].text);
}
