function changeImage() {
	var current=$('#bgImage div.show');
	var next=current.next();
	if(next.length==0)
		next=$('#bgImage div:first');
	next.addClass('show').css('display','inline-block');
	current.removeClass('show').css('display','none');
}	
$( function() {
	var body = $('body');
	var main = function() {
		var win  = $(window);
		var m1 	 = $('#m1');
		var m2 	 = $('#m2');
		var m3 	 = $('#m3');
		var m1m  = $('#m1more');
		var m2m  = $('#m2more');
		var m3m  = $('#m3more');
		var cont = $('#content');
		var arrUp = $('#arrUp');
		var arrDown = $('#arrDown');
		var logo = $('#logo');
		cont.data('projects',false);
		cont.data('galleria',false);
		var videoNames = $('#videoNames');
		var opc=0.3;
		var opc2=0.1;
		var viimHeight;
		var viHeight;
		var animation=false;
		var viimContDiv="";

		// Skalierung
		function elementResize() {
			var winWidth 		= win.width();
			var winHeight 		= win.height();
			winWidth 			= winWidth < 480 ? 480 : winWidth;
			winHeight 			= winHeight < 480 ? 480 : winHeight;
			var scaleWidth 		= winWidth / 1440;
			var scaleHeight 	= winHeight / 850;
			var scalingFactor 	= scaleWidth < scaleHeight ? scaleWidth : scaleHeight;

			var logoWidth 		= 300 * scalingFactor;
			var logoHeight 		=  40 * scalingFactor;
			var logoTop 		= 105 * scalingFactor;
			var logoLeft 		= 125 * scalingFactor;
			var menuFontSize 	=  85 * scalingFactor;
			var menuLeft 		= 125 * scalingFactor;
			var m1Top 			= 280 * scalingFactor;
			var m2Top 			= 385 * scalingFactor;
			var m3Top 			= 490 * scalingFactor;
			var menuUnderline 	=   5 * scalingFactor;
			var contentTop 		= m1Top+menuFontSize/4;
			var contentLeft 	= 800 * scalingFactor;
			var contentHeight 	= winHeight-contentTop;
			var arrowLeft 		= 760 * scalingFactor-20;
			var arrowUpTop 		= m2Top+menuFontSize/4;
			var arrowDownTop 	= arrowUpTop + 54;
			var bodyFontSize 	=  14 * scalingFactor;
			var contentWidth	= 540 * scalingFactor;
			

			bodyFontSize = bodyFontSize < 9 ? 9 : bodyFontSize;
			body.css('font-size', bodyFontSize);

			contentWidth = contentWidth < 345 ? 345 : contentWidth;
			contentWidth = contentWidth > 600 ? 600 : contentWidth;
			viimHeight	= 0.78 * contentWidth;
			viHeight	= 0.5565 * contentWidth;
			/*$('video').css({'height':viHeight,'width':'100%'});
			$('img.viim').css({'height':viHeight,'width':'100%'});
			$('.jPlay').css({'height':viHeight});*/
			/*if(cont.filter('div.viimCont :first').height()){
				$('#content div.viimCont :first').css({'height':viHeight});
			};*/
			logo.css({
				'width':logoWidth,
				'height':logoHeight,
				'top':logoTop,
				'left':logoLeft
			});
			$('#logo img').css({'width':'inherit','height':'inherit'});
			m1.css({
				'left':menuLeft,
				'top':m1Top,
				'font-size':menuFontSize,
				'border-bottom-width':menuUnderline
			});
			m2.css({
				'left':menuLeft,
				'top':m2Top,
				'font-size':menuFontSize,
				'border-bottom-width':menuUnderline
			});
			m3.css({
				'left':menuLeft,
				'top':m3Top,
				'font-size':menuFontSize,
				'border-bottom-width':menuUnderline
			});
			cont.css({
				'font-size':bodyFontSize,
				'left':contentLeft,
				'top':contentTop,
				'width':contentWidth,
				'height':contentHeight
			});
			arrUp.css({
				'left':arrowLeft,
				'top':arrowUpTop
			});
			arrDown.css({
				'left':arrowLeft,
				'top':arrowDownTop
			});

			var pos 			= m1.height() - bodyFontSize + menuUnderline;
			var m1moreTop 		= m1Top + pos;
			var m2moreTop 		= m2Top + pos;
			var m3moreTop 		= m3Top + pos;
			var m1moreLeft 		= menuLeft + m1.width() + bodyFontSize;
			var m2moreLeft 		= menuLeft + m2.width() + bodyFontSize;
			var m3moreLeft 		= menuLeft + m3.width() + bodyFontSize;
			var undercorr 		= -10 * scalingFactor;

			$("div#undercorr").css('margin-bottom', undercorr);
			m1m.css({
				'left':m1moreLeft,
				'top':m1moreTop,
				'font-size':bodyFontSize
			});
			m2m.css({
				'left':m2moreLeft,
				'top':m2moreTop,
				'font-size':bodyFontSize
			});
			m3m.css({
				'left':m3moreLeft,
				'top':m3moreTop,
				'font-size':bodyFontSize
			});
			
			//pos
			if(cont.data('projects')) {
				
				if(!cont.data('galleria')){
					cont.css({
						'top':0,
						'height':winHeight,
						'margin':0,
						'padding':0
					});
					//Positionierung
					var sel=$('.viimCont');
					
					var anz=sel.filter(':last').index();
					
					var hOld = contentTop;
					//set Opacity
					for(i=0;i<anz+1;i++) {
						switch(i) {
							case 0:
								sel.eq(i).css('opacity',1);
								break;
							case 1:
							case anz:
								sel.eq(i).css('opacity',opc);
								break;
							case 2:
							case anz-1:
								sel.eq(i).css('opacity',opc2);
								break;
							default:
								sel.eq(i).css('opacity',0);
						};
						if (i<anz-1) {
							sel.eq(i).css('top',hOld);
							hOld+=viimHeight;
						};
					};
					hOld = contentTop;
					for (i=anz;i>anz-2;i--) {
						hOld-=viimHeight;
						sel.eq(i).css('top',hOld);
					};
				}else{
					cont.css({
						'top':logoTop,
						'height':winHeight,
						'margin':0,
						'padding':0
					});
					//contentWidth; galleriaHeight
					var gal=$('#galleria');
					var galleriaHeight=contentWidth/4*5;
					var thumbHeight=68*scalingFactor;
					var thumbCHeight=79*scalingFactor;
					gal.css({'height':galleriaHeight});
					var gallery=Galleria.get(0);
					$('.galleria-container').css({'width':contentWidth,'height':galleriaHeight});
					if(gallery)gallery.rescale();
				};
			};
		};

		// Functions
		$.fn.single_double_click = function(single_click_callback, double_click_callback, timeout) {
			return this.each( function() {
				var clicks = 0, self = this;
				$(this).click( function(event) {
					clicks++;
					if (clicks == 1) {
						setTimeout( function() {
							if(clicks == 1) {
								single_click_callback.call(self, event);
							} else {
								double_click_callback.call(self, event);
							}
							clicks = 0;
						}, timeout || 200);
					}
				});
			});
		};
		$.fn.jPlayerSet= function(name) {
			return $(this).jPlayer("setMedia", {
				m4v: "cont/projects/video/"+name+".m4v",
				ogv: "cont/projects/video/"+name+".ogv"/*,
				poster: "cont/projects/img/"+name+".jpg"*/
			});
		};
		$.fn.jPlayerCreate = function(name) {
			return $(this).jPlayer({
				ready: function () {
					$(this).jPlayerSet(name).jPlayer('play');
				},
				ended: function (event) {
					$(this).jPlayer('clearMedia').jPlayerSet(name);
					$(this).children().filter('img').css('display','inline');
				},
				swfPath: "swf",
				supplied: "m4v, ogv"
			});
		};
		$.fn.menuBlink = function() {
			return $(this)	.animate({
				'opacity': .6
			},  100)
			.animate({
				'opacity':  1
			},  200);
		};
		$.fn.showContent = function(data) {
			if(!data)data=1;
			return $(this)	.css({
				'display': 'block',
				'opacity':  0
			})
			.animate({
				'opacity':  data
			}, 1000);
		};
		$.fn.showBody = function() {
			return $(this)	.css({
				'display': 'block',
				'opacity':  0
			})
			.animate({
				'opacity':  1
			}, 2000);
		};
		// Klick Aktionen
		logo.click( function(){
			body.load('main.htm',function (){
					main();
			});
		});
		m1.click( function() {
			cont			.data('galleria',false).data('projects',false).css('display','none');
			m1m				.showContent();
			m2m				.css('display', 'none');
			m3m				.css('display', 'none');
			arrUp			.css('display', 'none');
			arrDown			.css('display', 'none');
			m1				.menuBlink();
			cont.load("cont/what_deu.htm", function(data) {
				elementResize();
			}).showContent();
		});
		m2.click( function() {
			cont			.data('galleria',false).data('projects',true).css('display','none');
			m1m				.css('display', 'none');
			m2m				.showContent();
			m3m				.css('display', 'none');
			arrUp			.showContent(.3);
			arrDown			.showContent(.3);
			m2				.menuBlink();
			cont.html(viimContDiv);
			elementResize();
			$('#content div.viimCont').css('display','inline-block').single_double_click(function(){
				var anz = $('.viimCont:last').index();	
				var item = $(this).index();
				switch(item){
					case 1 : case 2 : 
					case 3 : 	arrDown.trigger('click');break;
					case anz: 	arrUp.trigger('click');break;
					case 0 : //play video
								var videoCont = $(this).children().filter('.jPlay');
								var imageCont = $(this).children().filter('img');
								
								if(imageCont.css('display')!='none'){
									//create jPlayer
									var videoName=$(this).children().filter('.videoLink').html();
									videoCont.css({'height':viHeight}).jPlayerCreate(videoName);
									imageCont.css('display','none');
								} else {
									if(videoCont.data('jPlayer').status.paused) {
											videoCont.jPlayer('play');
									} else {
											videoCont.jPlayer('pause');
									};
								};
				};	
			},function(){
				if($(this).children().filter('.viim').css('display')=='none'){
					$(this).children().filter('.jPlay').jPlayer('play',0);
				}else{
					setTimeout($(this).trigger('click'),1000);
				};
			});
			cont.showContent();
		});
		m3.click( function() {
			cont			.data('galleria',false).data('projects',false).css('display','none');
			m1m				.css('display', 'none');
			m2m				.css('display', 'none');
			m3m				.showContent();
			arrUp			.css('display', 'none');
			arrDown			.css('display', 'none');
			m3 				.menuBlink();
			cont.load("cont/contact.htm", function(data) {
				elementResize();
			}).showContent();
		});
		m1m.click( function() {
			cont.css('display','none');
			m1m				.menuBlink();
			cont.load("cont/what_engl.htm", function(data) {
				elementResize();
			}).showContent();
		});
		m2m.click( function() {
			cont.css('display','none');
			m2m.menuBlink();
			arrUp			.css('display', 'none');
			arrDown			.css('display', 'none');
			cont.load("cont/galerie.htm",function(data){
				cont			.data('galleria',true);
				elementResize();
			}).showContent();
		});
		m3m.click( function() {
			cont.css('display','none');
			m3m				.menuBlink();
			cont.load("cont/imprint.htm").showContent();
		});
		arrDown.click( function() {
			var sel=$('.viimCont');
			//if video then destoy + show img
			var videoCont = sel.eq(0).children().filter('.jPlay');
			var imageCont = sel.eq(0).children().filter('.viim');
			if(imageCont.css('display')=='none'){
				videoCont.css('height','0px').jPlayer('destroy');
				imageCont.css('display','inline');
			};
			if(sel.filter(':animated').length==0){
				var anz=sel.filter(':last').index();
				var delta= sel.eq(1).offset().top-sel.eq(0).offset().top;
				var endPos= sel.eq(anz-2).offset().top+delta;
				sel.eq(0).insertAfter(sel.eq(anz));
				sel.eq(anz-1).css('top',endPos);
				//animation
				var p='-='+delta+'px';
				sel.animate({'top':p},1000);
				for (i=0;i<=anz;i++) {
					var newOpc = i==0?opc:sel.eq(i-1).css('opacity');
					sel.eq(i).animate({'opacity':newOpc},{queue:false,duration:1000});
				};
			};
		});
		arrUp.click( function() {
			var sel=$('.viimCont');
			var videoCont = sel.eq(0).children().filter('.jPlay');
			var imageCont = sel.eq(0).children().filter('.viim');
			if(imageCont.css('display')=='none'){
				videoCont.css('height','0px').jPlayer('destroy');
				imageCont.css('display','inline');
			};
			if(sel.filter(':animated').length==0){
				var anz=sel.filter(':last').index();
				var delta= sel.eq(1).offset().top-sel.eq(0).offset().top;
				var startPos= sel.eq(anz-1).offset().top-delta;
				sel.eq(anz).insertBefore(sel.eq(0));
				sel.eq(anz-2).css('top',startPos);
				//animation
				var p='+='+delta+'px';
				sel.animate({'top':p},1000);
				for (i=0;i<=anz;i++) {
					var newOpc = i==anz?1:sel.eq(i+1).css('opacity');
					sel.eq(i).animate({'opacity':newOpc},{queue:false,duration:1000});
				};
			};
		});
		arrUp.hover(function(){
			arrUp.animate({'opacity':1},100);
		},function(){
			arrUp.animate({'opacity':.3},100);
		});
		arrDown.hover(function(){
			arrDown.animate({'opacity':1},100);
		},function(){
			arrDown.animate({'opacity':.3},100);
		});
		// Initialisierung
		//initialize Video Content
		
		videoNames.load('cont/projects/video.htm',function(){
			var ulList= videoNames.children();
			var countItems= ulList.children().filter(':last').index();
			while (countItems<5){
				ulList.children().clone().insertAfter(ulList.children().filter(':last'));
				countItems= ulList.children().filter(':last').index();
			};
			for(var i=0;i<=countItems;i++){
				var liItem=ulList.children().eq(i).html();
				var liArray=liItem.split(',');
				var name = liArray[0];
				viimContDiv+="<div class='viimCont'><div class='jPlay'></div><div class='videoLink'>";
				viimContDiv+=name+"</div>";
				viimContDiv+="<img class='viim' src='cont/projects/img/"+name+".jpg'></img>"+liArray[1]+"</div>";
			};
		});
		elementResize();
		m1.showBody();
		m2.showBody();
		m3.showBody();
		$('#player2').jPlayer({
			ready: function () {
				$(this).jPlayer("setMedia", {
					mp3: "audio/bing.mp3",
					oga: "audio/bing.ogg"
				}).jPlayer('play');
			},
			ended: function() {
				$(this).jPlayer('destroy');
				
			},
			supplied: "mp3,oga",
			preload: 'auto',
			volume: .5
	
		});
		win.bind("resize", function() {
			elementResize();
		});
	};
    var intro = function() {
    	var win=		$(window);
		var bgImage = 	$('#bgImage');
		var overlay = 	$('#overlay');
		var logo = 		$('#logo');
		var tout = 100;
		function bgResize() {
			//resize backgroundimage
			var docHeight=$(document).height();
			var docWidth=$(document).width();
			var winHeight=win.height();
			var winWidth=win.width();
			winWidth=winWidth<850?850:winWidth;
			winHeight=winHeight<515?515:winHeight;
			winWidth=winWidth>docWidth?winWidth:docWidth;
			winHeight=winHeight>docHeight?winHeight:docHeight;
			var a1=winHeight/750;
			var a2=winWidth/1440;
			if(a1<a2) {
				winHeight=a2*750;
				scale2=a1;
				a1=a2;
			} else {
				winWidth=a1*1440;
				scale2=a2;
				a2=a1;
			};
			$('#bgImage img').css({'width':winWidth,'height':winHeight});
			winHeight=win.height();
			winWidth=win.width();
			winWidth 			= winWidth < 480 ? 480 : winWidth;
			winHeight 			= winHeight < 480 ? 480 : winHeight;
			var scaleWidth 		= winWidth / 1440;
			var scaleHeight 	= winHeight / 850;
			var scalingFactor 	= scaleWidth < scaleHeight ? scaleWidth : scaleHeight;
			var logoWidth 		= 300 * scalingFactor;
			var logoHeight 		=  40 * scalingFactor;
			var logoTop 		= 105 * scalingFactor;
			var logoLeft 		= 125 * scalingFactor;
			logo.css({
					'width':logoWidth,
					'height':logoHeight,
					'top':logoTop,
					'left':logoLeft
			});
			logo.children().filter('img').css('width','inherit');
		}
		$.fn.blink = function(opts) {
			if (opts == 'stop') {
				return this.data('blinkStop', true).stop(true, true).css('opacity',1);
			}
			this.data('blinkStop', false);
			opts = $.extend({}, {
				fadeIn: 1000,
				fadeOut: 600
			}, opts || {} );
			function doFadeOut($elem) {
				$elem = $elem || $(this);
				if ($elem.data('blinkStop'))
					return;
				$elem.animate({'opacity':0.1},opts.fadeOut, doFadeIn);
			}
			function doFadeIn($elem) {
				$elem = $elem || $(this);
				if ($elem.data('blinkStop'))
					return;
				$elem.animate({'opacity':1},opts.fadeIn, doFadeOut);
			}
			doFadeOut(this);
			return this;
		};
		$("#logo").blink().one('click', function() {
	   		$(this).blink('stop');
	   		$('#player1').jPlayer('destroy');
	   		clearInterval(interval);
	   		win.unbind('resize');
	   		body.load('main.htm',function (){
					main();
				});
	 	});
	
		win.mousemove( function() {
			if(bgImage.css('display')=='none') {
				bgImage.css('display','inline-block');
				overlay.css('display','inline-block');
				$('#player1').jPlayer('play');
			}
	
		});
		win.mousestop( function() {
			bgImage.css('display','none');
			overlay.css('display','none');
			var pos=Math.random()*3.5;
			$('#player1').jPlayer('pause',pos);
	
		});
		win.mouseleave(function(){
			win.trigger('mousestop');
		});
		var interval = setInterval('changeImage()',tout);
		$('#player1').jPlayer({
			ready: function () {
				$(this).jPlayer("setMedia", {
					mp3: "audio/intro-sound.mp3",
					oga: "audio/intro-sound.ogg"
				});
			},
			ended: function() {
				$(this).jPlayer('play');
			},
			supplied: "mp3,oga",
			preload: 'auto',
			volume: .5
	
		});

		win.bind("resize", function() {
			bgResize();
		});
		bgResize();
    };
		
	//load intro page
	body.load('intro.htm',function (){
		intro();
	});
});

