/*
 * 	jQuery Plugin collapsibleList
 *	Permite construir un BreadCrump que al mismo tiempo se pueda usar como Menú
 *	Ideit S.L.  - Diego Failde González * 	24/12/2009
 */

 (function($){
 	$.fn.collapsibleList = function(options) {
		var options = $.extend({}, $.fn.collapsibleList.defaults, options);
		var div = $(this);
		div.css({'height': options.divHeight});
		
		var ul = div.children('ul');
		function _build(){
			// li's
			var $lis = ul.children('li');
			// first li
			var $first = ul.children('li:first');
			// buttons
			var $buttons = $lis.children('div.expand-button').children('a');
			
			var i = 0;
			$lis.each(function(i){
				$(this).attr('id', 'coll_id_' + i++); 
				collapse($(this));
			});
			expand($first);
			
			$buttons.click(function(e){
				var $currentLi = $(this).parent().parent();
				toogleLi($lis, $currentLi);
				return false;
			});
		}
	
		function toogleLi(listOfLi, selectedLi){
			listOfLi.each(function(i){
				if($(this).attr('id') == selectedLi.attr('id'))
					expand($(this));
				else
					collapse($(this));
			});
		}
	
		function collapse(currentLi){
			currentLi.removeClass(options.expandedClass);
			currentLi.addClass(options.collapsedClass);
			currentLi.animate({'height': options.collapsedHeight});
		}

		function expand(currentLi){
			currentLi.removeClass(options.collapsedClass);
			currentLi.addClass(options.expandedClass);
			currentLi.animate({'height': options.expandedHeight});
		}
		
		_build();
	};
	
	/*  Default Settings  */
	$.fn.collapsibleList.defaults = {
		collapsedClass:			'collapsed',
		expandedClass:			'expanded',
		collapsedHeight:		'80px',
		expandedHeight:			'191px',
		divHeight:				'677px;'
	};
	
})(jQuery);
