
var totalItems = 2;

function sortUpdate(){
	var elms = $('items_list').getElementsByTagName('li');
	var count = elms.length;
	for(var i=2; i<count; ++i){
		tId = elms[i].id.replace('item_', '');
		tElm = $('item_' + tId + '_delete_link');
		if(!tElm){
			$('item_' + tId + '_delete').appendChild(createDeleteLinkNode(tId));
		}
	}
	for(var j=0; (j<2 && j<count); ++j){
		tId = elms[j].id.replace('item_', '');
		tElm = $('item_' + tId + '_delete_link');
		if(tElm){
			Element.remove(tElm);
		}
	}
}

function checkForm(frm){
	var elms = frm.getElementsByTagName('input');
	var count = elms.length;
	var total = 0;
	for(i=0; i<count; ++i){
		if(elms[i].type.toLowerCase() == 'text' && elms[i].value != ''){
			++total;
		}
	}
	if(total < 2){
		alert('Decisitron says, "Please enter at least two values."');
		return false;
	}
	return true;
}

function addItem(){
	var count = totalItems + 1;
	var lbl = 'item_' + count + '_input';
	outLi = Builder.node('li', {id:'item_' + count});
	inOrderImg = Builder.node('img', {src:'./images/move.gif', width:'16', height:'16', alt:'order list', className:'handle'});
	inInput = Builder.node('input', {size:'45', type:'text', id:lbl, name:'items[]'});
	inDelete = Builder.node('span', {id:'item_' + count + '_delete'});
	inDelete.appendChild(createDeleteLinkNode(count));
	outLi.appendChild(inOrderImg);
	outLi.appendChild(inInput);
	outLi.appendChild(inDelete);
	$('items_list').appendChild(outLi);
	Sortable.create("items_list",  {dropOnEmpty:true, handle:'handle', containment:["items_list"], onUpdate:sortUpdate});
	++totalItems;
	$('item_' + count + '_input').focus();
	return false;
}

function deleteItem(itm){
	elm = $(itm);
	if(elm){
		Element.remove(elm);
		--totalItems;
	}
	return false;
}

function createDeleteLinkNode(id)
{
	inDelete = Builder.node('a', {href:'#', id:'item_' + id + '_delete_link', className:'delete', onclick:'return deleteItem(\'item_' + id + '\');'});
	inDeleteImg = Builder.node('img', {src:'./images/delete.gif', width:'16', height:'16', alt:'delete'});
	inDelete.appendChild(inDeleteImg);
	return inDelete;
}