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 = document.getElementById("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";				
				}
			}				
		}
	}
}

QuickAlerts = function(form, contentPane)
{
	this.activated = false;
	this._form = form;
	this._contentPane = contentPane;
}
QuickAlerts.prototype.toggle = function(activated)
{	
	this.activated = activated;
	with(this._contentPane.style)
	{
		visibility = (activated) ? 'visible' : 'hidden';
		display = (activated) ? 'block' : 'none';
	}
}
QuickAlerts.prototype.validate = function(e)
{
	var isValid = true;
	var fields = [
		{field:'firstname',msg:'Please enter your first name.'},
		{field:'email',msg:'Please enter your E-Mail address.'},
		{field:'phone',msg:'Please enter your day-time phone number.'}
	]
	for(var i = 0; i < fields.length; i++)
		if(this._form[fields[i]['field']].value == '')
		{
			isValid = false;
			alert(fields[i]['msg']);
		}
	if(isValid) this._form.submit();
	else
	{
		if(window.event) event.returnValue = false;
		else e.preventDefault();
	}
}


function area_onClick() {

	var MANHATTAN_ID = 23;

	var catBoxes = document.theForm.cat;
	var manhattanSelector = document.getElementById(MANHATTAN_ID);		// '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"
//		);
	
}
