/**
 * Bootstrap.js - Bootstrap for all Javascript functionality
 * 
 * @author  Webstores <info at webstores dot nl>
 *           Copyright (c) Webstores internet totaalbureau <http://www.webstores.nl/>
 */

var ytfr, interval;

WS.Event.addEvent(window, 'load', function() {
	
	// Service navigation toggler
	var serviceNav = new Toggler();
	serviceNav.initialize();

	// Visual carousel
	if($('visual-carousel')) {
		var visualCarousel = new Carousel($('visual-carousel'), $$('.visual-carousel-item'), $$('a.visual-carousel-control'), {
			auto: true,
			frequency: 5
		});
	}

	// Flash visual object
	if($('flash-visual')) {
	   swfobject.embedSWF("/swf/promo_most.swf", "flash-visual", "970", "300", "9.0.0", null, null, {wmode: 'transparent'});
	}

	if ( $('ytplayer' ) ) {
		var play = $('toggle-play');
		var video_id = !play || !play.rel ? '' : play.rel;
		//var video_id = !play || !play.rel ? 'V_x56-wSouU' : play.rel;
		
		// YouTube player
		ytfr = new YTFeedReader('ytplayer', {
			videoId: video_id,
			autoplay: false,
			width: 208,
			height: 158,
			playStart: function(p) {
				interval = setInterval(function() {
					$('elapsed-bar').style.width = Math.round((100 * p.getCurrentTime()) / p.getDuration()) + '%';
					WS.setText('current-time', WS.Util.secondsToMinutes(Math.round(p.getCurrentTime())));
				}, 1000);
			},
			stateChangeCallback: function(s) {
				if(s === 0) {
					WS.addClass($('player-wrap'), 'paused');
					clearInterval(interval);
				}
				if(s === 1) {
					WS.removeClass($('player-wrap'), 'paused');
				}
				else {
					WS.addClass($('player-wrap'), 'paused')
				}
			},
			youTubePlayerReadyCallback: function() {
				if ( video_id == '' ) {
					swfobject.setVisibility('ytplayer', false );
					WS.addClass('player-wrap', 'hidden' );
				}
			}
		});

		WS.Event.addEvent($('toggle-play'), 'click', function(e) {
			WS.Event.stopEvent(e);
			ytfr.togglePlay();
		});
	}
	
	// Timeline carousel
	if($('timeline')) {
		var timelineCarousel = new Carousel($('timeline-carousel'), $$('.timeline-item'), $$('a.milestone, a.timeline-control'), {
			jumperClassName: 'milestone',
			controlClassName: 'timeline-control',
			selectedClassName: 'milestone-selected'
		});

		var timelineSlider = new Control.Slider('timeline-scrollbar-handle', 'timeline-scrollbar-track', {
			onSlide: function(v) { scrollHorizontal(v, $('timeline-scroller'), timelineSlider); },
			onChange: function(v) { scrollHorizontal(v, $('timeline-scroller'), timelineSlider); }
		});
	}
	
	if(WS.browser.IE6) {
		WS.Util.fixPngBackground('twitter-updates', '/img/twitter-bubble.png');
		WS.Util.fixPngBackground('twitter-link', '/img/twitter-link.png');
	}
});


/**
 * Scrolls the content of an element
 */
function scrollHorizontal(value, element, slider) {
	element.scrollLeft = Math.round(value / slider.maximum * (element.scrollWidth - element.offsetWidth));
}
