var slideShow = null;

Event.onDOMReady(function() {
 	new AC.ExpandTips();
	
	
	var initStoreSelector = function(requestedCountryName) {

		return (function(response) {
			var responseDocument = response.responseXML.documentElement;
			var countriesWithStores = responseDocument.getElementsByTagName('country');
			var requestedCountry = null;

			for(var i = 0; i < countriesWithStores.length; i++) {
				var country = countriesWithStores[i];
				if (country.getAttribute('name') == requestedCountryName) {
					requestedCountry = country;
					break;
				}
			}
		
			new StoreSelector(requestedCountry, $('locationMenu'), $('storeMenu'), $('go'), 'store');
			new StoreSelector(requestedCountry, $('locationFooterMenu'), $('storeFooterMenu'), $('gofooter'), 'store');
		});
	}

	new Ajax.Request('/main/rss/retail/stores.xml', {
		method: 'get',
		onSuccess: initStoreSelector("Germany")
	});
	
	var overlays	=	[];
	var tours	=	$$('.tour');
	if (tours.length>0) overlays.push(new AC.MovieOverlay(tours, {movieheight:400}));
	
    AC.OverlayInit(overlays);

	// slideshow
	var content = $('main-promo').getElementsByClassName('content');
	var view = $('main-promo').getElementsByClassName('slideshow-view')[0];
	var featureViewer = new AC.ViewMaster.Viewer(content, view, 'feature-link', {
		silentTriggers: true,
		animationDuration: 1.2
	});

	slideShow = new AC.ViewMaster.Slideshow(featureViewer, 'slideshow-link', {
	    autoplay: true,
	    delay: 7500});
	slideShow.start();

	Event.observe($('main-promo'), 'mouseover', function() {
		if($('slideshow-nav')) $('slideshow-nav').addClassName('active');
	});
	Event.observe($('main-promo'), 'mouseout', function() {
		if($('slideshow-nav')) $('slideshow-nav').removeClassName('active');
	});


});

AC.ExpandTips = Class.create();
Object.extend(AC.ExpandTips.prototype, {
	initialize: function() {
		$('expand-tips').observe('click', this.expand.bindAsEventListener(this));
	},
	expand: function(evt) {
		Event.stop(evt);
		if($('expand-tips').hasClassName('open')) {
			new Effect.BlindUp($('tips'), {
				scaleFrom: 100,
				scaleTo: 11,
				scaleMode: {originalHeight: 250},
				duration: 0.5,
				restoreAfterFinish: false,
				afterFinishInternal: function() {},
				afterFinish: function() {
					$('expand-tips').update('Weitere Info').toggleClassName('open');
				}
			});
		} else {
			new Effect.BlindDown($('tips'), {
				scaleFrom: 11,
				scaleTo: 100,
				scaleMode: {originalHeight: 250},
				duration: 0.5,
				restoreAfterFinish: false,
				afterFinish: function() {
					$('expand-tips').update('Schliessen').toggleClassName('open');
				}
			});
		}
	}
});

Object.extend(AC.MovieOverlay.prototype, {
	handleBeforePop: function(evt) {
		if (this.controllerPanel && !this.controllerPanel.innerHTML == '') {
			this.beforeClose();
			this.afterClose();
		}
		//slideShow.pause();
	},
	
	afterClose: function() {
		Element.removeClassName(this.overlay, 'isanim');
		Element.removeClassName(this.overlayshadow, 'isanim');

		// reset everything
		this.overlay.style.width = '';
		this.overlayshadow.style.width = '';

		this.overlay.style.height = '';
		this.overlayshadow.style.height = '';

		this.overlay.style.left = '';
		this.overlayshadow.style.left = '';

		this.overlay.style.top = '';
		this.overlayshadow.style.top = '';

		this.overlay.style.display = '';
		this.overlayshadow.style.display = '';
		
		// dispatch afterClose in case anything else needs to be reset
		this.dispatchEvent('afterClose', this);

		if (AC.Detector.isWebKit()) this.fixSafarisScrollBars();
		
		//slideShow.play();
 	}
});
