operatingSystemPass=0;
browserPass=0;
resolutionPass=0;
flashPlayerPass=0;
connectionPass=0;
connectionSpeed = 0;
var startTime;


function flashVersionCheck(){
    // Globals
    // Major version of Flash required
    var requiredMajorVersion =9;
    // Minor version of Flash required
    var requiredMinorVersion = 0;
    // Minor version of Flash required
    var requiredRevision = 0;

    var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
    if (hasReqestedVersion) {
            document.getElementById("requirementsResultFlashVersion").innerHTML="<img src='images/yes.gif' align='middle' alt='You have the correct version of Flash' />";
            document.getElementById("requirementsRecommendationsFlashVersion").innerHTML="None";
            flashPlayerPass=1;
    }
    else {
            version=GetSwfVer();
            document.getElementById("requirementsResultFlashVersion").innerHTML="<img src='images/no.gif' align='middle' alt='You do not have an adequate version of Flash Player installed.' />";
            document.getElementById("requirementsRecommendationsFlashVersion").innerHTML="You only have Flash Player"+version+" installed.Install Flash Player 10 or greater";
    }

}
function browserCheck(){
    var Browser = {
  Version: function() {
    var version = 999; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1)
      // bah, IE again, lets downgrade version number
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
    }
    
    if(Browser.Version()==999 || Browser.Version() < 6){
         document.getElementById("requirementsResultInternetExplorer").innerHTML="<img src='images/no.gif' align='middle' alt='You do not have an adequate version of Internet Explorer.' />";
         document.getElementById("requirementsRecommendationsInternetExplorer").innerHTML="You must use Internet Explorer version 7 or above.";
    }
    else{
         document.getElementById("requirementsResultInternetExplorer").innerHTML="<img src='images/yes.gif' align='middle' alt='You have an adequate version of Internet Explorer Installed' />";
         document.getElementById("requirementsRecommendationsInternetExplorer").innerHTML="None";
         browserPass=1;
    }
}

function loadImage( fileLocation, fileSize) {
	//This function will load the image

	startTime = (new Date()).getTime();
		//The start time

	imageLocation = fileLocation + '?startTime=' + escape(startTime);

		//Append the start time as a GET variable. Hopefully this will stop PCs/proxy servers from retrieving from cache.

	document.write('<img ID="testImage" src="' + imageLocation + '" style="visibility:hidden;" onload="connectionSpeed=getConnectionSpeed(' + startTime + ',' + fileSize + ');">');
		// Write out the <img> tag.
         
	return;
}


function getConnectionSpeed( startTime, fileSize ) {
	
	endTime = (new Date()).getTime();
	connectSpeed = (Math.floor((((fileSize * 8) / ((endTime - startTime) / 1000)) / 1024) * 10) / 10);
        
	return connectSpeed;
}


function bandwidthCheck(){
        if(connectionSpeed>256 || connectionSpeed ==0){
            document.getElementById("requirementsResultBandwidth").innerHTML="<img src='images/yes.gif' align='middle' alt='You have an adequate bandwidth' />";
            document.getElementById("requirementsRecommendationsBandwidth").innerHTML="None. Your speed result is "+connectionSpeed+" kbps";
            connectionPass=1;
            if(connectionSpeed==0){
                document.getElementById("requirementsResultBandwidth").innerHTML="<img src='images/yes.gif' align='middle' alt='You have an adequate bandwidth' />";
            document.getElementById("requirementsRecommendationsBandwidth").innerHTML="We are unable to determine the exact speed of your connection";
            connectionPass=1;
            }
        }
        else{
                document.getElementById("requirementsResultBandwidth").innerHTML="<img src='images/no.gif' align='middle' alt='You have inadequate' />";
            document.getElementById("requirementsRecommendationsBandwidth").innerHTML="You only have approximately "+connectionSpeed+" kbps of bandwidth. Please find another internet connection.";
        }

    var imageElement = document.getElementById("testImage");
    document.getElementById("imageContainer").removeChild(imageElement);s
    reportSummary();


}

function bandwidthLoader(value){
        if(value==1){
            document.getElementById("requirementsResultBandwidth").innerHTML="<img src='images/loader.gif' align='middle' alt='Please wait - calculating.' />";
            document.getElementById("requirementsRecommendationsBandwidth").innerHTML="Please wait, we are calculating your bandwidth";
        }
        else{
            
        }

}

function operatingSystemCheck(){

    if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
    if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
    if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
    if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

    if(OSName=="Windows"){
        document.getElementById("requirementsResultOperatingSystem").innerHTML="<img src='images/yes.gif' align='middle' alt='You have Windows installed' />";
        document.getElementById("requirementsRecommendationsOperatingSystem").innerHTML="None";
        operatingSystemPass=1;
    }
    else{
        document.getElementById("requirementsResultOperatingSystem").innerHTML="<img src='images/no.gif' align='middle' alt='You have "+OSName+" installed' />";
        document.getElementById("requirementsRecommendationsOperatingSystem").innerHTML="Please use a computer with Windows. Currently, "+OSName+" is not officially supported";
    }
}
function reportSummary(){
       if(operatingSystemPass==1 && browserPass==1 && flashPlayerPass==1 && connectionPass==1 && resolutionPass==1){
           document.getElementById("requirementsResults").className="requirementsResultsPass";
           document.getElementById("requirementsResults").innerHTML= "Your system appears to meet the minimum requirements."
       }
       else{
           document.getElementById("requirementsResults").className="requirementsResultsFail";
           document.getElementById("requirementsResults").innerHTML= "Sorry, your system does not meet the minimum requirements. Please refer to the table above for more information."
       }
    
}

function resolutionCheck(){

    
    if ((screen.width>=1024) && (screen.height>=768))
    {
        document.getElementById("requirementsResultResolution").innerHTML="<img src='images/yes.gif' align='middle' alt='Your resolution does not meet system requirements' />";
        document.getElementById("requirementsRecommendationsResolution").innerHTML="None";
        resolutionPass=1;
    }
    else
    {
      document.getElementById("requirementsResultResolution").innerHTML="<img src='images/no.gif' align='middle' alt='Your resolution does not meet system requirements' />";
        document.getElementById("requirementsRecommendationsResolution").innerHTML="Your screen resolution is only"+screen.width+" x "+screen.height+ ". Use a screen resolution of 1024 x 768 or higher.";
    }

}
