/**************************************************************
 * advanced_search.js
 * CVS: $Id$
 ***************************************************************/
Event.observe(window, 'load', function(){
	updateYearTitleBar('ws-year-title-bar-value')
	updateFundingTitleBar('ws-funding-title-bar-value')
	updateStateTitleBar('state[]', 'ws-state-title-bar-value')
	updateCategoryTitleBar('category[]', 'ws-category-title-bar-value')
});

function updateYearTitleBar(title_bar_value_id){
	bar_value = document.getElementById(title_bar_value_id);
	start_year = document.getElementById('start-year');
	end_year = document.getElementById('end-year');
	
	if (start_year.selectedIndex > 0 && end_year.selectedIndex > 0) {
		if (parseInt(end_year.value) >= parseInt(start_year.value)) {
			//alert( start_year.value );
			if (parseInt(end_year.value) == parseInt(start_year.value)) 
				bar_value.innerHTML = end_year.value;
			else 
				bar_value.innerHTML = start_year.value + ' through ' + end_year.value;
			
			if (start_year.selectedIndex == 0 && end_year.selectedIndex == end_year.options.length - 1) 
				bar_value.innerHTML += ' (all years)';
		}
		else 
			bar_value.innerHTML = '<em class="error">invalid date range</em>';
	}
	else 
		bar_value.innerHTML = '';
}



function updateStateTitleBar(control_name, title_bar_value_id){
	var selected = new Array();
	
	check_box = document.getElementsByName(control_name);
	for (i = 0; i < check_box.length; i++) {
		if (check_box[i].checked) 
			selected[selected.length] = check_box[i].value;
	}
	
	state_label = '';
	if (selected.length < check_box.length) {
		for (i = 0; i < selected.length; i++) {
			if (i > 0) 
				state_label += ', ';
			state_label += selected[i];
		}
		
		if (selected.length > 0) 
			state_label += ' (' + selected.length + ' selected)';
	}
	else 
		state_label = '';
	
	document.getElementById(title_bar_value_id).innerHTML = state_label;
}

function updateCategoryTitleBar(control_name, title_bar_value_id){
	var selected = new Array();
	
	check_box = document.getElementsByName(control_name);
	for (i = 0; i < check_box.length; i++) {
		if (check_box[i].checked) 
			selected[selected.length] = check_box[i].value.split('|')[1];
	}
	new_label = '';
	if (selected.length < check_box.length) {
		for (i = 0; i < selected.length; i++) {
			if (i > 0) 
				new_label += ', ';
			new_label += selected[i];
		}
		
		if (selected.length > 0) 
			new_label += ' (' + selected.length + ' selected)';
	}
	else 
		new_label = '';
	
	document.getElementById(title_bar_value_id).innerHTML = new_label;
}

function updateFundingTitleBar(title_bar_value_id){
	bar_value = document.getElementById(title_bar_value_id);
	min = document.getElementById('funding-min');
	max = document.getElementById('funding-max');
	
	if (parseInt(min.value) == 1 && !(max.options.length - 1 == max.selectedIndex)) {
		bar_value.innerHTML = 'Below ' + max.options[max.selectedIndex].text;
	}
	else 
		if (parseInt(min.value) > 1 && parseInt(max.value) > 0) {
			if (parseInt(max.value) > parseInt(min.value)) {
				bar_value.innerHTML = 'Between ' + min.options[min.selectedIndex].text + ' and ' + max.options[max.selectedIndex].text;
			}
			else 
				bar_value.innerHTML = '<em class="error">invalid funding range</em>';
		}
		else 
			bar_value.innerHTML = '';
}


function selectAll(control_name){
	check_box = document.getElementsByName(control_name);
	for (i = 0; i < check_box.length; i++) {
		check_box[i].checked = true;
	}
}

function selectNone(control_name){
	check_box = document.getElementsByName(control_name);
	for (i = 0; i < check_box.length; i++) {
		check_box[i].checked = false;
	}
}
