/**
 * show js
 * 
 * @author AK
 * 
 * @version 1.0.0
 *  
 */

$(function(){
	
	// MediaPlayer
	MediaPlayer.debug = true;
	MediaPlayer.$showOptions = $('#showOptions');
	MediaPlayer.init();
	
	// Invitation
	$('#form-uitnodiging-verzenderNaam').focus();
	$('#form-uitnodiging .field .focus').focus();
});


/**
 * MediaPlayer object
 */

var MediaPlayer = {
	debug: false,
	clip: {},
	clipContainer: {},
	playerActive: false,
	playerType: '',
	flashConfig_video: { flashver: '8.0.0', width: 560, height: 354, swf: 'videoplayer.swf', bgcolor: '#ffffff'},
	flashConfig_audio: { flashver: '7.0.0', width: 560,	height: 40, swf: 'audioplayer.swf', bgcolor: '#ffffff' },

	init: function(){
		
		// requires swfobject & flash version		
		if (!(typeof swfobject != 'undefined' &&  (playerVersion = swfobject.getFlashPlayerVersion()) && (playerVersion.major > 6 || (playerVersion.major == 6 && playerVersion.minor == 0 && playerVersion.release > 64)))) {
			return false;
		}		
		
		// create AV buttons, click events AV clips		
		var buttonscreated = false;
		if ($('#audioFragmenten').length) {
			$('#audioFragmenten a').click(function(){
				MediaPlayer.clip = $(this);
				MediaPlayer.playerType = 'audio';
				if (MediaPlayer.playClip()) {
					$('body').addClass('show-mplayer-audio');
					return false;
				}
			});
			buttonscreated = MediaPlayer.createButton($('#audioFragmenten'), 'audio', 'audio');
		}
		if ($('#videoFragmenten').length) {
			$('#videoFragmenten a').click(function(){
				MediaPlayer.clip = $(this);
				MediaPlayer.playerType = 'video';
				if (MediaPlayer.playClip()) {
					$('body').addClass('show-mplayer-video');
					return false;
				}
			});
			buttonscreated = MediaPlayer.createButton($('#videoFragmenten'), 'video', 'video');
		}

		if (buttonscreated) {
			$('#showMultimedia').remove();
		}
	},
	
	
	createButton: function($clipContainer, type, label){
		if (type == 'audio')
			var href = '#mediaPlayerWrap';
		else
			var href = '#mediaPlayerWrap';
		
		var mediaPlayer = this;
		
		$('<a/>')
			.text(label)
			.attr('href', href).attr('class', 'readOn')
			.data('type', type)
			.click(function(){
				
				if (MediaPlayer.debug) $.log('create new player: '+type);
				var $container = $('#main div.item');
				
				if (type == 'video') {			
					$container.children().not('.showHeader').hide();
				}
				else if (type == 'audio') {
					$container.children('#showDescWrap').hide();
				}
				
				var $mediaPlayerWrap = $('<div id="mediaPlayerWrap"></div>').insertBefore('#showDescWrap');
				$('<a class="readOn" href="#">terug naar omschrijving</a>')
					.click(function(){
						//mediaPlayer.clipContainer[type] = mediaPlayer.clipContainer[type].clone(true);
						if ($('#videoFragmenten').length) {
							mediaPlayer.clipContainer['video'] = $('#videoFragmenten').clone(true);
						}
						if ($('#audioFragmenten').length) {
							mediaPlayer.clipContainer['audio'] = $('#audioFragmenten').clone(true);
						}
						$('#flashMediaPlayer, #mediaPlayerWrap').remove();
						$('#main div.item').children().show();
						$('body').removeClass('show-mplayer-video show-mplayer-audio');
						return false;
					})
					.appendTo('<p/>').parent().appendTo($mediaPlayerWrap);
				;
									
				$mediaPlayerWrap.append(MediaPlayer.clipContainer[type]);
								
				var $a = $('#'+type+'Fragmenten ul li:first a').click();
				
			})
			.appendTo($('<li/>')).parent().attr('id', '#btn-'+type).appendTo(this.$showOptions)
		;
		
		this.clipContainer[type] = $clipContainer.clone(true);
		$clipContainer.remove();
		return true
	},
	
	
	drawMoreMultimediaOptions: function(type){
		var $videoClips = {}, $audioClips = {}, numClips = 0;
		
		if (typeof this.clipContainer['video'] != 'undefined') {
			$videoClips = this.clipContainer['video'].find('li');
			numClips += $videoClips.length;
		}
		if (typeof this.clipContainer['audio'] != 'undefined') {
			$audioClips = this.clipContainer['audio'].find('li');
			numClips += $audioClips.length;
		}
		
		$('#mediaPlayerWrap .mediafragmenten li').removeClass('active')
		this.clip.parent().addClass('active');		

		if (numClips > 1) {
			
			if (!$('#moreMultimediaHeader').length) {
				$('<h2 id="moreMultimediaHeader">meer multimedia:</h2>').insertBefore(this.clipContainer[type]);
			}
			
			if (!(this.clipContainer[type].find('li').length > 1)) {
				this.clipContainer[type].hide();
			}
			
			if (type == 'video' && $audioClips.length > 0) {
				(this.clipContainer['audio']).appendTo('#mediaPlayerWrap').show();
			}
			else if (type == 'audio' && $videoClips.length > 0) {
				(this.clipContainer['video']).appendTo('#mediaPlayerWrap').show();
			}
		}
	},
	
	
	playClip: function(){
		// remove
		$('#flashMediaPlayer').remove();
	
		if (this.playerType == 'video') {			
			var config = this.flashConfig_video;
			 $('#main div.item img').hide();
		}
		else if (this.playerType == 'audio') {
			var config = this.flashConfig_audio;
			$('#main div.item img').show();
		}
		$('#mediaPlayerWrap').find('img').remove().end().prepend('<div id="flashMediaPlayer"><p><a href="http://www.adobe.com/go/getflash/" rel="external">Adobe Flash Player versie 8 of hoger is benodigd</a></p></div>');
		
		this.drawMoreMultimediaOptions(this.playerType);
		
		// embed swf
		var file = this.clip.attr('href');
		var title = this.clip.text();
		
		var flashvars = {playMe: false, myFile: file, title: title};
		var params = {wmode: "opaque", bgcolor: config.bgcolor};
		var attributes = {};
		swfobject.embedSWF("/flash/"+config.swf, "flashMediaPlayer", config.width, config.height, config.flashver, "/flash/expressInstall.swf", flashvars, params, attributes);
		if ($('#flashMediaPlayer').length)
			return true;
		return false;
	}	
	
}
 