var controlname = 'npdivx.DivXBrowserPlugin.1';
if (typeof plugin == 'undefined') var plugin = new Array();
if (typeof pluginplaying == 'undefined') var pluginplaying = new Array();
if (typeof curstatus == 'undefined') var curstatus = new Array();
if (typeof started == 'undefined') var started = new Array();
if (typeof wasplaying == 'undefined') var wasplaying = new Array();
if (typeof url == 'undefined') var url = new Array();
if (typeof lastreport == 'undefined') var lastreport = new Array();

function divxinstalled() {
	if (window.ActiveXObject) {
		var control = null;  
		try { control = new ActiveXObject('npdivx.DivXBrowserPlugin.1'); } catch (e) { }
		if (control) return true;
		else return false;
	} else {
		for (i = 0; i < navigator.plugins.length; i++) {
			if (navigator.plugins[i].name.match(/DivX.*Player/i) != -1) {
				return true;
			}
		}
		return false;
	}
}

function divxplayer(playerid) {
	var plugin;
	if (navigator.userAgent.indexOf('MSIE') != -1)
		plugin = document.getElementById('object' + playerid);
	else
		plugin = document.getElementById('embed' + playerid);
	return plugin;
}

function parseuid(url) {
	return url.split('/').pop().split('.')[0];
}

function updateuserstatus(playerid) {
	function done(data, status) {
		if (data.success === true) {
			//notice(data.message, '#090');
		} else {
			if (typeof admin != 'undefined') notice(data.message, '#900');
		}
//		loading();
	}
	var uid = parseuid(url[playerid]);
//	loading();
	$.get(webpath + '/ajax/status.php', {action: 'viewvideo', uid: uid}, done, 'json');
	lastreport[playerid] = new Date().getTime();
}

function statuscall(playerid, status) {
	// Playing, FF, RW
	if (status == 10 || status == 12 || status == 13) {
		pluginplaying[playerid] = true;
		if (lastreport[playerid] == undefined
				|| new Date.getTime() - lastreport[playerid] > 120) {
			updateuserstatus(playerid);
		}
	}
	// Paused, stopped
	else if (status == 11 || status == 14) pluginplaying[playerid] = false;
	curstatus[playerid] = status;
}

function divxstart(playerid) {
	$('#imagecont' + playerid).hide();
	$('#embedcont' + playerid).show();
	var pluginexists = divxinstalled();
	if (!pluginexists) {
		installmessage(playerid, 'You currently do not have the <strong>DivX Plus Web Player</strong> installed.');
	} else {
		var plugin = divxplayer(playerid);
		try {
			var versionString = plugin.GetVersion();
			// Google Analytics: track it
			try {
				var uid = url[playerid].split('/').pop().split('.').shift();
				// Visitor-level tracking
				pageTracker._setCustomVar(3, 'divxplayer_version', versionString, 1);
				pageTracker._trackPageview('/videoview/' + uid);
			} catch (e) {}
			version = versionString.split('.');
			if (version[0] <= 1 && version[1] <= 3) installmessage(playerid, 'Stagevu highly recommends you to have at least version 1.4.0 of the DivX Plus Web Player.');
			else plugin.Play();
		} catch (e) {
			setTimeout(function() { divxstart(playerid); }, 100);
		}
	}
}


function iab_rma_start() { // called by iab_rma_start
	for (i in plugin) {
		if (pluginplaying[i]) {
			plugin[i].Pause();
			wasplaying[i] = true;
		}
	}
}

function iab_rma_stop() { // called by iab_rma_start
	for (i in plugin) {
		if (wasplaying[i]) {
			plugin[i].Play();
			wasplaying[i] = false;
		}
	}
}

function installmessage(playerid, message, error) {
	if (typeof error == 'undefined') error = true;
	var htmlstr = '<br /><strong class="yellow">';
	if (error) htmlstr += 'Warning:';
	else htmlstr += 'Tip:';
	htmlstr += '</strong> ' + message;
	$('#webplayer' + playerid).html($('#webplayer' + playerid).html() + htmlstr).removeClass('borderedbox');
	if (error) $('#webplayer' + playerid).addClass('warningbox');
}

function togglevis(id) {
	var e = document.getElementById(id);
	if (e.style.visibility == 'hidden') e.style.visibility = '';
	else e.style.visibility = 'hidden';
}

