/**
 * @fileOverview KfW Finder, Programm-Finder
 * @version 0.1
 * @author Michael Schieben <michael@twoantennas.com> 
 */

/*jslint nomen: true, debug: true, evil: false, onevar: false, browser: true, plusplus: false, undef: true */
/*global window: true, KfW: true, jQuery: true */

(function ($) {
	
	function NavSection() {
		
		var nav = $('#nav-section');
		
		nav.find('li').each(function () {
			var w = $.textMetrics($(this)).width;
			if (w - 10 > $(this).innerWidth()) {
				$(this).addClass('nav-section-break');
			}
		});
		
	}
	
	$.textMetrics = function (src) {
		
		var h = 0, w = 0;
		var sensor = $('<div />');
		sensor.css({
			position: 'absolute',
			visibility: 'hidden',
			left: -1000,
			top: -1000
		});
		
		var styleNames = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];
		var styles = {};
		$(styleNames).each(function () {
			styles[this.toString()] = $(src).css(this.toString());
		});
		
		sensor.css(styles)
			.html($(src).html())
			.appendTo($('body'));

		h = sensor.outerHeight();
		w = sensor.outerWidth();
		sensor.remove();
		return {width: w, height: h};
	};

	KfW.addInitializer(NavSection, true);

}(jQuery));
