$(document).ready(function(){
	textChanger.init();
	InitTabs();
	initAccordeon();
	/* 
		initOpenClose();
	*/
});
// open-close init
function initOpenClose() {
	jQuery('div.slide-block').OpenClose({
		activeClass:'active',
		opener:'a.open-close',
		slider:'div.block',
		effect:'slide',
		animSpeed:500
	});
}
function initAccordeon() {
	$('ul.accordion').Accordeon({
		activeClass:'selected',
		opener:'a.opener',
		slider:'div.slide',
		slideSpeed: 300,
		closed:true
	});
}
		/*--tabs--*/
function InitTabs(){

	// Alle getabbten Inhalte ausblenden
	$('.tabs-area .tab-content').hide();
	
	// Jede Tabs-Area initialisieren
	$('.tabs-area').each(function(){
		
		var tabsarea = $(this);
		
		// Jeden Tab durchgehen
		$(tabsarea).find('.tabset ul li a').each(function(tabNumber){
			
			var tabLink = $(this);
			
			// Wenn kein Tabtitel vorhanden ist, Feld deaktivieren
			$(".tabset ul li a:empty").hide();
			
			// Inhaltsbereich suchen, welcher dem Tab entspricht
			$(tabsarea).find('.tab-content').each(function(tabContentNumber){
				
				var tabContent = $(this);
				
				// Link-Aktion definieren
				if (tabContentNumber == tabNumber) {
					$(tabLink).click(function(){
						$(tabsarea).find('.tabset ul li a').removeClass('active');
						$(tabLink).addClass('active');
						$(tabsarea).find('.tab-content').hide();
						$(tabContent).show();
					});
					
					// Default-Inhalt einbleden (erstes Tab und dessen Inhalte)
					if (tabContentNumber == 0) {
						$(this).show();
					}
					return false;
				} // if Tab-Nummer entspricht Link-Nummer
				
			}); // foreach tabcontent
			
		}); // foreach tab
		
	}); // foreach tabs-area
	
};

/* Text changer - light version.
Let your text's font size customizable.
by Marco Rosella - http://www.centralscrutinizer.it/en/design/js-php/text-changer
v0.2 - May 18, 2006
*/
var textChanger = {
	defaultFS : 1,
	init: function() {
		var el = document.getElementsByTagName("body")[0];
		var sz = textChanger.getCookie();
		el.style.fontSize = sz ? sz + 'em' : textChanger.defaultFS + 'em';
		var incr = document.getElementById('increase');
		if(incr)
			incr.onclick = function(){textChanger.changeSize(1); return false;};
		var decr = document.getElementById('decrease');
		if(decr)
			decr.onclick = function(){textChanger.changeSize(-1); return false;};
		var reset = document.getElementById('reset');
		if(reset)
			reset.onclick = function(){textChanger.changeSize(0); return false;};
	},
	changeSize: function(val) {
		var el = document.getElementsByTagName("body")[0];
		var size = el.style.fontSize.substring(0, 4);
		var fSize = parseFloat(size, 10);
		if (val == 1)	{
			fSize += 0.1;
			if (fSize > textChanger.defaultFS*1.5) fSize = textChanger.defaultFS*1.5;
		} 
		if (val == -1) {
			fSize -= 0.1;
			if (fSize < textChanger.defaultFS/1.5) fSize = textChanger.defaultFS/1.5;
		}       
		if (val == 0) fSize = textChanger.defaultFS;
		el.style.fontSize = fSize.toFixed(2) + 'em';
		textChanger.updateCookie(fSize);
	},
	updateCookie: function(vl)	{
		var today = new Date();
		var exp = new Date(today.getTime() + (365*24*60*60*1000));
		document.cookie = 'textChangerL=size=' + vl + ';' +'expires=' + exp.toGMTString() + ';' +'path=/';
	},
	getCookie: function()	{ 
		var cname = 'textChangerL=size=';   
		var start = document.cookie.indexOf(cname);
		var len = start + cname.length;
		if ((!start) && (cname != document.cookie.substring(0,cname.length))) {return null;}
		if (start == -1) return null;
		var end = document.cookie.indexOf(";",len);
		if (end == -1) end = document.cookie.length;
		return unescape(document.cookie.substring(len, end));
	}
}
jQuery.fn.Accordeon = function(_options){
	// default options
	var _options = jQuery.extend({
		activeClass:'active',
		opener:'.opener',
		slider:'.slide',
		slideSpeed: 400,
		animStart:false,
		animEnd:false,
		event:'click',
		closed:false
	},_options);
	
	return this.each(function(){
		// options
		var _closed = _options.closed;
		jQuery(this).children().each(function(){
		
			var _holder = jQuery(this);
			var _slideSpeed = _options.slideSpeed;
			var _activeClass = _options.activeClass;
			var _opener = jQuery('>'+_options.opener, _holder);
			var _slider = jQuery('>'+_options.slider, _holder);
			var _animStart = _options.animStart;
			var _animEnd = _options.animEnd;
			var _event = _options.event;
			
			if(_slider.length) {
				if(_holder.hasClass(_activeClass)) {_slider.show();}
				else {_slider.hide();}
				
				_opener.bind(_event,function(){
					_holder.siblings().find('li').removeClass(_activeClass);
					if(!_slider.is(':animated')) {
						if(typeof _animStart === 'function') _animStart();
						if(!_holder.hasClass(_activeClass)){
							_holder.siblings().removeClass(_activeClass).find(_options.slider).slideUp(_slideSpeed,function(){
								if(typeof _animEnd === 'function') _animEnd();
							});
							_holder.addClass(_activeClass);
							_slider.slideDown(_slideSpeed,function(){
								if(typeof _animEnd === 'function') _animEnd();
							});
						}else{
							if(_closed){
								_holder.removeClass(_activeClass);
								_slider.slideUp(_slideSpeed,function(){
									if(typeof _animEnd === 'function') _animEnd();
								});
							}
						}
					}
					return false;
				});
			}
		});
	});
}
// open-close plugin
jQuery.fn.OpenClose = function(_options){
	// default options
	var _options = jQuery.extend({
		activeClass:'active',
		opener:'.opener',
		slider:'.slide',
		animSpeed: 400,
		animStart:false,
		animEnd:false,
		effect:'fade',
		event:'click'
	},_options);

	return this.each(function(){
		// options
		var _holder = jQuery(this);
		var _slideSpeed = _options.animSpeed;
		var _activeClass = _options.activeClass;
		var _opener = jQuery(_options.opener, _holder);
		var _slider = jQuery(_options.slider, _holder);
		var _animStart = _options.animStart;
		var _animEnd = _options.animEnd;
		var _effect = _options.effect;
		var _event = _options.event;
		if(_slider.length) {
			_opener.bind(_event,function(){
				if(!_slider.is(':animated')) {
					if(typeof _animStart === 'function') _animStart();
					if(_holder.hasClass(_activeClass)) {
						_slider[_effect=='fade' ? 'fadeOut' : 'slideUp'](_slideSpeed,function(){
							if(typeof _animEnd === 'function') _animEnd();
						});
						_holder.removeClass(_activeClass);
					} else {
						_holder.addClass(_activeClass);
						_slider[_effect=='fade' ? 'fadeIn' : 'slideDown'](_slideSpeed,function(){
							if(typeof _animEnd === 'function') _animEnd();
						});
					}
				}
				return false;
			});
			if(_holder.hasClass(_activeClass)) _slider.show();
			else _slider.hide();
		}
	});
}
