//global variables that can be used by ALL the function son this page.
var cdoInputs;
var imgFalse = '/cdo/layout/2010/images/false.png';
var imgTrue = '/cdo/layout/2010/images/true.png';
var imgDisabled = '/cdo/layout/2010/images/falseReadOnly.png';

function replaceChecks() {

	
	//get all the input fields on the page
	var temp = document.getElementsByTagName('input');
	cdoInputs = new Array(temp.length);
	for (var i=0 ; i < cdoInputs.length; i++) {
		cdoInputs[i] = temp[i];
	}
	
	//cycle trough the input fields
	for(var i=0; i < cdoInputs.length; i++) {

		//check if the input is a checkbox
		if(cdoInputs[i].getAttribute('type') == 'checkbox') {
			if(document.getElementById('checkImage'+i)==undefined){
				//create a new image
				var img = document.createElement('img');
				
				//check if the checkbox is checked
				if(cdoInputs[i].disabled) {
					img.src = imgDisabled;
				} else if(cdoInputs[i].checked) {
					img.src = imgTrue;
				} else {
					img.src = imgFalse;
				}
	
				//set image ID and onclick action
				img.id = 'checkImage'+i;
				//set image
					
				if (cdoInputs[i].onclick == '' || cdoInputs[i].onclick == undefined)  
					img.onclick = new Function('checkChange('+i+')');
				else {
					var func = cdoInputs[i].onclick;
					funcName = func.name;
					if (funcName == undefined) {
						if ((func+'').indexOf('function onclick') == 0) {
							funcName = 'onclick';
						} else {
							funcName = "anonymous";
						}
					}
					img.onclick = new Function(func+'; checkChange('+i+'); '+ funcName + '(""); ');
				}
	
				//place image in front of the checkbox
				cdoInputs[i].parentNode.insertBefore(img, cdoInputs[i]);
				
				//hide the checkbox
				cdoInputs[i].style.display='none';
				
//				if(img.src == imgTrue)
//					alert(cdoInputs[i].checked);
			}
		}
	}
}

//change the checkbox status and the replacement image
function checkChangeSingle(i) {
	var checkImage = document.getElementById('checkImage'+i);
	
	if (cdoInputs[i].disabled == true) {
		if(checkImage != null)
			checkImage.src=imgDisabled;
	} else if(cdoInputs[i].checked) {
		cdoInputs[i].checked = '';
		if(checkImage != null)
			checkImage.src=imgFalse;
	} else {
		cdoInputs[i].checked = 'checked';
		if(checkImage != null)
			checkImage.src=imgTrue;
	}
}


function checkChange(i) {
	var checkImage = document.getElementById('checkImage'+i);
	if (cdoInputs[i].disabled == true) {
		if(checkImage != null)
			checkImage.src=imgDisabled;
	} else if(cdoInputs[i].checked) {
		cdoInputs[i].checked = '';
		if(checkImage != null)
			checkImage.src=imgFalse;
	       
		if(cdoInputs[i].className == 'padre') {
			updateChildCheck('', cdoInputs[i].title, i);
		}
	} else {
		cdoInputs[i].checked = 'checked';
		if(checkImage != null)
			checkImage.src=imgTrue;
		
		if(cdoInputs[i].className == 'padre')
		{
		    updateChildCheck('checked', cdoInputs[i].title, i);
		}
	
	}

}

function updateChildCheck(check, title, index)
{

    //  && cdoInputs[index].className != 'padre'
   index++;
   for(var k = index; (k < cdoInputs.length && cdoInputs[index].className != 'padre'); k++)
   {
   	   myBox = cdoInputs[k];
	   if(myBox.getAttribute('type') == 'checkbox' && myBox.title == title)
	   {
	        myBox.checked = check;
	        
	        if(check == '')
	        {
	            document.getElementById('checkImage' + index).src=imgFalse;
	        }
	        else
	        {
	            document.getElementById('checkImage' + index).src=imgTrue;
	        }
	   }
			index++;
	}
}