jQuery(function(){

	// code to generate custom media html elements
	// work around a jquery.media shortcoming
	var MediaSandbox = jQuery('<div></div>').appendTo(document.body).hide();
	function generateMediaCode(src, ext) {
		//console.log(ext);
		var dump = jQuery('<div></div>').appendTo(MediaSandbox);
		var isSound = ext == 'mp3' || ext == 'wma';
		var opts = jQuery.fn.media.defaults;
		opts.src = src;
		
		// flash vars
		if (ext == 'mp3' || ext == 'flv') {
			opts.flashvars.type =  (isSound) ? "sound" : "video";
			opts.flashvars.autostart = "true";
		}
		
		opts.width = 400;
		opts.height = isSound ? 20 : 300;
		
		var code = jQuery.fn.media[ext](dump.get(0), opts).html();
		MediaSandbox.html('');
		//alert(code);
		return code;
	}
	
	function embedMediaCode(el, src, ext) {
		//console.log(ext);
		var isSound = ext == 'mp3' || ext == 'wma';
		var opts = jQuery.fn.media.defaults;
		opts.src = src;
		// flash vars
		if (ext == 'mp3' || ext == 'flv') {
			opts.flashvars.type =  (isSound) ? "sound" : "video";
			opts.flashvars.autostart = "true";
		}
		opts.width = 400;
		opts.height = isSound ? 20 : 300;
		jQuery.fn.media[ext](el, opts);
	}
	
	// basic tab functionality
	var tabs = jQuery('.tab');
	var tabLinks = jQuery('#tabList a');
	var defaultTab = 'featureTab';
	
	function showTab(id) {
		tabs.hide();
		jQuery('#' + id).show();
		tabLinks.removeClass('active');
		jQuery("a[href='#" + id + "']").addClass('active');
	}
	
	tabLinks.click(function(){
		var tgt = jQuery(this);
		var id = tgt.attr('href').substr(1);
		showTab(id);
		return false;
	});
	
	showTab(defaultTab);

	// image links
	jQuery('a.photo').click(function(){
		var tgt = jQuery(this);
		jQuery.facebox({ image: tgt.attr('href') });
		return false;
	});
	
	// audio links
	jQuery('a.audio').click(function() {
		var tgt = jQuery(this);
		var flashInfo = swfobject.getFlashPlayerVersion();
		if (flashInfo.major >= 9) {
			//jQuery.facebox(generateMediaCode(tgt.attr('href'), tgt.attr('rel')));
			jQuery.facebox('<div id="embedContainer"></div>');
			embedMediaCode(jQuery('#embedContainer').get(0), tgt.attr('href'), tgt.attr('rel'));
		}
		else {
			alert("You must upgrade your version of Flash to listen to this audio file (installed version: " + flashInfo.major + ')');
		}
		return false;
	});

	// video links 
	jQuery('a.video').click(function(){
		var params = eval('('+decodeURIComponent(jQuery(this).attr('rel'))+')');
		jQuery.facebox(params.Embed);
		return false;
	});
	
	// wmode fix for featured videos
	/*jQuery('object').append(jQuery('<param name="wmode" value="transparent"></param>'));
	jQuery('embed').attr('wmode', 'transparent');*/
});
