/*
Project: UL Toggles
Author: Brian DiChiara
Version: 1.0
Usage: Takes Nested UL elements and places them in collapsible toggles
*/
var Ul_toggles = {
	
	$ul : {},
	
	options : {
		selector: '.terms-list',
		insert_toggle: true
	},
	
	init : function(opts){
		Ul_toggles._setopts(opts);
		
		Ul_toggles.$ul = jQuery(Ul_toggles.options.selector);
		
		jQuery.each(Ul_toggles.$ul, function(i, el){
			var $ul = jQuery(el);
			var $root_lis = jQuery('> li', $ul);
			jQuery('ul', $ul).hide();
			
			jQuery.each($root_lis, function(l, li){
				var $el = jQuery(li);
				var $child_ul = jQuery('ul',$el);
				$child_ul.css('clear','both');
				$el.css('clear','both');
				
				if($child_ul.length > 0){
					if(Ul_toggles.options.insert_toggle){
						if($el.find('a').length > 0){
							$el.find('a').css('float','left')
										.css('width','auto');
						}
						var $a = jQuery('<a href="#toggle" class="toggler" />');
						$a.text('+')
							.css('display','inline')
							.css('float','left')
							.css('width','7px')
							.css('text-decoration','none');
						
						$a.click(function(){
							$child_ul.slideToggle('fast');
							if($a.text() == '+'){
								$a.text('-');
							} else {
								$a.text('+');
							}
							return false;
						});
						
						$el.prepend($a);
					} else {
						if($el.find('a').length > 0){
							$el = $el.find('a');
						}
						$el.prepend('+ ');
						$el.click(function(){
							$child_ul.slideToggle('fast');
							return false;
						});
					}
				}
			});
		});
	},
	
	
	_setopts : function(opts){
		if(typeof(opts) == 'object'){
			for(var opt in opts){
				Ul_toggles.options[opt] = opts[opt];
			}
		}
	}
}
