// BlueSoap (c) 2011

window.addEvent('domready',function() {
		
	// To avoid @mail snopping, let do a quick change from [at] > @
//	document.id(document.body).set('html', document.id(document.body).get('html').replace(/\[at\]/gi, "@"));
//	!window.Cufon || Cufon.refresh();

	/* Fall backs for HTML 5 attr such as placeholder & required */
	function supportsPlaceholder() {
		var i = document.createElement('input');
		return 'placeholder' in i;
	}
	
	var textFields = $$('textarea');
	var inputFields = $$('input').combine(textFields);
	
	inputFields.each(function(el) {
		if (!supportsPlaceholder()) {
			  var placeholderText = el.get('placeholder');
			  if (placeholderText) {
				  var textOverlay = new OverText(el, {
					textOverride: placeholderText
				  });
			  }
		}
	});

	new Fx.Accordion(document.id('faq_section'), '#faq_section dt', '#faq_section dd', {
		onComplete: function(){
			
		}
	});
	
	gallery = $$('.gallery');
	
	gallery.each(function(canvas) {
						  
		var loading_spinner = new Element("div", { 'class': "loading_spinner" }).inject(canvas);
		
		//settings
		var duration = 50, count3 = 0, div=12, div2=24, pagi=6,index=0,m=0,prevKey=0,nextKey=0;
	
		loading = function() {
			loader = (function() {
				++count3;
				loading_spinner.setStyle('background-position', -(count3*div2) + 'px top');
			}).periodical(duration);
		};
		
		var header = canvas.getElement(".header"),
			description = canvas.getElement(".description"), 
			viewport = canvas.getElement(".viewport"), 
			navigation = canvas.getElement(".thumbnails ul"),
			thumbnails = canvas.getElements(".thumbnails a"),
			max_thumbs = thumbnails.length - 1;
			
			viewport.adopt(
				prevButton = new Element("div", { "class": "button prev", "rel": max_thumbs, "title": "Previous Image" }).addEvent("click",  PrevImg),
				nextButton = new Element("div", { "class": "button next", "rel": 1, "title": "Next Image"}).addEvent("click",  NextImg)
			);

		if ( thumbnails.length > pagi ) {
			
			var thumb_max = Math.ceil(thumbnails.length/pagi);
			
			slider = function(counter) {
				
				if ( counter == (thumb_max-1) ) index = (thumb_max-1);
				else if ( counter == thumb_max ) index = 0;
				else if ( counter == -1 ) index = (thumb_max-1);
				else index = counter;
							
				m = !index ? 0 : -(index * 390);
					
				var slideFX = new Fx.Morph(navigation, {duration: 500, transition: Fx.Transitions.linear}); 
				slideFX.start({ 'left': m });
			}
						
			var pagination = new Element("div", {
				'class': "pagination"
			}).inject(canvas);
			
			var prev = new Element("a", {
				'href': "javascript:void(0);",
				'class': "pagination_prev",
				'html': "<span>&laquo;</span> Previous",
				'events': {
					'click': function() {
						slider(--index);
					}
				}
			}).inject(pagination);
			
			var next = new Element("a", {
				'href': "javascript:void(0);",
				'class': "pagination_next",
				'html': "Next <span>&raquo;</span>",
				'events': {
					'click': function() {
						slider(++index);
					}
				}
			}).inject(pagination);
		}
			
		thumbnails.each(function(thumb, i) {
								 
			thumbnails[0].getParent().addClass("active");
									
			thumbnails[i].addEvent('click', function() {
													 
				loading();
				loading_spinner.setStyle('display', 'block');	

				thumbnails.getParent().removeClass("active");
				thumbnails[i].getParent().addClass("active");
				
				prevButton.set("rel", (( (i-1) == -1 ) ? max_thumbs : i-1 ));
				nextButton.set("rel", (( max_thumbs == i ) ? 0 : i+1 ));
													 					 								
				viewport.setStyle('visibility', 'hidden');
				var src = thumb.get('href');
				viewport.getElement('img').set('src', src);

				var data = thumb.get('title').split(":");

				if ( data[2] != null ) data[1] = data[2] + "<br />" + data[1];
				
				header.set('html', data[0]);
				description.set('html', data[1]);
				
				(function() {
						  
					$clear(loader);
					loading_spinner.setStyle('display', 'none');
 					var imgFocus = viewport.set('tween', {duration: 500});
					viewport.setStyles({'display': 'block', 'opacity': 0});
					imgFocus.tween('opacity', 1);
					
				}).delay(500);
				
				return false;

			});
			
		});
		
		function NextImg() {
			thumbnails[nextButton.get("rel")].fireEvent("click");		
		}
		
		function PrevImg() {
			thumbnails[prevButton.get("rel")].fireEvent("click");
		}
		
	});
	
//	$$('img').reflect({height:1/3, opacity: 0.4});
	
	var slideshow = $$('.slideshow-carousel');
	
	slideshow.each(function(show, k) {
							
		var f1 = show.getElements('.floater')[0], f2 = show.getElements('.floater')[1], transition = 30000, imgs = show.getElements('img');
		
		imgs.each(function(img) {
			new Element('div', { 'class': 'img-frame' }).inject(img.getParent());
		});
		
		imgs.reflect({height:1/4, opacity: 0.4});
		
		function again() {

			var f1_top = f1.getStyle('right').toInt();
			var f2_top = f2.getStyle('right').toInt();
			
			if(parseFloat(f1_top) > parseFloat(f2_top)) {
				f1.setStyle('right', '-820px');
				f2.setStyle('right', '-15px');
			} else {
				f1.setStyle('right', '-15px');
				f2.setStyle('right', '-820px');
			}
			
			go();
			
		}
				
		var go = function() {
			
			var f1_top = f1.getStyle('right').toInt();
		  	var f2_top = f2.getStyle('right').toInt();
						
			var fx = {
				f1: new Fx.Morph(f1, {duration: transition, transition: Fx.Transitions.linear}),
				f2: new Fx.Morph(f2, {duration: transition, transition: Fx.Transitions.linear, onComplete: again})
			};
			
			fx.f1.start({'right': f1_top + 805});
			fx.f2.start({'right': f2_top + 805});
			
		};
		
		go();
	
	});	
	
	var vidContainer = document.id("video_container");
	
	if ( vidContainer != null )
	{
		
		var vidLinks = $$("a[rel='videos']");
		
		
		vidLinks.each(function(video, i) {
							   
			video.addEvent("click", function(el) {
//				el.stop();
				
				vidContainer.empty();
				
				var loading_spinner = new Element("div", { 'class': "loading_spinner" }).inject(vidContainer);
		
				//settings
				var duration = 50, count3 = 0, div=12, div2=24, pagi=6,index=0,m=0,prevKey=0,nextKey=0;
			
				loading = function() {
					loader = (function() {
						++count3;
						loading_spinner.setStyle('background-position', -(count3*div2) + 'px top');
					}).periodical(duration);
				};	
				
				loading();
				loading_spinner.setStyle('display', 'block');	
				
				new Element("h2", { 'class': "sub-heading", text: video.get("title") }).inject(vidContainer);
				
				new IFrame({
					src: video.get("href"),
					styles: {
						width: 701,
						height: 557
					},
					events: {
						load: function() {
							$clear(loader); 
							loading_spinner.setStyle('display', 'none');	
							var frame = this.set('tween', {duration: 500});
							this.setStyles({'display': 'block', 'opacity': 0});
							frame.tween('opacity', 1);
						}
					},
					border: 0,
					frameborder: 0,
					scrolling: 0
				}).inject(vidContainer);
				
				return false;
				
			});
		});
		
		vidLinks[0].fireEvent("click");
		
	}
	
/*	
	new IFrame({
		styles: {
			width: '100%',
			height: '100%'
		},
		events: {
			load: function() {
				this.unfade();
				this.fireEvent('complete');
			}.bind(this)
		},
		border: 0
	}).inject(this.messageBox);
	*/
  
});

if ( window.Cufon ) {
	// Lets do some font replacement!
	Cufon.replace('.nav > li > a, .cufon', { hover:true, hoverables: { a: true, span: true, strong: true }} ); 
	Cufon.replace('h1:not(.cufon-off)', { 
		textShadow: '0px -1px 0px #9f9f9f',
	});
	Cufon.now();
}

if ( document.id("player") != null ) {
	
	function secondsFormatted(seconds) {
		seconds = Math.round(seconds);
		var minutes = Math.floor(seconds / 60);
		minutes = (minutes >= 10) ? minutes : "0" + minutes;
		seconds = Math.floor(seconds % 60);
		seconds = (seconds >= 10) ? seconds : "0" + seconds;
		return minutes + ":" + seconds;
	}

	var player = new MediaElementPlayer('#player',{
		audioWidth: 322,
		audioHeight: 69/*,
		success: function (mediaElement, domObject) { 
		
			window.addEvent('domready', function() {
												 
				var msp = document.id("ms_player_ie"),
				mp_timestamp = msp.getElement(".mp_timestamp span"),
				mp_timeload = msp.getElement(".mp_timeload span");
				
				mediaElement.addEventListener('timeupdate', function(e) {
											 
					mp_timestamp.set("text", secondsFormatted(mediaElement.currentTime));
					mp_timeload.set("text", secondsFormatted(mediaElement.duration));

				}, false);
				
			});

		}*/
	});
	
	window.addEvent('domready', function() {
			/*							
			
			var msp = document.id("ms_player_ie"),
			mp_play = msp.getElement(".mp_play"), 
			mp_mute = msp.getElement(".mp_mute"),
			mp_timestamp = msp.getElement(".mp_timestamp span"),
			mp_timeload = msp.getElement(".mp_timeload span");
			
			mp_play.addEvent("click", function(b) {
											   					
				if ( !this.hasClass("mp_pause") )
				{
					player.play();	
					this.addClass("mp_pause");
				}
				else
				{
					player.pause();	
					this.removeClass("mp_pause");
				}
				
				
			});
			
			mp_mute.addEvent("click", function(b) {
					
				if ( !this.hasClass("mp_muted") )
				{
					player.setMuted(true);
					this.addClass("mp_muted");
				}
				else
				{
					player.setMuted(false);
					this.removeClass("mp_muted");
				}
				
				
			});
			
			mp_timestamp.set("text", secondsFormatted(0));
			mp_timeload.set("text", secondsFormatted(0));
				  
		*/			

		
	});
}
		
