﻿/*
* flash detection, tailored
* bits ripped from:
* FlashObject embed
* by Geoff Stearns (geoff@deconcept.com, http://www.deconcept.com/)
*
* v1.1.0 - 03-31-2005
*
*
*
* for best practices, see:
*  http://blog.deconcept.com/2005/03/31/proper-flash-embedding-flashobject-best-practices/
*
*/

var requiredFlashVersion = 5;
var maxFlashVersion = 9;
var foundFlashVersion = -1;
var cmsFlashPresent;

function browserOk() {
return (okBrowser());
}

function okBrowser() {
var ua = navigator.userAgent;

// returns false if found msie 5.1, netscape 6, or generally macintosh and os9.
// as pc browsers generally behave better.
// this list may grow with time

// g m

if (ua.indexOf('MSIE 5.2') > -1) return (true);	// ie 5.2 has a truly stupid ua string

var result =
!(
(ua.indexOf('MSIE 5.1') > -1)
||
(ua.indexOf('Netscape6') > -1)
||
((ua.indexOf('Macintosh')> -1) && (ua.indexOf('OS X') < 0))
)
;

// alert(result);	// debug
return (result);
}

function getFlashVersion() {
var flashversion = 0;
if (!okBrowser()) {
flashVersion = 0;
foundFlashVersion = -1;
return (false);
}
if (navigator.plugins && navigator.mimeTypes.length) {
var x = navigator.plugins["Shockwave Flash"];
if(x && x.description) {
var y = x.description;
flashversion = y.charAt(y.indexOf('.')-1);
}
} else {
result = false;
for(var i = maxFlashVersion; i >= 3 && result != true; i--){
execScript('on error resume next: result = IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.'+i+'"))','VBScript');
flashversion = i;
}
}
foundFlashVersion = flashversion;
return (flashversion);
}


function detectFlash(ver) {
if (navigator.userAgent.indexOf('MSIE 5.1')>-1) return false;
return (getFlashVersion() >= ver) ? true:false;
}

function adjustFlash() {

if (cmsFlashPresent != undefined ) {
var dummy = (cmsFlashPresent) ? turnFlashOn() : turnFlashOff();
}
else {
if (detectFlash(requiredFlashVersion)) {
turnFlashOn();
} else {
turnFlashOff();
}
}
}


function turnFlashOff() {
var x = document.getElementsByTagName("span");
if (x.length >0) {
for (var i=0; i<x.length; i++) {
if (x[i].className.indexOf("a_flash_on") != -1) x[i].className += " off";
if (x[i].className.indexOf("a_flash_off") != -1) x[i].className += " on";
}
}
}

function turnFlashOn() {
var x = document.getElementsByTagName("span");
if (x.length >0) {
for (var i=0; i<x.length; i++) {
if (x[i].className.indexOf("a_flash_on") != -1) x[i].className += " on";
if (x[i].className.indexOf("a_flash_off") != -1) x[i].className += " off";
}
}
}

function syncFlashFromCms(newState) {
cmsFlashPresent = newState;

if (!okBrowser()) cmsFlashPresent = false;	// force the bstrd
var dummy = (cmsFlashPresent) ? turnFlashOn() : turnFlashOff();
}


