//Collapse sections
document.observe('dom:loaded', setUp)

function setUp() {
	
	//Back buttons
	$$('.back').each(function(element){		
		element.observe('click', pageBack);
	});
	
	//Collapsable buttons
	$$('.collapsable').each(function(element){
		var link = element.down('a');
		
		link.show();
		
		link.observe('click',handleCollapse.curry(element.id));
	});
	
}

function pageBack() {
	history.back(1);	
}

function handleCollapse(id,e) {
	e.stop();
	var div = $(id + '-information');
	Effect.toggle(div,'blind');	
	
	var img = this.down('img');
	
	if(img.readAttribute('src') == '../images/icons/maximize.gif'){
		img.src = '../images/icons/minimize.gif';		
	}
	else {
		img.src = '../images/icons/maximize.gif';
	}
}

//override form handling to use Ajax
function hijackForm(form) {	
	$(form).observe('click', handleSubmit);
}

//override form handling to use Ajax
function handleSubmit(e){

	e.stop();
	
	var button = e.target;
	
	if(button.tagName.toLowerCase() != 'button' && !(button.tagName.toLowerCase() == 'a' && Element.hasClassName(button, 'empty'))) return;
	
	if(validateForm && !validateForm()) return;
	
	if(button.tagName.toLowerCase() == 'button'){
		new Ajax.Request(this.action, {
			method : this.method,
			parameters : button.name + '=' + button.value + '&' + this.serialize()
		});
	}
	else {
		new Ajax.Request(this.href);
	}
	
}