var isBrowserOK = false;
var isPlatformOK = false;
var isClientOK = false;  	

var intNumberFailures = 0;  

var strOKImageHTML = '<img src="images/check_green.gif" width="35" height="35" border="0" alt="OK">';
var strNotOKImageHTML = '<img src="images/x_red.gif" width="35" height="35" border="0" alt="Not OK">';
var strExternalLinkImageHTML = '<img src="images/leave-site.gif" width="17" height="11" border="0" alt="External link" style="margin-left:2px;">';  	

function fncBadBrowser()
{
	strBadBrowserURL = "http://telecampus.utsystem.edu/technicalinformation/computerrequirements/incompatiblebrowser.aspx";
	
	document.location.href = strBadBrowserURL;
}


//////////////////////////////////////////////////
// Initial function, ran upon opening browser   //
// Runs all other functions to check browser/OS //
function fncIsClientOK()
{
	fncDetectPlatform();
	fncDetectBrowser();

	if ((oPlatform.isWinXP && CheckOKWinXPBrowsers()) ||
		(oPlatform.isWinVista && CheckOKWinVistaBrowsers()) ||
		(oPlatform.isMacOSX && CheckOKMacOSXBrowsers()))
	{
            var strReportOS = strOKImageHTML + "<br />";
            if (oPlatform.isWinXP) { strReportOS += "<em>Windows XP</em>"; }
            else if (oPlatform.isWinVista) { strReportOS += "<em>Windows Vista</em>"; }
            else if (oPlatform.isMacOSX) { strReportOS += "<em>Mac OS X</em>"; }
            document.getElementById("idReportOS").innerHTML = strReportOS;

            fncDetectPlugins();         

            var strReportBrowser = strOKImageHTML + "<br />";
            if (oBrowser.isIE6) { strReportBrowser += "<em>Internet Explorer 6</em>"; }
            else if (oBrowser.isIE7) { strReportBrowser += "<em>Internet Explorer 7</em>"; }
            else if (oBrowser.isIE8) { strReportBrowser += "<em>Internet Explorer 8</em>"; }
            else if (oBrowser.isFirefox1_5) { strReportBrowser += "<em>Firefox 1.5</em>"; }
            else if (oBrowser.isFirefox2) { strReportBrowser += "<em>Firefox 2</em>"; }
            else if (oBrowser.isFirefox3) { strReportBrowser += "<em>Firefox 3</em>"; }
	    else if (oBrowser.isFirefox3_5) { strReportBrowser += "<em>Firefox 3.5</em>"; }
            else if (oBrowser.isSafari2) { strReportBrowser += "<em>Safari 2</em>"; }
            else if (oBrowser.isSafari3) { strReportBrowser += "<em>Safari 3</em>"; }
	    else if (oBrowser.isSafari4) { strReportBrowser += "<em>Safari 4</em>"; }
	    else if (oBrowser.isChrome) { strReportBrowser += "<em>Chrome</em>"; }
            document.getElementById("idReportBrowser").innerHTML = strReportBrowser;
            document.getElementById("idScanReportTable").style.display = "block";
            fncFlashDetectComplete();
            SetResultsString();
	} // end if	  
	else
	    fncBadBrowser();
} // end function

function fncFlashDetectComplete()
{
	var strReportAuthorware = "";
	var strReportReal = "";
	
	if (oPlugin.RealDetected)
		strReportReal += strOKImageHTML;
  	else
  	{
		strReportReal += strNotOKImageHTML + "<br /><a href='http://www.real.com/' target='plugin' title='Visit RealPlayer download page'>download" + strExternalLinkImageHTML + "</a>";
		intNumberFailures++;
  	}
	
  	document.getElementById("idReportReal").innerHTML = strReportReal;
  
  	//-----------------------------------------------------------
  	var strReportQuickTime = "";
  	if (oPlugin.QuickTimeDetected)
  	{
		
		if (oBrowser.isSafari)	// Safari has strange, useless plug-in descriptions
			strReportQuickTime += strOKImageHTML;
		else if (parseFloat(oPlugin.QuickTimeVersion) >= 7.1)
		{ 
			strReportQuickTime += strOKImageHTML;
			strReportQuickTime += "<br /><em>Version " + oPlugin.QuickTimeVersion + "</em>";
		}
		else
		{
			strReportQuickTime += strNotOKImageHTML + "<br />This browser's version of QuickTime is " + oPlugin.QuickTimeVersion + " and must be 6.5 or higher.<br /><a href='http://www.apple.com/quicktime/download/' target='plugin' title='Visit QuickTime download page'>download" + strExternalLinkImageHTML + "</a>";
			intNumberFailures++;
		}
  	}
  	else
  	{
		strReportQuickTime += strNotOKImageHTML + "<br /><a href='http://www.apple.com/quicktime/download/' target='plugin' title='Visit QuickTime Player download page'>download" + strExternalLinkImageHTML + "</a>";
		intNumberFailures++;
  	}    	  
  	document.getElementById("idReportQuickTime").innerHTML = strReportQuickTime;
  
  //-----------------------------------------------------------
  	var strReportMediaPlayer = "";
	
  	if (oPlugin.MediaPlayerDetected)
		strReportMediaPlayer += strOKImageHTML;
  	else
	{
		strReportMediaPlayer += strNotOKImageHTML + "<br /><a href='http://www.microsoft.com/windows/windowsmedia/player/11/default.aspx' target='plugin' title='Visit Windows Media Player download page'>download" + strExternalLinkImageHTML + "</a>";
		intNumberFailures++;
  	}
	
  	document.getElementById("idReportMediaPlayer").innerHTML = strReportMediaPlayer;
  
  //-----------------------------------------------------------
	var strReportAcrobat = "";
	
	if (oPlugin.Acrobat78Detected)
		strReportAcrobat += strOKImageHTML + "<br /><em>Version " + oPlugin.AcrobatVersion + "</em>"; 
	else if (oPlugin.AcrobatNDetected || oPlugin.Acrobat4Detected)
	{
		strReportAcrobat += strNotOKImageHTML + "<br /><a href='http://www.adobe.com/products/acrobat/readstep2.html' target='plugin' title='Visit Adobe Reader download page'>download" + strExternalLinkImageHTML + "</a>";
			
		intNumberFailures++;
	}
	else if (oPlatform.isWin)
	{
		strReportAcrobat += strNotOKImageHTML + "<br /><a href='http://www.adobe.com/products/acrobat/readstep2.html' target='plugin' title='Visit Adobe Reader download page'>download" + strExternalLinkImageHTML + "</a>";
			
		intNumberFailures++;
	}
	else if (oPlatform.isMacOSX)
		strReportAcrobat += "Mac OS X does not have a PDF browser plug-in. Please use the external application instead.";
		
	document.getElementById("idReportAcrobat").innerHTML = strReportAcrobat;
	
	  //-----------------------------------------------------------
	var strReportJava = "";
	
	if (oPlugin.JavaEnabled)
	{
		if (oPlugin.JavaDetected)
		{
			var javaMiniVersion = oPlugin.JavaVersion.substring(0,3);
			
			if (oPlatform.isMacOSX) // Java plug-ins are different and versionless
				strReportJava += strOKImageHTML;
			else if (javaMiniVersion > '1.6' || (javaMiniVersion == '1.6' && oPlugin.JavaVersion.indexOf('01') == '-1'))
				strReportJava += strOKImageHTML + "<br /><em>Version " + oPlugin.JavaVersion + "</em>";
			else // found Java < 1.6 or = 1.6.1
			{
				strReportJava += strNotOKImageHTML + "<br /><a href='http://www.java.com/en/download/manual.jsp' target='plugin' title='Download Java JRE from sun.com'>upgrade" + strExternalLinkImageHTML + "</a>";
			
				intNumberFailures++;
			}
		}
		else // Java enabled, but not installed
		{
			strReportJava += strNotOKImageHTML + "<br /><a href='http://www.java.com/en/download/manual.jsp' target='plugin' title='Download Java JRE from sun.com'>download" + strExternalLinkImageHTML + "</a>";
			
			intNumberFailures++;
		}
	}
	else if (!oPlugin.JavaEnabled && oBrowser.isNav8)
	{
		strReportJava += strNotOKImageHTML + "<br /><a href='http://www.java.com/en/download/help/enable_browser.xml' target='plugin' title='How to enable Java'>confirm Java is enabled in browser" + strExternalLinkImageHTML + "</a>, then <a href='http://www.java.com/en/download/manual.jsp' target='plugin' title='Download Java JRE from sun.com'>download" + strExternalLinkImageHTML + "</a>";
			
		intNumberFailures++;
	}
	else // Java neither enabled nor installed
	{
		strReportJava += strNotOKImageHTML + "<br /><a href='http://www.java.com/en/download/help/enable_browser.xml' target='plugin' title='How to enable Java'>enable" + strExternalLinkImageHTML + "</a>";
			
		intNumberFailures++;
	}
	
	document.getElementById("idReportJava").innerHTML = strReportJava;
	  
	  //-----------------------------------------------------------
	var strReportCookies = "";
	
	if (oPlugin.CookiesDetected)
		strReportCookies += strOKImageHTML;
	else
	{
		strReportCookies += strNotOKImageHTML + "<br /><a href='http://www.telecampus.utsystem.edu/technicalinformation/browserconfiguration.aspx' target='plugin' title='Visit the UTTC Browser Configuration page'>Configure your browser</a>";
		intNumberFailures++;
	}
	
	document.getElementById("idReportCookies").innerHTML = strReportCookies;
		  
  //-----------------------------------------------------------
	var strReportFlash = "";

	if (oPlugin.FlashDetected && oPlugin.FlashMajorVersion >= 9)
		strReportFlash += strOKImageHTML + "<br /><em>Version " + oPlugin.FlashVersionString + "</em>";
	else if (oPlugin.FlashDetected)
	{
		strReportFlash += strNotOKImageHTML + "<br />Incompatible version; must have at least 9.0.28.0";
		intNumberFailures++;
	}
	else
	{
		strReportFlash += strNotOKImageHTML + "<br /><a href='http://www.adobe.com/shockwave/download/alternates/' target='plugin' title='Visit Flash Player download page'>download" + strExternalLinkImageHTML + "</a>";
		intNumberFailures++;
	}
	
  	document.getElementById("idReportFlash").innerHTML = strReportFlash;
}

function SetResultsString()
{
	var results = document.getElementById("reportResultsTR");
	
	// create new DOM <td>s...this is for IE's pacification
	var IE_textdiv = document.createElement('td');
	IE_textdiv.id = 'reportResultsText';
	var IE_icondiv = document.createElement('td');
	IE_icondiv.id = 'reportResultsIcon';
	
	if (intNumberFailures == 0)
	{  
		IE_icondiv.innerHTML = "<img src=\"images/check_green.gif\" alt=\"OK Sign\" />";
		IE_textdiv.innerHTML = 'Congratulations, your setup has passed all checks! If you haven\'t done so already, be sure to go to Step 2 on the <a href="http://www.telecampus.utsystem.edu/technicalinformation/computerrequirements.aspx">Computer Setup</a> page, and use the links to configure your browser settings for optimal viewing of the content and functions in your online course.</td></tr>';
	
		IE_textdiv.style.backgroundColor = "#CCFFCC";
  	}
  	else
	{
		IE_icondiv.innerHTML = "<img src=\"images/alert.gif\" alt=\"Alert Sign\" />";
		IE_textdiv.innerHTML = "<p>There a few things to take care of.</p><p>Click the download link below each of the red Xs below to download and install the missing plug-in or helper application. After installation, click the Rescan Browser button at the bottom of the page.</p><p>If you continue to have trouble, call the Help Desk toll-free at <br /><strong>1-866-321-2988</strong>.</p></td></tr>";
	
		IE_textdiv.style.backgroundColor = "#FFCCCC";
	}
	
	// add <td>s to empty <tr></tr>
	results.appendChild(IE_icondiv);
	results.appendChild(IE_textdiv);
}