﻿// Toggler für Definitionslisten
var BoxesToggler = '';
window.addEvent('domready', function() {
	function myFunction(){
		this.toggleClass('invisible');
	};
	
	if($('flashMessage')) {
		$('flashMessage').addEvent('click',function() {
			$('flashMessage').dispose();
		});
		//setTimeout("$('flashMessage').dispose()",5000);
	}
	
	$$('h2.toggle').addEvent('click' , function() {
		this.getParent().getParent().toggleClass('open');
		if(this.getParent().getParent().hasClass('open')) {
			this.getParent().getChildren()[1].getChildren()[1].toggleClass('invisible');
			this.getParent().getChildren()[1].getChildren()[0].toggleClass('invisible');
			var c = this.getParent().getChildren()[1].getChildren()[1].getSize().y + 57;
			this.getParent().getParent().tween('height', [93, c]);
		} else {
			this.getParent().getParent().tween('height',93);
			myFunction.delay(400, this.getParent().getChildren()[1].getChildren()[0]);
			myFunction.delay(400, this.getParent().getChildren()[1].getChildren()[1]);
		}
	});
	
	var openFirst = (document.URL.match(/reiseversicherung/i) != false ? '':0);
	var MultiToggler = new MultipleOpenAccordion($('togglelist'), {
		elements: $$('#togglelist dd.stretcher'),
		togglers: $$('#togglelist dt.toggler'),
		openAll: false,
		firstElementsOpen: [openFirst],
		onBackground:function (e){
			e.removeClass('opened');
		},
		onActive :function(e) {
			e.addClass('opened');
		}
	});
	
	BoxesToggler = new MultipleOpenAccordion($('boxesTogglelist'), {
		elements: $$('#boxesTogglelist dd.stretcher'),
		togglers: $$('#boxesTogglelist dt.toggle'),
		openAll: false,
		firstElementsOpen: [1,2,3,4,5,6,7,8,9,10],
		onBackground:function (e){
			e.toggleClass('opened');
		},
		onActive :function(e) {
			e.toggleClass('opened');
		}
	});
	
	if (Boolean($('gallery'))) {
		new slideGallery($('gallery'), {
			mode: 'circle'
		});
		
		$$('.holder ul li span').addEvents({
			'mouseenter': function (e) {
				var myMorph = new Fx.Morph(this,{duration: '150', transition: Fx.Transitions.linear});
				myMorph.start({
					top: '-' + this.getChildren()[0].getChildren()[1].getSize().y + 'px'
				});
			},
			'mouseleave': function (e){
				var myMorph = new Fx.Morph(this,{duration: '150', transition: Fx.Transitions.linear});
				myMorph.start({
					top: '0'
				});
			}
		});
	}
	
	if (Boolean($('AccommodationHotelFinderYouthForm')) || Boolean($('AccommodationHotelFinderAdultForm'))) {
		myCal2 = new Calendar({
			AccommodationDatefrom: { AccommodationDatefrom: 'd.m.Y' },
			AccommodationDateto: { AccommodationDateto: 'd.m.Y' }
		}, { 
			'offset':1,
			'navigation': 2,
			classes: ['calendar'],
			pad: 1,
			months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember']
		   }
		);
	}

	if (Boolean($('InquiryDetailedInquiryYouthForm')) || Boolean($('InquiryDetailedInquiryAdultForm'))) {
		$$('.memo_checkbox2').addEvent('click', function(event) {
			new Request.JSON({
				method: 'post',
				url: '/memo/remove/'+event.target.alt,
				onSuccess: function(r) {
					$('bundles').set('html',r['options']);
					if (r['empty']==true) {
						BoxesToggler.hideSection(0);
						$('toggle_memo').removeClass('notEmpty');
						$('box_memo').removeClass('notEmpty');
					}
					if (r['emptyAcc']==true) {
						$('AccPart1').removeClass('invisible');
						$('AccPart2').addClass('invisible');
					}
					if(r['emptyProg']==true) {
						$('ProgPart1').removeClass('invisible');
						$('ProgPart2').addClass('invisible');
					}
					if(Boolean($(event.target.alt))) {
						$(event.target.alt).dispose();
					}
				}
			}).send();
		});
	}
	
	if (Boolean($('bundlesForm'))) {
		$('bundlesForm').addEvent('click', function(event) {
			if (event.target.getAttribute('class')=="memo_checkbox") {
				new Request.JSON({
					method: 'post',
					url: '/memo/remove/'+event.target.getAttribute('alt'),
					onSuccess: function(r) {
						$('bundles').set('html',r['options']);
						if (r['empty']==true) {
							BoxesToggler.hideSection(0);
							$('toggle_memo').removeClass('notEmpty');
							$('box_memo').removeClass('notEmpty');
						}
						if (r['emptyAcc']==true) {
							if (Boolean($('AccPart1'))) {
								$('AccPart1').removeClass('invisible');
							}
							if (Boolean($('AccPart2'))) {
								$('AccPart2').addClass('invisible');
							}
						}
						if(r['emptyProg']==true) {
							if (Boolean($('ProgPart1'))) {
								$('ProgPart1').removeClass('invisible');
							}
							if (Boolean($('ProgPart2'))) {
								$('ProgPart2').addClass('invisible');
							}
						}
						if(Boolean($(event.target.getAttribute('alt')))) {
							$(event.target.getAttribute('alt')).dispose();
						}
					}
				}).send();
			}
		});
	}
	
	/*if (Boolean($('bundlesForm'))) {
		$('bundlesForm').addEvent('click', function(event) {
			if (event.target.getAttribute('class')=="memo_checkbox") {
				new Request.JSON({
					method: 'post',
					url: '/memo/remove/'+event.target.getAttribute('alt'),
					onSuccess: function(r) {
						$('bundles').set('html',r['options']);
						if (r['empty']==true) {
							BoxesToggler.hideSection(0);
							$('toggle_memo').removeClass('notEmpty');
							$('box_memo').removeClass('notEmpty');
						}
						if(Boolean($(event.target.getAttribute('alt')))) {
							$(event.target.getAttribute('alt')).dispose();
						}
					}
				}).send();
			}
		});
	}*/
	
	/*if (Boolean($('bundlesForm'))) {
		$('bundlesForm').addEvent('change', function(event) {
			new Request.JSON({
				method: 'post',
				url: '/memo/remove/'+event.target.value,
				onSuccess: function(r) {
					$('bundles').set('html',r['options']);
					if (r['empty']==true) {
						BoxesToggler.hideSection(0);
						$('toggle_memo').removeClass('notEmpty');
						$('box_memo').removeClass('notEmpty');
					}
				}
			}).send();
		});
	}*/
	
	if (Boolean($('AccommodationHotelFinderYouthForm'))) {
		var myFormValidator = new Form.Validator($('AccommodationHotelFinderYouthForm'), {
			evaluateFieldsOnBlur: true
		});
	}
	
	if (Boolean($('AccommodationHotelFinderAdultForm'))) {
		var myFormValidator = new Form.Validator($('AccommodationHotelFinderAdultForm'), {
			evaluateFieldsOnBlur: true
		});
	}
});
