/*
* 2011 | Jenny Zanella | fr-k.de
*
*/


if (MooTools.version.toFloat() < 1.2) { 
	Element.extend ({
		// this function doesn't exist in 1.11
		getScroll: function(){
			return this.getSize().scroll;
		},
		
		getSize: function(){
			return {
				'scroll': {'x': this.scrollLeft, 'y': this.scrollTop},
				'size': {'x': this.offsetWidth, 'y': this.offsetHeight},
				'scrollSize': {'x': this.scrollWidth, 'y': this.scrollHeight}
				// in mootools 1.2 getSize just returns { x , y }, so I'll add them here
				,'x': this.offsetWidth,
				'y': this.offsetHeight
			};
		}
	});
}


var cT3Faq = new Class({
	Implements: [Options],
	
	options: {
		frameSel: '.faq-box',
		h1Sel: 'h1',
		
		switchBarContainerSel: '', // '#colmain'
		allOnSwitchText: 'Texte aufklappen',
		allOffSwitchText: 'Texte zuklappen'
	},
	
	initialize: function(options){
		this.setOptions(options);
		
		var foundFaqBoxes = false;
		
		// create FAQ from frames
		
		$$(this.options.frameSel).each(function(faq){
			foundFaqBoxes = true;
		
			var header = faq.getElement(this.options.h1Sel);
			header.inject(faq, 'before');
			header.addClass('faq_switch');
			header.addClass('faq_switch_hidden');
			
			var fxwrap = new Element('div', {'class': 'faq-fxwrap'});
			fxwrap.inject(faq, 'before');
			faq.injectInside(fxwrap);
						
			fxwrap.height0 = faq.getSize().y;
			// close all on start up:
			fxwrap.setStyles({height:0, overflow: 'hidden'});
			fxwrap.heightToggle = 0;
			
			
			if (MooTools.version.toFloat() < 1.2) {
				// moo 1.1:
				faq.fxwrap = fxwrap
				var FxWrap = new Fx.Style(fxwrap, 'height', {onComplete: function(){ header.toggleClass('faq_switch_hidden'); }} );
				
				header.addEvent('click', function(){
					if (fxwrap.heightToggle>0) fxwrap.heightToggle = 0
					else fxwrap.heightToggle = fxwrap.height0;
					FxWrap.start(fxwrap.heightToggle);
					
				});
			
			} else { 
				// moo 1.2:
				fxwrap.set('morph',{onComplete: function(){ header.toggleClass('faq_switch_hidden'); }});
						
				header.addEvent('click', function(){
					if (fxwrap.heightToggle>0) fxwrap.heightToggle = 0
					else fxwrap.heightToggle = fxwrap.height0;
					fxwrap.morph({height: fxwrap.heightToggle });
							
				});
			}
			
		
		}, this);
		
				
	}
	

});


if (MooTools.version.toFloat() < 1.2) { 
	cT3Faq.implement(new Options);
}

// call
/*
window.addEvent('domready',function(){
	var myFaq = new cT3Faq({ frameSel: '.faq-box', h1Sel: 'h1', switchBarContainerSel: '#content-main' });
});	
*/



