function setStatus( status )
{
	$('status_div').innerHTML = status;
}

function are_you_sure()
{
	return confirm( "Are you sure?" );
}

previous_form = "";

function toggleForm( form_address )
{
	if( form_address != null &&( form_address != previous_form || !$('add_div').visible() ) )
	{
		setStatus('loading...');
		new Ajax.Updater('add_div', form_address, {onComplete: formLoaded,asynchronous:true, evalScripts:true});
	}
	else
		Element.hide('add_div');

	previous_form = form_address;
	
	return false;
}

function formLoaded()
{
	Element.show('add_div');
	setStatus('');
	Element.setStyle('add_div', {left:($('body').getDimensions()['width']/2 - $('add_div').getDimensions()['width']/2) });
	Form.focusFirstElement('add_div_form');
}

function submitRemoteForm( form_address , form_id , editing )
{
	setStatus('saving...');

	if( editing )
	{
		new Ajax.Request(form_address, {method:'post',parameters: Form.serialize(form_id)+'&edit=true',onComplete: transactionComplete,asynchronous:true, evalScripts:true});
	}
	else
		new Ajax.Request(form_address, {method:'post',parameters: Form.serialize(form_id),onComplete: transactionComplete,asynchronous:true, evalScripts:true});

	return false;
}

function deleteElement( delete_address )
{
	if( are_you_sure() )
	{
		setStatus('deleting...');
		new Ajax.Request(delete_address, {onComplete: transactionComplete,asynchronous:true, evalScripts:true});
	}

	return false;
}

function transactionComplete(t)
{
	//alert( t.responseText );
	eval( t.responseText );
}

function undo()
{
	window.location = "/undo?editing="+editing;
	return false;
}


function color_groups(down)
{
	if( down )
		for( i = 0; i < groups.length; i++ )
			Element.addClassName( groups[i] , 'hover' );
	else
	{
		for( i = 0; i < groups.length; i++ )
			Element.removeClassName( groups[i] , 'hover' );
	}
	return false;
}

function show_descriptions()
{
	var descriptions = document.getElementsByClassName( 'description' , 'add_div' );
	for( i = 0; i < descriptions.length; i++)
		Element.toggle( descriptions[i] );

	return false;
}

function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
      obj['e'+type+fn] = fn;
          obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
	      obj.attachEvent( 'on'+type, obj[type+fn] );
	        } else
		    obj.addEventListener( type, fn, false );
		    }
		    function removeEvent( obj, type, fn ) {
		      if ( obj.detachEvent ) {
		          obj.detachEvent( 'on'+type, obj[type+fn] );
			      obj[type+fn] = null;
			        } else
				    obj.removeEventListener( type, fn, false );
				    }

