/*
Used by wm_ToggleCheckBoxes
wm_ToggleCheckBoxes can toggle checkbox lists and so need to know which list to toggle
wm_config_columnGroups must contain all checkbox lists

TODO: It should be possible to rewrite wm_ToggleCheckBoxes so that it does not need this list
*/
var wm_config_columnGroups = new Array('cblCategories');


function wm_ToggleCheckBoxes(pboolSelect, pstrUniqueIdFragment){
	var inputTags = new Array();
	inputTags = document.getElementsByTagName("INPUT");
	for (var i = 0; i < inputTags.length; i++){
		var inputTag = inputTags[i];
		if (pstrUniqueIdFragment == null){
			//select or deselect all columns
			for (var c = 0; c < wm_config_columnGroups.length; c++){
				if (inputTag.id.indexOf(wm_config_columnGroups[c]) != -1){
					if (!inputTag.checked == pboolSelect){
						inputTag.click();
					}
				}
			}
		}
		else{
			//select or deselect only the columnGroup identified by pstrUniqueIdFragment
			if (inputTag.id.indexOf(pstrUniqueIdFragment) != -1){
				if (!inputTag.checked == pboolSelect){
					//if pboolSelect then select the whole pstrUniqueIdFragment
					//group by raising the click-event on inputTags not checked
					//(inputTags already checked should not be clicked as that
					//would deselect them).
					
					//if pboolSelect is false (that is: I should deselect), then
					//deselect the whole pstrUniqueIdFragment group by raising
					//the click-event on inputTags checked (inputTags already
					//deselected should not be clicked as that would select them).
					inputTag.click();
				}
			}
		}
	}
}

function ToggleOptions(pboolSelect, pstrUniqueIdFragment){
	var selectTags = new Array();
	selectTags = document.getElementsByTagName("SELECT");
	for (var st = 0; st < selectTags.length; st++){
		var selectTag = selectTags[st];
		if (selectTag.id.indexOf(pstrUniqueIdFragment) != -1){
			for (var o = 0; o < selectTag.options.length; o++){
				selectTag.options[o].selected = pboolSelect;
			}
		}
	}
}


