function nav_toggle(window)
{
	if ( $(window+'_collapsed').hasClassName('hidden') )
	{
		$(window+'_expanded').addClassName("hidden");
		$(window+'_collapsed').removeClassName("hidden");
	}
	else
	{
		$(window+'_collapsed').addClassName("hidden");
		$(window+'_expanded').removeClassName("hidden");
	}
	new Ajax.Request('/nav/toggle_window/'+window, {asynchronous:true})
}

// Used on results cutback table to zero a row or column of inputs.
function cutback_eliminate(eliminate_cb, ids_to_zero)
{
	var id_array = ids_to_zero.split(/,/);
	id_array.each(function(node) {
		if (eliminate_cb.checked) {
			$('count[data][results][table]['+node+'][desired_qty]').value = 0;
		} else {
			$('count[data][results][table]['+node+'][desired_qty]').value = $('orig_count[data][results][table]['+node+'][desired_qty]').value;
		}
	})
}

function eliminate_check_all()
{
	var input_controls = document.body.getElementsByTagName('input');
	for (i = 0; i < input_controls.length; i++) {
		// Check the check boxes.
		if (input_controls[i].name.match(/^count\[data\]\[results\]\[eliminate\]/) != null) {
		 	input_controls[i].checked = true;
		}

		// Update the input boxes.
		if (input_controls[i].name.match(/^count\[data\]\[results\]\[table\]/) != null) {
		 	input_controls[i].value = 0;
		}
	}
}

function eliminate_uncheck_all()
{
	var input_controls = document.body.getElementsByTagName('input');
	for (i = 0; i < input_controls.length; i++) {
		// Un-Check the check boxes.
		if (input_controls[i].name.match(/^count\[data\]\[results\]\[eliminate\]/) != null) {
		 	input_controls[i].checked = false;
		}
	
		// Update the input boxes.
		if (input_controls[i].name.match(/^count\[data\]\[results\]\[table\]/) != null) {
			var original_value = "orig_" + input_controls[i].name;
		 	input_controls[i].value = $(original_value).value;
		}
	}
}

// Check or Uncheck all checkboxes in a given form
function checkbox_all(theform,opt) {
	$(theform).getElements('checkbox').each(
		function(cb) {
			if (opt == 'checked') {
				cb.checked = true;
			} else if ( opt == 'unchecked') {
				cb.checked = false;
			}
		}
	)
}

function uncheck_all(elem) {
	$A($(elem).getElementsByTagName('input')).each(
		function(cb){
			cb.checked = false;
		})
}

function check_all(elem) {
	$A($(elem).getElementsByTagName('input')).each(
		function(cb){
			cb.checked = true;
		})
}

function disable_all(elem) {
	$A($(elem).getElementsByTagName('input')).each(
		function(cb){
			cb.disabled = true;
		})
	$A($(elem).getElementsByTagName('select')).each(
		function(cb){
			cb.disabled = true;
		})
}

function enable_all(elem) {
	$A($(elem).getElementsByTagName('input')).each(
		function(cb){
			cb.disabled = false;
		})
	$A($(elem).getElementsByTagName('select')).each(
		function(cb){
			cb.disabled = false;
		})
}

function show_selected(sel_id) {
	otext = '';
	
	if ($('sel'+sel_id) != null ) {
		if ($('sel'+sel_id).type == "select" || $('sel'+sel_id).type == "select-multiple") {
			select = $('sel'+sel_id);
			for (i=0; i < select.options.length; i++)
			{
				if (select.options[i].selected)
				{
					opt_txt = select.options[i].text;
					opt_txt = opt_txt.gsub(/\ __.*?$/,'');
					otext = otext +', '+ opt_txt;
				}
			}
		} else if ($('sel'+sel_id).type == "checkbox") {
			if ($('sel'+sel_id).checked == true) {
				otext = $('sel'+sel_id).value;
			} else {
				otext = '';
			}
		}
		otext = otext.gsub(/^, /,'');
	} else if ($('sel'+sel_id+'_2') != null) {
		s1_value = $('sel'+sel_id+'_1').value
		s2_value = $('sel'+sel_id+'_2').value
		if (s1_value != '' && s2_value != '' ) {
			otext = 'Between '+s1_value+' and '+s2_value;
		}
	} else if ($('sel'+sel_id+'_1') != null) {
		if ($('sel'+sel_id+'_1').value != '') {
			otext = $('sel'+sel_id+'_1').value;
		}
	}
	
	$('sel_'+sel_id+'_output').innerHTML = otext;
}

function clear_select(sel_id) {
	select = $('sel'+sel_id);
	
	for (i=0; i < select.options.length; i++)
	{
		select.options[i].selected = false;	
	}

	$('sel_'+sel_id+'_output').innerHTML = '';
}

function clear_states(sel_id) {
	select = $(sel_id);
	for (i=0; i < select.options.length; i++)
	{
		select.options[i].selected = false;	
	}
}

function clear_value(sel_id){
	if ($('sel'+sel_id) != null) {
		if ($('sel'+sel_id).type == 'checkbox') {
			$('sel'+sel_id).checked = false;
		} else {
			$('sel'+sel_id).value = '';
		}
	}
	if ($('sel'+sel_id+'_1') != null) {
		$('sel'+sel_id+'_1').value = '';
	}
	if ($('sel'+sel_id+'_2') != null) {
		$('sel'+sel_id+'_2').value = '';
	}
	$('sel_'+sel_id+'_output').innerHTML = '';
}

function validate_checkbox(cbk_name) {
	if ( $(cbk_name) != null ) {
		if ($(cbk_name).checked == false) {
			alert('You must acknowledge your agreement with the terms and conditions.');
			return false;
		}
	}
	return true;
}

function toggle_div_visiblity(div_name) {
	if ($(div_name).hasClassName("hidden")) {
		$(div_name).removeClassName('hidden');
	}
	else {
		$(div_name).addClassName('hidden');
	}
}

function toggle_details(csh_id) {
	div_name = "select_details_" + csh_id;
	hidden_name = "select_details_visible[" + csh_id + "]";
	if ($(div_name).hasClassName("hidden")) {
		$(div_name).removeClassName('hidden');
		$(hidden_name).value = true;		
	}
	else {
		$(div_name).addClassName('hidden');
		$(hidden_name).value = false;		
	}
}

function position_geolookup(geo_id) {
	$(geo_id).style.top = (geolookup_posy-50)+'px';
	$(geo_id).removeClassName('hidden');
}

function choose_hold_limits() {
	$('hold_limits').removeClassName('hidden');
	enable_all($('hold_limits'));

	$('hold_selects').addClassName('hidden');
	disable_all($('hold_selects'));
}

function choose_hold_selects() {
	$('hold_selects').removeClassName('hidden');
	enable_all($('hold_selects'));

	$('hold_limits').addClassName('hidden');
	disable_all($('hold_limits'));
}

function select_file_suppression(elem){
	if ($(elem).value == 4) {
		enable_all('div_' + elem);
		$('div_' + elem).removeClassName('hidden');
	}
	else {
		disable_all('div_' + elem);
		$('div_' + elem).addClassName('hidden');
	}
}
