var FontSize = new Class({
	
	Implements: [Options],
	
	options: {
		limit: [14, 18]
	},
	
	initialize: function(element, options){
		this.setOptions(options);
		this.element = $(element);
		this.cookie = 'fontsize_'+this.element.get('id')+'_'+this.element.get('class');
		
		var size = Cookie.read(this.cookie);
		if(size) this.set(size);
	},
	
	change: function(change){
		this.set(this.element.getStyle('fontSize').toInt()+change);
		
		return this;
	},
	
	set: function(size){
		if(size < this.options.limit[0] || size > this.options.limit[1]) return this;
		
		this.element.tween('fontSize', size);
		Cookie.write(this.cookie, size);
		
		return this;
	}
	
});


window.addEvent('domready', function(){
	var Images = 'fileadmin/template/abydos/';
	var Domain = 'http://www.lebenshilfe-stmk.at';
	
	(function(){
		var i = 0;
		$$('a:not(.target)[href^=http]').each(function(el){
			var href = el.getProperty('href');
			if(href && !href.test('^'+Domain, 'i') && href.test('^https?://'))
				el.addClass('target').set('target', 'target_'+(i++));
		});
	})();
	
	(function(){
		var text = $('text'),
			settings = $('settings'),
			smaller = settings.getElement('.smaller'),
			bigger = settings.getElement('.bigger'),
			font = new FontSize(text);
		
		$$(smaller, bigger).addEvent('click', function(e){
			if(e) e.stop();
			this.addClass('activated');
			var isSmaller = (this == smaller);
			
			(isSmaller ? bigger : smaller).removeClass('activated');
			font.change(isSmaller ? -4 : 4);
		});
		
		if(Cookie.read(font.cookie)>14) bigger.fireEvent('click');
	})();
	
	(function(){
		var text = $('text'), black = false, contrast = $('contrast').addEvent('click', function(e){
			if(e) e.stop();
			black = !black;
			var isBlack = (black ? 'Black' : '');
			
			text.getElement('.top').setStyle('backgroundImage', 'url('+Images+'ContentTop'+isBlack+'.png)');
			text.getElement('.bottom').setStyle('backgroundImage', 'url('+Images+'ContentBottom'+isBlack+'.png)');
			text.setStyles({
				color: black ? '#fff' : '',
				backgroundImage: 'url('+Images+'Content'+isBlack+'.png)'
			});
			
			this.toggleClass('activated');
			Cookie.write('contrast', black ? 1 : 0);
		});
		
		if((''+Cookie.read('contrast')).toInt()) contrast.fireEvent('click');
	})();
	
	$$('.infobox a img').set('tween', {duration: 200}).addEvents({
		mouseenter: function(){
			this.fade(0.7);
		},
		mouseleave: function(){
			this.fade(1)
		}
	});
	
});