/*
	functions.media.js
	JQuery / DOM Media Interaction Functions
	Creator: Matt Kircher
*/

function insertMedia($object){
	
	$('#media-spotlight').fadeOut(10, function(){
		$('#media-spotlight').empty().show()
		.css({ background:'url(../images/loadingAnimation.gif) center center no-repeat transparent' })
		.append('<div id="media-object"><p class="title"></p></div>')
		.find('#media-object').prepend($object);
		
		//if a photo...
		if(!$('#media-object object').length){
			
			$('#media-object').css({ opacity:0, left:'-20px' }).show()
			
			$('#media-spotlight p.title')
			.text($('#media-object > img').attr('title'));
			Cufon.replace('#media-spotlight p.title');
			
			$('#media-object').animate({ opacity:1, left:'0px' }, 600, function(){
				$('#media-spotlight').css({ background:'none' });							 
			});
		
		//if a video...
		} else {
			$('#media-spotlight').css({ background:'none' });
			$('#media-object').show();
			$('#media-spotlight p.title')
			.text($('#media-object > object').attr('name'));
			Cufon.replace('#media-spotlight p.title');
		}
	});
}

function makeYouTubeObject(id, url, title, width, height){
	var $video = $('<object id="'+id+'" name="'+title+'" width="'+width+'" height="'+height+'"><param name="bgcolor" value="#2D840F"><param name="movie" value="http://www.youtube.com/v/'+url+'&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'+url+'&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="'+width+'" height="'+height+'"></embed></object>');
	return $video;
}

function makePhotoObject(id, url, title){
	var $photo = $('<img id="'+id+'" src="'+url+'" title="'+title+'" />');
	return $photo;
}

function parseTitle(title, page_language){
	
	var title_array = title.split('|');
	
	if(page_language == "english" || title_array.length == 1){
		return $.trim(title_array[0]);
	} else {
		return $.trim(title_array[1]);
	}	
}

function initYouTubeVideoGallery(videos_array){
	/* 
	videos_array[x]{
		title: string, url: string,
		width: number, height: number }
	*/
		
	$('#video-container').addClass('clearfix').append('<ul></ul>');
	for(var x in videos_array){
		
		var id  = 'video-'+$('#video-container ul li').length;
		if($.trim(videos_array[x].thumbnail == '')){
			var src = $.jYoutube('http://www.youtube.com/watch?v='+videos_array[x].url, 'small');
		} else {
			var src = videos_array[x].thumbnail;
		}
		
		$('#video-container ul').append('<li><a id="'+id+'" href="#" rel="'+videos_array[x].url+'|'+videos_array[x].title+'|'+videos_array[x].width+'|'+videos_array[x].height+'"><img src="'+src+'" alt="'+videos_array[x].title+'" /></a></li>');
	}
	
	$('#video-container a').bind('click', { videos:videos_array }, function(){
		
		var v		= $(this).attr('rel').split('|');
		var i  	= $('#video-container ul li').index($(this).parent());		
		var $video 	= makeYouTubeObject('video-'+i+'-object', v[0], v[1], v[2], v[3]);
		insertMedia($video);
		
		return false;
	});
}

function initFlickrPhotoGallery(page_language){
	
	$('#photo-container').addClass('clearfix');
	
	$('#photo-container ul').find('input[type="hidden"]').remove();
	$('#photo-container ul li a').each(function(){
		
		//parse title for each language (uses the Flickr title with a '|' separator)
		var title = $(this).find('img').attr('alt');
		title = parseTitle(title);
		
		var id  = 'photo-'+$('#photo-container ul li').index($(this));
		
		$(this).attr('id', id);
		$(this).attr('title', title);
		$(this).find('img').attr('alt', title);
		
	}).click(function(index){
		
		var id = $(this).attr('id');
		var src = $(this).attr('href');
		var title = $(this).attr('title');
		
		var $photo = makePhotoObject(id+'-object', src, title);
		insertMedia($photo);
		return false;
	});
	
	$('#photo-container ul li a:eq(0)').trigger('click');
}


