/* switch plan destination/activity */
function switchPlan(ctrl)
{
	var plan = ctrl.value;
	// show d/a select
	$('cs-dest').setStyle('display', plan == 'destination' ? 'block' : 'none');
	$('cs-act').setStyle('display', plan == 'activity' ? 'block' : 'none');
	plan == 'destination' ? loadActivities($('cs-dest').getFirst('select')) : loadDestinations($('cs-act').getFirst('select'));
}

function loadActivities(dctrl)
{
	if (dctrl.value == null || dctrl.value == '') // clean up list of d/a
	{
		$('ct-ad').set('text', '');
		$('ct-ad').setStyle('display', 'none');
	}
	else
	{
		var title = dctrl.options[dctrl.selectedIndex].text;
		showLoadingMsg('Loading activities in ' + title);
		
		// making request
		var params = new Hash();
		params.set('id', dctrl.value);
		
		// sending
		var request = new Request.HTML({
																method: 'post',
																url: '/ajax/getactivities',
																onSuccess: function(tree, a, html)
																{
																	$('ct-ad').set('text', '');
																	$('ct-ad').set('html', html);
																},
																onFailure: function()
																{
																	alert('Request Error');
																}
														 	}).send(params.toQueryString());
	}
}

function loadDestinations(actrl)
{
	if (actrl.value == null || actrl.value == '') // clean up list of d/a
	{
		$('ct-ad').set('text', '');
		$('ct-ad').setStyle('display', 'none');
	}
	else
	{
		var title = actrl.options[actrl.selectedIndex].text;
		showLoadingMsg('Loading destinations for ' + title);
		
		// making request
		var params = new Hash();
		params.set('id', actrl.value);
		
		// sending
		var request = new Request.HTML({
																method: 'post',
																url: '/ajax/getdestinations',
																onSuccess: function(tree, a, html)
																{
																	$('ct-ad').set('text', '');
																	$('ct-ad').set('html', html);
																},
																onFailure: function()
																{
																	alert('Request Error');
																}
														 	}).send(params.toQueryString());
	}
}

function showLoadingMsg(msg)
{
	$('ct-ad').set('text', '');
	$('ct-ad').set('html', '<div class="loading">' + msg + '</div>');
	$('ct-ad').setStyle('display', 'block');
}

function gatherCBS(prfx)
{
	return document.getElements('input[name^=' + prfx + ']').filter(function(item)
	{
		return item.type == 'checkbox' && item.checked;
	}).map(function(item)
	{
		return item.name.substr(prfx.length);
	}).join(',');
}