
var scroll_content = true;
var reinit_scheduled = false;
var intervalTime = 0;
var intervalCnt = 0;

function initScrollPanes()
{
	if (scroll_content)
	{
		var contentPane = $('#contentPane')[0];
		contentPane.style.width = "390px";
		contentPane.style.paddingRight = "0px";
		$('#contentPane').jScrollPane({paneWidth:410, scrollbarWidth:7, scrollbarMargin:20, dragMinHeight:20, dragTopBottomHeight:7, trackTopBottomHeight: 7, keepScrollbarWidth:true});
	}
	
	$('#sideboxPane').jScrollPane({paneWidth:195, scrollbarWidth:7, scrollbarMargin:0, dragMinHeight:20, dragTopBottomHeight:7, trackTopBottomHeight: 7, keepScrollbarWidth:true});
	
	reinit_scheduled = false;
}

function adjustSize(repeat, time)
{	
	if (typeof repeat != "undefined")
	{	
		intervalTime = (typeof time == "undefined") ? 1000 : time;
		intervalCnt = repeat;
	}
	
	if (intervalCnt > 0)
	{
		intervalCnt--;
		window.setTimeout("adjustSize()", intervalTime);
	}
	
	
	//general stuff
	var div_menu = $("#menu")[0];
	var div_bottomspacer = $("#bottomspacer")[0];
	var div_sublogo = $("#sublogo")[0];
	var some_header = $(".header")[0];
	var some_footer = $(".footer")[0];
	
	//main pagecontent containers
	var div_content_main = $("#cntntMain")[0];
	var div_shoutbox_main = $("#shtMain")[0];
	
	//scrollbar containers
	var div_content_main_pane = $("#contentPane")[0];
	var div_shoutbox_main_pane = $("#sideboxPane")[0];
	
	//sidebar containers
	var div_content_sidebar_main = $("#contentWrapper .sidebar .main")[0];
	var div_shoutbox_sidebar_main = $("#shoutboxWrapper .sidebar .main")[0];
	
	//sticky containers
	var div_content_sticky = $("#cntntSticky")[0];
	var div_shoutbox_sticky = $("#shtSticky")[0];
	
	//height intervall boundries (golden cut from content width)
	var minHeight = 266;		//var minHeight = Math.round( container_content.clientWidth / ( ( 1 + Math.sqrt(5) ) / 2 ) );
	
	//used heights for the different elements
	var lostHeight = div_menu.clientHeight + div_bottomspacer.clientHeight;
	var winHeight = Math.min(document.documentElement.clientHeight, 1200);
	var contentHeight = winHeight - lostHeight;
	contentHeight = Math.max( contentHeight, minHeight );
	
	var mainHeight = contentHeight - some_header.clientHeight - some_footer.clientHeight;		//content header & footer
	var contentMainHeight = (div_content_sticky == null) ? mainHeight : mainHeight - div_content_sticky.clientHeight;
	var shoutboxMainHeight = (div_shoutbox_sticky == null) ? mainHeight : mainHeight - div_shoutbox_sticky.clientHeight;
	
	//ie bug correction
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		if (contentMainHeight % 2)
		{
			contentMainHeight--;
			mainHeight--;
		}
		
		if (shoutboxMainHeight % 2)
			shoutboxMainHeight--;
	}
	
	//check_content(contentMainHeight);
	
	//setting heights
	div_sublogo.style.height = contentHeight + div_bottomspacer.clientHeight + "px";
	
	div_content_main.style.height = contentMainHeight + "px";
	div_content_main_pane.parentNode.style.height = contentMainHeight + "px";
	div_content_main_pane.style.height = contentMainHeight + "px";
	div_content_sidebar_main.style.height = mainHeight + "px";
	
	if (div_shoutbox_main != null)
	{
		div_shoutbox_main.style.height = shoutboxMainHeight + "px";
		div_shoutbox_main_pane.parentNode.style.height = shoutboxMainHeight + "px";
		div_shoutbox_main_pane.style.height = shoutboxMainHeight + "px";
	}
	if (div_shoutbox_sidebar_main != null)
	{
		div_shoutbox_sidebar_main.style.height = mainHeight + "px";
	}
}

function adjustContent(delayInit)
{
	adjustSize();
	
	if (delayInit)
	{
		if (!reinit_scheduled)
			setTimeout("initScrollPanes();", 100);

		reinit_scheduled = true;
	}
	else
	{
		initScrollPanes();
	}
}

window.onresize = function()
{
	adjustContent(true);
}

function check_content(content_height)
{
	var get = get_GET_params();
	
	switch (get["content"])
	{		
		case "screens":
			
			var tolerance = 0.8;
			var images_per_page = (typeof get["imgnr"] == "undefined") ? 4 : get["imgnr"];

			content_height -= 116 * tolerance;
			get["imgnr"] = (Math.floor(content_height / (116 + 20)) + 1) * 2;

			if (get["imgnr"] != images_per_page)
			{
				var pageIndex = ((typeof get["imgpage"] == "undefined") ? 1 :  get["imgpage"]) - 1;
				var firstImageIndex = images_per_page * pageIndex;
				get["imgpage"] = Math.floor(firstImageIndex / get["imgnr"]) + 1;
				document.location = php_self + "?" + get_GET_string(get);
			}
			
			break;
		
		case "highscores":
		
			var lines_per_page = (typeof get["linesnr"] == "undefined") ? 20 : get["linesnr"];

			get["linesnr"] = (Math.floor(content_height / 19));

			if (get["linesnr"] != lines_per_page)
			{
				var pageIndex = ((typeof get["rankpage"] == "undefined") ? 1 :  get["rankpage"]) - 1;
				var firstRankIndex = lines_per_page * pageIndex;
				get["rankpage"] = Math.floor(firstRankIndex / get["linesnr"]) + 1;
				document.location = php_self + "?" + get_GET_string(get);
			}
			
			break;
	}
}

function get_GET_params()
{
	var get = new Array();
	if (location.search.length > 0)
	{
		var get_param_str = document.location.search.substring(1, document.location.search.length);
		var get_params = get_param_str.split("&");
		for (i = 0; i < get_params.length; i++)
		{
			var key_value = get_params[i].split("=");
			if (key_value.length == 2) {
				var key = key_value[0];
				var value = key_value[1];
				get[key] = value;
			}
		}
	}
	return get;
}

function isHome()
{
	var get = get_GET_params();
	
	if (typeof get["content"] == "undefined")
		return true;
	
	if (!in_array(get["content"], menu_links))
		return true;
	
	if (get["content"] == "home")
		return true;
	else
		return false;
}

function get_GET_string(array)
{
	var string = "";
	for (var x in array)
		string += "&" + x + "=" + array[x];
	
	if (string.length > 0)
		string = string.substring(1, string.length);
	
	return string;
}

function in_array(item, arr)
{
	for (p=0; p<arr.length; p++)
		if (item == arr[p])
			return true;
	
	return false;
}