function update()

in src/content/images_www/v6/download/6.5/ml/final/js/download.js [364:658]


function update() {
  var langselect = document.getElementById("language_select");
  if(langselect.options[langselect.selectedIndex].value == MORE_LANG_ID) {
    langselect.selectedIndex = last_selected_lang;
    window.location = MORE_LANGUAGES_REDIRECT_URL;
  }
  last_selected_lang = langselect.selectedIndex;

  var select = document.getElementById("platform_select");
  var platform = select.options[select.selectedIndex].value;
  var platform_display_name = select.options[select.selectedIndex].text;


  /*For NetBeans we have native mac installer*/
    
  if(platform=="macosx") {
    platform = "macosx-x86";
  }

  // update the "checks" and generate error messages, if any
  var product_messages = new Array();
  for (var i = 0; i < product_uids.length; i++) {
    if (product_properties[i] & PROPERTY_HIDDEN) {
      continue;
    }
        
    // enter the default value
    product_messages[i] = null;
        
    if (!is_compatible(i, platform)) {
      product_messages[i] = product_display_names[i];
    }
		
    if (product_properties[i] & PROPERTY_FULL) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_full").innerHTML = IMAGE_CHECKED_WHITE;
      } else {
        document.getElementById("product_" + i + "_full").innerHTML = IMAGE_WARNING_WHITE;
      }
    } else {
      document.getElementById("product_" + i + "_full").innerHTML = '';
    }
		
    if (product_properties[i] & PROPERTY_JAVA) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_java").innerHTML = IMAGE_CHECKED_BEIGE;
      } else {
        document.getElementById("product_" + i + "_java").innerHTML = IMAGE_WARNING_BEIGE;
      }
    } else {
      document.getElementById("product_" + i + "_java").innerHTML = '';
    }

    if (product_properties[i] & PROPERTY_JAVASE) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_javase").innerHTML = IMAGE_CHECKED_BEIGE;
      } else {
        document.getElementById("product_" + i + "_javase").innerHTML = IMAGE_WARNING_BEIGE;
      }
    } else {
      document.getElementById("product_" + i + "_javase").innerHTML = '';
    }

    if (product_properties[i] & PROPERTY_JAVAFX) {
      if (product_messages[i] == null) {
                
        if( product_uids [i] == "nb-javafx" && !(platform == "windows" || platform == "macosx-x86")) {
          document.getElementById("product_" + i + "_javafx").innerHTML = IMAGE_CHECKED_WHITE_NOT_AVAILABLE;
        } else {
          document.getElementById("product_" + i + "_javafx").innerHTML = IMAGE_CHECKED_BEIGE;
        }
      } else {
        document.getElementById("product_" + i + "_javafx").innerHTML = IMAGE_WARNING_BEIGE;
      }
    } else {
      document.getElementById("product_" + i + "_javafx").innerHTML = '';
    }

		
    if (product_properties[i] & PROPERTY_RUBY) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_ruby").innerHTML = IMAGE_CHECKED_WHITE;
      } else {
        document.getElementById("product_" + i + "_ruby").innerHTML = IMAGE_WARNING_WHITE;
      }
    } else {
      document.getElementById("product_" + i + "_ruby").innerHTML = '';
    }
		
    if (product_properties[i] & PROPERTY_CND) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_cnd").innerHTML = IMAGE_CHECKED_BEIGE;
      } else {
        document.getElementById("product_" + i + "_cnd").innerHTML = IMAGE_WARNING_BEIGE;
      }
    } else {
      document.getElementById("product_" + i + "_cnd").innerHTML = '';
    }
    if (product_properties[i] & PROPERTY_PHP) {
      if (product_messages[i] == null) {
        document.getElementById("product_" + i + "_php").innerHTML = IMAGE_CHECKED_BEIGE;
      } else {
        document.getElementById("product_" + i + "_php").innerHTML = IMAGE_WARNING_BEIGE;
      }
    } else {
      document.getElementById("product_" + i + "_php").innerHTML = '';
    }

    if (product_messages[i] == null) {
      document.getElementById("product_" + i + "_display_name").innerHTML = '<a class="product_display_name">' + product_display_names[i] + "</a>";
    } else {
      document.getElementById("product_" + i + "_display_name").innerHTML = '<a class="product_display_name_no">' + product_display_names[i] + "</a>";
    }
  }
    
  // update the error message
  var error_message = "";
  var messages_number = 0;
    
  for (var i = 0; i < product_uids.length; i++) {
    if (product_messages[i] != null) {
      messages_number += 1;
    }
  }
  if (messages_number != 0 ) {
	
    var messages_counter = 0;
	
    error_message += NOTE_PREFIX;
	
    for (var j = 0; j < product_uids.length; j++) {
      if (product_messages[j] != null) {
			
        if ( messages_counter == 0) {
          error_message += product_messages[j];
        } else if (messages_counter == (messages_number-1) ){
          error_message = NOTE_AND_SEP.replace('{0}', error_message).replace('{1}', product_messages[j]);
        } else {
          error_message = NOTE_COMMA_SEP.replace('{0}', error_message).replace('{1}', product_messages[j]);
        }
			
        messages_counter += 1;
      }
    }
    var na = '';
    if (messages_number == 1 ) {
      if ( platform == "zip" ) {
        na = SINGLE_NOT_AVAILABLE_ZIP;
      } else {
        na = SINGLE_NOT_AVAILABLE_BUNDLE;
      }
    } else {
      if ( platform == "zip" ) {
        na = MULTIPLE_NOT_AVAILABLE_ZIP;
      } else {
        na = MULTIPLE_NOT_AVAILABLE_BUNDLE;
      }
    }
    error_message = na.replace('{0}', error_message).replace('{1}', platform_display_name);;
  } else {
    error_message = '<br>';
  }

  // use positive wording instead of negative
    
  if ( platform == "zip" ) {
    error_message = NOTE_ZIP;
  } else if(platform.indexOf("macosx")!=-1) {
    error_message = NOTE_MACOSX;
  } else if(platform.indexOf("solaris")!=-1) {
    error_message = NOTE_SOLARIS;
  } else {
    error_message = NOTE_OTHER;
  }

  var lang_id = langselect.options[langselect.selectedIndex].value;
  if((platform!="windows" && platform.indexOf("macosx")==-1) || lang_id!="en") {
    error_message += NOTE_JAVAFX ;
  }

  document.getElementById("error_message").innerHTML = error_message;
    
  // update the sizes
  var full_size   = 0;
  var java_size = 0;
  var javase_size   = 0;
  var javafx_size   = 0;
  var ruby_size   = 0;
  var cnd_size    = 0;
  var php_size    = 0;
    

  for (var i = 0; i < product_uids.length; i++) {
    if (!is_compatible(i, platform)) {
      continue;
    }
		
    if (product_properties[i] & PROPERTY_FULL) {
      full_size += new Number(product_download_sizes[i]);
    }
        
    if (product_properties[i] & PROPERTY_JAVA) {
      java_size += new Number(product_download_sizes[i]);
    }
		
    if (product_properties[i] & PROPERTY_JAVASE) {
      javase_size += new Number(product_download_sizes[i]);
    }

    if (product_properties[i] & PROPERTY_JAVAFX) {
      javafx_size += new Number(product_download_sizes[i]);
    }
		
    if (product_properties[i] & PROPERTY_RUBY) {
      ruby_size += new Number(product_download_sizes[i]);
    }
        
    if (product_properties[i] & PROPERTY_CND) {
      cnd_size += new Number(product_download_sizes[i]);
    }
    if (product_properties[i] & PROPERTY_PHP) {
      php_size += new Number(product_download_sizes[i]);
    }
  }
	
  full_size = Math.ceil(full_size / 1024.0);
  javase_size = Math.ceil(javase_size / 1024.0);
  javafx_size = Math.ceil(javafx_size / 1024.0);
  java_size = Math.ceil(java_size / 1024.0);
  ruby_size = Math.ceil(ruby_size / 1024.0);
  cnd_size = Math.ceil(cnd_size / 1024.0);
  php_size = Math.ceil(php_size / 1024.0);

  if( platform == "zip") {
    full_size   = 174;
    javase_size =  67;
    javafx_size =  90;
    java_size   = 122;
    ruby_size   =  55;
    cnd_size    =  41;
    php_size    =  38;
  }

  if(platform.indexOf("macosx")!=-1) {
    platform = "macosx";
  }


  full_size   = get_file_size_mb(get_file_name(platform, "all"),    full_size);
  javase_size = get_file_size_mb(get_file_name(platform, "javase"), javase_size);
  javafx_size = get_file_size_mb(get_file_name(platform, "javafx"), javafx_size);
  java_size   = get_file_size_mb(get_file_name(platform, "java"),   java_size);
  ruby_size   = get_file_size_mb(get_file_name(platform, "ruby"),   ruby_size);
  cnd_size    = get_file_size_mb(get_file_name(platform, "cpp"),    cnd_size);
  php_size    = get_file_size_mb(get_file_name(platform, "php"),    php_size);


  if (platform!="windows" && platform.indexOf("macosx")==-1) {
    javafx_size = NOT_AVAILABLE_SIZE;
  }

  document.getElementById("full_size").innerHTML   = FREE_SIZE_MESSAGE.replace('{0}', full_size  );
  document.getElementById("java_size").innerHTML = FREE_SIZE_MESSAGE.replace('{0}', java_size);
  document.getElementById("javase_size").innerHTML   = FREE_SIZE_MESSAGE.replace('{0}', javase_size  );
  document.getElementById("javafx_size").innerHTML = FREE_SIZE_MESSAGE.replace('{0}', javafx_size  );
  document.getElementById("ruby_size").innerHTML   = FREE_SIZE_MESSAGE.replace('{0}', ruby_size  );
  document.getElementById("cnd_size").innerHTML    = FREE_SIZE_MESSAGE.replace('{0}', cnd_size   );
  document.getElementById("php_size").innerHTML    = FREE_SIZE_MESSAGE.replace('{0}', php_size   );


  // no JavaFX for Solaris, Mac OS X and zip
  if (platform == "windows" || platform.indexOf("macosx")!=-1) {
    document.getElementById("javafx_link").innerHTML        = '<a href="javascript: download(\'javafx\')">' + DOWNLOAD_IMG + '</a>';
    document.getElementById("javafx_bundle_name").innerHTML = '<a class="bundle_display_name">' + getBundleLongName("javafx") + '</a>';
  } else {
    document.getElementById("javafx_link").innerHTML        = DOWNLOAD_IMG_DISABLED;
    document.getElementById("javafx_bundle_name").innerHTML = '<a class="bundle_display_name_no">' + getBundleLongName("javafx") + '</a>';
  }
    
  if (platform.indexOf("macosx")!=-1) {
    document.getElementById("jdk_note").innerHTML = JDK_NOTE_MACOSX;
  }
  else {
    document.getElementById("jdk_note").innerHTML = JDK_NOTE_ALL.replace('{0}',JAVA_COM_LINK).replace('{1}',JDK_DOWNLOAD_LINK).replace('{2}',NBJDK_DOWNLOAD_LINK);
  }

  if (COMMUNITY_BUILD == 1) {
    document.getElementById("community_number").innerHTML  = "<a class=\"special_message_number\">" + NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG_NUMBER + "</a>";
    document.getElementById("community_message").innerHTML = "<a class=\"special_message_text\">" + COMMUNITY_MESSAGE + "</a>";
  }
  else {
    document.getElementById("community_message").innerHTML = "";
    document.getElementById("community_number").innerHTML  = "";
  }
}