// Gloval vars
 var oWin = null; 
// Major version of Flash required
var flashReqMajorVer = 6;
// Minor version of Flash required
var flashReqMinorVer = 0;
// Minor version of Flash required
var flashReqRevision = 0;
// the version of javascript supported
var flashJSVersion = 1.1;
// Detect Client Browser type
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;
 
// Opens a new child window if one is not already open 
function OpenChildWindow(strURL,winName,intWidth,intHeight,intTop,intLeft,intStatus,intMenubar)
    {
    // Default window name
    winName = (winName == undefined)?"PopWindow":winName;
    // Default window sizes
    intWidth = (intWidth == undefined)?700:intWidth;
    intHeight = (intHeight == undefined)?450:intHeight;
    intTop = (intTop == undefined)?10:intTop;
    intLeft = (intLeft == undefined)?(screen.width-intWidth)/2:0;
    // Put the window property string together
    var strProps = "toolbar=0,location=0,scrollbars=1,resizable=1"
    if (intMenubar != ""){strProps += ",menubar=" + intMenubar;}
    if (intStatus != "") {strProps += ",status=" + intStatus;}
    strProps += ",width=" + intWidth;
    strProps += ",height=" + intHeight;
    strProps += ",top=" + intTop;
    strProps += ",left=" + intLeft;
	// Open the window if it is not open
    if (oWin == null || oWin.closed)
        {oWin = window.open(strURL,winName,strProps);}       
    }
    
// Closes a window    
function CloseThisWindow(thisWindow)
     {
     if (!thisWindow.closed)
         {
         thisWindow.close();
         thisWindow = null;
         }
     }
     
// Sets the status bar message     
function setMsg(thisWindow,strMsg)
    {
    thisWindow.status = strMsg;
    return true;
    }

// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i)
	{
	// 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;
			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;}
		}
	// 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;
	}
	
// When called true when the specified version or greater is available
function DetectFlashVer() 
	{
 	reqVer = parseFloat(flashReqMajorVer + "." + flashReqRevision);
   	// loop backwards through the versions until we find the newest version	
	for (i=25;i>0;i--) 
		{
		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);
        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ((versionMajor > flashReqMajorVer) && (versionNum >= reqVer)) {return true;} 
			else {return ((versionNum >= reqVer && versionMinor >= flashReqMinorVer) ? true : false );}
			}
		}	
	}
    