// set up events
function setupForm () {
	var elForm = document.getElementById("advanced-search-form");
	var i;
	elForm.searchArea[0].onclick = function() { allCategoryClick(1); };
	for (i = 1; i < elForm.searchArea.length; i++) {
		elForm.searchArea[i].onclick = function() { childCategoryClick(1); };
	}
	elForm.advertiserCategory[0].onclick = function() { allCategoryClick(2); };
	for (i = 1; i < elForm.advertiserCategory.length; i++) {
		elForm.advertiserCategory[i].onclick = function() { childCategoryClick(2); };
	}
	elForm.subjectMarket[0].onclick = function() { allCategoryClick(3); };
	for (i = 1; i < elForm.subjectMarket.length; i++) {
		elForm.subjectMarket[i].onclick = function() { childCategoryClick(3); };
	}
}

// store previous values as array in case user made a mistake and un-checks all cats box
var arySearchAreaChecked = new Array();
var aryAdvertiserCategoryChecked = new Array();
var arySubjectMarketChecked = new Array();

// triggered by 'all categories' click
function allCategoryClick (cat) {
	var elForm = document.getElementById("advanced-search-form");
	if (cat == 1 || cat == null) {
		if (elForm.searchArea[0].checked) {
			for (i = 1; i < elForm.searchArea.length; i++) {
				arySearchAreaChecked[i] = elForm.searchArea[i].checked;
				elForm.searchArea[i].checked = false;
			}
		} else {
			for (i = 1; i < elForm.searchArea.length; i++) {
				elForm.searchArea[i].checked = elForm.searchArea[i].checked || arySearchAreaChecked[i];
			}
		}
	}
	if (cat == 2 || cat == null) {
		if (elForm.advertiserCategory[0].checked) {
			for (i = 1; i < elForm.advertiserCategory.length; i++) {
				aryAdvertiserCategoryChecked[i] = elForm.advertiserCategory[i].checked;
				elForm.advertiserCategory[i].checked = false;
			}
		} else {
			for (i = 1; i < elForm.advertiserCategory.length; i++) {
				elForm.advertiserCategory[i].checked = elForm.advertiserCategory[i].checked || aryAdvertiserCategoryChecked[i];
			}
		}
	}
	if (cat == 3 || cat == null) {
		if (elForm.subjectMarket[0].checked) {
			for (i = 1; i < elForm.subjectMarket.length; i++) {
				arySubjectMarketChecked[i] = elForm.subjectMarket[i].checked;
				elForm.subjectMarket[i].checked = false;
			}
		} else {
			for (i = 1; i < elForm.subjectMarket.length; i++) {
				elForm.subjectMarket[i].checked = elForm.subjectMarket[i].checked || arySubjectMarketChecked[i];
			}
		}
	}
}

// triggered by child categories click 
function childCategoryClick (cat) {
	var elForm = document.getElementById("advanced-search-form");
	if (cat == 1 || cat == null) {
		var blnAllAreas = true;
		for (i = 1; i < elForm.searchArea.length; i++) {
			if (elForm.searchArea[i].checked) blnAllAreas = false;
		}
		elForm.searchArea[0].checked = blnAllAreas;
	}
	if (cat == 2 || cat == null) {
		var blnAllCategories = true;
		for (i = 1; i < elForm.advertiserCategory.length; i++) {
			if (elForm.advertiserCategory[i].checked) blnAllCategories = false;
		}
		elForm.advertiserCategory[0].checked = blnAllCategories;
	}
	if (cat == 3 || cat == null) {
		var blnAllMarkets = true;
		for (i = 1; i < elForm.subjectMarket.length; i++) {
			if (elForm.subjectMarket[i].checked) blnAllMarkets = false;
		}
		elForm.subjectMarket[0].checked = blnAllMarkets;
	}
}