var deliverySliderHasBeenCalled = false;

var Site = {
	
	start: function() {
	
		// Accordions
		if ($$('div.book-tab').length > 0) Site.tabSlider();
		if ($$('dl.review').length > 0) Site.reviewSlider();
		if ($$('dl.botm').length > 0) Site.botmSlider();
		if ($$('dl.faq').length > 0) Site.faqSlider();
		
		// Slides
		if ($('payment-delivery')) Site.deliverySlide();
		if ($('secure-help')) Site.secureSlide();
	
	},
	
	tabSlider: function() {
		var accordion = new Accordion('#content div.tabs li', '#content div.book-tab-content', {
			opacity: false,
			duration: 400,
			onActive: function(toggler, element){
				toggler.addClass('selected');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('selected');
			}
		}, $('content'));
		
		// Show corresponding tab from the location
		var found = 0;
		$$('#content div.tabs li a').each(function(link, i){
			if (window.location.hash.test(link.hash)) found = i;
		});
		accordion.display(found);
	},
	
	// Active 'tabSlider' from inline content
	tabSlide: function(element) {
		window.location = element.href;
		Site.tabSlider();
	},
	
	reviewSlider: function() {
		var accordion = new Accordion('#content dl.review dd.more', '#content dl.review dd.full', {
			opacity: false,
			show: 'none',
			alwaysHide: true,
			start: 'all-closed',
			duration: 400,
			onActive: function(toggler, element){
				toggler.addClass('selected');
				toggler.firstChild.innerHTML = 'Luk';
				// Adjust height to the parent accordion on product pages
				if ($$('div.book-tab').length > 0) {
					var parent = toggler.getParent();
					while (!parent.hasClass('book-tab-content')) {
						parent = parent.getParent();
					}
					parent.setStyle('height', '');
					// IE6 fix (provokes height reset on first click)
					var ieHeight = parent.getStyle('height');
				}
			},
			onBackground: function(toggler, element){
				toggler.removeClass('selected');
				toggler.firstChild.innerHTML = 'L&aelig;s mere';
			}
		}, $('content'));
	},
	
	botmSlider: function() {
		var accordion = new Accordion('#content dl.botm dd.more', '#content dl.botm dd.full', {
			opacity: false,
			show: 'none',
			alwaysHide: true,
			start: 'all-closed',
			duration: 400,
			onActive: function(toggler, element){
				toggler.addClass('selected');
				toggler.firstChild.innerHTML = 'Luk';
			},
			onBackground: function(toggler, element){
				toggler.removeClass('selected');
				toggler.firstChild.innerHTML = 'L&aelig;s mere';
			}
		}, $('content'));
	},
	
	faqSlider: function() {
		// Show all answers
		$('faq-show-all').addEvent('click', function() {
		    $$('.faq dd').each(function(acc) {
		        acc.setStyle('height', acc.scrollHeight);
		    });
		});
		// Hide all answers
		$('faq-hide-all').addEvent('click', function() {
		    $$('.faq dd').each(function(acc) {
		        acc.setStyle('height', 0);
		    });
		});
		// The accordion
		var accordion = new Accordion('#content dl.faq dt', '#content dl.faq dd', {
			opacity: false,
			show: 'none',
			alwaysHide: true,
			start: 'all-closed',
			duration: 400,
			onActive: function(toggler, element){
				toggler.addClass('selected');
			},
			onBackground: function(toggler, element){
				toggler.removeClass('selected');
			}
		}, $('content'));
	},
	
	deliverySlide: function() {
	
		// Temporary fix for slide functionality
		if ($('payment-delivery')) {
			//$('payment-delivery').style.display = 'none';
			// Set initial mode
			var initialStyle = ($('f_payment_delivery').checked) ? 'block' : 'none';
			$('payment-delivery').style.display = initialStyle;
			
			$('f_payment_delivery').addEvent('click', function(e){
				var nextStyle = ($('f_payment_delivery').checked) ? 'block' : 'none';
				$('payment-delivery').style.display = nextStyle;
			
				// Toggle the background-color
				if ($('payment-delivery')) {
					var detailsbox = $('payment-delivery').getParent();
					while (!detailsbox.hasClass('details')) {
						detailsbox = detailsbox.getParent();
					}
					if (detailsbox.hasClass('info'))
						{ detailsbox.removeClass('info'); }
					else
						{ detailsbox.addClass('info'); }
				}
			});
		}
	
		/*
		// Original functionality
		
		var slide = new Fx.Slide('payment-delivery-disabled');
		slide.hide();
		$('f_payment_delivery_disabled').addEvent('click', function(e){
			e = new Event(e);
			slide.toggle();
			//e.stop();
			// Toggle the background-color
			if ($('payment-delivery-disabled')) {
				var detailsbox = $('payment-delivery-disabled').getParent();
				while (!detailsbox.hasClass('details')) {
					detailsbox = detailsbox.getParent();
				}
				if (detailsbox.hasClass('info'))
					{ detailsbox.removeClass('info'); }
				else
					{ detailsbox.addClass('info'); }
			}
		});
		*/
		deliverySliderHasBeenCalled = true;
	},

	secureSlide: function() {
		var slide = new Fx.Slide('secure-help', {duration: 200});
		slide.hide();
		$('secure-help-toggle').addEvent('click', function(e){
			e = new Event(e);
			slide.toggle();
			e.stop();
			// Toggle background-image (close graphic)
			if ($('secure-help-toggle').hasClass('selected'))
				{
					$('secure-help-toggle').removeClass('selected');
					$('secure-help-toggle').innerHTML = 'Hvor finder jeg kontrolcifrene?';
				}
			else
				{
					$('secure-help-toggle').addClass('selected');
					$('secure-help-toggle').innerHTML = 'Luk hj&aelig;lp til kontrolcifrene';
				}
		});
	}

};

window.addEvent('domready', Site.start);

