
function check_browser_requirements(path)
{
  var browser_fail = 0;
  var flash_fail = 0;
  var resolution_fail = 0;
  
  if (!has_valid_browser()) {
    browser_fail = 1;
  // } else if (!has_flash_plugin()) {
  //   flash_fail = 1;
  } else if (!has_valid_resolution()) {
    resolution_fail = 1;
  }
  
  failure_bits = browser_fail + flash_fail + resolution_fail;
  
  if (failure_bits > 0) window.location = path+'?bf='+browser_fail+'&ff='+flash_fail+'&rf='+resolution_fail;
  // all good
  return true;
}

function has_valid_resolution()
{
  var minimumWidth  = 1024;
  var minimumHeight = 768;
  
  if (screen.width < minimumWidth || screen.height < minimumHeight) return false;
  // everything checks out!
  return true;
}

function has_valid_browser()
{
  var supported_explorer_version = 7;
  var supported_firefox_version = 2;
  
  // os detection (we only support Windows for now)
  // if (BrowserDetect.OS != 'Windows') return false;
    
  // browser detection and validation
  if (BrowserDetect.browser == 'Explorer') {
		if (BrowserDetect.version < supported_explorer_version) return false;
	} else if (BrowserDetect.browser == 'Firefox') {
	  if (BrowserDetect.version < supported_firefox_version) return false;
	} else if (BrowserDetect.browser == 'Safari') {
	  // this also catches Google Chrome for now
	  return true;
	} else {
	  return false;
	}
	// everything checks out!
	return true;
}

function has_flash_plugin()
{
  // Major version of Flash required
	var requiredMajorVersion = 8;
	// Minor version of Flash required
	var requiredMinorVersion = 0;
	// Minor revision of Flash required
	var requiredRevision = 0;
	
  var hasGoodVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
	if (!hasGoodVersion) return false;
	
	// everything checks out!
	return true;
}