var application = {
	initNavigation: function(options) {
		var navigationItems = $$('#headerNavigation li a');
		
		navigationItems.each(function(item){
			var overlay = Builder.node('span', { className: 'overlay' }),
				overEffect, outEffect;
			
			item.insert({ bottom: overlay });
			
			$(overlay).setOpacity(0);
			
			item.observe('mouseover', function(event){
				overEffect = new Effect.Opacity(overlay, { to: 1, from: 0, duration: 0.5, beforeStart: function(){ if(outEffect) outEffect.cancel(); } });
			});
			
			item.observe('mouseout', function(event){
				outEffect = new Effect.Opacity(overlay, { to: 0, from: 1, duration: 0.5, beforeStart: function(){ if(overEffect) overEffect.cancel(); } });
			});
		});
	},
	
	initSlideshow: function(options) {
		var slideshows = $$('.slideshow');
		
		slideshows.each(function(slideshow){
			var image = slideshow.down('.image img'), thumbs = slideshow.select('.thumb a');
			
			thumbs.each(function(thumb){
				thumb.observe('click', function(event){
					event.stop();
					new Effect.Opacity(image, { to: 0, from: 1, afterFinish: function() { 
							image.writeAttribute('src', thumb.readAttribute('href'));
							new Effect.Opacity(image, { to: 1, from: 0 });
						} 
					});
					
				});
			});
		});
	},
	
	replaceSubmitButton: function(selector, text) {
	  var submitButton = $(selector);
	  	
	  if(submitButton){
  	  submitButton.observe('click', function(event){
  	    var span = submitButton.down('span');
  	    span.update(text);
  	    submitButton.addClassName('loading');
  	  });
  	}
	}
}

document.observe('dom:loaded', function() {
	application.initNavigation();
	application.initSlideshow();
	application.replaceSubmitButton('btnSubmit-file_upload', "Your files are uploading. Please be patient.");
});