document.write("<style>#container { visibility:hidden; }</style>");

// iPhone / iPad Options
window.onorientationchange = function(){
	switch(window.orientation){
		case 0: $("top").removeClass('landscape'); $("top").addClass('portrait'); break;
		case -90: case 90: $("top").removeClass('portrait'); $("top").addClass('landscape'); break;
	}
};

// Normal Website Settings
window.addEvent("domready",function(){
	
	$("container").setStyle("visibility","inherit");
	window.onorientationchange();
	
	// BLUR on FOCUS
	$$("a").addEvent("focus",function(){
		this.blur();
	});
	
	// INIT Nav Structure
	$$("#nav li a").each(function(eli,cnt){
		var elLetterFirst = new Element("span",{ "class":"letterFirst", "text":eli.get("text").substr(0,1) });
		var elLetterRest = new Element("span",{ "class":"letterRest", "text":eli.get("text").substr(1) });
		eli.set("text","");
		elLetterFirst.inject(eli);
		elLetterRest.inject(eli);
		
		if(eli.getElement(".letterFirst") != undefined){
			var letterFirst = eli.getElement(".letterFirst");
			var letterFirstOldColor = letterFirst.getStyle("color");
			var fxLetterFirst = new Fx.Tween(letterFirst,{ duration:250, link:"chain" });
			
			eli.addEvents({
				"mouseenter":function(e){
					fxLetterFirst.start("color","#9b0b6b");
				},
				"mouseleave":function(e){
					fxLetterFirst.start("color",letterFirstOldColor);
				}
			});
		}
	});
	
	// INIT Content + Backgrounds
	var container = $("container");
	var wrapperBg = $("wrapper-bg");
	var wrapperBgImg = wrapperBg.getElement("img");
	var sections = new Array();
	var sectionsNumArray = getSectionsNumArray();
	var sectionsNumMax = Array.max(sectionsNumArray);
	var sectionsNumCnt = 0;
	var windowWidth,windowHeight,containerWidth,containerMarginPos,containerMarginPosOutsideLeft,containerMarginPosOutsideRight;
	var containerInner = $$(".containerClass");
	var containerCurrent = 0;
	var containerBlocksCurrent = 0;
	var containerBlocks = containerInner[containerCurrent].getElements(".block div.block");
	var containerBlocksLength = containerBlocks.length;
	var fxIsRunning = false;
	var lastMainNavNum = 0;
	var lastMainNavUrl = "xyz123.html";
	var containerDifferentClass = "";
	var galleryPart = 0;
	
	// iPhone / iPad Gestures
	if(Browser.Platform.ipod){
		document.id('top').store('swipe:cancelVertical', true);
		document.id('top').addEvent('swipe', function(event){
			
			if(event.direction == "right" && lastMainNavNum > 0){
				lastMainNavNum--;
				$$("#nav .nav ul li a")[lastMainNavNum].fireEvent("click");
			} else if(event.direction == "left" && lastMainNavNum < $$("#nav .nav ul li a").length-1){
				lastMainNavNum++;
				$$("#nav .nav ul li a")[lastMainNavNum].fireEvent("click");
			}
		});
	}

	
	window.addEvent("resize",function(){
		windowWidth = window.getScrollSize()["x"];
		windowHeight = window.getSize()["y"];
		containerWidth = window.getSize()['x'];
		containerMarginPos = (containerWidth-containerInner[0].getSize()["x"])/2;
		containerMarginPosOutsideLeft = -((containerInner[0].getSize()["x"]+5)+containerInner[0].getStyle("margin-left").toInt());
		containerMarginPosOutsideRight = (window.getSize()["x"]+5);
		
		if(wrapperBgImg.getSize()['y'] != windowHeight){
			wrapperBgImg.setStyles({ "height":"100%", "width":"" });
		}
		
		if(wrapperBgImg.getSize()["x"] <= windowWidth) {
			wrapperBgImg.setStyles({ "height":"", "width":"100%" });
		}
		
		container.setStyle("width",containerWidth);
		containerInner.setStyle("visibility","visible");
		containerInner[containerCurrent == 0 ? 1 : 0].setStyle("left",containerMarginPosOutsideLeft);
		containerInner[containerCurrent].setStyle("left",($$(".nav li a")[sectionsNumCnt].hasClass("sectionNoText")) ? containerMarginPosOutsideLeft : containerMarginPos);
	});
	window.fireEvent("resize");
	
	// INIT Navigation and connect them with the Backgrounds (use the css classes to connect the bg's)
	function initNav(navElement,isSubNavigation){
		var isSubNavigation = isSubNavigation == undefined ? false : true;
		var eliFirst = navElement.getElements("li a")[0];
		var navCurrentText = "";
		
		if(eliFirst.hasClass("containerDifferent")){
			containerInner[containerCurrent].addClass("containerDifferent");
			containerInner[containerCurrent].addClass("containerDifferent_"+(eliFirst.getProperty("title")).toLowerCase());
			containerDifferentClass = "containerDifferent_"+(eliFirst.getProperty("title")).toLowerCase();
		}
		
		navElement.getElements("li a").each(function(eli,cnt){
			var sectionNum = sectionsNumArray[cnt];
			var sectionTextBool = eli.hasClass("sectionNoText") ? false : true;
	
			eli.addEvent("click",function(e){
				if(fxIsRunning == false && eli.getAttribute("href") != lastMainNavUrl){
					fxIsRunning = true;
					if(!isSubNavigation){ lastMainNavNum = cnt; }
					var containerCurrentOpposite = containerCurrent == 0 ? 1 : 0;
					var ContainerCurrentElement = containerInner[containerCurrent];
					var ContainerCurrentElementOpposite = containerInner[containerCurrentOpposite];
					var fxSpeed = 1300;
					var fxContainerDuration = 650;
					var fxContainer = new Fx.Tween(ContainerCurrentElementOpposite,{ duration:fxSpeed, transition:Fx.Transitions.Cubic.easeInOut });				
					var fxContainer2 = new Fx.Tween(ContainerCurrentElement,{ duration:fxSpeed, transition:Fx.Transitions.Cubic.easeInOut,
						onStart:function(){		
							if($defined(ContainerCurrentElementOpposite.getElement(".subcolumns"))){
								ContainerCurrentElementOpposite.addClass("sectionSubcolumns");
							}
							ContainerCurrentElementOpposite.addClass("active");
							if(!isSubNavigation) {
								$("top").addClass("wrp_"+eli.get("text"));
							}
							lastMainNavUrl = eli.getAttribute("href");
						},
						onComplete:function(){
							if($defined(ContainerCurrentElement.getElement(".subcolumns"))){
								ContainerCurrentElement.removeClass("sectionSubcolumns");
							}
							ContainerCurrentElement.removeClass("active");
							if(!isSubNavigation && !$("top").hasClass("wrp_"+navCurrentText)){
								$("top").removeClass("wrp_"+navCurrentText);
								navCurrentText = eli.get("text");
							}
							fxIsRunning = false;
						}
					});
					
					// SET the NEW VAR Values
					containerCurrent = containerCurrentOpposite;
					sectionsNumCnt = cnt;
								
					// AJAX REQUEST
					var req = new Request.HTML({
						url:eli.getProperty("href")+"?request=main",
						onRequest:function(){
							
						},
						onComplete:function(response){
							ContainerCurrentElementOpposite.getElement(".containerClassInnerInner").empty().adopt(response);
							
							if($defined(ContainerCurrentElementOpposite.getElement(".navSubBack"))){
								var navSubBackA = ContainerCurrentElementOpposite.getElements(".navSubBack a");
								navSubBackA.setProperty("href","#");
								navSubBackA.addEvent("click",function(e2){
									$$("#nav .nav ul li a")[lastMainNavNum].fireEvent("click",this);
									e2.stop();
								});
							}
							
							Mediabox.scanPage();
							
							if($defined(ContainerCurrentElementOpposite.getElement(".navSub")) && !ContainerCurrentElementOpposite.getElement(".navSub").hasClass("noAjax")){
								initNav(ContainerCurrentElementOpposite.getElement(".navSub"),true);
							}
							
							// INIT FX GALLERY							
							$$(".fxCarousel ul li a").each(function(eli2,cnt2){
								if($defined(eli2.getElement("img"))){
									var elHeight = eli2.getStyle("height");
									var elImg = eli2.getElement("img");
									var fxAduration = 450;
									var fxA = new Fx.Tween(eli2,{ duration:fxAduration, transition:Fx.Transitions.Cubic.easeOut, link:"cancel", onStart:function(){ fxBool = true; } });
									var fxBool = false;
									
									eli2.addEvents({
										"mouseenter":function(e){
											if(elImg.getSize()["y"] > this.getSize()["y"]){
												fxA.start("height",elImg.getSize()["y"]);
												eli2.setStyle("z-index",18);
											}
										},
										"mouseleave":function(e){
											if(fxBool){
												fxA.start("height",elHeight);
												(function(){ eli2.setStyle("z-index",9); }).delay(fxAduration);
												fxBool = false;
											}
										},
										"focus":function(e){
											this.blur();
										}
									});
								}
							});
							
							var fxCarouselCurrent = $defined(ContainerCurrentElementOpposite.getElement(".fxCarousel")) ? ContainerCurrentElementOpposite.getElement(".fxCarousel") : false;
							
							if(fxCarouselCurrent){
								if(fxCarouselCurrent.getParent().hasClass("galleryNext") && fxCarouselCurrent.getElements("ul li").length >= 19){
									var elNext = new Element("li",{ "class":"fxNextCarousel fxButtonCarousel" });
									var elNextA = new Element("a",{ "href":"#" });
									elNext.inject(fxCarouselCurrent.getElement("ul"));
									elNextA.inject(elNext);
									elNextA.set("text","Nächste Seite");
									
									elNextA.addEvent("click",function(e){
										e.stop();
										galleryPart++;
										$$("li.navGallery ul.level_2 li a")[galleryPart].fireEvent("click",this);
									});
									elNextA.addEvent("focus",function(e){ this.blur(); });
								} 
								
								if(fxCarouselCurrent.getParent().hasClass("galleryPrev")){
									var elPrev = new Element("li",{ "class":"fxPrevCarousel fxButtonCarousel" });
									var elPrevA = new Element("a",{ "href":"#" });
									elPrev.inject(fxCarouselCurrent.getElement("ul"),"top");
									elPrevA.inject(elPrev);
									elPrevA.set("text","Vorherige Seite");
									
									elPrevA.addEvent("click",function(e){
										e.stop();
										galleryPart--;
										$$("li.navGallery ul.level_2 li a")[galleryPart].fireEvent("click",this);
									});
									elPrevA.addEvent("focus",function(e){ this.blur(); });
								}
							}
							
							/* // INIT FX GALLERY
							if($defined(ContainerCurrentElementOpposite.getElement(".gallery"))){
								$$(".gallery").setStyle("opacity",0);
								$$(".gallery").fade("in");
								
								new fxCarousel({ 
									elements:$$(".fxCarousel"),
									tabs:false,
									buttons:true,
									slideDuration:850,
									slideSize:6,
									slideStart:0,
									slideStartRandom:true,
									slideTransition:false,
									slideAuto:false,
									slideAutoInterval:1250,
									slideAutoStopOnHover:true,
									slideAutoStopOnNavigate:true,
									slideDirection:"x"
								});
								
								$$(".fxContent ul li a").addEvent("click",function(e){
									new Event(e).stop();
									var galleryPic = $("gallery_pic").getElement("img");
									
									galleryPic.setStyles({ "width":"", "height":"" });
									galleryPic.removeProperties("width","height");
									galleryPic.setProperty("src",this.getProperty("href"));
								});
							} else {
								$$(".gallery").fade("out");
							}*/
							
							(function(){
								fxContainer2.start("left",containerMarginPosOutsideLeft);
								(function(){
									var ci = containerInner[containerCurrent];
									
									if(sectionTextBool){
										fxContainer.start("left",containerMarginPosOutsideRight,containerMarginPos);	
									}
									
									if(eli.hasClass("containerDifferent")){
										ci.removeClass(containerDifferentClass);
										ci.addClass("containerDifferent");
										ci.addClass("containerDifferent_"+(eli.getProperty("title")).toLowerCase());
										containerDifferentClass = "containerDifferent_"+(eli.getProperty("title")).toLowerCase();
									} else {
										ci.removeClass("containerDifferent");
										ci.removeClass(containerDifferentClass);
									}
									
									// SCROLLER
									/*
									var ciScrollElements = [ci,ci.getElement(".content"),ci.getElement(".scrollarea"),ci.getElement(".scrollBarContainer")];
									ciScrollElements.each(function(eli2,cnt){ eli2.setStyle("height",""); });
									var eliHeight = ci.getElement(".containerClassInnerInner").getSize()["y"] < 440 ? ci.getElement(".containerClassInnerInner").getSize()["y"] : 440;
									
									ciScrollElements.each(function(eli2,cnt){
										if(eli2.hasClass("scrollBarContainer")){
											eli2.setStyle("height",(eliHeight-18)+"px");
										} else {
											eli2.setStyle("height",eliHeight+"px");
										}
									});*/
									
									/*
									$$("div.scroller").each(function(eli,cnt){
										new MooScroller(eli.getElement("div.content"),eli.getElement(".scrollKnob"),{
											scrollLinks: {
												forward: eli.getElement("div.scrollForward"),
												back: eli.getElement("div.scrollBack")
											}
										});
									});*/

								}).delay(fxContainerDuration);
							}).delay(1);
						}
					}).send();
				}
				new Event(e).preventDefault();
			});
		});
	}
	initNav($("nav"));
});


