//===============================================
// this suite of flash detection functions was
// modified from Macromedia's Flash Detection Kit

//===============================================
// global vars

    var flashtools_isIE         = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
    var flashtools_isWin        = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
    var flashtools_isOpera      = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
    var flashtools_versionStart = 25;

//===============================================
// vbscript helper function to get version

    document.write('<script language="VBScript" type="text/vbscript"> \n');
    document.write('Function VBGetSwfVer(i) \n');
    document.write('on error resume next \n');
    document.write('Dim swControl, swVersion \n');
    document.write('swVersion = 0 \n');
    document.write('set swControl = CreateObject("ShockwaveFlash.ShockwaveFlash." + CStr(i)) \n');
    document.write('if (IsObject(swControl)) then \n');
    document.write('swVersion = swControl.GetVariable("$version") \n');
    document.write('end if \n');
    document.write('VBGetSwfVer = swVersion \n');
    document.write('End Function \n');
    document.write('</script> \n');
    
//===============================================
// javascript helper function to get version

    function JSGetSwfVer(){
    
        var fashVer = -1;
    
        // NS/Opera version >= 3 check for Flash plugin in plugin array
	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;
                var descArray           = flashDescription.split(" ");
                var tempArrayMajor      = descArray[2].split(".");
                var versionMajor        = tempArrayMajor[0];
                var versionMinor        = tempArrayMajor[1];
          
                if(descArray[3] != ""){
                    tempArrayMinor = descArray[3].split("r");
                } else {
                    tempArrayMinor = descArray[4].split("r");
                }
                
                var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
                flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
            } else {
                flashVer = -1;
            }
            
	// MSN/WebTV 2.6 supports Flash 4            
        } else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1){ flashVer = 4;
        
	// WebTV 2.5 supports Flash 3
	} else if(navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1){ flashVer = 3;
	
	// older WebTV supports Flash 2
	} else if(navigator.userAgent.toLowerCase().indexOf("webtv") != -1){ flashVer = 2;
	
	// Can't detect in all other cases
	} else { flashVer = -1; }
	
	return flashVer;
    }

//===============================================
// get the version information
    
    function getVersionInfo(){
    
        if(flashtools_isIE && flashtools_isWin && !flashtools_isOpera){
            for(var i=flashtools_versionStart; i>0; i--){
                var versionStr = VBGetSwfVer(i);
                if(versionStr != 0){
                    var tempArray       = versionStr.split(" ");
                    var tempString      = tempArray[1];
                    //var versionArray    = tempString .split(",");
                    //versionString       = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
                    //break;
                    return tempString.split(",");
                    break;
                }
            }
            
            if(versionStr == 0){ return new Array(); }
            
 	} else {
            var versionStr = JSGetSwfVer();
            if(versionStr == -1){ 
                return new Array(); 
            } else {
                return versionStr.split(".");
            }
 	}
        
    }
//===============================================
// when called with reqMajorVer, reqMinorVer, reqRevision 
//returns true if that version or greater is available

    function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
 	var reqVer = parseFloat(reqMajorVer + "." + reqRevision);
 	
 	var versionArray = getVersionInfo();
        if(versionArray.length == 0){ 
            return false; 
            
        } else {
            var versionMajor      = versionArray[0];
            var versionMinor      = versionArray[1];
            var versionRevision   = versionArray[2];
            var versionString     = versionMajor + "." + versionRevision;   // 7.0r24 == 7.24
            var versionNum        = parseFloat(versionString);

            // is the major.revision >= requested major.revision AND the minor version >= requested minor
            if((versionMajor > reqMajorVer) && (versionNum >= reqVer)){
                return true;
            } else {
                return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
            }
        }
    }//end function

//===============================================
// get some info about the flash plugin
    
    function embedFlash(flash_params){
    
        var version = flash_params.flash_version.split(".");
        if(version.length == 1){ version = flash_params.flash_version.split(","); }
        
        var supported = DetectFlashVer(version[0],version[1],version[2]);
        
        if(supported){
            document.write(getFlashObject(flash_params));
        } else {
            document.write(noFlash(flash_params));
        }

    }//function embedFlash(){
    
    function embedFlash2(flash_params, tagObj) {
            var version = flash_params.flash_version.split(".");
        if(version.length == 1){ version = flash_params.flash_version.split(","); }
        
        var supported = DetectFlashVer(version[0],version[1],version[2]);
        
        if(supported){
            tagObj.innerHTML = getFlashObject(flash_params);
        } else {
            tagObj.innerHTML = noFlash(flash_params);
        }
    
    }
    
//===============================================
// get an object/embed tag set for a Flash movie

    function getFlashObject(params){
    
        var version_info        = getVersionInfo(); //if we got this far the installed player is supported
        var cab_version         = version_info[0] + "," + version_info[1] + "," + version_info[2] + ",0";

        var flash_vars          = (params.flash_vars)? 'FlashVars="' + params.flash_vars + '" ' : "";
        var flash_vars_param	= (params.flash_vars)? '<param NAME=FlashVars VALUE="' + params.flash_vars + '">' : "";

        var wmode               = (params.transparent)? 'wmode="transparent" ' : "";
        var wmode_param         = (params.transparent)? '<param name="wmode" value="transparent"/> ' : "";

        var object_html	=	'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" ' +
                                        'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + cab_version + '" ' +
                                        'width="' + params.obj_width + '" height="' + params.obj_height + '" id="' + params.obj_id + '" >' +
                                        '<param name="allowScriptAccess" value="sameDomain" />' +
                                        '<param name="movie" value="' + params.flash_src + ' " />' +
                                        '<param name="loop" value="false" />' +
                                        '<param name="menu" value="false" />' +
                                        '<param name="quality" value="high" />' +
                                        '<param name="scale" value="noscale" />' +
                                        '<param name="salign" value="lt" />' +
                                        '<param name="bgcolor" value="' + params.obj_bkgcolor + '" />' +
                                        wmode_param +
                                        flash_vars_param +
                                        '<embed src="' + params.flash_src + '" ' + 
                                                flash_vars + 
                                                'loop="false" ' + 
                                                'menu="false" ' + 
                                                'quality="high" ' +
                                                'scale="noscale" ' +
                                                'salign="lt" ' +
                                                'bgcolor="' + params.obj_bkgcolor + '" ' + 
                                                wmode +
                                                'width="' + params.obj_width + '" ' + 
                                                'height="' + params.obj_height + '" ' + 
                                                'name="' + params.obj_id + '" ' + 
                                                'swLiveConnect="true" ' +
                                                'allowScriptAccess="sameDomain" ' + 
                                                'type="application/x-shockwave-flash" ' + 
                                                'pluginspage="http://www.adobe.com/go/getflashplayer" />' +
                                    '</object>';	
        return object_html;

    }//function getFlashObject(){
    
//===============================================
// get a message about no flash support

    function noFlash(params){
        
        var message =   '<div style="display:table; height:' + params.obj_height + 'px; width:' + params.obj_width + 'px; _position:relative; background-color:#cccccc;">' +
                        '<div style=" _position:absolute; _top:50%; _left:50%; _width:' + params.obj_width + 'px; display:table-cell; vertical-align:middle; text-align:center;">' +
                        '<div style=" _position:relative; _top:-50%; _left:-50%; padding:4px;">' +
                        '<span style="font-family:arial, san-serif; font-size:9px;">' +
                        '<p>This component requires the Flash plugin version ' + params.flash_version + ' or greater. Please install the free Flash Player from <a href="http://www.macromedia.com/go/getflashplayer/" target="_new">Adobe</a> then return to this page.</p>' +
                        '</span>' +
                        '</div></div></div>';
        
        return message;
        
    }//function noFlash(){   

