HC.accordion = {
	
	_on_change_start_callbacks : [],
	_on_change_done_callbacks : [],
	
	init : function () {
		//console.log('init HC.accordion');
		HC.accordion.apply('#accordion')
	},
	
	apply : function (sel) {
		var options = {
			autoHeight: false,
			fillSpace: false,
			header: ".bar"
		}
		
		$(sel).accordion(options);
		 
		// bind events
		$(sel).bind("accordionchangestart", HC.accordion.on_change_start);
		$(sel).bind("accordionchange", HC.accordion.on_change_done);
	},
	
	on_change_start : function (e, ui) {
		HC.accordion.dispatch_change(HC.accordion._on_change_start_callbacks, e, ui);
	},
	
	on_change_done : function (e, ui) {
		HC.accordion.dispatch_change(HC.accordion._on_change_done_callbacks, e, ui);
	},
	
	add_on_change_start_callback : function(fn) { HC.accordion._on_change_start_callbacks.push(fn) },
	add_on_change_done_callback : function(fn) { HC.accordion._on_change_done_callbacks.push(fn) },
	dispatch_change : function (callbacks, e, ui) {
		for (var i=0; i < callbacks.length; i++) {
			callbacks[i](e, ui);
		}
	}
}


HC.app.add_on_dom_ready(HC.accordion.init);