/*****************************************************************************************************

**

** TOOL - FLASH CHECK V2

**

** Dateiname:			flcheck_v2.js

** Letzte �nderung:		10.10.2003

** Programmierer:		Heiko Pfefferkorn (o2cell.com) (work: i-fabrik.de)

**

*****************************************************************************************************

**

** INFOMATION

**

** Vielen Dank an Colin Moock (moock.org). Von ihm stammt das eigentliche Grundger�st dieses Scriptes.

** Anpassung, Ab�nderung bzw. Modifizierung wurden von Heiko Pfefferkorn durchgef�hrt.

**

****************************************************************************************************/





/*****************************************************************************************************

**

** ACHTUNG

**

** Ich m�chte darauf hinweisen das die dem Script beiliegende SWF-Datei nur f�r Demonstrationszwecke,

** nicht zum Einbau in externe bzw. fremde Seiten oder zum Schm�cken jener, gedacht ist.

**

****************************************************************************************************/





/*****************************************************************************************************

** ANWENDUNG:

**

** Benutze folgenden Codeblock (von "<script language="JavaScript">" bis "</noscript>")

** um Flash oder um einen selbstdefinierbaren "No-Flash-Standard-String" oder einen

** selbstdefinierbaren "No-Script-String" anzuzeigen!

*****************************************************************************************************

** BLOCK:

**

** <script language="JavaScript">

** var flashVersion = 5;

** var stringFlash = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" '

** 			    + 'width="200" height="170" id="yourID" align=""> '

** 			    + '<param name="movie" value="your.swf"> '

** 				+ '<param name="flashvars" value="varName=varValue"> '

** 			    + '<param name="loop" value="false"> '

** 			    + '<param name="menu" value="false"> '

** 	    		+ '<param name="quality" value="best"> '

** 			    + '<param name="bgcolor" value="#ffffff"> '

** 			    + '<embed type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" '

** 				+ 'src="your.swf" '

** 			    + 'width="200" height="170" '

** 				+ 'flashvars="varName=varValue" '

** 			    + 'loop="false" '

** 				+ 'menu="false" '

** 				+ 'quality="best" '

** 				+ 'bgcolor="#ffffff" '

** 				+ 'name="yourID" align=""> '

** 				+ '</embed></object>';

**

** var stringNoFlash = '<font face="Verdana" size="1" color="#cccccc">'

** 				+ '<b>You don not have the actuell Macromedia Flash Plugin</b>'

** 				+ '</font>';

**

** writeFlash(stringFlash, stringNoFlash, flashVersion);

** </script>

** <noscript>Javascript not supported</noscript>

**

*****************************************************************************************************

** flashVersion		= die Flashversion die das aktuelle SWF-File hat bzw. die Version ab der sie

**					  das Flash anzeigen wollen. Geben Sie zum Beispiel als Version max. 5 an und

**					  haben Ihr SWF aber mit Version 6 ver�ffentlicht dann steht das meisten noch

**					  mit im "object" - Tag.

**					  Sind also die "2" Flashversionen unterschiedlich dann wird immer autom. die

**					  genommen die im "object" - Tag steht

** stringFlash		= der string der ausgegeben wird wenn die Flashversion bei dem User

**					  korrekt ist (flashVersion)

** stringNoFlash	= der string der ausgegeben wird wenn die Flashversion bei dem User nicht mit

**					  "flashVersion" �bereinstimmt bzw. kein Flash erkannt wurde

** noScript-Tag		= das m�sste ja wohl jeder wissen :-)

****************************************************************************************************/



/* System

---------*/

var flash2Installed = false;	// wahr wenn flash 2 installiert ist

var flash3Installed = false;	// wahr wenn flash 3 installiert ist

var flash4Installed = false;	// wahr wenn flash 4 installiert ist

var flash5Installed = false;	// wahr wenn flash 5 installiert ist

var flash6Installed = false;	// wahr wenn flash 6 installiert ist

var flash7Installed = false;	// wahr wenn flash 7 installiert ist

var flash8Installed = false;	// wahr wenn flash 8 installiert ist

var flash9Installed = false;	// wahr wenn flash 9 installiert ist

var flash10Installed = false;	// wahr wenn flash 10 installiert ist

var maxVersion 		= 10;		// die Version die momentan maximal gecheckt wird

var actualVersion 	= 0;		// die version die der User hat

var hasRightVersion = false;	// wahr wenn der User die richtige Version hat



var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;    	// TRUE wenn IE

var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false; // TRUE wenn auf Windows





/* VB-Script Detection beim MsIe auf Windows, da MsIe bei Windows

-- regular JavaScript Plugins nicht unterst�tzt

-------------------------------------------------------------------*/

if(isIE && isWin){

	document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');

	document.write('on error resume next \n');

	document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');

	document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');

	document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');

	document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');

	document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');

	document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');

	document.write('</SCR' + 'IPT\> \n');

}





/* Detect Flash

---------------*/

function detectFlash(flV) {

	// existiert navigator.plugins

	if (navigator.plugins) {

		// check f�r flash 2 oder flash 3+

		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {

			var isVersion2 			= navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";

			var flashDescription 	= navigator.plugins["Shockwave Flash" + isVersion2].description;



		//	alert("Flash plugin description: " + flashDescription);

			var flashPrefix = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 2));
			if(isNaN(flashPrefix)) flashPrefix = 0;
			// alert("flashPrefix " + flashPrefix);

			var flashVersion 		= parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));

			if(flashPrefix != 0) flashVersion = String(flashPrefix) + String(flashVersion);

     		flash2Installed 		= flashVersion == 2;

			flash3Installed 		= flashVersion == 3;

			flash4Installed 		= flashVersion == 4;

			flash5Installed 		= flashVersion == 5;

			flash6Installed 		= flashVersion == 6;

			flash7Installed 		= flashVersion == 7;

			flash8Installed 		= flashVersion == 8;

			flash9Installed 		= flashVersion == 9;

			flash10Installed 		= flashVersion >= 10;

		}

	}

// alert("flashVersion " + flashVersion);

	for (var i = 2; i <= maxVersion; i++) {

		if (eval("flash" + i + "Installed") == true) actualVersion = i;

	}



	if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 3;



	// alert("version detected: " + actualVersion);



	if (actualVersion >= flV) {

		hasRightVersion = true;

	} else {

		hasRightVersion = false;

	}

}



/* Schreibe Flash

-----------------*/

function writeFlash(strFlash, strNoFlash, flVersion) {

	/* steht in "strFlash" im object-Tag eine Version und diese ist ungleich

	** mit der bereits angegebenen Version in "flVersion" dann wird "flVersion"

	** auf die Version aus dem object-Tag gesetzt

	--------------------------------------------------------------------------*/

	var posVersion = strFlash.search(/#version=.+/);

	if(posVersion != -1) {

		var objectTagVersion = strFlash.substring(posVersion+9,posVersion+10);

		if (objectTagVersion != flVersion) {

			flVersion = objectTagVersion;

		}

	}



	// alert(flVersion);



	// detect flash version

	detectFlash(flVersion);



	if(hasRightVersion) {

		// schreibe flash-string

		document.write(strFlash);

	} else {

		// schreibe kein-Flash-String

		document.write(strNoFlash);

	}

}