window.addEvent('domready',function(){
									
	// Script CSS
	new Asset.css('/static/css/script.css');

	// Navigation
	new BBNavi();
	
	// Flashbanner
	new Request.JSON({url: window.location.href, onSuccess: function(response){ 
		new Swiff(response,{
			id		:	'flashbanner',
			width	:	660,
			height	:	65
		}).inject($('logo'));
	}}).get({'eID': 'flashbanner'});
	
	// Sprachauswahl
	//new BBLang();
	
	// Sidebar Box Autovermietung
	new BBSidebarBox();
	
	// Startseite: Teaser & Ticker
	new BBTeaserTicker();
	new BBAngebotsTeaser();
	
	// Stationsnetz
	new BBStationsnetz();
	
	// ToggleBoxen
	new BBToggleBoxes();
	
	// Galerie
	new BBGalerie();
	
	// Karriere
	new BBKarriere();
	
	// FAQ
	new BBFaq();
	
	// Kontaktformular
	new BBKontakt();
});

var toggle = {};
var open_toggles = {};
var BBToggleBoxes = new Class({
	initialize	:	function(){
		var toggles = $$('#content .toggle');
		toggles.setStyle('overflow','hidden');
		
		$each(toggles, function(item){
			my_index = toggles.indexOf(item);
			toggle[my_index] = parseInt(item.getStyle('height'));
		
			item.getChildren('form')[0].set('morph',{duration:0}).morph({'height':35,'overflow':'hidden'});
			var toggler = new Element('a',{
				'class'	:	'toggle_control close',
				'html'	:	'<span>Open/Close</span>'
			}).inject(item,'top');
			toggler.addEvent('click',function(item){
				var this_parent = this.getParent('div');
				my_index = toggles.indexOf(this_parent); 
				if(open_toggles[my_index] != true){
					this_parent.getChildren('form')[0].set('morph',{duration:500}).morph({'height':toggle[my_index],'overflow':'hidden'});
					open_toggles[my_index]=true;
					this.removeClass('close');
				}
				else{
					this_parent.getChildren('form')[0].set('morph',{duration:500}).morph({'height':35,'overflow':'hidden'});
					open_toggles[my_index]=false;
					this.addClass('close');
				}
			});
		});
		
		$each($$('.toggle .error'),function(item){
			var open_toggler = item.getParent('.toggle');
			open_toggler.getChildren('.toggle_control').fireEvent('click');
		});
	}
});

var BBLang = new Class({
	initialize	:	function(){
		var dl = $$('#meta .begin dl');
		dl.set('morph',{duration:0}).morph({'opacity':0});
		var flag = $$('#meta .begin dd')[0].getChildren('a')[0].getChildren('img')[0].getAttribute('src');
		var lang_switch = new Element('li',({
			'class'		:	'langswitch'
		})).inject($('meta'),'top');
		var tempInnerHtml = $$('#meta .begin dl dt')[0].innerHTML;
		new Element('span', ({
			'class'		:	'langswitch_span',
			'html'		:	tempInnerHtml
		})).inject(lang_switch);
		new Element('img',({
			src			:	flag
		})).inject(lang_switch);
		dl.position({
		    relativeTo: $('meta'),
		    position: 'bottomLeft',
		    edge: 'upperLeft'
		}); 
		dl.setStyles({'left':0,'marginTop':5});
		var clicked = false;
		lang_switch.addEvent('click',function(){
			if(clicked == false){
				var new_opacity = 1;
				clicked = true;
			}
			else{
				var new_opacity = 0;
				clicked = false;
			}
			this.getNext('li').getChildren('dl')[0].set('morph').morph({opacity:new_opacity});
		});
		dl.addEvent('mouseleave',function(){
			lang_switch.getNext('li').getChildren('dl')[0].set('morph').morph({opacity:0});
			clicked=false;
		});
	}
});


var BBNavi = new Class({
					   
	initialize: function(){
		
		var navi_ol_heights = {};
		var current_ol;
		var open_ol = {};
		
		$each($$('#navigation ol'),function(item){
			my_index = $$('#navigation ol').indexOf(item);
			navi_ol_heights[my_index]=item.getStyle('height');

			if(item.getPrevious('a').className == ''){
				item.setStyles({
							   height	:	0,
							   overflow	:	'hidden'});
				open_ol[my_index] = false;
			}
			else{
				open_ol[my_index] = true;
				current_ol = my_index;
			}
			if(item.getFirst('li').getFirst('a').getAttribute('href') == item.getPrevious('a').getAttribute('href')){
				item.getPrevious('a').getChildren('span').addClass('icon_close');
			}
		});
		$$('#navigation li a').addEvent('click',function(){
														 
			var subnavi = this.getNext('ol');
			if(subnavi != null){
				my_index = $$('#navigation ol').indexOf(subnavi);
				if(subnavi.getFirst('li').getFirst('a').getAttribute('href') == this.getAttribute('href')){
					$$('#navigation li a').removeClass('active');
					
					if(open_ol[my_index] == true){
						var new_height = 0;
						open_ol[my_index]=false;
						this.removeClass('sub');

					}
					else{
						var new_height = navi_ol_heights[my_index];
						open_ol[my_index]=true;

						this.addClass('sub');
						var el = $$('#navigation ol')[current_ol];
						if($chk(el)){
							el.set('morph',{duration:550,transition: Fx.Transitions.easeInOut}).morph({'height':0,'overflow':'hidden'});
							var el_index =$$('#navigation ol').indexOf(el);
							
							//el.getPrevious('a').removeClass('sub');
							if($$('#navigation ol')[current_ol] != this.getNext('ol')){
								$$('#navigation ol')[current_ol].getPrevious('a').removeClass('sub');
							}
							if($$('#navigation ol')[current_ol].getStyle('height') > 0){
								open_ol[current_ol]=true;
							}
							else{
								open_ol[current_ol]=false;
							}
						}
						current_ol = my_index;
					}
					subnavi.set('morph',{duration:550,transition: Fx.Transitions.easeInOut}).morph({'height':new_height,'overflow':'hidden'});
					return false;
				}
			}
		});
		
    }
});


var BBSidebarBox = new Class({
	initialize	:	function(){
		var sb_box_pos = 'top';
		if(typeof($$('#sb_autovermietung')[0]) == 'object'){

			if($$('#pkw_text')[0]){
				$('pkw_text').setStyle('display','none');
			
			$$('#sidebar #sb_autovermietung ol li a')[0].addEvent('click',function(item){
				$$('#sidebar #sb_autovermietung #pkw_text')[0].setStyle('display','none');
				$$('#sidebar #sb_autovermietung fieldset')[0].setStyle('display','block');
				$$('#sidebar #sb_autovermietung ol li')[1].removeClass('active');
				this.getParent().getParent().setStyle('background-position','top left');
				this.getParent().addClass('active');
				this.getParent().getParent().getParent().removeClass('lkw_active');

				window.location.href = this.getAttribute('href');
				//return false;
			});
			$$('#sidebar #sb_autovermietung ol li a')[1].addEvent('click',function(item){
				$$('#sidebar #sb_autovermietung #pkw_text')[0].setStyle('display','block');
				$$('#sidebar #sb_autovermietung ol li')[0].removeClass('active');
				$$('#sidebar #sb_autovermietung fieldset')[0].setStyle('display','none');
				this.getParent().getParent().setStyle('background-position','bottom left');
				this.getParent().addClass('active');
				this.getParent().getParent().getParent().addClass('lkw_active');
				//return false;
			});
			}
			if($chk($$('.lkw_flotte')[0])){
				$$('#sidebar #sb_autovermietung ol li a')[1].fireEvent('click');
			}
			
			if(typeof($$('#sb_autovermietung ol li a')[0]) == 'object'){
				$$('#sb_autovermietung ol li a')[0].addEvent('click',function(){return false;});
			}
			
			// Kalender 
			$$('#sb_autovermietung span').setStyle('display','none');
			new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($('from'),'after').addEvent('click',function(){
				this.getPrevious('input').fireEvent('focus');
			});
			new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($('to'),'after').addEvent('click',function(){
				this.getPrevious('input').fireEvent('focus');
			});
			$$('#sb_autovermietung span').setStyle('display','none');
			if($$('#s_to')[0]){
				new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($('s_from'),'after').addEvent('click',function(){
					this.getPrevious('input').fireEvent('focus');
				});
				new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($('s_to'),'after').addEvent('click',function(){
					this.getPrevious('input').fireEvent('focus');
				});
			}
			if($chk($$('#content #sb_autovermietung')[0]) != true){
				if($chk($$('#content .from')[0])){
					new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($$('#content .from')[0],'after').addEvent('click',function(){
						this.getPrevious('input').fireEvent('focus');
					});
					new Element('img',{ src	:	'/static/img/sidebar/button_calendar.gif', 'class': 'calendar_button'}).inject($$('#content .to')[0],'after').addEvent('click',function(){
						this.getPrevious('input').fireEvent('focus');
					});
				}
			}
			
			new DatePicker('.from', { format: 'd.m.Y', inputOutputFormat : 'd.m.Y', positionOffset: { x: 80, y: -17 }});
			new DatePicker('.to', { format: 'd.m.Y', inputOutputFormat : 'd.m.Y', positionOffset: { x: 80, y: -17 }});
			
			// Uhrzeit-Felder
//			$each($$('#sb_autovermietung .calendar_button'),function(item){
//				new Element('input',{
//					type	:	'text',
//					'class'	:	'time',
//					'value'	:	'12:00'
//				}).inject(item, 'after');
//				new Element('span',{'class':'label_time','html':item.getParent().getPrevious().getAttribute('rel')}).inject(item.getParent().getPrevious());
//			});
			if($$('#sb_autovermietung .calendar_button')[0]){
				var item = $$('#sb_autovermietung .calendar_button')[0]
				new Element('input',{
					type	:	'text',
					'class'	:	'time',
					'value'	:	'08:00'
				}).inject(item, 'after');
				new Element('span',{'class':'label_time','html':item.getParent().getPrevious().getAttribute('rel')}).inject(item.getParent().getPrevious());
			}
			if($$('#sb_autovermietung .calendar_button')[1]){
				var item = $$('#sb_autovermietung .calendar_button')[1]
				new Element('input',{
					type	:	'text',
					'class'	:	'time',
					'value'	:	'18:00'
				}).inject(item, 'after');
				new Element('span',{'class':'label_time','html':item.getParent().getPrevious().getAttribute('rel')}).inject(item.getParent().getPrevious());
			}
			
			// Form-action 
			$$('#sb_autovermietung form')[0].addEvent('submit',function(){
				$('from').value = $$('#sb_autovermietung .from')[0].value+' '+$$('#sb_autovermietung .time')[0].value;
				$('to').value = $$('#sb_autovermietung .to')[0].value+' '+$$('#sb_autovermietung .time')[1].value;			
				$$('#sb_autovermietung form')[0].submit();
			});
		}
		this.add_countryteaser();
		this.add_stationsnetzteaser();
	},
	add_countryteaser : function(){
		if($$('#sb_laenderauswahl select')[0]){
		$$('#sb_laenderauswahl select')[0].setStyle('display','none');
		var selectbutton = new Element('a',{'class':'selectbox','html':$$('#sb_laenderauswahl select option')[0].innerHTML}).inject($$('#sb_laenderauswahl select')[0],'after');
		selectbutton.addEvent('click',function(){
			this.getNext().set('morph',{duration:500}).morph({opacity:1});							   
		});
		var selectbox = new Element('div',{'class':'selectbox_options'}).inject(selectbutton,'after');
		selectbox.set('morph',{duration:0}).morph({'opacity':0});
		new Request.JSON({url: window.location.href, onSuccess: function(response){ 
			$each(response,function(item){
				var a = new Element('a',{'html':item.title,'href':item.verlinkung}).inject(selectbox);
				new Element('img',{'src':'/uploads/tx_dwlaenderauswahl/'+item.img}).inject(a,'top');
			});
		}}).get({'eID':'laender','pid':$$('#sb_laenderauswahl form')[0].getAttribute('rel')});
		selectbox.addEvent('mouseleave',function(){
			this.set('morph',{duration:500}).morph({opacity:0});
		});
		}
	},
	//Stationsnetzschnellwahlteaser
	add_stationsnetzteaser : function(){		
		$$('#stationsnetz_ort').addEvent('change', function(){
			$$('#sb_stationsnetz_station').setStyle('visibility', 'visible');
			
			var ort = $$('#sb_stationsnetz_ort select')[0].value;
			//umlaute entfernen ä ö ü Ä Ö Ü ß => � � � � � � �
			ort = ort.replace(/Ü/g, "Ue");  //�
			ort = ort.replace(/Ö/g, "Oe");  //�
			ort = ort.replace(/Ä/g, "Ae");  //�
			ort = ort.replace(/ü/g, "ue");  //�
			ort = ort.replace(/ö/g, "oe");  //�
			ort = ort.replace(/ä/g, "ae");  //�
			ort = ort.replace(/ß/g, "ss");  //�
			ort = ort.replace(/ /g, "_");
			
			var stationSelect = document.getElementById("stationsnetz_station");
			//alte Inhalte löschen
			while(stationSelect.hasChildNodes()){
				stationSelect.removeChild(stationSelect.firstChild);
			}
			
			//neue Inhalte einf�gen
			/*var opt = document.createElement('option');
			opt.text = "Bitte wählen Sie eine Station...";
			opt.value = 0;
			try {
				stationSelect.add(opt, null); // standards compliant; doesn't work in IE
			}
			catch(ex) {
				stationSelect.add(opt); // IE only
			}*/
			for(var obj in stationenSchnellFinder)
			{
				if(stationenSchnellFinder[obj]["ort"] == ort){
					var opt = document.createElement('option');
					opt.text = stationenSchnellFinder[obj]["name"];
					opt.value = stationenSchnellFinder[obj]["id"];
					try {
						stationSelect.add(opt, null); // standards compliant; doesn't work in IE
					}
					catch(ex) {
						stationSelect.add(opt); // IE only
					}
				}
			}
		});
	}
});

var BBTeaserTicker = new Class({
	initialize	:	function(){
		if($chk($('dw_teaserticker'))){
			$$('#dw_teaserticker dl a').addEvent('click',function(){
				$$('#dw_teaserticker dd span').dispose();
				$$('#dw_teaserticker dd').removeClass('active');
				$$('#dw_teaserticker dd').removeClass('last_active');
				$$('#dw_teaserticker dd').removeClass('first_active');
				$$('#dw_teaserticker dl')[0].getLast('dd').getFirst('a').addClass('lastfix');
				this.getParent('dd').addClass('active');				
				new Element('span').inject($$('#dw_teaserticker .active')[0]);
				if($$('#dw_teaserticker dd').getLast() == this.getParent('dd')){
					this.getParent('dd').addClass('last_active');
					this.removeClass('lastfix');
				}
				if($$('#dw_teaserticker dl')[0].getFirst('dd') == this.getParent('dd')){
					this.getParent('dd').addClass('first_active');	
				}
				var my_link = new Element('a',{ 'href'	:	this.getAttribute('href')});
				var new_image = new Asset.image(this.getAttribute('rel'), {title: this.innerHTML, onload: function(){
					this.set('morph',{duration:1000, onComplete:function(){
						$$('#dw_teaserticker .inner a')[0].dispose();
					}}).morph({'opacity':1});
				}}).inject(my_link);
				my_link.inject($$('#dw_teaserticker .img_area .inner')[0]);
				new_image.setStyles({'opacity':0,'visibility':'hidden'});
				
				$$('#dw_teaserticker dl .no_bg').removeClass('no_bg');
				if($$('#dw_teaserticker dl .active').getPrevious('dd')[0] != null){
					$$('#dw_teaserticker dl .active').getPrevious('dd').addClass('no_bg');
				}
				return false;
			});
			
			var dl_width=parseInt($$('#dw_teaserticker dl dt')[0].getStyle('width'));
			$each($$('#dw_teaserticker dl dd'),function(item){
				dl_width += parseInt(item.getStyle('width'));
			});
			dl_width+=42;
			var paddingleft = 563 - dl_width;
			$$('#dw_teaserticker dl')[0].setStyle('paddingLeft',paddingleft);
			
			
			var pid = $('content').getAttribute('class');
			
			// Flashticker
			var ticker = new Element('div',{ id : 'dw_ticker'}).inject($('dw_teaserticker'),'after');
			new Swiff('/static/swf/ticker/ticker-bb.swf',{
				id		:	'newsticker',
				width	:	558,
				height	:	24,
				params: {
					align	:	'top'
				},
				vars: {
					'conf': '../../../../?eID=ticker&pid='+$('dw_teaserticker').getAttribute('rel')+'&'
				}
			}).inject($('dw_ticker'));
			/* Flash-Ticker statt JS-Ticker
			new Request.JSON({url: window.location.href, onSuccess: function(response){ 
				if(response != null){
					var ticker = new Element('div',{ id : 'dw_ticker'}).inject($('dw_teaserticker'),'after');
					var inner = new Element('div', { 'class' : 'inner'}).inject(ticker);
					var ticker_content = new Element('div', { 'class' : 'ticker_content'}).inject(inner);
					$each(response,function(item){
						if(item.link == ''){
							new Element('span', { 'html' : item.title } ).inject(ticker_content);
						}
						else{
							new Element('a', { 'href'	:	item.link, 'html' : '<span>'+item.title+'</span>' } ).inject(ticker_content);
						}
					});
					scroll_ticker();
				}
			}}).get({'eID': 'ticker'});*/
		}
	}
});

/*
function scroll_ticker(){
	var ticker_width = parseInt($$('.ticker_content')[0].getStyle('width'))*(-1);
	$$('#dw_ticker .ticker_content')[0].setStyle('marginLeft',226);
	$$('#dw_ticker .ticker_content')[0].set('morph',{duration : 45000, onComplete:function(){scroll_ticker();}}).morph({'marginLeft':ticker_width});
}*/


var BBAngebotsTeaser = new Class({
	initialize	:	function(){
		if($('dw_angebotsteaser') != null){
			var step=0;
			var anzahl_teaser=$$('#content #dw_angebotsteaser .bg_shadow div').length;
			new Element('a',{ 'class' : 'prev', 'html' : '<span>Previous</span>' }).inject($('dw_angebotsteaser')).addEvent('click',function(){
				if(step-1 >= 0){
					$$('#dw_angebotsteaser .next').setStyle('opacity',1);
					step -= 1;
					var margin_left = step * (-1) * 168;
					$$('#content #dw_angebotsteaser .inner').set('morph',{ duration: 750 }).morph({ 'marginLeft' : margin_left});
					if(step == 0){
						$$('#content #dw_angebotsteaser .prev').setStyle('opacity',0.2);	
					}
				}
			});
			$$('#content #dw_angebotsteaser .prev').setStyle('opacity',0.2);	
			new Element('a',{ 'class' : 'next', 'html' : '<span>Next</span>' }).inject($('dw_angebotsteaser')).addEvent('click',function(){
				if((anzahl_teaser - 3) > step){
					$$('#content #dw_angebotsteaser .prev').setStyle('opacity',1);
					step += 1;
					var margin_left = step * (-1) * 168;
					$$('#content #dw_angebotsteaser .inner').set('morph',{ duration: 750 }).morph({ 'marginLeft' : margin_left});
					if((anzahl_teaser - 3) == step){
						$$('#content #dw_angebotsteaser .next').setStyle('opacity',0.2);
					}
				}
			});
		}
	}
});

var pos = 0;
var anzahl_bilder = 0;
var this_class;
var current_item;
var all_selects = {};
var BBGalerie = new Class({
	options: {
		ort			:	0,
		station		:	0,
		kategorie	:	0,
		rows		:	3,
		higher		:	0,
		lower		:	0,
		last_ort	:	'',
		select_ort	:	0
    },
	initialize	:	function(){
		if($chk($('tx_bbgalerie_pi1'))){
		   $$('.bg_shadow div').setStyle('cursor','pointer');
			var width = parseInt($$('body')[0].getStyle('width'));
			var left = (width - 612) / 2;
			this_class = this;

			all_selects = $$('#tx_bbgalerie_pi1 form select')[1];
			$$('#tx_bbgalerie_pi1 form select').addEvent('change',function(){
				this_class.request();
			});
			this_class.request();
		}
	},
	request : function(){
		var width = parseInt($$('body')[0].getStyle('width'));
		var left = (width - 612) / 2;
		pos = 0;
		$$('#buchung_uebersicht .bg_shadow').set('morph',{duration:500}).morph({opacity:0});
		
		this_class.options.ort = $$('#tx_bbgalerie_pi1 form select')[0].value;
		this_class.options.station = $$('#tx_bbgalerie_pi1 form select')[1].value;
		this_class.options.kategorie = $$('#tx_bbgalerie_pi1 form select')[2].value;

		if($chk($('buchung_uebersicht'))){
			$('buchung_uebersicht').dispose();
			new Element('div',{'id':'loading'}).inject($('results'));
		}
		if($chk($('pagebrowser'))){
			$('pagebrowser').dispose();
		}
		new Request.JSON({url: window.location.href, onSuccess: function(response){ 
			$('results').innerHTML = response.html;
			if(this_class.options.last_ort != $$('#tx_bbgalerie_pi1 form select')[0].value){
				if($$('#tx_bbgalerie_pi1 form select')[0].value != ''){
					var new_select = new Element('select',{'name':'station'}).replaces($$('select[name=station]')[0]);
					var this_titel = $$('#tx_bbgalerie_pi1 form option')[0].innerHTML;
					new Element('option',{'value':'','html':this_titel}).inject(new_select);
					$each(response.selectbox,function(item){
						if(item.uid){
							new Element('option',{'value':item.uid,'html':item.titel}).inject(new_select);
						}
					});
					var new_select = new Element('select',{'name':'kategorie'}).replaces($$('select[name=kategorie]')[0]);
					new Element('option',{'value':'','html':this_titel}).inject(new_select);
					$each(response.selectbox_2,function(item){
						if(item.kategorie){
							new Element('option',{'value':item.uid,'html':item.kategorie}).inject(new_select);
						}
					});
				}
				else{
					all_selects.replaces($$('select[name=station]')[0]);	
				}
				$$('#tx_bbgalerie_pi1 form select').addEvent('change',function(){
					this_class.request();
				});
				this_class.options.last_ort = $$('#tx_bbgalerie_pi1 form select')[0].value;
			}
		    $$('.bg_shadow div div').setStyle('cursor','pointer');
			$$('.bg_shadow div div').addEvent('click',function(item){
				$$('#base').set('morph',{duration:500}).morph({opacity:0.3});
				var IE = Browser.Engine.trident;  
				if(IE){
					$('navigation').set('morph',{duration:500}).morph({opacity:0.1});
					$$('.bg_shadow').set('morph',{duration:500}).morph({opacity:0.1});
					$$('.bg_shadow div').set('morph',{duration:500}).morph({opacity:0.1});
					$$('#footer').set('morph',{duration:500}).morph({opacity:0.1});
				}
				new Request.JSON({url: window.location.href, onSuccess: function(response){ 
					
					var detail = new Element('div',{'id':'detail'}).inject($('base'),'after');

					detail.innerHTML=response.html;
					anzahl_bilder = $$('#view .inner div').length;
					//$('detail').setStyle('margin-left',left);
					$('detail').position({relativeTo: 'base'});

					$$('#view .prev').setStyle('opacity',0.3);
					if(anzahl_bilder == 1){
						$$('#view .next').setStyle('opacity',0.3);	
					}
					
					$$('#view .next').addEvent('click',function(){
						if(pos+1 < anzahl_bilder){
							pos+=1;
							var margin_left = pos * 490 * (-1);
							$$('#view .inner').set('morph',{duration:500}).morph({'margin-left':margin_left});
							if(pos+1 >= anzahl_bilder){
								$$('#view .prev').setStyle('opacity',1);
								$$('#view .next').setStyle('opacity',0.3);
							}
							$('pos').innerHTML = pos+1;
							$$('#view .prev').setStyle('opacity',1);
						}
					});
					
					$$('#view .prev').addEvent('click',function(){
						if(pos-1 >= 0){
							pos-=1;
							var margin_left = pos * 490 * (-1);
							$$('#view .inner').set('morph',{duration:500}).morph({'margin-left':margin_left});
							if(pos-1 < 0){
								$$('#view .prev').setStyle('opacity',0.3);
								$$('#view .next').setStyle('opacity',1);	
							}
							$('pos').innerHTML = pos+1;
							$$('#view .next').setStyle('opacity',1);
						}
					});
					
					$$('#detail .close').addEvent('click',function(){
						$('detail').dispose();
						$$('#base').set('morph',{duration:500}).morph({opacity:1});
						var IE = Browser.Engine.trident;  
						if(IE){
							$('navigation').set('morph',{duration:500}).morph({opacity:1});
							$$('.bg_shadow').set('morph',{duration:500}).morph({opacity:1});
							$$('.bg_shadow div').set('morph',{duration:500}).morph({opacity:1});
							$$('#footer').set('morph',{duration:500}).morph({opacity:1});						
						}
						this_class.initialize();
					});			
					
					$$('#controls img').addEvent('click',function(item){
																  
						var my_index = $$('#controls img').indexOf(this);
						var margin_left = my_index * 490 * (-1);
						pos = my_index;
						$('pos').innerHTML = pos+1;
						$$('#view .inner').set('morph',{duration:500}).morph({'margin-left':margin_left});
						
					});
					
				}}).get({'guid':this.getParent().getAttribute('rel'),'json':true,'no_cache':true});
			});
			this_class.pagebrowser();
		}}).get({'kategorie':this.options.kategorie,'station':this.options.station,'ort':this.options.ort,'json':true,'no_cache':true});
	},
	pagebrowser : function(){
		var i = 0;
		$each($$('.bg_shadow'),function(item){
			i++;
			if(i > this_class.options.rows){
				item.setStyle('display','none');
			}
		});
		
		var pb = $$('.bg_shadow').length / this_class.options.rows;
		pb = Math.ceil(pb);
		
		var pagebrowser = new Element('div', { id	:	'pagebrowser' }).inject($('buchung_uebersicht'),'bottom');
		var first_link = new Element('a', { html	:	'<span>First</span>', rel : 0, 'class' : 'first'	}).inject(pagebrowser,'bottom');
		var prev_link = new Element('a', { html	:	'<span>Previous</span>', rel : 0, 'class' : 'prev'	}).inject(pagebrowser,'bottom');
		first_link.addEvent('click',function(){
			$$('#pagebrowser a')[2].fireEvent('click');
		});
		prev_link.addEvent('click',function(){
			if($$('#pagebrowser .active')[0].getPrevious('a').getAttribute('class') != 'prev'){
				$$('#pagebrowser .active')[0].getPrevious('a').fireEvent('click');
			}
		});
		for(a=0; a<pb; a++){
			var pb_item = new Element('a', { html	:	a+1, rel : a	}).inject(pagebrowser,'bottom');
			pb_item.addEvent('click',function(item){
				current_item = this;
				if($$('#pagebrowser a').indexOf(this) == 2){
					$$('#pagebrowser a')[0].setStyle('display','none');
					$$('#pagebrowser a')[1].setStyle('display','none');	
				}
				else{
					$$('#pagebrowser a')[0].setStyle('display','inline');
					$$('#pagebrowser a')[1].setStyle('display','inline');	
				}
				
				if($$('#pagebrowser a').indexOf(this) == ($$('#pagebrowser a').length - 3)){
					$$('#pagebrowser .last')[0].setStyle('display','none');
					$$('#pagebrowser .next')[0].setStyle('display','none');	
				}
				else{
					$$('#pagebrowser .last')[0].setStyle('display','inline');
					$$('#pagebrowser .next')[0].setStyle('display','inline');	
				}
				$$('#pagebrowser a').removeClass('active');
				current_item.addClass('active');
				this_class.bs();
				$$('.bg_shadow').set('morph',{duration:500, onComplete : function(item){
					item.setStyle('display','none');
					$$('.bg_shadow').set('morph',{duration:500}).morph({opacity:1});
					var i = 0;
					var rel = current_item.getAttribute('rel');
					this_class.options.lower = this_class.options.rows * rel;
					this_class.options.higher = this_class.options.rows + this_class.options.lower;
					$each($$('.bg_shadow'),function(item){
							if(i >= this_class.options.lower && i < this_class.options.higher){
								item.setStyle('display','block');
							}
							else{
								item.setStyle('display','none');
							}
							i++;
						});
				}}).morph({opacity:0});		
			});
		}
		var next_link = new Element('a', { html	:	'<span>Next</span>', rel : 0, 'class' : 'next'	}).inject(pagebrowser,'bottom');
		var last_link = new Element('a', { html	:	'<span>Last</span>', rel : 0, 'class' : 'last'	}).inject(pagebrowser,'bottom');
		last_link.addEvent('click',function(){
			var this_item = $$('#pagebrowser a').length - 3;
			$$('#pagebrowser a')[this_item].fireEvent('click');
		});
		next_link.addEvent('click',function(){
			if($$('#pagebrowser .active')[0].getNext('a').getAttribute('class') != 'next'){
				$$('#pagebrowser .active')[0].getNext('a').fireEvent('click');
			}
		});
		$$('#pagebrowser a')[2].addClass('active');
		if($$('#pagebrowser a').length == 5){
			$$('#pagebrowser .last').setStyle('display','none');
			$$('#pagebrowser .next').setStyle('display','none');
		}
		this.bs();
	},
	bs	:	function(){
		if($$('#pagebrowser a').length > 5){
		$$('.dots').dispose();
		
		
		var active_index = $$('#pagebrowser a').indexOf($$('#pagebrowser .active')[0]);
		if(active_index > 4){		
			new Element('span',{'class':'dots','html':'...'}).inject($$('.prev')[0],'after');
		}
		new Element('span',{'class':'dots','html':'...'}).inject($$('.next')[0],'before');
		$$('#pagebrowser a').setStyle('display','none');
			$each($$('#pagebrowser a'),function(item){
				if(item.className != ''){
					item.setStyle('display','inline');
					if(item.className == 'active'){
						item.getNext().setStyle('display','inline');
						item.getNext().getNext().setStyle('display','inline');
						item.getPrevious().setStyle('display','inline');
						item.getPrevious().getPrevious().setStyle('display','inline');
					}
				}
			});
		}
		if($$('#pagebrowser a')[2].className == 'active'){
			$$('#pagebrowser .dots')[0].setStyle('display','none');	
		}
		if($$('#pagebrowser .next')[0].getPrevious('a').className == 'active' || $$('#pagebrowser .next')[0].getPrevious('a').getPrevious('a').className == 'active' || $$('#pagebrowser .next')[0].getPrevious('a').getPrevious('a').getPrevious('a').className == 'active'){
			$$('#pagebrowser .next')[0].getPrevious('span').setStyle('display','none');
		}
		
		if(active_index < $$('#pagebrowser a').length-5){
			$$('#pagebrowser .next')[0].getPrevious('span').setStyle('display','inline');	
		}

		if(active_index == 2){
			$$('#pagebrowser a')[0].setStyle('display','none');
			$$('#pagebrowser a')[1].setStyle('display','none');
		}
		else if(active_index == $$('#pagebrowser a').length-3){
			$$('#pagebrowser .last')[0].setStyle('display','none');
			$$('#pagebrowser .next')[0].setStyle('display','none');
		}
	}
});



var faq_toggle = {};
var open_faq_toggles = {};
var BBFaq = new Class({
	initialize	:	function(){
		if($chk($$('.page_44')[0]) || $chk($$('.page_97')[0])){
			$$('#content h3').setStyles({'cursor':'pointer'});			
			var i = 0;
			$each($$('#content h2'),function(item){
				if(i != 0){
					var outer = new Element('div',{'class':'box toggle'}).inject(item,'before');
					var box_div = new Element('div').inject(outer);
					var toggler = new Element('a',{'class':'toggle_control close','html':'<span>Open/Close</span>'}).inject(box_div);
					box_div.grab(item);
					var _break = false;
					while(_break == false){
						if(item.getParent().getParent().getNext() != null){
							if(item.getParent().getParent().getNext().tagName != 'H2' && item.getParent().getParent().getNext().tagName != ''){
								box_div.grab(item.getParent().getParent().getNext());
							}
							else{
								_break = true;	
							}
						}
						else{
							_break = true;	
						}
					}
				}
				i++;
			});
			$each($$('#content .toggle'),function(item){
				var this_height = parseInt(item.getStyle('height'));
				my_index = $$('#content .toggle').indexOf(item);
				faq_toggle[my_index] = this_height;
				item.getChildren('div').setStyles({'height':15,'overflow':'hidden'});
			});
			$$('#content .toggle_control').addEvent('click',function(){
			    var parent = this.getParent('div').getParent('div');
				my_index = $$('#content .toggle').indexOf(parent);
				if(open_faq_toggles[my_index] != true){
					this.getParent('div').set('morph',{duration:500}).morph({'height':faq_toggle[my_index]});
					this.removeClass('close');
					open_faq_toggles[my_index] = true;
				}
				else{
					this.getParent('div').set('morph',{duration:500}).morph({'height':15});
					this.addClass('close');
					open_faq_toggles[my_index] = false;
				}
			});
			//$$('#content .toggle_control')[0].fireEvent('click');
		}
	}
});


var BBKarriere = new Class({
	initialize	:	function(){
		if($chk($$('#tx_bbkarriere_pi1')[0])){
			$$('#tx_bbkarriere_pi1 table tbody a').addEvent('click',function(item){
				
				new Request.JSON({url: window.location.href, onSuccess: function(response){ 
					var IE = Browser.Engine.trident;  
					if(IE){
						$('navigation').set('morph',{duration:500}).morph({opacity:0.1});
					}
					$$('#base').set('morph',{duration:500}).morph({opacity:0.3});
					
					new Element('div', {
						id	:	'karriere_detail'}).inject($('base'),'after');
					new Element('h2', { html	:	response.bezeichnung+' '+response.ort}).inject($('karriere_detail'));
					$('karriere_detail').innerHTML += response.volltext;

					if(response.email == ''){
						var mail = '';
					}
					else{
						var mail = '<a class="mail" href="mailto:'+response.email+'">E-Mail</a>';
					}
					new Element('address', { html	:	response.adresse+'<br /><br />'+mail}).inject($('karriere_detail'));
					if(response.pdf == '') response.pdf = '/static/downloads/personalfragebogen.pdf';
					else response.pdf = '/uploads/tx_bbkarriere/'+response.pdf;
					new Element('a', { 'class'	:	'pdf',	href	:	response.pdf, html	:	'Hier der Personalfragebogen zum download'}).inject($('karriere_detail'));
					
					var close_link = new Element('a', { 'class'	:	'close'	}).inject($('karriere_detail'));
					close_link.addEvent('click',function(){
						$('karriere_detail').dispose();
						$$('#base').set('morph',{duration:500, onComplete : function(){}}).morph({opacity:1});
						if(IE){
							$('navigation').set('morph',{duration:500}).morph({opacity:1});
						}
					});
					
					$('karriere_detail').position({relativeTo: 'base'});

				}}).get({'suid':this.getAttribute('rel'),'json':true,'no_cache':true});
				return false;
			});
		}
	}
});


var geocoder = null;
var map = null;
var icon = null;
var BBStationsnetz = new Class({
	initialize	:	function(){
		if(typeof(ext) != 'undefined'){
	      if (GBrowserIsCompatible()) {
	        map = new GMap2(document.getElementById("map_canvas"));
		      map.addControl(new GSmallMapControl()); 
			icon = new GIcon();
			if($chk($$('#stationsnetz_detail')[0])){
				//icon.image = "/static/img/content/gmaps_logo.png";
				icon.image = "/static/img/logo_map.gif";
				icon.iconSize = new GSize(35,35);
			}
			else if($$('#res_table')[0]){
				icon.image = "/static/img/logo_map.gif";
				icon.iconSize = new GSize(35,35);			
			}
			else{
				icon.image = "/static/img/favicon.gif";
				icon.iconSize = new GSize(15, 15);
			}
	
			icon.iconAnchor = new GPoint(6, 20);
			icon.infoWindowAnchor = new GPoint(5, 1);
			
	
			if($chk(gmap_response[0]) || $chk($('res_table'))){
				var map_zoom = 10;
				if($chk($('res_table'))){
					map_zoom = 8;
				}
				else{
				}
				map.setCenter(new GLatLng(lat,lng), map_zoom);
			}
			else{
				map.setCenter(new GLatLng(51.031722,10.301513), 5);
			}
			
			if($chk(gmap_detail['address'])){
				geocoder = new GClientGeocoder();
				geocoder.getLocations(gmap_detail['address'], centerMap);
				
				
				//Routenplaner nur in Detailansicht
				var form = new Element('form',{'id':'routenplaner','html':gmap_detail['label_start']+'</i><br /> <input type="text" id="from_location" /><input type="image" class="input_submit" src="'+ gmap_detail['button_berechnen'] +'">'}).inject($('map_canvas'),'after');
				var dir_div = new Element('div',{'id':'directions'}).inject(form,'after');			
				form.addEvent('submit',start_routenplaner);
			}
			else{
				GDownloadUrl("./index.xml?eID=getMarker&sp="+$$('.box')[0].getAttribute('rel'), function(data) {
				var xml = GXml.parse(data);
					
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var latlng = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
											parseFloat(markers[i].getAttribute("lng")));
					var html = '<strong>'+ markers[i].getAttribute("title") +'</strong>';
					html += '<br />'+ markers[i].getAttribute("address");
					html += '<br />'+ markers[i].getAttribute("ort");
					html += '<br /><br />Tel.: '+ markers[i].getAttribute("phone");
					html += '<br />Fax: '+ markers[i].getAttribute("fax");
					html += '<br /><br /><a href="http://www.buchbinder.de/'+ markers[i].getAttribute("detailLink") +'?station='+ markers[i].getAttribute("uid") +'" class="important">Buchbinder '+ markers[i].getAttribute("title") +'</a>';
					var marker = createMarker(latlng,html,icon);
					map.addOverlay(marker);
				  }
				});
			}
	      }
		}
			$$('#stationsdropdown').addEvent('change',function(){
				window.location.href = document.getElementById('stationsdropdown').value;
			});
	}
});

function start_routenplaner(){
	map = new GMap2(document.getElementById("map_canvas"));
	$('directions').set({'html':''});
	gdir = new GDirections(map, document.getElementById("directions"));
    setDirections($('from_location').value, gmap_detail["address"]+' Germany', "de_DE");
	return false;
}    

function setDirections(fromAddress, toAddress, locale) {
	gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
}


		
function createMarker(point,html,icon) {
	var marker = new GMarker(point,icon);
	GEvent.addListener(marker,"click",function(){
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

function centerMap(response){
//	if(response.Placemark != null){
//		ort = response.Placemark[0];	
//		var point = new GLatLng(ort.Point.coordinates[1],ort.Point.coordinates[0]);
//		map.setCenter(point, 15);
//	}else{
		var point = new GLatLng(gmap_detail['lat'],gmap_detail['lng']);
		map.setCenter(point, 15);
//	}
	var html = '<strong>'+ gmap_detail['titel'] +'</strong>';
	html += '<br />'+ gmap_detail['strasse'];
	html += '<br />'+ gmap_detail['plz'] +' '+ gmap_detail['ort'];
	html += '<br /><br />'+ gmap_detail['phone'];
	html += '<br />'+ gmap_detail['fax'];
	if(gmap_detail['pkwMieten']){
	html += '<br /><br />'+ gmap_detail['pkwMieten']
	}
	if(gmap_detail['lkwMieten']){
	html += ' | '+ gmap_detail['lkwMieten']
	}
	/*html += '<br /><br /><a href="http://www.buchbinder.de/de/fahrzeuge/pkw-flotte.html" alt="PKW mieten" title="PKW mieten">PKW mieten</a>';
	html += ' | <a href="http://www.buchbinder.de/de/fahrzeuge/lkw-flotte.html" alt="LKW mieten" title="LKW mieten">LKW mieten</a>';*/
	var marker = createMarker(point,html,icon);
	map.addOverlay(marker);
}

/* Spamschutz */
function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}return dec;}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,-1);}
function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}return String.fromCharCode(n);}


var BBKontakt = new Class({
	initialize	:	function(){
		if($chk($('kontakt'))){
			$each($$('#content address'),function(item){
				new Element('br').inject(item);
				var a = new Element('a',{ 'class':'mail', 'html':'E-Mail'}).inject(item);				  
				a.addEvent('click',function(){
					BBKontakt.uid = this.getParent('address').getAttribute('rel');
					$each($$('#kontakt select option'),function(item){
						if(item.value != BBKontakt.uid){
							item.removeAttribute('selected');
						}
						else{
							item.setAttribute('selected','selected');
						}
					});
					new Fx.Scroll(window).toTop();
				});
			});
		}
	}
});