/* Copyright (c) 2006 Mathias Bank (http://www.mathias-bank.de)
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
* Thanks to Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing. */
jQuery.extend({
	/**
	* Returns get parameters.
	* If the desired param does not exist, null will be returned
	* @example value = $.getURLParam("paramName");
	*/
	getURLParam: function(strParamName) {
		var strReturn = "";
		var strHref = window.location.href;
		var bFound = false;

		var cmpstring = strParamName + "=";
		var cmplen = cmpstring.length;

		if (strHref.indexOf("?") > -1) {
			var strQueryString = strHref.substr(strHref.indexOf("?") + 1);
			var aQueryString = strQueryString.split("&");
			for (var iParam = 0; iParam < aQueryString.length; iParam++) {
				if (aQueryString[iParam].substr(0, cmplen) == cmpstring) {
					var aParam = aQueryString[iParam].split("=");
					strReturn = aParam[1];
					bFound = true;
					break;
				}

			}
		}
		if (bFound == false) return null;
		return strReturn;
	}
});


function ShowHideFo(elm) {
	if (jQuery(elm).hasClass("foActive")) {
		jQuery(elm).next().slideUp("normal");
		jQuery(elm).removeClass("foActive");
	}
	else {
		jQuery(elm).addClass("foActive");
		jQuery(elm).next().slideDown("normal");
		//document.body.focus(); // might cause problem regarding accessability...
	}
}


function ShowAllFo(show) {
	if (show) {
		jQuery("dt").addClass("foActive");
		jQuery("dd.foContent").slideDown();
	}
	else {
		jQuery("dd.foContent").slideUp();
		jQuery("dt").removeClass("foActive");
	}
}


function ShowHideFoWithScroll(elm) {
	ShowHideFo(elm);
	if (jQuery(elm).offset().top >= (jQuery("html").innerHeight() - 80) )
		jQuery("html").scrollTop(jQuery(elm).offset().top - 32);
}


function ShowFirst() {

	var foid = jQuery.getURLParam("foid");
	var fo = jQuery.getURLParam("fo");

	// Firstly check if foldout ID was given - company news date
	if (!isNaN(parseInt(foid, 10))) {
		try {
			ShowHideFoWithScroll(document.getElementById("foid_" + foid));
		}
		catch (e) { }
		return;
	}

	// Secondly check if standard foldout ID was given
	if (fo == "all" || (fo > 0 && !isNaN(fo))) {
		if (fo == "all")
			ShowAllFo(true);
		else {
			try {
				ShowHideFoWithScroll(document.getElementsByTagName("dt")[(fo - 1)]);
			}
			catch (e) { }
		}
		return;
	}

	// Lastly check if first foldout should be displayed
	//if (showfirst) {
		try {
			ShowHideFo(document.getElementsByTagName("dt")[0]);
		}
		catch (e) { }
	//}

}

jQuery(function() {
	jQuery("dt").removeClass("foActive");
	ShowFirst();
});

