window.addEvents({
	domready: function(){

		// Print
		if($$(".print").length) {
			$$('.print').addEvent('click', function(event){
				event.preventDefault();
				window.print();
			});
		}

		// Fade Gallery
		function fadeHomeGallery(el){
			var gallery = new fadeGallery($$(el), {
				speed: 1000,
				paging: false,
				pagingEvent: "mouseenter",
				autoplay: true,
				duration: 5000,
				onPlay: function() {
					this.fireEvent("start");
				}
			});
		};

		// Galleries
		if($$(".gallery_banner").length) {
			$$(".gallery_banner").each(function(el, index) {
			if(el.getElements("img").length > 1)
				fadeHomeGallery(el);
			});
		}
		if($$(".gallery_collection").length) {
			$$(".gallery_collection").each(function(el, index) {
			if(el.getElements("img").length > 1)
				fadeHomeGallery(el);
			});
		}

		// Form validation
		$$('.checker_toggle').addEvent('click', function(event){
			var others = $$('.checker_wrapper'), 
				target = this.getParents('.checker_wrapper');

			others.removeClass('active');
			target.addClass('active');
		});

		// Load overlay on click (for touchscreen devices)
		if($$(".floorplan .room").length) {

			$$(".room").each(function(el, index) {
				if(!el.hasClass("inactive")) {
					var element = el, 
						toggle = element.getChildren(".marker")[0], 
						overlay = element.getChildren(".floorplan_overlay")[0];

					toggle.addEvent('touchstart', function(){
						overlay.fade('in');
					});
					$(document.body).addEvent('touchstart', function(e){
						if(element && !e.target || !$(e.target).getParents().contains(element)) { 
							overlay.fade('out');
						}
					});
					overlay.addEvent('touchstart', function(event){
						event.stopPropagation();
						overlay.fade('in');
					});
				}
			});
		}

		// View switch
		$$('.switch_toggle').addEvent('click', function(event){
			event.preventDefault();
			var toggle = this;
			
			if(!toggle.hasClass('active')) {
				var wrapper = $$('#hero_floorplan'), 
					target = $$('.switch_wrapper')[0], 
					myEffects = new Fx.Morph(target, {duration: 500, transition: Fx.Transitions.Sine.easeOut});
	
				myEffects.start({
				    'opacity': 0
				}).chain(function() {
					if(toggle.hasClass('toolbar_grid')) {
						$$('.switch_wrapper .records').setStyle('display', 'none');
						wrapper.removeClass('list').addClass('grid');
						var cookie = Cookie.write('display_mode', 'grid', {domain:location.host, 'path':'/'});
					} else {
						$$('.switch_wrapper .records').setStyle('display', 'block');
						wrapper.removeClass('grid').addClass('list');
						var cookie = Cookie.write('display_mode', 'list', {domain:location.host, 'path':'/'});
					}
					$$('.switch_toggle').removeClass('active');
					toggle.addClass('active');
	
					this.start({
						'opacity': 1
					});
				});
			}
		});
	}
});
window.addEvents({
	load: function(){
		new simpleOpenClose();
		new EngineLoad();
		new Rotator();
		new CollectionScroller();
		new ArtistRooms();
		new HomeBanner();
		new equalizer();
		new POM({
			baseUrl: absoluteUrl
		});

		// SqueezeBox
		SqueezeBox.initialize({
			size: {x: 350, y: 350}
		});
		SqueezeBox.assign($$('a[rel=plainLightbox]'));

		// Init AddThis and create the widget only after the DOM has loaded
		if ($$(".addthis_toolbox").length) {
			addthis.init();
			var addthis_config = {
				pubid: "nationalgalleriesofscotland", 
				data_track_clickback: true, 
				ui_use_css : false, 
				services_expanded: 'email, twitter, facebook, favorites, delicious, google, live, stumbleupon', 
				services_compact: 'email, twitter, facebook, favorites, delicious, google, live, stumbleupon', 
				data_track_clickback: true, 
				ui_508_compliant: true, 
				data_use_cookies: false, 
				data_use_flash: false, 
				addthis_disable_flash: false, 
				ui_click: true
			};
		}
	}
});
