
/*****************************************************************************************************
**
** 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.
**
****************************************************************************************************/
/*
**
*****************************************************************************************************
** 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 maxVersion 		= 7;		// 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 flashVersion 		= parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1));
     		flash2Installed 		= flashVersion == 2;    
			flash3Installed 		= flashVersion == 3;
			flash4Installed 		= flashVersion == 4;
			flash5Installed 		= flashVersion == 5;
			flash6Installed 		= flashVersion == 6;
			flash7Installed 		= flashVersion >= 7;
		}
	}

	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 >= 6) {
		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);
	}
}
