// todo.js
	function createNewSection(name)
	{
		//	get submitted form value
		var name = $F('sectionName');
		if (name != '') {
			//	 prepare incremented IDs
		    var nextSectionId = sections.length + 1;
			var groupId = 'group' + nextSectionId;
			//	build inner divs
			var innerdiv1 = Builder.node('div', {className:'handle'}, name);
			var innerdiv2 = Builder.node('div', {className:'addtodo'}, [
							Builder.node('input', {type:'text', id: 'new_todo_' + nextSectionId}),
							Builder.node('input', {type:'button', onclick: 'createNewTodo($(\'new_todo_' + nextSectionId +'\').value, $(\''  +groupId + '\').id);', value:'Add Todo'})
							]);
			var innerdiv3 = Builder.node('div', {style: 'clear:both'});
			//	wrap
			var innerwrapper = Builder.node('div', {className:'mytitlebar'}, [
							innerdiv1,
							innerdiv2,
							innerdiv3
							]);
			var outerwrapper = Builder.node('div', {id: groupId, className: 'section', style: 'display:none;'});
			outerwrapper.appendChild(innerwrapper);
			//	append to parent page div
			sections.push(outerwrapper.id);
			$('page').appendChild(outerwrapper);
			Effect.Appear(outerwrapper.id);
			destroyLineItemSortables();
			createLineItemSortables();
			createGroupSortable();
		}
	}
	function createNewTodo(str, myid)
	{
		if (str != '') {
			//	build new element and add to DOM
			var items = document.getElementsByClassName('lineitem');
			var nextItemId = items.length + 1;
			var nextItemIdName = 'item_' + nextItemId;
			var todoSpanIdName = 'todo_item_'+nextItemId;
			var donespan = Builder.node('span', [Builder.node('a', {href:'#', className:'toggleDone', onclick:'toggleDone(\''+todoSpanIdName+'\')'}, '[X]')]);
			var todospan = Builder.node('span', {id:todoSpanIdName, className:'todo'}, str);
			var newDiv = Builder.node('div', {className: 'lineitem', id: nextItemIdName, style: 'position: relative'}, [
				donespan,
				todospan]);
			items.push(newDiv.id);
			$(myid).appendChild(newDiv);
			Sortable.create(myid, {tag:'div', dropOnEmpty: true, containment: sections, only:'lineitem'});
		}
	}
	var handlerFunc = function(t) {
		Element.update($('response'), t.responseText)
		Element.show('response');
		Effect.Fade('response', {duration: 5.0});
	}
	function createLineItemSortables()
	{
		for (var i = 0; i < sections.length; i++) {
			Sortable.create(sections[i],{tag:'div', dropOnEmpty:true, containment:sections, only:'lineitem'});
		}
	}
	function destroyLineItemSortables()
	{
		for (var i = 0; i < sections.length; i++) {
			Sortable.destroy(sections[i]);
		}
	}
	function createGroupSortable()
	{
		Sortable.create('page',{tag:'div', only:'section', handle:'handle'});
	}
	function toggleDone(todoId)
	{
		if ($(todoId).style.textDecoration == 'line-through') {
			$(todoId).style.textDecoration = 'none';
		} else {
			$(todoId).style.textDecoration = 'line-through';
		}
	}
	/*
	Debug Functions for checking the group and item order
	*/
	function getGroupOrder()
	{
		var sections = document.getElementsByClassName('section');
		var alerttext = '';
		sections.each(function(section) {
			var sectionID = section.id;
			var order = Sortable.serialize(sectionID);
			alerttext += sectionID + ': ' + Sortable.sequence(section) + '\n';
		});
		alert(alerttext);
		return false;
	}