try {
if (!cllc.exists) { throw "cllcObjUndefined"; }

cllc.expandos = {
	model: {
		cur_expandos_page: 0,
		expandos_width: null,
		num_expandos: null
	},

	init: function() {
		cllc.expandos.model.expandos_width = $('#expandos_mask').width();
		cllc.expandos.model.num_expandos = $('.expando_group').length;
		
		$('.expando .expander').bind('click close_all', function(e) {
			var $this = $(this);
			
			if (e.type == 'click' && !$this.hasClass('open')) {
				$('.expando .expander.open').removeClass('open').trigger('close_all');
				$this.addClass('open');
			}
			else if ($this.hasClass('open')) {
				$this.removeClass('open');
			}
			
			$this.closest('.expando').find('.extended').slideToggle();
			$this.find('span').toggle();

			return false;
		});
		
		$('#expando_next').click(function(e) {
			e.preventDefault();
			
			if (cllc.expandos.model.cur_expandos_page < (cllc.expandos.model.num_expandos - 1)) {
				cllc.expandos.slide_to(cllc.expandos.model.cur_expandos_page + 1);
			}
		});
		
		$('#expando_prev').click(function(e) {
			e.preventDefault();
			
			if (cllc.expandos.model.cur_expandos_page > 0) {
				cllc.expandos.slide_to(cllc.expandos.model.cur_expandos_page - 1);
			}
		});
		
		$('#expando_pages .page').live('click', function(e) {
			cllc.expandos.slide_to($('#expando_pages .page').index(this));
		});
	},
	
	slide_to: function(index) {
		cllc.expandos.model.cur_expandos_page = index;
		
		$('#expando_prev, #expando_next').removeClass('inactive');
		if (cllc.expandos.model.cur_expandos_page == (cllc.expandos.model.num_expandos - 1)) {
			$('#expando_next').addClass('inactive');
		}
		if (cllc.expandos.model.cur_expandos_page == 0) {
			$('#expando_prev').addClass('inactive');
		}
		
		var pages = $('#expando_pages .page');
		pages.removeClass('current');
		pages.eq(cllc.expandos.model.cur_expandos_page).addClass('current');
		
		$('#expando_pages .status span').text(cllc.expandos.model.cur_expandos_page + 1);
		
		$('.expando .expander.open').trigger('close_all');
		
		$('#expandos').animate({
			'left': -1 * cllc.expandos.model.cur_expandos_page * cllc.expandos.model.expandos_width
		});
	}
};

} catch(e) { cllc.standard_error_handler(e); }

$(cllc.expandos.init);