var needRefresh = false;
function refreshAvailableTopics()
{
	var tp = $('available_topics');
	var ajax = new Ajax.Updater('available_topics',refreshAvailUrl);
}
function deleteEventTopic(elem,topic_id)
{
	var p =	elem.parentNode.parentNode;
	p.parentNode.removeChild(p);
	var ajax = new Ajax.Updater('available_topics',deleteEventTopicUrl+'topic_id,'+topic_id+'/',{method:'get',onSuccess: reloadTopics, on404: function(t){alert('There was a problem, please try again')}});
}
function deleteTopic(elem,topic_id)
{
	var conf = confirm("Deleting this topic will remove it from other events.\nAre you sure you want to delete this?");
	if(conf)
	{
		var p =	elem.parentNode.parentNode;
		p.parentNode.removeChild(p);
		var ajax = new Ajax.Request(deleteTopicUrl+'topic_id,'+topic_id+'/',{method:'get',onSuccess: refreshAvailableTopics, on404: function(t){alert('There was a problem, please try again')}});
	}
}
function addTopic(elem, topic_id)
{
	var p =	elem.parentNode.parentNode;
	p.parentNode.removeChild(p);
	var ajax = new Ajax.Updater('topic_container',addTopicUrl+'topic_id,'+topic_id+'/',{method:'get',onComplete: refreshTopics});
}
function saveTopicOrder()
{
	var et = Sortable.serialize('event_topics');
	var ajax = new Ajax.Request(saveTopicsUrl, {method:'post', postBody: et, on404: function(t){alert('There was a problem, please try again')}});
	var ts = $('topic_save_btn');
	ts.disabled=true;
	ts.style.display="none";
}
function triggerTopicSaveBtn()
{
	var ts = $('topic_save_btn');
	ts.disabled=false;
	ts.style.display="block";
}
function topicBtnCancel()
{
	reloadTopics();
}
function reloadTopics()
{
	var ajax = new Ajax.Updater('topic_container',reloadTopicUrl,{method:'get',onComplete: refreshTopics});
}
function refreshTopics(resp)
{
	Sortable.create("event_topics",{tag:'div',onUpdate:triggerTopicSaveBtn});
}
function addEventOption(title, id, url)
{
	var aw = new AjaxWindow(id);
	aw.title = title;
	aw.width = 800;
	aw.open('new Fuction(false)', null, url, refreshRegOptions, '');
}
function topicWindow(title, id, url, addNew)
{
	if(addNew)
	{	
		var reload = refreshAvailableTopics;
	}
	else
	{
		var reload = reloadTopics;
	}
	var aw = new AjaxWindow(id);
	aw.title = title;
	aw.width = 600;
	aw.open('new Fuction(false)', null, url, reload, '');
}
function refreshRegOptions()
{
	var ajax = new Ajax.Updater('reg_options',reloadRegOptionsUrl);
}
function deleteEventOption(deleteUrl, item_id)
{
	var conf = confirm("Are you sure you want to delete this item?");
	if(conf)
	{
		var ajax = new Ajax.Request(deleteUrl);
		var item = $('item_'+item_id);
		item.style.display = 'none';
	}
}
function showAdminOptions(elem)
{
	elem.childNodes[0].style.display='block';
}
function hideAdminOptions(elem)
{
	elem.childNodes[0].style.display='none';
}
function startEditingTypes(type_id)
{
	$('edit_type_'+type_id).style.display = 'block';
	$('type_'+type_id).style.display = 'none';
}
function deleteEventType(delUrl, type_id)
{
	needRefresh = true;
	var ajax = new Ajax.Request(delUrl);
	$('type_container_'+type_id).style.display = 'none';
}
function cancelEditType(type_id)
{
	var type = $('type_'+type_id);
	$('edit_type_'+type_id).style.display = 'none';
	$('type_value_'+type_id).value = type.innerHTML;
	$('type_'+type_id).style.display = 'block';
}
function saveEventType(type_id)
{
	needRefresh = true;
}
function finishEditingTypes()
{
	if(needRefresh)
		window.location.reload();
}