/* imediaseePlayer.js
 * Contains functions to display the imediaseePlayer flash object and validate customer ids
 * 
 */

var imediaseePlayer_Player = '1.2f';
var imediaseePlayer_handles = new Array();

function imediaseePlayerWrapper(customer,title,height,wide)
{
	var ipObj = new imediaseePlayerObject(customer,title,height,wide);
	ipObj.write();
	return ipObj;
}

function imediaseePlayer_play()
{
	send('playerEvent');
}

function imediaseePlayerObject_html(divName)
{
	imediaseePlayer_handles[divName] = this;
	setTimeout("imediaseePlayer_write('" + divName + "')", this.timeout);
}

function imediaseePlayer_write(divName)
{
	var imPlayer = imediaseePlayer_handles[divName];
	imPlayer.output(divName);
}
	
function imediaseePlayerObject_output(divName)
{
	var errMessage = "";
	var customer = this.customer_uid.toUpperCase();
	
	if ( customer == "" ) {
		errMessage += "Missing Customer ID<P>";
	}
	if ( this.video == "" ) {
		errMessage += "Missing Title Name<P>";
	}
	if ( this.height == "" ) {
		errMessage += "Missing height<P>";
	}
	if ( this.width == "" ) {
		errMessage += "Missing width<P>";
	}

	var modVideo = this.video;
	if (! this.mp4enable ) 
		modVideo = imediaseeCommon_appendQuery(modVideo,"mp4enable", "false");
	if ( this.data != null ) 
		modVideo = imediaseeCommon_appendQuery(modVideo,"data", this.data);


	var dHeight = this.height;
	if ( this.displayheight != null )
		dHeight = this.displayheight;
		
	var pServer = this.server;
	if (this.playerServer != null )
		pServer = this.playerServer;

	var bgcolor = "#000000";
	if (this.screencolor != null) {
		bgcolor = imediaseeCommon_getColorHTML(this.screencolor);
	}
	var player_root = imediaseePlayer_schema + '://' + pServer + '/player/'; 		
 	// create swf object
 	var so = new SWFObject(player_root + 'imediaseePlayer_' + imediaseePlayer_Player + '.swf',this.getIdName(),this.width,this.height,this.requestVersion,bgcolor);
	so.useExpressInstall(player_root + 'expressinstall.swf');
	so.setAttribute('redirectUrl', "http://www.adobe.com/go/flashplayer");
 	so.addParam('allowfullscreen',this.allowfullscreen);
 	so.addParam('allowScriptAccess','always');
 	so.addParam('wmode',this.wmode);
	so.addVariable('displayheight',dHeight);
	so.addVariable('customer',customer);
	so.addVariable('height',this.height);
	so.addVariable('width',this.width);
	so.addVariable('autostart',this.autostart);
	so.addVariable('id',( this.scriptid == null ? modVideo : this.scriptid));
	so.addVariable('type','rtmp');
	so.addVariable('enablejs',this.javascript);
	so.addVariable('repeat', this.repeat);
	so.addVariable('searchbar', false);
	so.addVariable('thumbsinplaylist', false);
	
	if (this.javascript) {
		so.addVariable('javascriptid',( this.scriptid == null ? this.video : this.scriptid));
	}
	if (this.frontcolor != null)
		so.addVariable('frontcolor',imediaseeCommon_getColorInt(this.frontcolor));
	if (this.backcolor != null)
		so.addVariable('backcolor',imediaseeCommon_getColorInt(this.backcolor));
	if (this.lightcolor != null)
		so.addVariable('lightcolor',imediaseeCommon_getColorInt(this.lightcolor));
	if (this.screencolor != null)
		so.addVariable('screencolor',imediaseeCommon_getColorInt(this.screencolor));
	if (this.volume != -1)
		so.addVariable('volume',this.volume);
	if ( this.image != null )
		so.addVariable('image',this.image);	
	if ( this.streamer != null ) {
		so.addVariable('streamer',this.streamer);	
	}
	if ( this.watermark != null ) {
		so.addVariable('logo',this.watermark);
	}
	
	if (this.tunnel) {
		so.addVariable('tunnel','Y');
		}
		
	if (this.speed != null) {
		so.addVariable('speed',Math.floor(this.speed));
		}
		
	if (this.maxspeed != null)
		so.addVariable('maxspeed',Math.floor(this.maxspeed));
			
	if ( errMessage == "" ) {
		so.write(divName);
	} else {
		document.getElementById(divName).innerHTML = errMessage;
	}
	
}

function imediaseePlayerObject_getIdName() {
	return "imPWrapper_" + this.video.replace(/\s+/,"_");
}

function imediaseePlayerObject_write()
{
	var divName = "DIV_" + this.getIdName();
	// write div for player output
	document.write('<div id="' + divName + '">&nbsp;</div>');
	this.html(divName);
}

function imediaseePlayerObject(customer,video,height,wide)
{
	this.customer_uid = customer;
	this.video = video;
	this.height = height;
	this.width = wide;
}

new imediaseePlayerObject('X','X',1,1);
imediaseePlayerObject.prototype.server = imediaseePlayer_ServerName;
imediaseePlayerObject.prototype.version = imediaseePlayer_Version;
imediaseePlayerObject.prototype.autostart = true;
imediaseePlayerObject.prototype.allowfullscreen = true;
imediaseePlayerObject.prototype.write = imediaseePlayerObject_write;
imediaseePlayerObject.prototype.html = imediaseePlayerObject_html;
imediaseePlayerObject.prototype.output = imediaseePlayerObject_output;
imediaseePlayerObject.prototype.getIdName = imediaseePlayerObject_getIdName;
imediaseePlayerObject.prototype.displayheight = null;
imediaseePlayerObject.prototype.javascript = false;
imediaseePlayerObject.prototype.frontcolor = null;
imediaseePlayerObject.prototype.backcolor = null;
imediaseePlayerObject.prototype.screencolor = null;
imediaseePlayerObject.prototype.lightcolor = null;
imediaseePlayerObject.prototype.requestVersion = "9.0.115";
imediaseePlayerObject.prototype.volume = -1;
imediaseePlayerObject.prototype.repeat = false;
imediaseePlayerObject.prototype.image = null;
imediaseePlayerObject.prototype.scriptid = null;
imediaseePlayerObject.prototype.watermark = null;
imediaseePlayerObject.prototype.speed = null;
imediaseePlayerObject.prototype.maxspeed = null;
imediaseePlayerObject.prototype.mp4enable = true;
imediaseePlayerObject.prototype.timeout = 10;
imediaseePlayerObject.prototype.tunnel = false;
imediaseePlayerObject.prototype.data = null;
imediaseePlayerObject.prototype.wmode = "window";
