//var items = ['country', 'region', 'specialism', 'donor', 'date'];
var items = ['country', 'region', 'specialism', 'donor'];
var asyncScript = 'projects_async.php';
var currentlySelected = [];
for (var i=0; i < items.length; i++) {
	currentlySelected[i] = 0;
}

function init() {
	for (var i=0; i < items.length; i++) {
		RequeryItem(items[i]);
	}
}

function failure()
{
	window.location='http://dev/WaveSeven/Harewelle/webroot/';
}

function handleFailure(o) {
	failure();
}
function handleSuccess(o) {
	try {
	    var parsedResponse = YAHOO.lang.JSON.parse(o.responseText);
	}
	catch (e) {
	    var parsedResponse = '';
	}
	if (typeof(parsedResponse) == "object") {

		var strAction = parsedResponse.action;
		var arrData = parsedResponse.data;
		ReplaceItems(strAction, arrData);
	}

}

var callback =  {
	success:handleSuccess,
	failure:handleFailure
};
function RequeryItem(strItem)
{
	getParams = 'action='+strItem;
	for (var i=0; i < items.length; i++) {
		theSelect = document.getElementById('proj_'+items[i]);
		theSelectIndex = theSelect.selectedIndex;


		if (theSelectIndex < 1 || theSelectIndex == "") {
			item_id = 0;
		}
		else {
			item_id = theSelect.options[theSelectIndex].value;
		}
		if (theSelectIndex != 0) {
			getParams += '&' + items[i] + '=' + item_id;
		}
	}
	var request_url = 'projects_async.php?'+getParams;
	YAHOO.util.Connect.asyncRequest('GET', request_url, callback, null);
}
function ReplaceItems(name, arrData)
{
	var theSelect = document.getElementById('proj_'+name);
	while (theSelect.options.length > 0) {
		theSelect.remove(0);
	}
	var rootOpt = new Option('ALL', 0);
	theSelect.options[theSelect.options.length] = rootOpt;
	for (var i in arrData) {
		optionName = arrData[i];
		isSelected = false;
		var newOpt = new Option(optionName, i);
		theSelect.options[theSelect.options.length] = newOpt;
	}
	for (var i=0; i < items.length; i++) {
		if (items[i] == name && currentlySelected[i] != 0) {
			for (var n=0; n < theSelect.options.length; n++) {
				if (theSelect.options[n].value == currentlySelected[i]) {

					theSelect.selectedIndex = n;

				}
			}
		}
	}
}
function SelectChange(itemName)
{
	var do_replace = false;
	for (var i=0; i < items.length; i++) {
		if (do_replace == true) {
			var theSelect = document.getElementById('proj_' + items[i]);
			prevSelected = theSelect.options[theSelect.selectedIndex].value;
			currentlySelected[i] = prevSelected;
			RequeryItem(items[i]);
		}
		if (items[i] == itemName) {
			do_replace = true;
		}
	}
}
YAHOO.util.Event.onDOMReady(init);
