//object to store selected element for each drop down box
var fields = new Object;
//form element names to re-enable once data has loaded
var enable=new Array;
var x = document.getElementById('salescalendar_search');
for (var i=0;i<x.length;i++)
{
	if(x[i].type !="submit"){
		var theName = x[i].name;
		fields[theName] = '';
	}
}
function installSalesOptions()
{
	var x = document.getElementById('salescalendar_search');
	for (var i=0;i<x.length;i++)
	{
		if(x[i].type !="submit"){
			if(x[i].name!="state"){
				if(x[i].name!="livestock_type"){
					x[i].onchange = handleFormChange;
				}
				else{
					x[i].onchange = handleLivestock_typeChange;
				}
			}
			else{
			x[i].onchange = handleStateChange;
			}
		}
	}
	enable=new Array("state");
	populateData();
}

function handleStateChange(evt)
{
	
	if(document.getElementById("form-state").value!=""){
		elt = document.getElementById("form-livestock_type");
		enable=new Array("state", "livestock_type");
		elt.value="";
	}
	else{
		enable=new Array("state");
	}
	populateData();
}
function handleLivestock_typeChange(evt)
{
	
	elt=document.getElementById("form-livestock_type");
	if(elt.value!=""){
		enable=new Array("state", "livestock_type", "sale_type", "month", "year", "submit");
	}
	else{
		enable=new Array("state", "livestock_type");
	}
	populateData();
}

function handleFormChange(evt)
{
	
	enable=new Array("state", "livestock_type", "sale_type", "month", "year", "submit");
	populateData();
}

function populateData()
{
	var url = '/livestock/salescalendar_search.php';
	var pars = "action=choose";
	for (var i in fields){
		elt = document.getElementById("form-"+i);
		if (elt.options.length == 0){
			elt.options[0] = new Option("Loading....", '');
			elt.disabled=true;
			continue;
		}
		
		//store the selected element
		key = elt.name;
		val = elt.options[elt.selectedIndex].value;
		var text= elt.options[elt.selectedIndex].text;
		fields[i] = val;
		//reset drop down box
		elt.options.length = 0;
		if(val!=""){
			//append sub request parameters
			pars +='&'+key+'='+val;
			//temporarily add an option for the selected element
			elt.options[0] = new Option(text, '');
		}
		else{
			//temporarily add an option to display loading message
			elt.options[0] = new Option("Loading....", '');
		}
		//disable the box while data is being loaded
		elt.disabled=true;
	}
	document.getElementById("form-submit").disabled=true;
	
	var ajax = $.get( url, pars, showResponse);
	
}
function showResponse(r, data) {
	//alert(r.responseText);
	eval('var data= ' + r);
	for (key in data) {
		elt = document.getElementById('form-' + key);
		//load up options
		elt.options.length = 0;
		if(key!="state" && key !="livestock_type"){
			elt.options[0] = new Option('All', '');
		}
		else{
			elt.options[0] = new Option('Please Select One', '');
		}
		for (var i = 0; i < data[key].length; i++) {
			elt.options[i+1] = new Option(data[key][i][1], data[key][i][0]);
			//set the selected index
			if(fields[key]==elt.options[i+1].value){	
				elt.options[i+1].selected=true;
			}
			
		}
		
	}
	//re enable elements
	for (var key = 0; key < enable.length; key++) {
		document.getElementById('form-' + enable[key]).disabled=false;
	}
}

