function selectAll(groupNum){
		
	var checkboxes = getCheckboxes(groupNum);
	
	for(i=0;i<checkboxes.length;i++){
		var checkbox = checkboxes[i];
		checkbox.checked = "checked";
	}
	
	setSelectAllBt(groupNum, "enabled");
	
	setPreviewResultsBt("enabled");
}

function clearAll(groupNum){
			
	var checkboxes = getCheckboxes(groupNum);
	
	for(i=0;i<checkboxes.length;i++){
		var checkbox = checkboxes[i];
		checkbox.checked = "";
	}
	setSelectAllBt(groupNum, "disabled");
	
	updatePreviewResultsBt();
}

function selectCheckbox(groupNum){
	var checkboxes = getCheckboxes(groupNum);
	
	var allSelected = true;
	for(i=0;i<checkboxes.length;i++){
		var checkbox = checkboxes[i];
		if(checkbox.checked==""){
			allSelected = false;
		}
	}
	
	setSelectAllBt(groupNum, (allSelected&&checkboxes ? "enabled" : "disabled"));
	
	updatePreviewResultsBt();
}

function getCheckboxes(groupNum){	
	var fieldset = document.getElementById("group"+groupNum);
	if(!fieldset)
		return;
	
	return checkboxes = fieldset.getElementsByTagName("input");
}

function setSelectAllBt(groupNum, state){
	var selectAllBt = document.getElementById("selectAllBt_"+groupNum);

	if(!selectAllBt)
		return;
		
	selectAllBt.src="images/icon_selectAll-"+state+".jpg";
}

function updatePreviewResultsBt(){
	var checkboxWrapper = document.getElementById("checkboxWrapper");
	
	if(!checkboxWrapper)
		return;
		
	var checkboxes = checkboxWrapper.getElementsByTagName("input");
	
	var anySelected = false;
	for(var i=0;i<checkboxes.length;i++){
		var checkbox = checkboxes[i];
		if(checkbox.checked!=""){
			anySelected = true;
			break;
		}
	}
	
	setPreviewResultsBt((anySelected ? "enabled" : "disabled"));
}

function setPreviewResultsBt(state){
	var previewResultsBt = document.getElementById("previewResultsBt");

	if(!previewResultsBt)
		return;
		
	previewResultsBt.src="images/button_previewResults-"+state+".jpg";
	previewResultsBt.disabled = state=="enabled" ? "" : "disabled";
}

function updateSelectAllBts(){
	
	for(var j=0;j<=50;j++){
		//////////////////////
		// check to ensure groupX (which is a fieldset) exists
		if(!document.getElementById("group"+j))
			return;
		
		//////////////////////
		// This function will loop through checkboxes and highlight the selectAllBt as necessary
		selectCheckbox(j);
	}
}




function showHideAll(groupNum){
	var fieldset = document.getElementById("group"+groupNum);
	if(!fieldset)
		return ;
		
	var leftRightDivs = fieldset.getElementsByTagName("div");
	
	if(leftRightDivs.length<2)
		return;
	
	var currentlyVisible = leftRightDivs[0].style.display=="block";
	
	leftRightDivs[0].style.display = currentlyVisible ? "none" : "block";
	leftRightDivs[1].style.display = currentlyVisible ? "none" : "block";
	currentlyVisible = !currentlyVisible;
	
	setShowHideAllBt(groupNum, currentlyVisible ? "collapse" : "expand")
}

function setShowHideAllBt(groupNum, state){
	var showHideAllBt = document.getElementById("showHideAllBt_"+groupNum);
	
	
	if(!showHideAllBt)
		return;
		
	showHideAllBt.src="images/icon_"+state+".jpg";
}


