function CheckBoxValidatorDisableButton(chkId, mustBeChecked, btnId)
{
    var button = document.getElementById(btnId);
    var chkbox = document.getElementById(chkId);
    
    if (button && chkbox)
    {
        button.disabled = (chkbox.checked != mustBeChecked);
    }
}

function CheckBoxValidatorEvaluateIsValid(val)
{
    var control = document.getElementById(val.controltovalidate);
    var mustBeChecked = Boolean(val.mustBeChecked == 'true');

    return control.checked == mustBeChecked;
}

function CheckBoxListValidatorEvaluateIsValid(val)
{
    var control = document.getElementById(val.controltovalidate);
    var minimumNumberOfSelectedCheckBoxes = parseInt(val.minimumNumberOfSelectedCheckBoxes);

    var selectedItemCount = 0;
    var liIndex = 0;
    //var tablecontrol = control.getElementsByTagName("table");
    //var currentListItem = document.getElementById(tablecontrol[0].id + '_' +liIndex.toString());
	var currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
    while (currentListItem != null)
    {
        if (currentListItem.checked) selectedItemCount++;
        liIndex++;
        //currentListItem = document.getElementById(tablecontrol[0].id + '_' +liIndex.toString());
		var currentListItem = document.getElementById(control.id + '_' + liIndex.toString());
    }
    
    return selectedItemCount >= minimumNumberOfSelectedCheckBoxes;
}

function CompareControlValidatorEvaluateIsValid(val){
	//Requires that either both DeadlineDate and Naam have value or none
	var controlToValidate = document.getElementById(val.controltovalidate);
	var controlToCompare = document.getElementById(val.controltocompare);
	
	return !(!HasValue(controlToValidate) && HasValue(controlToCompare)); 
}

function HasValue(o){
	var tagName = o.tagName;
	var value;
	var type = o.type;
	
	if (tagName == "SELECT"){
		value = o[o.selectedIndex].value;
		return (value != null) && (value != '');
	} else if (tagName == "INPUT"){
		if (type == "text" || type == "password") {
			return o.value != '';
		} else if (type == "radio" || type == "checkbox"){
			return o.checked;
		}
	}else return false;
}