// -----------------------------------------------------------------------------
// Globale Variablen
// Erforderliche Hauptversion von Flash (defaultwert)
var requiredMajorVersion = 8;
// Erforderliche Unterversion von Flash
var requiredMinorVersion = 0;
// Erforderliche Flash-Revision
var requiredRevision = 0;
// -----------------------------------------------------------------------------
// 

// Client-Browsertyp ermitteln
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript-Hilfsprogramm ist zur Ermittlung der Versionsinformationen des Flash Player Plug-Ins erforderlich
function JSGetSwfVer(i){
	// NS/Opera-Version >= 3 auf Flash-Plug-In im Plug-In-Array pr�fen
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 unterst�tzt Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 unterst�tzt Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// �lteres WebTV unterst�tzt Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Ermittlung in allen anderen F�llen nicht m�glich
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
// Wenn der Funktionsaufruf ohne Parameter erfolgt, gibt diese Funktion einen Gleitkommawert zur�ck,
// bei dem es sich entweder um die Flash Player-Version oder um 0.0 handelt.
// Beispiel: Flash Player 7r14 gibt 7.14 zur�ck.
// Wenn reqMinorVer, reqMajorVer, reqRevision aufgerufen wird, wird 'true' zur�ckgegeben, sofern diese bzw. eine h�here Version verf�gbar ist
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{
 	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
   	// Versionen r�ckw�rts durchlaufen, bis die neueste Version gefunden wird	
	for (i=25;i>0;i--) {	
		if (isIE && isWin && !isOpera) {
			versionStr = VBGetSwfVer(i);
		} else {
			versionStr = JSGetSwfVer(i);		
		}
		if (versionStr == -1 ) { 
			return false;
		} else if (versionStr != 0) {
			if(isIE && isWin && !isOpera) {
				tempArray         = versionStr.split(" ");
				tempString        = tempArray[1];
				versionArray      = tempString .split(",");				
			} else {
				versionArray      = versionStr.split(".");
			}
			versionMajor      = versionArray[0];
			versionMinor      = versionArray[1];
			versionRevision   = versionArray[2];
			
			versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
			versionNum        = parseFloat(versionString);
        	// ist die Hauptrevision >= angeforderte Hauptrevision UND die Nebenversion >= angeforderte Nebenversion
			if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
				return true;
			} else {
				return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
			}
		}
	}	
	return (reqVer ? false : 0.0);
}
//

// ##################################################
// Funktion:     flash_movie()
// Beschreibung: Bindet einen beliebigen Flash-Film ein. Wenn dass erforderliche (angegebene) 
//               Plugin nicht vorhanden ist, kann eine Alternativgrafik inkl. Link dargestellt
//               werden
// Parameter:    
//    minversion Minimal benoetigte Version des Flash-Plugins
//    movie      Pfad zum Flash-Film
//    width      Breite des Flash-Films
//    height     Hoehe des Flash-Films
//    altimage   Pfad zur Alternativgrafik
//    altlink    Link der Alternativgrafik
//    alttarget  Zielframe des Links der Alternativgrafik
// Rueckgabe:    -
// Aufruf:       flash_movie(5, 'test.swf', 250, 100, 'test.gif', 'http://www.blabla.com', '_blank')
// ##################################################

function flash_movie(minversion, movie, width, height, altimage, altlink, alttarget, wmode) {
	
	// Erforderliche Hauptversion von Flash
	var requiredMajorVersion = minversion;

	if (!alttarget) {
		alttarget = "_self";
	}
	
	if (!wmode) {
		wmode = "opaque";
	}

	var secureTag=window.location.protocol;
	var flashName=movie.replace(/\W/, "");


	var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	if(hasRightVersion) {  // sofern eine akzeptable Version ermittelt wurde
		var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
		+ 'width="'+width+'" height="'+height+'"'
		+ 'codebase="'+secureTag+'//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
		+ '<param name="movie" value="'+movie+'" />'
		+ '<param name="quality" value="high" />'
		+ '<param name="scale" value="noscale" />'
		+ '<param name="wmode" value="'+wmode+'" />'
		+ '<param name="bgcolor" value="#ffffff" />'
		+ '<embed src="'+movie+'" quality="high" scale="noscale" wmode="'+wmode+'" bgcolor="#ffffff" '
		+ 'width="'+width+'" height="'+height+'" name="'+flashName+'" align="middle"'
		+ 'play="true"'
		+ 'loop="false"'
		+ 'quality="high"'
		+ 'allowScriptAccess="always"'
		+ 'type="application/x-shockwave-flash"'
		+ 'pluginspage="'+secureTag+'//www.macromedia.com/go/getflashplayer">'
		+ '<\/embed>'
		+ '<\/object>';
		document.write(oeTags);   // Flash-Film einbetten
	} else {  // Flash ist veraltet, oder das Plug-In wurde nicht ermittelt
		var alternateContent = '';
		if (altimage) {
			alternateContent = '<img src="'+altimage+'" alt="'+flashName+'" border="0">';
			if (altlink) {
				alternateContent = '<a href="'+altlink+'" target="'+alttarget+'">' + alternateContent + '</a>';
			}
		}
		document.write(alternateContent);  // Nicht aus Flash stammenden Inhalt einf�gen
	}
}
