
/**
 * Relocates the page to a new URL
 * @param string url
 * @param string text
 * @return boolean
 */
function goTo( url, text )
{
	if ( text != null ) {
		if ( confirm( text ) )
			document.location = url;
	} else {
		document.location = url;
	}
	
	return false;
}

/**
 * Toggle all checkboxes in the list
 * @param mixed current
 * @param string model
 * @param string field
 */
function toggleCheckboxes( current, model, field )
{
	var form = $( current ).parents( 'form:first' ),
		cbs = form.find( "input[type='checkbox']" );

	cbs.each(function(){
		if ( this.name == 'data['+ model +']['+ field +'][]' )
			this.checked = current.checked;
	});
}

/**
 * Toggle to show/hide an element
 * @param string target
 * @param string toggler
 */
function toggleElement( target, toggler )
{
	var element = document.getElementById(target);
	var text = toggler.innerHTML;

	if (element.style.display == 'none')
		element.style.display = 'block';
	else
		element.style.display = 'none';
	
	if (text == '+')
		toggler.innerHTML = '-';
	else
		toggler.innerHTML = '+';
		
	return false;
}
