
function candidateFormInitEvent()
{
	loadCandidateCategories(0, initCandidateCategories);
	//initPrimaryCategoryDropdown();
	//initLocationDropdown();
}

function loadCandidateCategories(parentId, handler)
{
	var url = "/categories-json.html?parentId=" + parentId;
	var ajax = new Ajax(handler);
	ajax.get(url);
}

function initCandidateCategories(response)
{
	var cats = eval("(" + response.responseText + ")");
	//var cats = categories[0];
	var dropdown = document.getElementById("candidate_category");
	if (dropdown.attachEvent)
	{
		dropdown.attachEvent("onchange", candidateCategoryChangeEvent);
	}
	else if (dropdown.addEventListener)
	{
		dropdown.addEventListener("change", candidateCategoryChangeEvent, false);
	}
	else
	{
		dropdown.onclick = candidateCategoryChangeEvent;
	}
	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));
		if (cats[i]["id"] == candidate["category_id"])
		{
			option.setAttribute("selected", "selected");
		}
		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 candidateCategoryChangeEvent(evt)
{
	var dropdown = document.getElementById("candidate_subCategories");
	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 != "")
	{
		loadCandidateCategories(primary.value, loadCandidateSubCategories);
	}
}

function loadCandidateSubCategories(response)
{
	var primary = document.getElementById("candidate_category");
	var subCategory = document.getElementById("candidate_subCategories");
	// 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));
			if (candidate["categories"][cats[varName].id] != undefined)
			{
				option.setAttribute("selected", "selected");
			}
			subCategory.appendChild(option);
		}
	}
	else
	{
		var option = document.createElement("option");
		option.value = "";
		option.appendChild(document.createTextNode("No sub-categories"));
		subCategory.appendChild(option);		
	}
}

function toggleVisibility(elementId)
{
	//alert(elementId);
	var element = document.getElementById(elementId);
	if (element.style.display == 'block')
	{
		element.style.display = 'none';
	}
	else
	{
		element.style.display = 'block';
	}
}

function toggleVisibility(elementId)
{
	var element = document.getElementById(elementId);
	if (element.style.display == "none" || element.style.display == "")
	{
		element.style.display = "block";
	}
	else if (element.style.display == "block")
	{
		element.style.display = "none";
	}
}

// add events to the body

