(function($) {
	
	window.ATB = {
        rootPath: '/../../',
        //rootPath: '../dotnet/src/LBi.ATB.Web/',
		flashVersion: '9.0.28',
		installerPath: 'static/swf/expressInstall.swf',
		flashVars: {
			stream: '',
			autoplay: 'true',
			replyID: ''
		},
		params: {
			menu: 'true',
			base: 'static/swf',
			wmode: 'transparent',
			bgcolor: '#000000',
			allowFullScreen: 'true',
			allowScriptAccess : 'sameDomain'
		},
		attributes: {
			id: ''
		}
	}
	
	$(function() {
		window.isIE6 = /msie 6/i.test(navigator.userAgent) ? true : false;
		$('body').addClass('js_active');
		ATB.splittedLists.init();
		ATB.Numbers.init();
		ATB.FAQs.init();
		ATB.dropdownNav.init();
		ATB.Pagetools.init();
		ATB.accordion.init();
		ATB.searchField.init();
		window.setTimeout(function() { ATB.equalizeBoxes.init(); }, 200);
	});	
	
	ATB.Pagetools = {
		init: function() {
			$('#pt-print').click(function(e) {
				if(window.print) window.print();
				e.preventDefault();
			});
		}
	};
	
	ATB.Numbers = {
		init: function(root) {
			if(!root) root = $(document);
			var numberClassNames = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'subzero', 'subone', 'subtwo', 'subthree', 'subfour', 'subfive', 'subsix', 'subseven', 'subeight', 'subnine'];
			$('.numbers .value', root).each(function() {
				var number = $(this).text();
				number = number.replace(/(^\s+|\s+$)/g, '');
				var container = jQuery('<span class="replaced"></span>');
				var fraction = 0;
				for(var i = 0; i < number.length; i++) {
					var digit = number.charAt(i);
					if(digit == '.') {
						fraction = 1;
						container.append('<span class="dot"></span>');
						continue;
					} else if(digit == ',') {
						fraction = 1;
						container.append('<span class="comma"></span>');
						continue;
					} else if(digit == '%') {
						container.append('<span class="percent"></span>');
						continue;
					} else if(digit == '€') {
						container.append('<span class="euro"></span>');
						continue;
					} else if(digit == '-') {
						container.append('<span class="dash"></span>');
						continue;
					}
					else {
						var index = parseInt(digit) + fraction*10;
						container.append('<span class="' + numberClassNames[index] + '"></span>');
					}
				}
				$(this).parent().append(container);
			});
		}
	}
	
	ATB.equalizeBoxes = {
		init: function(root) {
			if(!root) root = $(document);
			$('.equalize', root).each(function() {
				ATB.equalizeBoxes.setHeight($(".equal", $(this)));
			});
		},
		setHeight: function(obj) {
			var h = 0;
			obj.each(function() { 
				h = Math.max(h, $(this).get(0).offsetHeight); 
			});
			obj.each(function() {
				var p = parseInt($(this).css('paddingTop')) + parseInt($(this).css('paddingBottom'));
				var mH = h - p;
				if(mH < 1) mH = 1;
				$(this).css({ minHeight: mH + "px" });

				if(window.isIE6) $(this).css({ height: mH + "px" });
			});
			$('body').toggleClass('tickled');
		}
	};
	
	ATB.FAQs = {
		init: function(root) {
			if(!root) root = $(document);
			var hash = document.location.hash;
			if(hash) {
				var item = $(hash);
				if(item.hasClass('faq-issue')) item.addClass('opened');
			}
			$('.faq-list', root).click(function(e) {
				var target = $(e.target);
				var parent = target.parent();
				if(target.hasClass('faq-question')) {
					$('.faq-issue', $(this)).not(parent).removeClass('opened');
					parent.toggleClass('opened');
					e.preventDefault();
				}
			});
		}
	};
	
	ATB.dropdownNav = {
		fadeSpeed: 150,
		init: function() {
			var nav = $('#secondary-navigation');
			$('>ul>li', nav).each(function() {
				$(this).hover(
					function() {
						var item = $(this);
						item.addClass('hover');
						var menu = $('.nav-submenu', item);
					},
					function() {
						var item = $(this);	
						var menu = $('.nav-submenu', item);						
						item.removeClass('hover');	
					}
				);
			});
		}
	};
	
	ATB.splittedLists = {
		init: function() {
			lists = $(".splittedlist");
			lists.each(function(i) {
				var targetList = $(this);
				var columns = 2;
				var colIDs = new Array("grid-full", "grid-half", "grid-third", "grid-fourth", "grid-fifth");
				for(var k = 0; k < colIDs.length; k++)
					if(targetList.attr("class").indexOf(colIDs[k]) > -1) columns = k+1;
				var targetListItems = targetList.children();
				var newListItemSize = (targetListItems.size()/columns);
				targetList.wrap('<div class="grid-group"></div>');
				for(var i = 0; i < columns; i++) {
					var newList = targetList.clone()
					newList.empty();
					newList.removeAttr("id");
					newList.removeClass("splittedlist");
					if(newList.get(0).nodeName == "OL") newList.attr("start", Math.ceil(i*newListItemSize));
					for(var j = Math.ceil(i*newListItemSize); j <= Math.ceil((i+1)*newListItemSize-1); j++) {
						$(targetListItems[j]).clone().appendTo(newList);
					}
					var wrap = $('<div class="grid-block"></div>');
					newList.appendTo(wrap);
					wrap.appendTo(targetList.parent());
					wrap.addClass(colIDs[columns-1]);
				}
				targetList.parent().attr("id", targetList.attr("id"));
				targetList.remove();
			});
		}
	}
	
	ATB.accordion = {
		init: function(root) {
			if(!root) root = $(document);
            $("#accordion h2 a:first").addClass("opened");
            $("#accordion li div.box-body").not(':first').hide();
            $("#accordion h2 a").click(function(e){
                $(this).parent().next('.box-body').slideToggle().parent().siblings().find('div.box-body:visible').slideUp();
                $(this).toggleClass("opened");
                $(this).parents('li').siblings().find('h2 a').removeClass("opened");
                e.preventDefault();
            });
        }
    }	
	
	ATB.searchField = {
		init: function() {
			var navWidth = 0;
			var navMaxWidth = $('#primary-navigation').width() - 209;
			var navItems = $('#secondary-navigation > ul > li');
			for (i = 0; i < navItems.length; i++) {
				navWidth = navWidth + $(navItems[i]).width() + parseInt($(navItems[i]).css('margin-right'));
			}
			if (navWidth > navMaxWidth) {
				var dif = navWidth - navMaxWidth;
				var searchWidth = $('#search').width();
				$('#search').width(Math.max(80, searchWidth - dif));
				var inputWidth = $('#search input.text').width();
				$('#search input.text').width(Math.max(80, inputWidth - dif));
			}
		}
	}
	
})(jQuery);