
function submissionFormInitEvent()
{
	loadSubmissionCategories(0, initSubmissionCategories);
}

function loadSubmissionCategories(parentId, handler)
{
	var url = "/categories-json.html?parentId=" + parentId;
	var ajax = new Ajax(handler);
	ajax.get(url);
}

function initSubmissionCategories(response)
{
	var cats = eval("(" + response.responseText + ")");
	//var cats = categories[0];
	var dropdown = document.getElementById("submissionCategory");
	if (dropdown.attachEvent)
	{
		dropdown.attachEvent("onchange", submissionCategoryChangeEvent);
	}
	else if (dropdown.addEventListener)
	{
		dropdown.addEventListener("change", submissionCategoryChangeEvent, false);
	}
	else
	{
		dropdown.onclick = submissionCategoryChangeEvent;
	}
	var option = document.createElement("option");
	option.value = "";
	option.appendChild(document.createTextNode("All Categories"));
	dropdown.appendChild(option);
	// load the top level categories
	for (var i = 0; i < cats.length; i++)
	{
		option = document.createElement("option");
		option.value = cats[i].id;
		option.appendChild(document.createTextNode(cats[i].name));
		dropdown.appendChild(option);
	}
	// pre-select the selected primary category
	// for mozilla
	if (document.createEvent)
	{
		var evObj = document.createEvent('HtmlEvents');
		evObj.initEvent("change", true, true);
		dropdown.dispatchEvent(evObj);		
	}
	else if (document.createEventObject)
	{
		dropdown.fireEvent("onchange");
	}
}



function submissionCategoryChangeEvent(evt)
{
	var dropdown = document.getElementById("submissionSubCategory");
	var nodes = dropdown.getElementsByTagName("option");
	if (nodes.length > 0)
	{
		for (var i = (nodes.length - 1); i >= 0; i--)
		{
			dropdown.removeChild(nodes.item(i));
		}
	}
	if (evt == undefined)
	{
		evt = event;
	}
	var primary = evt.srcElement || evt.target;
	if (primary.value != "")
	{
		loadSubmissionCategories(primary.value, loadSubmissionSubCategories);
	}
}

function loadSubmissionSubCategories(response)
{
	var primary = document.getElementById("submissionCategory");
	var subCategory = document.getElementById("submissionSubCategory");
	// load the sub-categories if necessary
	if (primary.value != "")
	{
		var option = document.createElement("option");
		option.value = "";
		option.appendChild(document.createTextNode("All sub-categories"));
		subCategory.appendChild(option);
		var cats = eval("(" + response.responseText + ")");
		for (varName in cats)
		{
			option = document.createElement("option");
			option.value = cats[varName].id;
			option.appendChild(document.createTextNode(cats[varName].name));
			subCategory.appendChild(option);
		}
	}
	else
	{
		var option = document.createElement("option");
		option.value = "";
		option.appendChild(document.createTextNode("No sub-categories"));
		subCategory.appendChild(option);		
	}
}


// add events to the body

