
//************************************
// FlashDebug
var FlashDebug;
function doDebug(inMessage) {
	openFlashDebug("FlashDebug.html", 900, 600);
	FlashDebug = inMessage;
}

//************************************
// openFlashDebug
function openFlashDebug(in_uri,theWidth,theHeight) {
	var theTop = 0;
	var theLeft = 0;
	var theBars = 0;
	var WindowName = "fd" + RNumber(9999);
	if (theWidth > screen.width || theHeight > screen.height) {
		theBars = 1;
		theWidth += 22;
		if ((theWidth + 30) > screen.width) {
			theWidth = screen.width - 30;
		} else {
			theLeft=(screen.width/2)-(theWidth/2);
			theWidth += 15;
		}
		if ((theHeight + 30 ) > screen.height) {
			theHeight = screen.height - 30;
		} else {
			theTop=((screen.height/2)-(theHeight/2))/2;
		}
	} else {
		theTop=((screen.height/2)-(theHeight/2))/2;
		theLeft=(screen.width/2)-(theWidth/2);
	}
	var features='height=' + theHeight + ',width=' + theWidth + ',top='+theTop+',left='+theLeft+',toolbar=0,Location=0,Directories=0,Status=1,menubar=0,Scrollbars=' + theBars + ',Resizable=1';
	window.open(in_uri,WindowName,features);

}

//************************************
// Random Number
function RNumber(inMax) {
	var randomnumber=Math.floor(Math.random()*inMax) + 1;
	return randomnumber;

}

//************************************
// Generate Flash Movie
function GenerateFlash() {
	this.ClassID = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000";
	this.CodeBase = "http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=";
	this.FlashVersion = "6,0,0,0";
	this.FlashWidth = 0;
	this.FlashHeight = 0;
	this.FlashName = "";
	this.FlashAlign = "middle";
	this.Cacheable = true;
	this.FlashQuality = "high";
	var FlashVars = "";
	this.BGColor = "#ffffff";
	this.PluginsPage = "http://www.macromedia.com/go/getflashplayer";
	this.Valid = true;
	this.FlashID = "FlashMovie1";
	this.HaveFocus = true;
	this.wmode = "transparent";
	var ErrorMessage = "";
	var MovieBlob = "";

	this.AddFlashVar = AddFlashVar;
	this.DisplayMovie = DisplayMovie;

	// Add FlashVar
	function AddFlashVar(inVariable, inValue) {
		if (FlashVars.length > 0) {
			FlashVars += "&";
		}
		FlashVars += inVariable + "=" + inValue;
	}

	//Display Movie
	function DisplayMovie() {
		// validation
		if ( this.FlashName == "") {
			AddError("You must enter the Name of your movie.\n\t(clsGF.FlashName=your.swf)");
			this.Valid = false;
		}
		if ( this.FlashWidth == 0) {
			AddError("You must enter the Width of your movie.\n\t(clsGF.FlashWidth=100)");
			this.Valid = false;
		}
		if ( this.FlashHeight == 0) {
			AddError("You must enter the Height of your movie.\n\t(clsGF.FlashHeight=100)");
			this.Valid = false;
		}

		if (!this.Valid) {
			alert(ErrorMessage);
		} else {
			BuildMovieBlob("<object classid=\"");
			BuildMovieBlob(this.ClassID);
			BuildMovieBlob("\"");
			BuildMovieBlob(" codebase=\"");
			BuildMovieBlob(this.CodeBase);
			BuildMovieBlob(this.FlashVersion);
			BuildMovieBlob("\"");
			BuildMovieBlob(" width=\"");
			BuildMovieBlob(this.FlashWidth);
			BuildMovieBlob("\"");
			BuildMovieBlob(" height=\"");
			BuildMovieBlob(this.FlashHeight);
			BuildMovieBlob("\"");
			BuildMovieBlob(" id=\"");
			BuildMovieBlob(this.FlashID);
			BuildMovieBlob("\"");
			BuildMovieBlob(" align=\"");
			BuildMovieBlob(this.FlashAlign);
			BuildMovieBlob("\">\n");


			BuildMovieBlob("<param name=\"allowScriptAccess\" value=\"sameDomain\" />\n");

			BuildMovieBlob("<param name=\"movie\"");
			BuildMovieBlob(" value=\"");
			BuildMovieBlob(this.FlashName);
			if (!this.Cacheable) {
				BuildMovieBlob("?");
				BuildMovieBlob(escape(Date()));
			}
			BuildMovieBlob("\" />\n");

			BuildMovieBlob("<param name=\"quality\" value=\"");
			BuildMovieBlob(this.FlashQuality);
			BuildMovieBlob("\" />\n");

			BuildMovieBlob("<param name=\"wmode\" value=\"");
			BuildMovieBlob(this.wmode);
			BuildMovieBlob("\" />\n");

			BuildMovieBlob("<param name=\"bgcolor\" value=\"");
			BuildMovieBlob(this.BGColor);
			BuildMovieBlob("\" />\n");

			if (FlashVars.length > 0 ) {
				BuildMovieBlob("<param name=\"FlashVars\" value=\"");
				BuildMovieBlob(FlashVars);
				BuildMovieBlob("\" />\n");
			}

			BuildMovieBlob("<embed src=\"");
			BuildMovieBlob(this.FlashName);
			if (!this.Cacheable) {
				BuildMovieBlob("?");
				BuildMovieBlob(escape(Date()));
			}
			BuildMovieBlob("\"");
			if (FlashVars.length > 0 ) {
				BuildMovieBlob(" FlashVars=\"");
				BuildMovieBlob(FlashVars);
				BuildMovieBlob("\"");
			}
			BuildMovieBlob(" quality=\"");
			BuildMovieBlob(this.FlashQuality);
			BuildMovieBlob("\"");
			BuildMovieBlob(" bgcolor=\"");
			BuildMovieBlob(this.BGColor);
			BuildMovieBlob("\"");
			BuildMovieBlob(" width=\"");
			BuildMovieBlob(this.FlashWidth);
			BuildMovieBlob("\"");
			BuildMovieBlob(" height=\"");
			BuildMovieBlob(this.FlashHeight);
			BuildMovieBlob("\"");
			BuildMovieBlob(" name=\"");
			BuildMovieBlob(this.FlashID);
			BuildMovieBlob("\"");
			BuildMovieBlob(" align=\"");
			BuildMovieBlob(this.FlashAlign);
			BuildMovieBlob("\"");
			BuildMovieBlob(" allowScriptAccess=\"sameDomain\"");
			BuildMovieBlob(" type=\"application/x-shockwave-flash\"");
			BuildMovieBlob(" pluginspage=\"" + this.PluginsPage + "\"");
			BuildMovieBlob(" />\n");

			BuildMovieBlob("</object>\n");

			//alert('here');
			document.write(MovieBlob);
			//alert('here');
			//document.getElementById('flashholder').innerHTML = MovieBlob;
			//alert('here');
			if (this.HaveFocus) {
				document.getElementById(this.FlashID).focus();
			}

		}

	}

	//Add Error
	function AddError(inErrorMessage) {
		if (ErrorMessage.length == 0 ) {
			ErrorMessage += "FLASH PROGRAMMING ERROR:\n\n";
		}
		ErrorMessage += inErrorMessage + "\n";
	}

	//BuildMovieBlob
	function BuildMovieBlob(inblob) {
		MovieBlob += inblob;
	}
}
