  // advanced javascript
  function testJs() {
    if( jsWorking() ){
      if (jQuery('.test.javascript').removeClass('failed')) showSuccessMessage();
    }
  }
  
  function jsWorking(){
    result = ( (typeof(window.XMLHttpRequest) == "object") || (typeof(window.XMLHttpRequest) == "function") || (typeof(window.ActiveXObject) == "function") )
    return result;
  }

  // flash
  function testFlash() {
    jQuery('.test.flash').flash(
      { src: '/swfs/flash_installed.swf', width: 260, height: 80 },
      { expressInstall: true },
      function (htmlOptions) {
        jQuery(this).removeClass('failed');
        showSuccessMessage();
      },
      function (htmlOptions) {
        return false;
      }
    );
  }

  // shockwave
  function testShockwave() {
    jQuery('.test.shockwave').shockwave(
      { src: '/assets/players/lesson viewer.dcr', width: 260, height: 80 },
      { expressInstall: true },
      function (htmlOptions) {
        jQuery(this).removeClass('failed');
        showSuccessMessage();
      },
      function (htmlOptions) {
        return false;
      }
    );  
  }
  
  function testAll(){
    testJs();
    testFlash();
    testShockwave();
  }
  
  function showSuccessMessage(){
    if(jQuery(".test.failed").size() < 1) {
      jQuery("#fail-message").hide();
      jQuery("#smile-demo").show();
    }
  }

