// playlist
function playlistNav(id, page) {
	ajaxEngine.sendRequest('playlist', 'userId='+id, 'page='+page);
}

ajaxEngine.registerRequest('playlist', '/'+language+'/ajax/playlist.php');

// @package TinyGal @author Holger Jensen
var tinyGal = {
	baseUrl: staticUrl + '/cms/i/celeb/user/',
	open: function(image, id, width, height) {
		$.blockUI({ message: '<a href="javascript:tinyGal.close();">'
			+'<img src="'+tinyGal.baseUrl+id+'/'+image+'" alt="Image" /></a><br />'
			+'<a href="javascript:tinyGal.close();">'+Lang.get('btn_close')+'</a>',
			css: { cursor: 'default', height: (height+17), width: width, left: '50%', top: '50%', marginLeft: -width/2, marginTop: -height/2-17 }
		});
	},
	close: function() {
		$.unblockUI();
	}
}
// @package MediaPlayer @author Holger Jensen
var mediaPlayer = {
	open: function(userId, flvplayer, mp3player, track, showMusic) {
		$.blockUI({ message:'<div class="videoclose"><a href="javascript:mediaPlayer.close();">'+Lang.get('btn_close')+' <img src="'+staticUrl+'/i/button/close.gif" alt="" /></a></div>'
			+'<div id="videoViewer">'
			+'<img src="'+staticUrl+'/i/lang/en/promotion/starTube_head.gif" alt="" />'
			+'<div id="flvswfobject"><h1>Flash Player 8 is required</h1></div>'
			+(showMusic ? '<img style="margin-top:2px;" src="'+staticUrl+'/i/lang/en/promotion/starMusic_head.gif" alt="" />' : null)
			+(showMusic ? '<div id="mp3swfobject"><h1>Flash Player 8 is required</h1></div>' : null)
			+'</div><div class="playlist" id="playlist">Loading...</div>',
		css: { border:'0px', left:'25%', top:'25%', padding:'5px', backgroundColor:'#000', cursor: 'default', height: (showMusic ? '400px' : '320px'), width: '590px' } });
		playlistNav(userId, 0);
		var so = new SWFObject(flvplayer, 'flvp', '300', '245', '8', '#000000');
		so.addParam('allowScriptAccess', 'always');
		so.addParam('quality', 'high');
		so.addParam('wmode', 'transparent');
		so.addParam('loop', 'false');
		so.addParam('FlashVars', 'loop=true&amp;track0='+track+'&amp;play=true&amp;stopped=&amp;welcome=');
		so.write('flvswfobject');
		plflvp = thisMovie('flvp');
		if (showMusic) {
			var so = new SWFObject(mp3player, 'mpthreep', '282', '63', '8', '#000000');
			so.addParam('allowScriptAccess', 'always');
			so.addParam('quality', 'high');
			so.addParam('wmode', 'transparent');
			so.addParam('loop', 'false');
			so.addParam('playing', '');
			so.addParam('stopped', '');
			so.addParam('welcome', '');
			so.addParam('FlashVars', 'loop=false&amp;playing=&amp;stopped=&amp;welcome=');
			so.write('mp3swfobject');
			plmpthreep = thisMovie("mpthreep");
		}
	},
	close: function() {
		$.unblockUI();
	}
}

// open vendor link sheets
var vendorContainer = null;
function vendLnk( obj, title, content ) {
	if (vendorContainer == null) {
		vendorContainer = document.getElementById('vendorLnk');
	}
	var pos = Base.getPos(obj);
	vendorContainer.style.display = 'block';
	vendorContainer.style.left = pos[0] - 60 + 'px';
	vendorContainer.style.top = pos[1] + 15 + 'px';
	vendorContainer.innerHTML = '<b>'+title+'</b><br/>'+content;
}
function vendLnkClose() {
	vendorContainer.style.display = 'none';
}
// flash player
var jsReady = false;
var mpthreep_isInitialized = false;
var flvp_isInitialized = false;
var plmpthreep;
var plflvp;

function isReady() {
	return jsReady;
}

function pageInit() {
	jsReady = true;
}

function mp3pl_onInit() {
	mpthreep_isInitialized = true;
}

function flvpl_onInit() {
	flvp_isInitialized = true;
}

function mp3pl_onTrackChange(trackNo, trackName) {
	;
}

function mp3pl_onSeek(trackPos, trackLen) {
	if (flvp_isInitialized) {
		getVideoPlayer().pl_pause_flv();
	}
}

function flvpl_onTrackChange(trackNo, trackName) {
	;
}

function flvpl_onSeek(trackPos, trackLen) {
	if (mpthreep_isInitialized) {
		getMusicPlayer().pl_pause_mp3();
	}
}

function playTrack(track, title) {
	/*
	 * @todo: reimplement this when flash player is taking javascript calls correctly?
	 * 
	 * if (flvp_isInitialized) {
		getVideoPlayer().pl_stop_flv();
	}

	if (mpthreep_isInitialized) {
		getMusicPlayer().pl_clean_mp3();
		getMusicPlayer().pl_add_mp3(track);
		getMusicPlayer().setTitle_mp3(0,title);
		getMusicPlayer().pl_play_mp3(0);
	}*/
	var from = $("#overlay .swfObject").eq(1); // audio player is the second swfObject in the overlay
	var to = from.clone();
	$("param[name='flashvars']", to).val('track0='+track+'&loop=false&play=true&welcome=');
	from.after(to);
	from.remove();
}

function playVideo(track) {
	/*
	 * @todo: reimplement this when flash player is taking javascript calls correctly?
	 * 
	 * if (mpthreep_isInitialized) {
		getMusicPlayer().pl_stop_mp3();
	}

	if (flvp_isInitialized) {
		getVideoPlayer().pl_clean_flv();
		getVideoPlayer().pl_add_flv(track);
		getVideoPlayer().pl_play_flv(0);
	}*/
	var from = $("#overlay .swfObject").eq(0); // video player is the first swfObject in the overlay
	var to = from.clone();
	$("param[name='flashvars']", to).val('track0='+track+'&loop=false&play=true&welcome=');
	from.after(to);
	from.remove();
}

function getVideoPlayer() {
	if (!plflvp) {
		plflvp = thisMovie("promotionVideoPlayer");
	}
	return plflvp;
}

function getMusicPlayer() {
	if (!plmpthreep) {
		plmpthreep = thisMovie("promotionMusicPlayer");
	}
	return plmpthreep;
}


function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName];
	} else {
		return document[movieName];
	}
}

/* Externalized */
$(document).ready(function(){
	pageInit();
	
	var playlist = $("#media div.playlist").clone();
	var firstTime = true;
	$('#mediaOverlayOpen').click(function(e) {
		e.preventDefault();
		if (firstTime) {
			$("#media div.playlist").remove();
			firstTime = false;
		}
		Overlay.open($('#media').html(), { addClass: 'large' });
		$("#overlay .mediaPlayers").after(playlist);
	});
});