/*
	Levele Tree Styler v 1.0 beta
	
	$(".vertical-menu").StyleLeveleTree();
*/

(function( $ ){
 	$.fn.StyleLeveleTree = function(options) {
		var settings = {
			'rootLevelClass' : 'root-level',
			'levelClass' : 'level',
			'selectedItemClass' : 'selected',
 			'selectedTreeClass' : 'SelectedTreeItem'
			
		};


		if ( options ) { 
			$.extend( settings, options );
		};
		
		return this.each(function() {
			// adding root level class
			$(">ul", this).addClass(settings.rootLevelClass);
			// adding level class
			$("ul", "."+settings.rootLevelClass).addClass("level");
			// adding root level class to root level ul
			$("> li", "."+settings.rootLevelClass).addClass(settings.rootLevelClass);
			// adding selected item class
			$(".selected", this).parentsUntil("ul.root-level").addClass(settings.selectedItemClass);
			// adding selected tree item calss
			$(".SelectedTreeItem", this).parent("ul").addClass(settings.selectedTreeClass);
			// inserting span into a
			$("a", this).each(function() {
				if ($(this).hasClass("selected")) {
				}
				else {
				 $(this).wrapInner("<span></span>");
				};	
			});
			
			$("li."+settings.selectedItemClass+" > a").addClass(settings.selectedItemClass);
			$("li."+settings.selectedItemClass+" > a span").addClass(settings.selectedItemClass);
			
			
			
		});

		
	};	
})( jQuery );
