window.addEvent('domready', function() {
	
	
	//main menu hover effect
	if($$('ul.main-menu')) {
		
		$$('ul.main-menu li').each(function(li){
			
			li.addEvent('mouseenter', function(){
				
				this.addClass('hover');
			});
			
			li.addEvent('mouseleave', function(){
				
				this.removeClass('hover');
			});
			
		});
	}
	
	
	//add open music player event
	if($('open-music-player')) {
		
		var linkElement = $('open-music-player');
		
		if(linkElement.get('rel')) {
		
			$('open-music-player').addEvent('click', function(event){
				
				newwindow=window.open(this.get('rel'),'name','height=460,width=830,top=100,left=700');
				if (window.focus) {newwindow.focus()}
				return false;
			});
		}
	}
	
	
	
	//open discograpy audio
	if($$('div.album-page').length > 0) {
		
		$$('.disc-wrapper').getElements('a[id^=audio-toggler-]').each(function(toggler){
			
			var id = toggler.get('id').toString().replace('audio-toggler-', '');
			var audioWrapperId = 'audio-' + id;
			var audioWrapperElement = $(audioWrapperId);
			
			if(audioWrapperElement) {
			
				toggler.addEvent('click', function(event){
										
					audioWrapperElement.toggle();
					event.stop();
				});
			}
			
		});
	}
	
	
	//input focus
	['.newsletter-signup-wrapper input.text, .comments-wrapper input.text, .comments-wrapper textarea'].each(function(inputId){
	
		if($$(inputId)) {
			
			$$(inputId).addEvent('focus', function(){
			
				var defaultText = this.get('title');
				var inputValue = this.get('value');
				
				if(defaultText == inputValue) {
				
					this.set('value', '');
				}
			});
			
			$$(inputId).addEvent('blur', function(){
				
				var defaultText = this.get('title');
				var inputValue = this.get('value');
				
				if(inputValue == '') {
				
					this.set('value', defaultText);
				}
			});	
		}
	});
	
	
	
	// open / close news comments with slide effect
	$$('.comments-wrapper').getElements('div[id^=comment-toggler-]').each(function(toggler){
		
		var id = toggler.get('id').toString().replace('comment-toggler-', '');
		var commentsWrapperId = 'comments-' + id;
		var commentsWrapperElement = $(commentsWrapperId);
		
		var scrollEffect = new Fx.Scroll(window); 
		
		var slideEffect = new Fx.Slide(commentsWrapperId, {
	    	duration: 900,
		    transition: Fx.Transitions.Pow.easeOut,
		    onComplete: function(){ scrollEffect.toElement(this.element); }
		});
		
		if(commentsWrapperElement.hasClass('open')) {
			
			var commentFocus = $$('#' + commentsWrapperId + ' ul li[class=focus]');
			
			if(commentFocus.length < 1) {
				
				var commetForm = $$('#' + commentsWrapperId + ' ul li[class=form]');
				var commentFocus = commetForm.getPrevious();
			}
			
			if(commentFocus.length < 1) {
				var commentFocus = $$('#' + commentsWrapperId + ' ul li[class=form]');
			}
			
			if(commentFocus[0]) {
			
				scrollEffect.toElement(commentFocus[0]);
			}
			
			$$('#' + commentsWrapperId + ' a.close').addEvent('click', function(){
					
				slideEffect.toggle();
			});
		}
		else {
			
			slideEffect.hide();
		}
		
		toggler.addEvent('mouseenter', function(event){
			
			this.addClass('button-hover');
			event.stop();
		});
		
		toggler.addEvent('mouseleave', function(event){
			
			this.removeClass('button-hover');
			event.stop();
		});
		
		
		toggler.addEvent('click', function(slideEvent){
						
			slideEffect.toggle();
			slideEvent.stop();
			
			if(slideEffect.open == false) {
				
				$$('#' + commentsWrapperId + ' a.close').addEvent('click', function(closeEvent){
					
					slideEffect.toggle();
					closeEvent.stop();
				});
			}
		});
	});
	
	
	
	// open / close events with slide effect
	$$('.event-description-wrapper').getElements('a[id^=event-description-toggler-]').each(function(toggler){
		
		var id = toggler.get('id').toString().replace('event-description-toggler-', '');
		var eventWrapperId = 'event-description-' + id;
		
		if($(eventWrapperId)) {
		
			var eventWrapperElement = $(eventWrapperId);
			
			var scrollEffect = new Fx.Scroll(window); 
			
			var slideEffect = new Fx.Slide(eventWrapperId, {
		    	duration: 900,
			    transition: Fx.Transitions.Pow.easeOut,
			    onComplete: function(){ scrollEffect.toElement(this.element); }
			});
			
			if(eventWrapperElement.hasClass('open')) {
				
				scrollEffect.toElement(eventWrapperElement);
			}
			else {
				
				slideEffect.hide();
			}
			
			toggler.addEvent('click', function(slideEvent){
							
				slideEffect.toggle();
				slideEvent.stop();
				
			});
		}
	});
	
	
	
	// open / close discorapies with slide effect
	$$('.disc-wrapper').getElements('a[id^=disc-info-toggler-]').each(function(toggler){
		
		if(toggler.length > 0){
			
			var id = toggler.get('id').toString().replace('disc-info-toggler-', '');
			var eventWrapperId = 'disc-info-' + id;
			var eventWrapperElement = $(eventWrapperId);
			
			var scrollEffect = new Fx.Scroll(window); 
			
			var slideEffect = new Fx.Slide(eventWrapperId, {
		    	duration: 900,
			    transition: Fx.Transitions.Pow.easeOut,
			    onComplete: function(){ scrollEffect.toElement(this.element); }
			});
				
			slideEffect.hide();
			
			toggler.addEvent('click', function(slideEvent){
							
				slideEffect.toggle();
				
				var linkText = this.get('rel').split(':');
				
				if( ! slideEffect.open) {
				
					this.addClass('open');
					this.set('title', linkText[1]);
					this.set('html', linkText[1]);
					
					$$('#disc-item-' + id + ' div.description').setStyles({'overflow-y': 'visible', 'height': 'auto'});
				}
				else {
					
					this.removeClass('open');
					this.set('title', linkText[1]);
					this.set('html', linkText[0]);
					
					$$('#disc-item-' + id + ' div.description').setStyles({'overflow-y': 'hidden', 'height': ''});
				}
				
				slideEvent.stop();
			});
		}
	});
	
	
	//Hover effect for gallery images/videos
	if($$('div.gallery-year-collection-wrapper')) {
		
		$$('div.gallery-year-collection-wrapper div.image-wrapper').each(function(imageWrapper){
			
			imageWrapper.addEvent('mouseenter', function(event){
				
				var hoverElement = this.getElement('span[class*=-hover]');
				
				if(hoverElement) {
				
					hoverElement.setStyle('display', 'block');
				}
			});
			
			imageWrapper.addEvent('mouseleave', function(event){
				
				var hoverElement = this.getElement('span[class*=-hover]');
				
				if(hoverElement) {
				
					hoverElement.setStyle('display', 'none');
				}
			});
		});
	}
	
	
	//Hover effect for gallery images/videos feed thumbs
	if($$('div.media-feed-wrapper')) {
		
		$$('div.media-feed-wrapper ul li a').each(function(imageWrapper){
			
			imageWrapper.addEvent('mouseenter', function(event){
				
				var hoverElement = this.getElement('span[class*=-hover]');
				
				if(hoverElement) {
				
					hoverElement.setStyle('display', 'block');
				}
			});
			
			imageWrapper.addEvent('mouseleave', function(event){
				
				var hoverElement = this.getElement('span[class*=-hover]');
				
				if(hoverElement) {
				
					hoverElement.setStyle('display', 'none');
				}
			});
		});
	}
	
	
	
	//hover effect disc wrapper read-more wrappers
	if($$('div.disc-collection-wrapper')) {
		
		$$('div.disc-collection-wrapper div.read-more-link-wrapper').each(function(wrapper){
			
			wrapper.addEvent('mouseenter', function(event){
				
				this.addClass('link-wrapper-hover');
				
				event.stop();
				
			});
			
			wrapper.addEvent('mouseleave', function(event){
				
				this.removeClass('link-wrapper-hover');
				
				event.stop();
				
			});
			
		});	
	}
	
	
	
	//page top banner fader
	if($('page-top-media-wrapper')) {
		
		//setings
		var showDuration = 3000;
		var container = $('page-top-media-wrapper');
		var imageWrappers = container.getElements('div[class=page-top-media-inner-wrapper]');
		var currentIndex = 0;
		var interval;
		
		if(imageWrappers.length > 1) {
		
			//set start opacity
			imageWrappers.each(function(img, i){ 
				
				if(i > 0) {
					img.set('opacity',0);
				}
			});
			
			//fade action function
			var show = function() {
				imageWrappers[currentIndex].fade('out');
				imageWrappers[currentIndex = currentIndex < imageWrappers.length - 1 ? currentIndex+1 : 0].fade('in');
			};
			
			// add trigger event
			window.addEvent('load',function(){
				interval = show.periodical(showDuration);
			});
		}
	};
	
	
});

