function checkState(stateAbbr){
	var checkBox = document.getElementById("check" + stateAbbr);
	checkBox.src = getImage(checkBox.src);
	setCities(stateAbbr, checkBox.src);
}
function toggleList(stateAbbr){
	var arrow = document.getElementById("arrow" + stateAbbr);
	var arrowSource = arrow.src.substring(arrow.src.lastIndexOf("/") + 1);
	switch(arrowSource){
		case "plus.gif":
			document.getElementById("cities" + stateAbbr).style.display = "block";
			break;
		case "minus.gif":
			document.getElementById("cities" + stateAbbr).style.display = "none";
			break;
	}
	arrow.src = getImage(arrow.src);
}
function checkCity(ths){
	var state = ths.id.substr(5, 2);
	ths.src = getImage(ths.src);
	getCheckedCities(state);
}
function setCities(stateAbbr, imageSrc){
	var c = 0;
	var obj = document.getElementById("check" + stateAbbr + c);
	while(obj != undefined){
		obj.src = imageSrc;
		++c;
		obj = document.getElementById("check" + stateAbbr + c);
	}
}
function getImage(imageSource){
	switch(imageSource.substring(imageSource.lastIndexOf("/") + 1)){
		case "unchecked.gif":
		case "partchecked.gif":
			return "images/checked.gif";
		case "checked.gif":
			return "images/unchecked.gif";
		case "plus.gif":
			return "images/minus.gif";
		case "minus.gif":
			return "images/plus.gif";
	}
}
function getCheckedCities(state){
	var i=0;
	var checked = 0;
	var obj = document.getElementById("check" + state + i);
	while(obj != undefined){
		if(isChecked(obj)){
			++checked;
		}
		++i;
		var obj = document.getElementById("check" + state + i);
	}
	var obj = document.getElementById("check" + state);
	if(i == checked){
		obj.src = "images/checked.gif";
	}else if(checked == 0){
		obj.src = "images/unchecked.gif";
	}else{
		obj.src = "images/partchecked.gif";
	}
}
function isChecked(obj){
	switch(obj.src.substring(obj.src.lastIndexOf("/") + 1)){
		case "checked.gif":
			return 1;
		case "unchecked.gif":
			return 0;
		case "partchecked.gif":
			return -1;
	}
}
function buildQueryStringAndGo(){
	var i=0;
	var qstring = "";
	var obj;
	for(id in checked){
		obj = document.getElementById(id);
		if(obj != undefined && isChecked(obj)){
			qstring = qstring + "|" + checked[id];
		}
	}
	document.forms.filter.cities.value = qstring;
	document.forms.filter.submit();
}
function checkType(ths){
	stdCheck(ths, 'type');
}
function checkStatus(ths){
	stdCheck(ths, 'status');
}
function stdCheck(ths, varName){
	if(isChecked(ths)){
		var src = 'unchecked';
		var val = '0';
	}else{
		var src = 'checked';
		var val = '1';		
	}
	ths.src = "images/" + src + ".gif";
	
	var temp = document.forms['filter'].elements;
	document.getElementById(varName + "[" + ths.id + "]").value = val;
}
