function checkArea(area) {	
	if (theForm.cat[area-1].checked) {
	 	isOn = false;
	} else {
		isOn = true;
	}
	document.theForm.cat[area-1].checked = isOn;
}

function checkAreas(from,to) {
	if (document.theForm.cat[from].checked) {
	 	isOn = true;
	} else {
		isOn = false;
	}
	for (i=from; i<to+1; i++) {
		if (document.theForm.cat[i]) {
			document.theForm.cat[i].checked = isOn;
		}
	}
}

//var Cats = {
//	behavior: {
//		selectAll: function(item) {
//			var _controller = item.getElementsByTagName("INPUT");
//			var controller = _controller[0];
//			var all_cats = getFromID("cat_group_all").getElementsByTagName("INPUT");
//			for(var i = 0; i < all_cats.length; i++) {
//				if(controller.checked) all_cats[i].checked = true;
//				else all_cats[i].checked = false;
//			}
//		},
//		selectGroup: function(item, group) {
//			if(arguments.length != 2) group = item;
//			var _controller = item.getElementsByTagName("INPUT");
//			var controller = _controller[0];
//			if(arguments.length != 2)
//				controller.checked ? controller.checked = false : controller.checked = true;
//			var cats = group.getElementsByTagName("INPUT");
//			for(var i = 0; i < cats.length; i++) {
//				if(controller.checked) cats[i].checked = true;
//				else cats[i].checked = false;
//			}			
//		},
//		expandGroup: function(item, group) {
//			var cat_display = group.style;
//			if(item["display"]) {
//				item["display"] = false;
//				with(cat_display) {
//					visibility = "visible";
//					display = "block";
//				}
//			} else {
//				item["display"] = true;
//				with(cat_display) {				
//					visibility = "hidden";
//					display = "none";				
//				}
//			}				
//		}
//	}
//}



function area_onClick() {

	var catBoxes = document.theForm.cat;
	var manhattanSelector = document.getElementById("cat_23");		// 'select all' from the checkboxes
	
	for(var i = 0; i < catBoxes.length; i++)
		for(var j = 0; j < this.areas.length; j++)
			if(catBoxes[i].value == this.areas[j])
				catBoxes[i].checked = this.clicked;
				
	manhattanSelector.checked = (function() {
		for(var i = 0, clicked = true; i < map.components.length; i++)
			if(!map.components[i].DOM_AreaObject.isStatic)
				clicked &= map.components[i].DOM_AreaObject.clicked;
		return clicked;
	}).call();
	 
}

var selectAllTrace = false;		// need a static variable to trace the 'select all' option

function allAreas_onClick() {		

	if(typeof map == 'undefined') return;

	for(var i = 0; i < map.components.length; i++)
		if(!map.components[i].DOM_AreaObject.isStatic) {
			var mapComponentObj = map.components[i].DOM_AreaObject;
			mapComponentObj.clicked = selectAllTrace;
			mapComponentObj.onclick();
			if(mapComponentObj.clicked) {
				mapComponentObj.src = mapComponentObj.src.replace(/_c/g, "");
				mapComponentObj.src = mapComponentObj.src.replace(/.gif/, "_c.gif");
			} else {
				mapComponentObj.src = mapComponentObj.src.replace(/_o/g, "");
				mapComponentObj.src = mapComponentObj.src.replace(/_c/g, "");
			}
		}
		
		selectAllTrace = !selectAllTrace;
		
//		document.getElementById("map_selectAll").innerHTML = (
//			selectAllTrace ? "Deselect All" : "Select All"
//		);
	
}
