// JavaScript Document
// ---- on verifie la presence de FLASH

// Version de Flash requise
var requiredMajorVersion = 8;
var requiredMinorVersion = 0;
var requiredRevision = 0;

// Version de javascript prise en charge
var jsVersion = 1.0;

// Détecter le type de navigateur client
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;
		
	
	
// Programme d'assistance JavaScript requis pour détecter les informations de version du plug-in Flash Player
function JSGetSwfVer(i){
	// Version NS/Opera >= 3 rechercher le plug-in Flash dans le tableau des plug-ins
	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;
		}
	} else {		
		flashVer = -1;
	}
	return flashVer;
} 
		
		
		
// Si elle est appelée sans paramètres, renvoie une valeur en virgule flottante indiquant la version Flash Player (ex:7.14) ou 0.0 
// Si appelé avec reqMajorVer, reqMinorVer, reqRevision renvoie true si cette version ou une version ultérieure est disponible
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) {
	reqVer = parseFloat(reqMajorVer + "." + reqRevision);
	// Examiner les versions pour détecter la plus récente	
	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);
			
			if(reqVer){						
				// est la révision.principale >= révision.principale demandée ET la version mineure >= mineure demandée
				if ((versionMajor > reqMajorVer) && (versionNum >= reqVer)) {
					return true;
				} else {
					return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
				}
			} else {
				return versionNum;
			}
		// fin du else if, répète le for si on est pas rentré dans cette condition
		}
	}	
	return false;
}
