(function() { 
	var Dom = YAHOO.util.Dom;
	var Event = YAHOO.util.Event;
	
	adlayerhider = function() {
		Dom.setStyle("topflash", "display", "none");
		Dom.setStyle("topteaser","display", "block");
		topteaser_init();
	}
	
	var topteaser_init = function() {
		if(Dom.inDocument("topteaser")) {
			var teaser = Dom.getChildren("topteaser");
			Dom.setStyle(teaser, "display", "none");
			Dom.setStyle(teaser[0], "display", "block");
			if(teaser.length > 1 && navigator.appVersion.lastIndexOf("MSIE 6.0") == -1) {
				var container = document.createElement("div");
				container.id = "teasernavi";
				var counter = 1;
				for(el in teaser) {
					var link = document.createElement("A");
					link.className = "t" + counter;
					link.href = "#";
					container.appendChild(link);
					Event.addListener(link, "click", function(e) {
						Event.preventDefault(e);
						var caller = Event.getTarget(e);
						window.clearInterval(teaserani);
						showTopTeaser(caller);
					});
					counter++;
				}
				Dom.get("topteaser").appendChild(container);
				Dom.addClass(Dom.getChildren("teasernavi")[0], "active");
			}
		}
		teaserani = window.setInterval("anitopteaser()", 5000);
	}
	
	var showTopTeaser = function(caller) {
		var links = Dom.getChildren("teasernavi");
		Dom.removeClass(links, "active");
		Dom.addClass(caller, "active");
		var count = parseInt(caller.className.replace(/t/, "")) - 1;
		var teaser = Dom.getChildren("topteaser");
		for(el in teaser) {
			if(teaser[el].nodeName == "IMG" || teaser[el].nodeName == "A") {
				Dom.setStyle(teaser[el], "display", "none");
			}
		}
		Dom.setStyle(teaser[count], "display", "block");
	}
	
	anitopteaser = function() {
		var links = Dom.getChildren("teasernavi");
		for(var i=0;i<links.length;i++) {
			if(Dom.hasClass(links[i], "active")) {
				var next = i+1;
				if(next == links.length) {
					next = 0;
				}
			}
		}
		showTopTeaser(links[next]);
	}
	
	var home_init = function() {
		if(Dom.inDocument("teasercontainer")) {
			var teaser = Dom.getChildren("teasercontainer");
			if(teaser.length > 0) {
				var lastTeaserTop = 0;
				for(el in teaser) {
					var teaserTop = Dom.getY(teaser[el]);
					if(teaserTop > lastTeaserTop) {
						Dom.setStyle(teaser[el], "marginLeft", "0px");
						lastTeaserTop = teaserTop;
					}
				  
					var teaserImg = Dom.getChildrenBy(teaser[el], function(elm) {
						return elm.nodeName == "IMG";
					});
					var imgText = teaserImg[0].title;
				  
					var anchor = Dom.getChildrenBy(teaser[el], function(elm) {
						return elm.nodeName == "A";
					});
					if(imgText != "") {
						anchor[0].innerHTML = imgText;
						Dom.addClass(anchor[0], "textlink");
					}
					
					if(anchor[0].href == "http:///") {
						Dom.setStyle(anchor[0], "background", "none");
						Dom.setStyle(anchor[0], "cursor", "default");
						Dom.setStyle(teaser[el], "cursor", "default");
					} else {
						Event.addListener(teaser[el], "click", function(e) {
							var caller = Event.getTarget(e);
							if(!Dom.hasClass(caller, "teaser")) {
								caller = Dom.getAncestorByClassName(caller, "teaser");
							}
							var anchor = Dom.getChildrenBy(caller, function(elm) {
								return elm.nodeName == "A";
							});
							document.location.href = anchor[0].href;
						});
					}
				}
			}
		}
	}
	
	var job_init = function() {
		if(Dom.inDocument("jobbox")) {
			var joblines = Dom.getElementsByClassName("jobline", "div", "jobbox");
			
			var counter = 1;
			for(el in joblines) {
				if(counter == 2) {
					counter = 0;
					Dom.addClass(joblines[el], "even");
				}
				counter++;
				var links = Dom.getElementsBy(function(el) {
					return Dom.hasClass(el, "opener");
				}, "A", joblines[el]);
				var link = links[0];
				Event.addListener(link, "click", openJob);
			}
		}
	}
	
	var openJob = function(e) {
		Event.preventDefault(e);
		var caller = Event.getTarget(e);
		var jobline = Dom.getAncestorByClassName(caller, "jobline");
		Dom.addClass(jobline, "chosen");
		Event.removeListener(caller, "click");
		Event.addListener(caller, "click", function(e) {
			Event.preventDefault(e);
			var caller = Event.getTarget(e);
			var jobline = Dom.getAncestorByClassName(caller, "jobline");
			Dom.removeClass(jobline, "chosen");
			Event.removeListener(caller, "click");
			Event.addListener(caller, "click", openJob);
		});
		
		var closebuttons = Dom.getElementsByClassName("close", "a", jobline);
		var closer = closebuttons[0];
		Event.addListener(closer, "click", function(e) {
			Event.preventDefault(e);
			var caller = Event.getTarget(e);
			var jobline = Dom.getAncestorByClassName(caller, "jobline");
			Dom.removeClass(jobline, "chosen");
			var links = Dom.getElementsBy(function(el) {
				return Dom.hasClass(el, "opener");
			}, "A", jobline);
			var link = links[0];
			Event.removeListener(link, "click");
			Event.addListener(link, "click", openJob);
		});
	}
	
	var standorttipps_init = function() {
		if(Dom.inDocument("opentipps") && Dom.inDocument("standorttipps")) {
			Event.addListener("opentipps", "click", openStandorttipps);
		}
		if(Dom.inDocument("opentipps") && !Dom.inDocument("standorttipps")) {
			Dom.setStyle("opentipps", "display", "none");
		}
		if(Dom.inDocument("standorttipps")) {
			var tipps = Dom.getChildren("standorttipps");
			for(var i=0;i<tipps.length;i++) {
				Dom.addClass(tipps[i], "tipp" + (i+1));
			}
		}
	}
	
	var openStandorttipps = function(e) {
		Event.preventDefault(e);
		var caller = Event.getTarget(e);
		Dom.addClass(caller, "active");
		Dom.setStyle("standorttipps", "display", "block");
		Event.removeListener("opentipps", "click");
		Event.addListener("opentipps", "click", function(e) {
			Event.preventDefault(e);
			var caller = Event.getTarget(e);
			Dom.removeClass(caller, "active");
			Dom.setStyle("standorttipps", "display", "none");
			Event.removeListener("opentipps", "click");
			Event.addListener("opentipps", "click", openStandorttipps);
		});
	};
	
	var news_init = function() {
		if(Dom.inDocument("newsbox")) {
			var news = Dom.getElementsByClassName("item", "div", "newsbox");
			for (el in news) {
				var opener = document.createElement("a");
				Dom.addClass(opener, "switch");
				news[el].appendChild(opener);
				Event.addListener(opener, "click", openNewsItem);
			}
		}
	}
	
	var openNewsItem = function(e) {
		var caller = Event.getTarget(e);
		var item = Dom.getAncestorByClassName(caller, "item");
		Dom.addClass(item, "open");
		Event.removeListener(caller, "click");
		Event.addListener(caller, "click", function(e) {
			var caller = Event.getTarget(e);
			var item = Dom.getAncestorByClassName(caller, "item");
			Dom.removeClass(item, "open");
			Event.removeListener(caller, "click");
			Event.addListener(caller, "click", openNewsItem);
		});
	}
	
	var filial_init = function() {
		if(Dom.inDocument("textcontainer") && Dom.getStyle("textcontainer", "display") == "block") {
			var divs = Dom.getChildren("textcontainer");
			if(Dom.hasClass(divs[0], "introtext") && Dom.hasClass(divs[1], "filialdaten")) {
				var introtext = divs[0];
				var filialdaten = divs[1];
				var introheight = introtext.offsetHeight;
				var filialheight = filialdaten.offsetHeight;
				var diff = filialheight - introheight;
				Dom.setStyle(introtext, "marginTop", diff + "px");
			}
			
		}
	}
	
	var mittagstisch = function() {
		if(Dom.inDocument("mittagstisch")) {
			var items = Dom.getChildren("mittagstisch");
			Dom.setStyle(items[6], "clear", "left");
		}
	}
	
	var init = function() {
		home_init();
		standorttipps_init();
		news_init();
		job_init();
		filial_init();
		mittagstisch();
	}
	
	YAHOO.util.Event.onDOMReady(init); 
})(); 

