// Do not copy and paste the script to your document.
// It needs to be included as an external script!
// Please include this script in the <head> section of your (X)HTML document only!
//
// Version: 1.4

// --- USAGE ---
// writeFlashCode(flash_movie, fallback_image, flash_parameters);
// flash_movie      - URL to Flash Movie
// fallback_image   - URL to Fallback Image
// flash_parameters - Flash Parameters, e.g. width=775;height=600;version=6,0,65,0

// --- CUSTOMIZABLE PARAMETERS ---
var latestFlashVersion=9;            // The latest flash player version (integer)
var presetFlashVersion='6,0,65,0';   // Default value for required Flash version
var imageFallbackLinked=true;        // Add a link to Flash Player download location to the fallback image
var textFallbackActive=true;         // Activate text fallback?
var textFallbackText='Flash Player Required.\nWould you like to download the latest version of Flash Player now?';
var flashFallbackImage='erez?src=erez-private/flashrequired.svg&tmp=Large&quality=95&redirect=0&expire=0';

//
// EDITING THE LINES BELOW IS NOT RECOMMENDED
//
if (window.location && window.location.protocol.indexOf('https') > -1) scheme='https://';
else scheme='http://';
var flashDownload = scheme+'www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash';
var flashDownloadCab = scheme+'download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab';
var uaName = navigator.userAgent.toLowerCase();
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (uaName.indexOf("opera") != -1) ? true : false;
var versionStr=-1;

function getSwfVer(){
	flashVer = -1;
	if (navigator.plugins) napl = navigator.plugins;
	else napl = false;
	if (napl && napl.length > 0 && (napl["Shockwave Flash 2.0"] || napl["Shockwave Flash"])) {
		flashDesc = napl["Shockwave Flash" + (napl["Shockwave Flash 2.0"] ? " 2.0" : "")].description;
		flashVer = flashDesc.split(" ")[2].split(".")[0];
	}

	return flashVer;
}

function detectFlashVer(){
	if (!(isIE && isWin)) versionStr = getSwfVer();
	return versionStr;
}

function pushVBDetection(){
	doc = '<scr' + 'ipt type="text/vbscript"\>\n';
	doc += 'On Error Resume Next\n';
	doc += 'For i = 3 to ' + latestFlashVersion + '\n';
	doc += 'If Not(IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash." & i))) Then\n';
	doc += 'Else\n';
	doc += 'versionStr = i\n';
	doc += 'End If\n';
	doc += 'Next\n';
	doc += '<\/scr' + 'ipt>\n';
	document.write(doc);
}

function writeFlashCode(fsiurl, fallbackimg, parameters){

	objcode='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="'+flashDownloadCab;
	emdcode='<embed type="application/x-shockwave-flash" pluginspage="'+flashDownload+'"';

	params = new Object();
	if (parameters){
		var parameters = parameters.split(";");
		for (c=0; c < parameters.length; c++){
			parameter=parameters[c].split("=");
			if (parameter[1]) params[parameter[0]]=parameter[1];
			else if (parameter!="") alert("Wrong parameter: " + parameter);
		}
	}

	if (params["version"]) {
		version=unescape(params["version"]);
		params["version"]='';
	}
	else version=presetFlashVersion;
	objcode+='#version='+version+'"';

	if (!params["quality"]) {
		params["quality"]='High';
	}

	if (!params["AllowScriptAccess"]) {
		params["AllowScriptAccess"]='always';
	}

	majorversion = version.split(",")[0];

	flashversion = detectFlashVer();

	if ((isIE && flashversion >= 5) || flashversion >= majorversion){
		if (params["width"]) {
			code=' width="'+params["width"]+'"';
			objcode+=code;
			emdcode+=code;
			params["width"]='';
		}
		if (params["height"]) {
			code=' height="'+params["height"]+'"';
			objcode+=code;
			emdcode+=code;
			params["height"]='';
		}
		if (params["id"] || params["name"]) {
			objcode+=' id="'+params["id"]+'"';
			if (params["name"]) emdcode+=' name="'+params["name"]+'"';
			else emdcode+=' name="'+params["id"]+'"';
			params["id"]='';
			params["name"]='';
		}
		objcode+='>\n';
		params["src"]=escape(fsiurl);
		params["movie"]=escape(fsiurl);

		for (var pkey in params){
			if (params[pkey]){
				if (pkey != 'src') objcode+='<param name="'+pkey+'" value="'+unescape(params[pkey])+'"\/>\n';
				if (pkey != 'movie') emdcode+=' '+pkey+'="'+unescape(params[pkey])+'"';
			}
		}
		emdcode+='\/>';

		objcode+=emdcode+'\n';
		objcode+='<\/object>';
	}
	else if (fallbackimg){
		objcode='<img src="'+fallbackimg+'" border=0 />';
		if (imageFallbackLinked) objcode='<a href="'+flashDownload+'" target="_blank">'+objcode+'</a>';
		objcode='<p align="center">'+objcode+'</p>';
	}

	if (!objcode){
		if (confirm(textFallbackText)) top.location=flashDownload;
	}
	else {
		document.write(objcode);
	}
}

// Run VBScript detection part
if (isIE && isWin && !isOpera) {
	pushVBDetection();
}

// Copyright 2006 NeptuneLabs, Germany (www.neptunelabs.com)
