/* Copyright (c) 2006-2007 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.
 * 
 * Version 2.1
 * 
 * Thanks to 
 * Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 * Tom Leonard for some improvements
 * 
 */
jQuery.fn.extend({
/**
* Returns get parameters.
*
* If the desired param does not exist, null will be returned
*
* To get the document params:
* @example value = jQuery(document).getUrlParam("paramName");
* 
* To get the params of a html-attribut (uses src attribute)
* @example value = jQuery('#imgLink').getUrlParam("paramName");
*/ 
 getUrlParam: function(strParamName){
	  strParamName = escape(unescape(strParamName));
	  
	  var returnVal = new Array();
	  var qString = null;
	  
	  if (jQuery(this).attr("nodeName")=="#document") {
	  	//document-handler
		
		if (window.location.search.search(strParamName) > -1 ){
			
			qString = window.location.search.substr(1,window.location.search.length).split("&");
		}
			
	  } else if (jQuery(this).attr("src")!="undefined") {
	  	
	  	var strHref = jQuery(this).attr("src")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else if (jQuery(this).attr("href")!="undefined") {
	  	
	  	var strHref = jQuery(this).attr("href")
	  	if ( strHref.indexOf("?") > -1 ){
	    	var strQueryString = strHref.substr(strHref.indexOf("?")+1);
	  		qString = strQueryString.split("&");
	  	}
	  } else {
	  	return null;
	  }
	  	
	  
	  if (qString==null) return null;
	  
	  
	  for (var i=0;i<qString.length; i++){
			if (escape(unescape(qString[i].split("=")[0])) == strParamName){
				returnVal.push(qString[i].split("=")[1]);
			}
			
	  }
	  
	  
	  if (returnVal.length==0) return null;
	  else if (returnVal.length==1) return returnVal[0];
	  else return returnVal;
	}
});


/*
 * mediaman source
 * several custom functions
 * 
 */

jQuery(document).ready(function(){
	/* replace whitespaces for flyouts */
	jQuery.fn.replaceWhitespace = function()
    {
		this.each(function(){
			var text = jQuery(this).html();
			text = text.replace(/\s+/g, '&nbsp;');
			jQuery(this).html(text);
		});
    }
	jQuery('.toplevel>ul>li>a').replaceWhitespace();
	
	/* tabber functionality */
	// init
	jQuery('.tabber .tabinactive, .tabber .tabactive').show();
	var x=0;
	jQuery('.tabber .container>div[class^="tabcontent"]').hide();
	jQuery('.tabber .container>div.tabcontent1').show();
	// onclick on tabber
	jQuery('.tabber .tabinactive a, .tabber .tabactive a').click(function(e){
		e.preventDefault();
		//set tabs
		jQuery(this).parents('.tabber').find('.container div.tabactive').removeClass('tabactive').addClass('tabinactive');
		jQuery(this).parent().removeClass('tabinactive').addClass('tabactive');
		//set tabcontent
		jQuery(this).parents('.tabber').find('.container>div[class^="tabcontent"]').hide();
		jQuery(this).parents('.tabber').find('.container>div.'+jQuery(this).attr('href')).show();
	});
	
	/* 
	 * validate url parameter if page has to be opened
	 * with a specific tab visible
	 * @example value = url.html?tab=1,2
	 */
	var tab=jQuery(document).getUrlParam('tab');
	if(tab){
		var tabParams = tab.replace(/%2C/,",").split(","); 
		showtab(tabParams[0], tabParams[1]);
	}

	/* 
	 * accordion
	 * @author Oliver Christ
	 */
	 jQuery('.accordion .summary').click(function(e){
		e.preventDefault();
		jQuery(this).parent().siblings().removeClass('elementOpen');
		jQuery(this).parent().toggleClass('elementOpen');
	 });

});
/* shows a specific tab on a page
** first parameter specifies the tabber element beginning with 0
** the second parameter specifies the tab beginning with 0
*/
function showtab(tabber, tab){
	jQuery('.tabber:eq('+tabber+') a:eq('+tab+')').click();
}


