// page init
$(function(){
	initFooter();
	initNavigation();
	hoverForIE6('ul.eventcalendar > li');
})

// hover for IE
function hoverForIE6(_list, _class) {
	var _hoverClass = 'hover';
	if(_class) _hoverClass = _class;
	if ($.browser.msie && $.browser.version < 7) {
		$(_list).hover(function() {
			$(this).addClass(_hoverClass);
		}, function() {
			$(this).removeClass(_hoverClass);
		});
	}
}

// footer init
function initFooter() {
	var _slideSpeed = 450;
	var _activeClass = 'expanded';
	$('#footer').each(function(){
		var _holder = $(this);
		var _opener = _holder.find('a.credits').clone().appendTo(_holder.children(':last'));
		var _slider = _holder.find('div.greyline3');
		var _closer = _slider.find('a.credits');

		_closer.click(function(){
			_slider.slideUp(_slideSpeed);
			_holder.removeClass(_activeClass);
			return false;
		});
		_opener.click(function(){
			_holder.addClass(_activeClass);
			_slider.slideDown(_slideSpeed);
			return false;
		});

		if(_holder.hasClass(_activeClass)) _slider.show();
		else _slider.hide();
	});
}

// autoscaling navigation
function initNavigation() {
	initAutoScalingNav({
		menuId: "mainnav",
		tag: "span",
		sideClasses: true
	});
	initAutoScalingNav({
		menuId: "subnav",
		tag: "span",
		sideClasses: true
	});

	// autoscaling module
	function initAutoScalingNav(o) {
		if (!o.menuId) o.menuId = "mainnav";
		if (!o.tag) o.tag = "a";
		if (!o.spacing) o.spacing = 0;
		if (!o.constant) o.constant = 0;
		if (!o.minPaddings) o.minPaddings = 0;
		if (!o.liHovering) o.liHovering = false;
		if (!o.sideClasses) o.sideClasses = false;
		var nav = document.getElementById(o.menuId);
		if(nav)
		{
			var lis = nav.getElementsByTagName("li");
			var asFl = [];
			var lisFl = [];
			for (var i=0, j=0; i<lis.length; i++)
			{
				if(lis[i].parentNode == nav)
				{
					var t = lis[i].getElementsByTagName(o.tag).item(0);
					asFl.push(t);
					asFl[j++].width = t.offsetWidth;
					lisFl.push(lis[i]);
				}
				if(o.liHovering)
				{
					lis[i].onmouseover = function()
					{
						this.className += " hover";
					}
					lis[i].onmouseout = function()
					{
						this.className = this.className.replace("hover", "");
					}
				}
			}
			var menuWidth = nav.clientWidth - asFl.length*o.spacing - o.constant;
			if(getItemsWidth(asFl) < menuWidth)
			{
				for (var i=0; getItemsWidth(asFl) < menuWidth; i++)
				{
					asFl[i].width++;
					if(i >= asFl.length-1) i=-1;
				}
				for (var i=0; i<asFl.length; i++)
				{
					asFl[i].style.width = asFl[i].width + "px";
				}
			}
			else if(o.minPaddings > 0)
			{
				for (var i=0; i<asFl.length; i++)
				{
					asFl[i].style.width = asFl[i].width + o.minPaddings*2 + "px";
				}
			}
			if(o.sideClasses)
			{
				lisFl[0].className += " first-child";
				lisFl[lisFl.length-1].className += " last-child";
			}
		}
		function getItemsWidth(a)
		{
			var w = 0;
			for(var q=0; q<a.length; q++)
			{
				w += a[q].width;
			}
			return w;
		}
	}
}
