var aniDur=300;
var perDur=6000;

var banners=[];
var bannerBase;
var bannerStat=false;
var bannerPer=false;
var bannerContainer;

function bannerChange(){
	var newBanner=bannerStat+1;

	if(newBanner>=banners.length)
		newBanner=0;

	if(newBanner==bannerStat)
		return;

	for(i=0;i<banners.length;i++){
		if(i==bannerStat){
			banners[i].setStyles({
				'opacity':1,
				'z-index':999
			});
		}else if(i==newBanner){
			banners[i].setStyles({
				'opacity':0,
				'z-index':1000
			});
		}else{
			banners[i].setStyles({
				'opacity':0,
				'z-index':998
			});
		}
	}

	banners[bannerStat].morph({
		'opacity':0
	});
	banners[newBanner].morph({
		'opacity':1
	});
	bannerBase.morph({
		'height':parseInt(banners[newBanner].getStyle('height'))
	});

	bannerStat=newBanner;
}

window.addEvent("resize",function(){
	if(parseInt(window.innerWidth)>1350&&!$('bannercontainer')){
		bannerContainer=new Element('div',{
			'id':'bannercontainer'
		});

		bannerContainer.inject(bannerBase.getPrevious(),'before');

		bannerBase.getPrevious().inject(bannerContainer);
		bannerBase.inject(bannerContainer);
	}else if(parseInt(window.innerWidth)<=1350&&$('bannercontainer')){
		var els=$('bannercontainer').getChildren();

		for(i=0;i<els.length;i++)
			els[i].inject($('bannercontainer'),'before');

		$('bannercontainer').dispose();
	}
});

window.addEvent("load",function(){
	$$('#content .photos div.dir').each(function(div){
		var a=div.getElement('a');
		a.getElement('img').morph({
			'left':Math.floor((parseInt(a.getStyle('width'))-parseInt(a.getElement('img').getStyle('width')))/2),
			'top':Math.floor((parseInt(a.getStyle('height'))-parseInt(a.getElement('img').getStyle('height')))/2)
		});
	});

	if($('brand')){
		var el=$('brand');

		el.getParent().setStyles({
			'height':parseInt(el.getElement('img').getStyle('height'))
		});

		el.setStyles({
			'display':'block',
			'position':'relative',
			'width':parseInt(el.getElement('img').getStyle('width')),
			'height':parseInt(el.getElement('img').getStyle('height')),
			'margin-left':(parseInt(el.getParent().getStyle('width'))-parseInt(el.getElement('img').getStyle('width')))/2
		});

		var ol=new Element('img',{
			'src':el.getElement('img').get('src').replace(/\.png/,"-active.png"),
			'styles':{
				'position':'absolute',
				'opacity':0,
				'display':'block',
				'z-index':11,
				'top':0,
				'left':0
			},
			'morph':{
				'duration':aniDur,
				'transition':Fx.Transitions.Sine.easeOut
			}
		});

		el.getElement('img').setStyles({
			'opacity':1,
			'z-index':10,
			'position':'absolute',
			'display':'block',
			'left':0,
			'top':0
		});
		el.ol=ol;

		el.addEvents({
			'mouseenter':function(){
				this.ol.morph({'opacity':1});
			},
			'mouseleave':function(){
				this.ol.morph({'opacity':0});
			}
		});

		ol.inject(el);
	}
});

window.addEvent("domready",function(){
	loadScript(videosUrl);

	var body=$$('body')[0];

	var div=new Element('div',{'id':'grad-se'});
	div.inject($('assist'),'before');

	var div=new Element('div',{'id':'grad-ne'});
	div.inject($('assist'),'before');

	var div=new Element('div',{'id':'argyle-n'});
	div.inject($('assist'),'before');

	$$('#content>img').each(function(img){
		if(img.hasClass('free'))
			return;

		var level0=new Element('div',{'class':'imgshade-l0'});
		var level1=new Element('div',{'class':'imgshade-l1'});
		var level2=new Element('div',{'class':'imgshade-l2'});
		var level3=new Element('div',{'class':'imgshade-l3'});
		var level4=new Element('div',{'class':'imgshade-l4'});

		level4.inject(level3);
		level3.inject(level2);
		level2.inject(level1);
		level1.inject(level0);
		level0.inject(img,'before');

		level4.grab(img);
	});

	$$('#socials img').each(function(img){
		var active=new Element('img',{
			'src':img.src.replace(/^(.*)(\.png)$/,"$1-active$2"),
			'class':'active',
			'styles':{
				'opacity':0
			}
		});

		active.set('morph',{duration:aniDur,transition:Fx.Transitions.Sine.easeOut});

		active.inject(img,'after');

		img.getParent('a').addEvents({
			'mouseenter':function(){
				this.getElement('img.active').morph({
					'opacity':1
				});
			},
			'mouseleave':function(){
				this.getElement('img.active').morph({
					'opacity':0
				});
			}
		});
	});

	$$('#side .sidebox.gimmicks').each(function(div){
		banners.push(div);
		div.set('morph',{duration:aniDur,transition:Fx.Transitions.Sine.easeOut});
	});

	if(banners.length){
		bannerStat=0;

		banners[bannerStat].setStyles({
			'opacity':1,
			'z-index':999,
			'position':'absolute'
		});

		for(i=1;i<banners.length;i++){
			banners[i].setStyles({
				'opacity':0,
				'z-index':998,
				'position':'absolute'
			});
		}

		bannerBase=new Element('div',{
			'id':'bannerbase',
			'styles':{
				'height':parseInt(banners[bannerStat].getStyle('height')),
				'position':'relative'
			}
		});

		bannerBase.set('morph',{duration:aniDur,transition:Fx.Transitions.Sine.easeOut});
		bannerBase.inject(banners[bannerStat],'before');

		for(i=0;i<banners.length;i++){
			banners[i].inject(bannerBase);
		}

		window.fireEvent('resize');
		bannerPer=bannerChange.periodical(perDur);
	}

	initApplications();

	$$('#content .photos div.dir').each(function(div){
		var span=div.getElement('span');

		span.deco=span.getParent().getElement('div.deco');
		span.deco.setStyles({
			'opacity':0,
			'height':parseInt(span.getStyle('height'))+45
		});

		div.addEvents({
			'mouseenter':function(){
				span.deco.morph({'opacity':1});
				span.morph({'bottom':10});
			},
			'mouseleave':function(){
				span.deco.morph({'opacity':0});
				span.morph({'bottom':0});
			}
		});

		div.changea=(function(){
			var newa=this.chosena+1;

			if(newa>=this.as.length)
				newa=0;

			if(newa==this.chosena)
				return;

			this.as[this.chosena].setStyles({
				'opacity':1,
				'z-index':100
			});

			this.as[newa].setStyles({
				'opacity':0,
				'z-index':101,
				'display':'block'
			});

			this.as[newa].getElement('img').setStyles({
				'left':(parseInt(this.as[newa].getStyle('width'))-parseInt(this.as[newa].getElement('img').getStyle('width')))/2,
				'top':(parseInt(this.as[newa].getStyle('height'))-parseInt(this.as[newa].getElement('img').getStyle('height')))/2
			});

			this.as[this.chosena].morph({
				'opacity':0
			});

			this.as[newa].morph({
				'opacity':1
			});

			this.chosena=newa;
		});

		div.as=div.getElements('a');
		div.chosena=0;

		div.as[div.chosena].setStyles({
			'opacity':1,
			'z-index':101
		});

		div.perioda=div.changea.periodical(perDur,div);

		div.as.each(function(a){
			a.set('morph',{'duration':aniDur,'transition':Fx.Transitions.Sine.easeOut});
		});

		if(div.getElement('a').className){
			div.mb=new multiBox(div.getElement('a').className,{
				'overlay':new overlay()
			});
		}

		div.getElement('span').addEvents({
			'click':function(){
				this.getParent().as[this.getParent().chosena].fireEvent('click',this.getParent().as[this.getParent().chosena]);
			}
		});

		div.getElement('div.deco').addEvents({
			'click':function(){
				this.getParent().as[this.getParent().chosena].fireEvent('click',this.getParent().as[this.getParent().chosena]);
			}
		});
	});

	$$('.musik #content .songs').each(function(ul){
		var olp=new Element('div',{
			'class':'olp'
		});

		olp.inject(ul.getParent('tr').getElement('td.aimage'),'top');

		var div=new Element('div',{
			'class':'expl',
			'morph':{
				duration:aniDur,
				transition:Fx.Transitions.Sine.easeOut
			},
			'styles':{
				'opacity':0
			}
		});

		div.display=function(){
			for(i=0;i<this.ul.getElements('li').length;i++){
				if(this.chosen==this.ul.getElements('li')[i])
					break;
			}

			if(i==0){
				this.getElement('div.previous').addClass('disabled');
			}else{
				this.getElement('div.previous').removeClass('disabled');
			}

			if(i==this.ul.getElements('li').length-1){
				this.getElement('div.next').addClass('disabled');
			}else{
				this.getElement('div.next').removeClass('disabled');
			}

			this.getElement('div.title').set('html',this.getParent('tr').getElement('td.aname h2').get('html')+": "+this.chosen.getElement('a').get('html'));
			this.getElement('div.number').set('html',(i+1)+" von "+this.ul.getElements('li').length);
			this.getElement('div.content').set('html',"<div class=\"big\"><h2>Text</h2>"+(this.chosen.getElement('span.stext').get('html')?"<textarea disabled=\"disabled\">"+this.chosen.getElement('span.stext').get('html')+"</textarea>":"Kein Text hinterlegt. Leider!")+"</div>"+(this.chosen.getElement('span.svideolink').get('html')?"<div class=\"short\"><h2>Videos</h2><a href=\""+this.chosen.getElement('span.svideolink').get('html')+"\" target=\"_blank\">"+(this.chosen.getElement('span.svideolink').get('html').match(/sevenload/)?"Sevenload":this.chosen.getElement('span.svideolink').get('html'))+"</a></div>":""));

			if(this.getElement('div.big textarea'))
				this.getElement('div.big textarea').setStyle('width',parseInt(this.getStyle('width'))-8);

			var h=0;
			for(j=0;j<this.getChildren().length;j++){
				h+=parseInt(this.getChildren()[j].getStyle('margin-top'));
				h+=parseInt(this.getChildren()[j].getStyle('padding-top'));
				h+=parseInt(this.getChildren()[j].getStyle('height'));
				h+=parseInt(this.getChildren()[j].getStyle('padding-bottom'));
				h+=parseInt(this.getChildren()[j].getStyle('margin-bottom'));
			}

			h=Math.max(h,this.mheight);

			this.morph({
				'height':h,
				'opacity':1
			});
		}

		var el=new Element('div',{
			'class':'content'
		});
		el.inject(div);

		var el=new Element('div',{
			'class':'close'
		});
		el.inject(div);

		el.addEvents({
			'click':function(){
				div.morph({'opacity':0});
			}
		});

		var ctrl=new Element('div',{
			'class':'controls'
		});
		ctrl.inject(div);

		var el=new Element('div',{
			'class':'previous'
		});
		el.inject(ctrl);

		el.addEvents({
			'click':function(){
				if(this.hasClass('disabled'))
					return;

				for(i=0;i<this.getParent('div.expl').ul.getElements('li').length;i++){
					if(this.getParent('div.expl').chosen==this.getParent('div.expl').ul.getElements('li')[i])
						break;
				}

				this.getParent('div.expl').chosen=this.getParent('div.expl').ul.getElements('li')[i-1];
				this.getParent('div.expl').display();
			}
		});

		var el=new Element('div',{
			'class':'next'
		});
		el.inject(ctrl);

		el.addEvents({
			'click':function(){
				if(this.hasClass('disabled'))
					return;

				for(i=0;i<this.getParent('div.expl').ul.getElements('li').length;i++){
					if(this.getParent('div.expl').chosen==this.getParent('div.expl').ul.getElements('li')[i])
						break;
				}

				this.getParent('div.expl').chosen=this.getParent('div.expl').ul.getElements('li')[i+1];
				this.getParent('div.expl').display();
			}
		});

		var el=new Element('div',{
			'class':'title'
		});
		el.inject(ctrl);

		var el=new Element('div',{
			'class':'number'
		});
		el.inject(ctrl);

		div.ul=ul;
		div.inject(olp);
		ul.expl=div;

		ul.getParent().getElement('span.synopsis').setStyles({
			'display':'block'
		});

		ul.getParent().getElement('span.synopsis').std={};
		ul.getParent().getElement('span.synopsis').std.height=parseInt(ul.getParent().getElement('span.synopsis').getStyle('height'));

		ul.getParent().getElement('span.synopsis').set('morph',{duration:aniDur,transition:Fx.Transitions.Sine.easeOut});

		ul.std={};
		ul.std.height=parseInt(ul.getStyle('height'));

		ul.set('morph',{duration:aniDur,transition:Fx.Transitions.Sine.easeOut});
		ul.setStyles({
			'height':0
		});

		if(ul.std.height){
			var li=new Element('li');
			var a=new Element('a',{
				'class':'button',
				'html':'Songs anzeigen'
			});

			a.addEvents({
				'click':function(){
					if(parseInt(ul.getStyle('height'))){
						if(ul.getParent('td').getElement('span.synopsis').std.height){
							ul.getParent('td').getElement('span.synopsis').morph({'height':ul.getParent('td').getElement('span.synopsis').std.height});
							ul.morph({'height':0});
							this.set('html','Songs anzeigen');
						}else{
							ul.morph({'height':0});
							this.set('html','Songs anzeigen');
						}
					}else{
						if(ul.getParent('td').getElement('span.synopsis').std.height){
							ul.getParent('td').getElement('span.synopsis').morph({'height':0});
							ul.morph({'height':ul.std.height});
							this.set('html','Zusammenfassung anzeigen');
						}else{
							ul.morph({'height':ul.std.height});
							this.set('html','Songs verstecken');
						}
					}
				}
			});

			a.inject(li);
			li.inject(ul.getParent('tr').getNext().getElement('td.aoptions ul'));
		}

		ul.getElements('li').each(function(li){
			var a=new Element('a',{
				'html':li.get('html'),
				'href':'#',
				'class':'button'
			});

			li.set('html','');
			a.inject(li);

			a.addEvents({
				'click':function(){
					if(Browser.Engine.trident&&Browser.Engine.version<=5){
						alert("Der gegenwärtige Browser ist nicht in der Lage, einige technische Feinheiten - so wie diese hier - zu bewältigen.\r\n\r\nBitte mit einem anderen Modell nochmal versuchen!");
						return false;
					}

					var tds=ul.getParent('tr').getElements('td');
					var w=0;

					for(i=0;i<tds.length;i++){
						w+=parseInt(tds[i].getStyle('width'));
						w+=parseInt(tds[i].getStyle('padding-left'));
						w+=parseInt(tds[i].getStyle('padding-right'));
						w+=parseInt(tds[i].getStyle('margin-left'));
						w+=parseInt(tds[i].getStyle('margin-right'));
					}

					ul.expl.setStyles({
						'height':parseInt(ul.getParent('tr').getStyle('height'))+parseInt(ul.getParent('tr').getNext().getStyle('height')),
						'width':w
					});
					
					ul.expl.mheight=parseInt(ul.getParent('tr').getStyle('height'))+parseInt(ul.getParent('tr').getNext().getStyle('height'));
					ul.expl.chosen=this.getParent('li');
					ul.expl.display();

					return false;
				}
			});
		});
	});
});