function getPrograms (degree)
{
	if (degree != '')
	{
		var requestUrl = 'areastudies';
		
		new Ajax.Request (requestUrl,
		{
			method:'get',
			parameters: {'degree': degree},
			
			onCreate: function ()
			{
				clearProgramList ();
				addOption ('- loading program list -', '');
				
				$ ('program-select').disabled = true;
				$ ('button-find-schools').disabled = true;
			},
			onComplete: function ()
			{
				$ ('program-select').disabled = false;
				$ ('button-find-schools').disabled = false;
			},
			onFailure: function ()
			{
				alert ('Error reading data...');
			},
			onSuccess: populateProgramList 
		});
	}
	else
	{
		resetAreaList ();
	}
}

function clearProgramList ()
{
	var object = $ ('program-select');
	
	Try.these
	(
		function ()
		{
			while (object.options.length > 0)
			{
				object.options[0].remove ();
			}
		},
		function ()
		{
			while (object.options.length > 0)
			{
				object.options.remove (0);
			}
		}
	);
	

}

function populateProgramList (transport)
{
	try
	{
		var response = transport.responseText.evalJSON ();
	}
	catch (e)
	{
		alert (e.toString ());
	}
	
	var areaStudies = Object.values (response);

	if (areaStudies)
	{
		clearProgramList ();
		
		addOption ('- Choose a Program -', '');
		
		areaStudies.each
		(
			function (areaStudy)
			{
				addOption (areaStudy.name, areaStudy.url_slug);
			}
		);
	}
}

function resetAreaList ()
{
	clearProgramList ();
	addOption ('- Choose a Program -', '');
	$ ('program-select').disabled = true;
}

function addOption (text, value)
{
	var programListingObject = $ ('program-select');
	
	var optionObject = document.createElement ('option');
	
	optionObject.text = text;
	optionObject.value = value;
	
	Try.these
	(
		function ()
		{
			programListingObject.options.add (optionObject);
		},
		function ()
		{
			return programListingObject.appendChild (optionObject);
		}
	);
}

function findSchools ()
{
	var degree = $ ('degree-select').value;
	var areaStudy = $ ('program-select').value;
	
	if (degree != '' && areaStudy != '')
	{
		var url = 'onlinedegree' + '/' + degree + '/' + areaStudy;
		document.location.href = url;
	}
	else
	{
		alert ('Please choose a Degree and a Program');
	}
	
	return false;
}