var inputs = document.getElementsByTagName('input');
var chkImgFalse = '/gfx/checkOff.gif';
var chkImgTrue = '/gfx/checkOn.gif';

function init() {
	replaceChecks();
}

function replaceChecks() {
	for( var i=0; i < inputs.length; i++ ){
		var imgID = 'chkImage' + i;
		if ( !document.getElementById(imgID) ){
			if( inputs[i].getAttribute('type') == 'checkbox' ){
				var img = document.createElement('img');
				if( inputs[i].checked ){
					img.src = chkImgTrue;
				}
				else{
					img.src = chkImgFalse;
				}
				img.id = imgID;
				if ( inputs[i].getAttribute('onclick') != null && inputs[i].getAttribute('onclick') != "" ){
					if ( (inputs[i].getAttribute('onclick') + "").substring(0, 20)  == "function anonymous()" ){
						// Fix for IE7
						img.onclick = new Function('checkChange(' + i + ');' + (inputs[i].getAttribute('onclick') + "").substring(23, ((inputs[i].getAttribute('onclick') + "").length - 2)));
					}
					else{
						img.onclick = new Function('checkChange(' + i + ');' + inputs[i].getAttribute('onclick') );
					}
				} 
				else {
					img.onclick = new Function('checkChange(' + i + ')');
				}
				inputs[i].parentNode.insertBefore(img, inputs[i]);
				inputs[i].style.display = 'none';
			}
		}
	}
}

function checkChange(i){
	if( inputs[i].checked ){
		inputs[i].checked = '';
		document.getElementById('chkImage' + i).src = chkImgFalse;
	}
	else{
		inputs[i].checked = 'checked';
		document.getElementById('chkImage' + i).src = chkImgTrue;
	}
}

window.onload = init;

