
// initialize global variables
var detectableWithVB = false;
var pluginFound = false;

var verifiedBrowser = 1;

var RealMode=0;
var RealPlayer5=0;
var RealPlayer4=0;
var RealPlayerG2=0;


function canDetectPlugins() {
    if( detectableWithVB || (navigator.plugins && navigator.plugins.length > 0) ) {
	return true;
    } else {
	return false;
    }
}

function detectFlash(redirectURL, redirectIfFound) {
    pluginFound = detectPlugin('Shockwave','Flash');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1');
    }
    // check for redirection
    return pluginFound;
}


function detectPlugin() {
    // allow for multiple checks in a single pass
    var daPlugins = detectPlugin.arguments;
    // consider pluginFound to be false until proven true
    var pluginFound = false;
    // if plugins array is there and not fake
    if (navigator.plugins && navigator.plugins.length > 0) {
	var pluginsArrayLength = navigator.plugins.length;
	// for each plugin...
	for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
	    // loop through all desired names and check each against the current plugin name
	    var numFound = 0;
	    for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) {
		// if desired plugin name is found in either plugin name or description
		if( (navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) ||
		    (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) {
		    // this name was found
		    numFound++;
		}
	    }
	    // now that we have checked all the required names against this one plugin,
	    // if the number we found matches the total number provided then we were successful
	    if(numFound == daPlugins.length) {
		pluginFound = true;
		// if we've found the plugin, we can stop looking through at the rest of the plugins
		break;
	    }
	}
    }
    return pluginFound;
} // detectPlugin



function flash_test() {
    var flash;
    var v = "";
    
    for (var i=7 ; i>1 ; --i) {
        try {
            var player = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.'+i);
            if (player)
                return i;
        } catch (e) { }
    }

    if (typeof(flashexists) != "undefined" && (flash = flashexists()))
    	return flash;

    if (navigator.plugins && navigator.plugins.length) {
    	var x = navigator.plugins["Shockwave Flash"];
	if (x && x.description) {
	    var y = x.description;
	    flash = y.charAt(y.indexOf('.') - 1);
	} else if (navigator.plugins["Shockwave Flash 2.0"]) {
	    flash = "2";
	}
    }
    
    return flash;
}


