var powermailSpecialErrorMessage = {
		8 : 'Bitte geben Sie Ihr Geburtsdatum ein',
		11 : 'Bitte wählen Sie eine Ticketart',
		21 : 'Bitte geben Sie ein Datum ein',
		22 : 'Sie müssen die Bedingungen akzeptieren',
		82 : 'Bitte geben Sie ein Datum ein',
};

var datefix = {
	'uid8' : 'validate-number',
	'uid21' : 'validate-number'
};

$(window).addEvent('domready',function(){
	
	
	for(var i in datefix){
		if($(i))$(i).removeClass(datefix[i]).addClass('validate-date-de');	
	}
	
	if(abofs = $$('#tx-powermail-pi1_fieldset_2 legend')[0])
	{
		new Element('p',{ text : '(Abgabe bis zum 10. des Vormonats)' }).inject(abofs,'after');	
	}	
	if($('ie6')){
		$$('#navi ol li a').addEvents({
			mouseenter : function(){
				if(this.hasClass('active'))return;
				this.addClass('active');
			},
			mouseenter : function(){
				if(this.hasClass('active'))return;
				this.removeClass('active');
			}
			
		});
		
	}
	
	$$('#fontsize a').addEvent('click',function(e){
		e.stop();
		var vals = {
			'default' : [12,18],
			large : [16,24],
			xlarge : [20,32]
		};
		
		$('rcol').setStyles({
							fontSize: vals[ this.get('id').substr(3) ][0],
							lineHeight: vals[ this.get('id').substr(3) ][1]
		}); 
// hinzugefügt mpc 20110316
    var schalter = this.get("id"); 
    $('fontsize').setStyle('background-image', 'url("/fileadmin/templates/img/fontsize-bg'+schalter+'.jpg")');
//   alert ("/fileadmin/templates/img/fontsize-bg"+schalter+".jpg"); 

	});

	$$(['.nullinger',8,21].join(', .advice-validate-number-uid')).set('text','Bitte geben Sie ein Datum an');
	
	
	$$('#page-22 #rcol .news-latest-item').each(function(item,i){
		if(i == 0)
		{
			new Element('div',{'class' : 'pseudobox'}).inject($$('.news-latest-container')[0]);
			new Element('div',{'class' : 'pseudobox'}).inject($$('.news-latest-container')[0]);			
		}
		
		$$('.pseudobox')[Math.floor(i / 2)].grab(item);
		if(i % 2 != 0)item.setStyle('margin-left',40);
		if(Math.floor(i / 2) == 1)item.setStyle('margin-top',40);
														 
	});
	
	var f = $$('#rcol').getFirst();
	if(f.hasClass('teaser'))f.setStyle('marginTop',0)
	if(f.hasClass('fce-5050'))f.getElements('.teaser')[0].setStyle('marginTop',0);

	//fundsachen powerfail fix

	$$('#powermaildiv_uid80').setStyles({
						   display : 'none'
						   });


	//# abo bedingungen label hack
	if(lbl = $$('#page-145 #powermaildiv_uid22 label')[0])
	{
		var otext = lbl.get('text').split('Abonnement-Bedingungen');
		lbl.empty();
		lbl.appendText(otext[0]);
		new Element('a',{ 
					href : '/tickets-preise/ticketkauf/als-abo/abo-bedingungen/', 
					text : 'Abonnement-Bedingungen',
					'class' : 'inline',
					events : {
						click : function($e){
							$e.stop();
							window.open(this.get('href'));
						}
					}
					}).inject(lbl);
		lbl.appendText(otext[1]);

	}

	$$('#uid78').addEvents({'change':function(){
		$('powermaildiv_uid' + (this.value == 'Bus'?79:80)).setStyle('display','block');
		$('powermaildiv_uid' + (this.value == 'Bus'?80:79)).setStyle('display','none');
	}});



	if($$('.tx-dkbtickets-pi1').length > 0)
	{
		tapp = new TicketApp();	
	}

	$$('#fp-widget .content input, #lcol .fahrplan input, #s, #nl-form input[type=text], #rcol .fahrplan input').addEvents({
		focus : function(){
			if(!this.retrieve('initText',false))
			{
				this.store('initText',this.get('value'));
			}
			if(this.get('value') == this.retrieve('initText'))
			{
				this.set('value','');
			}
		},
		
		blur : function()
		{
			if(this.get('value') == '' || this.get('value') == this.retrieve('initText'))
			{
				this.set('value',this.retrieve('initText'));
			}
		}
	});

	fahrplan = new Fahrplan();
	dbk = new DKBSite();
	fahrplan.setDates();
//	fahrplan.setDates.periodical(1000,fahrplan);
		
	
	
});

var dkb, DKBSite = new Class({
	initialize : function(){
		$('ssubmit').addEvent('click',function($e){
			$e.stop();
			this.getParent().submit();
		});
	}
							 
});

var tapp, TicketApp = new Class({

	info : {},

	initialize : function()
	{
		
		
		$$('.tx-dkbtickets-pi1 dl').each(function(item,i){
				var id = item.get('id').split('-')[1];
				this.info[id] = {
					typ : 'erw',
					tarif : item.getElements('select').get('value')
				};
		},this);
		
		$$('.tx-dkbtickets-pi1 .tipps ul').setStyles({
				position:'static',
				overflow:'hidden',
				visibility:'visible',
				height : 0
			});												 

		$$('.tx-dkbtickets-pi1 .tipps a').addEvent('click',function($e){

				$e.stop();
				var box = this.getNext();
				var opn = box.retrieve('open',false);
				
				var h = 0;
				box.getElements('li').each(function(item,i){
					h += item.getCoordinates().height
				},this);				
				box.tween('height',opn?0:h);
				box.store('open',!opn);
		});
		
		$$('.tx-dkbtickets-pi1 input[type=radio]').addEvent('click',function(){									 
					var box = this.get('id').split('-');
					tapp.info[box[1]].typ = box[0].substr(2);
					tapp.update(box[1]);
		});
		
		
		$$('.tx-dkbtickets-pi1 dd select').addEvent('change',function(){
			var box = this.get('id').split('-')[1];
			tapp.info[box].tarif = this.get('value');
			tapp.update(box);
		});


		$$('.tx-dkbtickets-pi1 > select').addEvent('change',function(){
			var box = this.get('value');
			this.getParent().getElements('dl').setStyle('display','none');
			this.getParent().getElements('#ticketbox-'+box).setStyle('display','block');


		});


	},
	update : function(box)
	{
		$$('#ticketbox-'+box +' .preis p.item, #ticketbox-'+box +' .output p.item').setStyle('display','none');
		$$('#ticketbox-'+box +' p.preis-'+this.info[box].typ+'-'+this.info[box].tarif+', #ticketbox-'+box +' .output p.item-'+this.info[box].tarif).setStyle('display','block');
	}

				
				
});

var fahrplan, Fahrplan = new Class({
	
	setDates : function(){
		var d = this.getCurrent();
		$$('.datumbox input').each(function(item,i){
			item.set('value',d.d+'.'+d.m+'.'+d.y);
		},this);

		$$('.widget_zeit').each(function(item,i){
			item.set('value',d.h+':'+d.i);
		},this);

	},
	
	initialize : function(){
		$('fp-widget').addEvent('click',function(){

			if(!this.retrieve('open',false))
			{
				var m = new Fx.Morph(this,{ duration : 500 })
				m.start({
					left : -66
				}).chain(
					function(){
						this.setOptions({ duration : 0 }).start({ backgroundImage : 'url(/fileadmin/templates/img/fahrplan-widget-open.'+($('ie6')?'gif':'png')+')', left : -403, width : 403, cursor:'default' });
					},
					function(){
						this.setOptions({ duration : 600, onComplete : function(){
							this.subject.getFirst().setStyles({display:'block'});
							}}).start({ opacity : 1, left : 0});
					}
				);
				
				this.store('open',true);
			}
		});
		

		
		var tmp = this.getCurrent();
		new DatePicker('.widget_datum', {
			pickerClass: 'datepicker',
			allowEmpty: true,
			toggleElements: '.datePickerBtn',
			days : ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
			months : ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
			format : 'd.m.Y',
			inputOutputFormat : 'd.m.Y',
			minDate : { date: tmp.d + '.' + tmp.m + '.' + tmp.y, format: 'd.m.Y' }
		});
		
		
		$$('#fp-widget .content .clsBtn')[0].addEvent('click',function($e)
		{
			$e.stop();
			var m = new Fx.Morph('fp-widget',{ duration : 600 })
			m.start({
				left : -403
			}).chain(
				function(){
					this.setOptions({ duration : 0, onComplete : function(){
							this.subject.getFirst().setStyles({display : 'none'});
						}}).start({ backgroundImage : 'url(/fileadmin/templates/img/fahrplan-widget.'+($('ie6')?'gif':'png')+')', left : -66, width : 66 });
				},
				function(){
					this.setOptions({ duration : 300 }).start({ opacity : 1, left : 0, cursor:'pointer'});
				}
			);
			
			$('fp-widget').eliminate('open');
		});
		
		
		$$('#rcol .fahrplan .submitBtn, #lcol .fahrplan .submitBtn, #fp-widget .submitBtn').addEvent('mousedown',function($e){

			this.set({
					href : fahrplan.handleSubmit(this.getParent())
				});
		});
		
	},
	
	handleSubmit_alt : function(elem)
	{
		
		var q = $H({
			Cmd : 'RV',
			Karten : 'true',
			ModForm : 'T%3A\\busspur\\forms\\dkb\\',
			GT0 : elem.getElements('.widget_start_ort')[0].get('value'),
			HT0 : elem.getElements('.widget_start_halte')[0].get('value'),
			GT1 : elem.getElements('.widget_ziel_ort')[0].get('value'),
			HT1 : elem.getElements('.widget_ziel_halte')[0].get('value'),
			DatumT : elem.getElements('.widget_datum')[0].get('value').split('.')[0],
			DatumM : elem.getElements('.widget_datum')[0].get('value').split('.')[1],
			DatumJ : elem.getElements('.widget_datum')[0].get('value').split('.')[2],
			ZeitH : elem.getElements('.widget_zeit')[0].get('value').split(':')[0],
			ZeitM : elem.getElements('.widget_zeit')[0].get('value').split(':')[1]
		}).toQueryString();
		
		return 'http://www.busspur.de/avv/bs.exe?' + q;

	},

	handleSubmit_org : function(elem)
	{
		
		var q = $H({
			dep_city : elem.getElements('.widget_start_ort')[0].get('value'),
			dep_station : elem.getElements('.widget_start_halte')[0].get('value'),
			arr_city : elem.getElements('.widget_ziel_ort')[0].get('value'),
			arr_station : elem.getElements('.widget_ziel_halte')[0].get('value'),
			dateday : elem.getElements('.widget_datum')[0].get('value').split('.')[0],
			datemonth : elem.getElements('.widget_datum')[0].get('value').split('.')[1] + '.' + elem.getElements('.widget_datum')[0].get('value').split('.')[2],
			time : elem.getElements('.widget_zeit')[0].get('value')
		}).toQueryString();
		
		//alert(escape(elem.getElements('.widget_start_ort')[0].get('value')));
		//alert(escape(elem.getElements('.widget_start_ort')[0].get('value')).replace("25", ""));
		return '/fahrplaene/persoenlicher-fahrplan/?' + q;

	},

  handleSubmit : function(elem)
	{
	if (elem.getElements('.widget_start_halte')[0].get('value')=='Haltestelle') start_halte = '';
  else start_halte = elem.getElements('.widget_start_halte')[0].get('value');	
  	if (elem.getElements('.widget_ziel_halte')[0].get('value')=='Haltestelle') ziel_halte = '';
  else ziel_halte = elem.getElements('.widget_ziel_halte')[0].get('value');
		var q = $H({ 
			dep_city : elem.getElements('.widget_start_ort')[0].get('value'),
			dep_station : start_halte,
			arr_city : elem.getElements('.widget_ziel_ort')[0].get('value'),
			arr_station : ziel_halte,
			
			dateday : elem.getElements('.widget_datum')[0].get('value').split('.')[0],
			datemonth : elem.getElements('.widget_datum')[0].get('value').split('.')[1] + '.' + elem.getElements('.widget_datum')[0].get('value').split('.')[2],
			time : elem.getElements('.widget_zeit')[0].get('value'),
			date : elem.getElements('.widget_datum')[0].get('value')
		}).toQueryString();
		
		//alert(escape(elem.getElements('.widget_start_ort')[0].get('value')));
		//alert(escape(elem.getElements('.widget_start_ort')[0].get('value')).replace("25", ""));
		return '/fahrplaene/persoenlicher-fahrplan/?script=inquiry/service&apikey=avvclient&path=/home/connection&dep_city_gkz=&dep_station_type=&dep_station_id=&via_city=&via_station=&via_pause=5&via_city_gkz=&via_station_type=&via_station_id=&arr_city_gkz=&arr_station_type=&arr_station_id=&time_deparr=dep&showtimetype=tours&showtours=5&showtimeframe=60&opt_nearby=false&walkspeed=83&opt_lowfloor=0&opt_surcharge=no&opt_ondemand=0&delfi_search=0&' + q;

	},

	getCurrent : function(){
		var date = new Date();
		var d = date.getDate().toString();
		d = d.length == 1?'0'+d:d;

		var m = (date.getMonth() + 1).toString();
		m = m.length == 1?'0'+m:m;
		var y = date.getFullYear().toString();
		
		var h = date.getHours().toString();
		h = h.length == 1?'0'+h:h;

		var i = date.getMinutes().toString();
		i = i.length == 1?'0'+i:i;
		
		return {
			d : d,
			m : m,
			y : y,
			h : h,
			i : i
		};
	}

	
});




