blob: e43ab1edfd17faf95cca1e7dfaa5a7ae8d1a694d [file] [log] [blame]
/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
*
* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
*
* The contents of this file are subject to the terms of either the GNU General
* Public License Version 2 only ("GPL") or the Common Development and Distribution
* License("CDDL") (collectively, the "License"). You may not use this file except in
* compliance with the License. You can obtain a copy of the License at
* https://netbeans.org/cddl-gplv2.html or nbbuild/licenses/CDDL-GPL-2-CP. See the
* License for the specific language governing permissions and limitations under the
* License. When distributing the software, include this License Header Notice in
* each file and include the License file at nbbuild/licenses/CDDL-GPL-2-CP. Sun
* designates this particular file as subject to the "Classpath" exception as
* provided by Sun in the GPL Version 2 section of the License file that
* accompanied this code. If applicable, add the following below the License Header,
* with the fields enclosed by brackets [] replaced by your own identifying
* information: "Portions Copyrighted [year] [name of copyright owner]"
*
* Contributor(s):
*
* The Original Software is NetBeans. The Initial Developer of the Original Software
* is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun Microsystems, Inc. All
* Rights Reserved.
*
* If you wish your version of this file to be governed by only the CDDL or only the
* GPL Version 2, indicate your decision by adding "[Contributor] elects to include
* this software in this distribution under the [CDDL or GPL Version 2] license." If
* you do not indicate a single choice of license, a recipient has the option to
* distribute your version of this file under either the CDDL, the GPL Version 2 or
* to extend the choice of license to its licensees as provided above. However, if
* you add GPL Version 2 code and therefore, elected the GPL Version 2 license, then
* the option applies only if the new code is made subject to such option by the
* copyright holder.
*/
var PROPERTY_NONE = 0;
var PROPERTY_FULL = 1;
var PROPERTY_JAVA = 2;
var PROPERTY_JAVASE = 8;
var PROPERTY_JAVAFX = 16;
var PROPERTY_RUBY = 32;
var PROPERTY_CND = 64;
var PROPERTY_PHP = 128;
var PROPERTY_HIDDEN = 256;
var INFO_ICON = IMG_LOCATION + "info_icon.gif";
var INFO_ICON_H = IMG_LOCATION + "info_icon_h.gif";
var CHECKED_WHITE_SRC = IMG_LOCATION + "checked_badge_white.gif";
var CHECKED_BEIGE_SRC = IMG_LOCATION + "checked_badge_beige.gif";
var WARNING_WHITE_SRC = IMG_LOCATION + "warning_badge_white.gif";
var WARNING_BEIGE_SRC = IMG_LOCATION + "warning_badge_beige.gif";
var CHECKED_WHITE_NA_SRC = IMG_LOCATION + "checked_badge_notavailable.gif";
var CHECKED_WHITE_NA_SRC = IMG_LOCATION + "checked_badge_notavailable.gif";
var IMAGE_CHECKED_WHITE_NOT_AVAILABLE = '<img src="' + CHECKED_WHITE_NA_SRC + '"/>';
var DOWNLOAD_BUTTON_NORMAL_SRC = IMG_LOCATION + DOWNLOAD_BUTTON_NORMAL;
var DOWNLOAD_BUTTON_DISABLED_SRC = IMG_LOCATION + DOWNLOAD_BUTTON_DISABLED;
var DOWNLOAD_BUTTON_HIGHLIGHT_SRC = IMG_LOCATION + DOWNLOAD_BUTTON_HIGHLIGHT;
var DOWNLOAD_IMG = '<img onmouseover="this.src=&quot;' + DOWNLOAD_BUTTON_HIGHLIGHT_SRC + '&quot;" onmouseout="this.src=&quot;' + DOWNLOAD_BUTTON_NORMAL_SRC + '&quot;" src="' + DOWNLOAD_BUTTON_NORMAL_SRC + '" style="cursor: pointer; border: 0;"/>';
var DOWNLOAD_IMG_DISABLED = '<img src="' + DOWNLOAD_BUTTON_DISABLED_SRC + '" style="border: 0;"/>';
var IMAGE_CHECKED_WHITE = '<img src="' + CHECKED_WHITE_SRC + '"/>';
var IMAGE_WARNING_WHITE = '<img src="' + WARNING_WHITE_SRC + '"/>';
var IMAGE_CHECKED_BEIGE = '<img src="' + CHECKED_BEIGE_SRC + '"/>';
var IMAGE_WARNING_BEIGE = '<img src="' + WARNING_BEIGE_SRC + '"/>';
var NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG_NUMBER = "1";
var download_tabs_number = 0;
var last_selected_lang = 0;
var MORE_LANG_ID = "more";
function handle_keyup(event) {
//if (event.keyCode == 13) {
// download('standard');
//}
}
function initialize() {
if (document.images) {
download_on = new Image();
download_on.src = DOWNLOAD_BUTTON_NORMAL_SRC;
download_off= new Image();
download_off.src = DOWNLOAD_BUTTON_DISABLED_SRC;
download_hl = new Image();
download_hl.src = DOWNLOAD_BUTTON_HIGHLIGHT_SRC;
info = new Image();
info.src = INFO_ICON;
info_h = new Image();
info_h.src = INFO_ICON_H;
chw = new Image();
chw.src = CHECKED_WHITE_SRC;
chb = new Image();
chb.src = CHECKED_BEIGE_SRC;
ww = new Image();
ww.src = WARNING_WHITE_SRC;
wb = new Image();
wb.src = WARNING_BEIGE_SRC;
chwna = new Image();
chwna.src = CHECKED_WHITE_NA_SRC;
}
}
function write_languages() {
for(var i=0; i < LANGUAGE_IDS.length; i++ ) {
document.write('<option value="' + LANGUAGE_IDS[i] + '">' + LANGUAGE_NAMES[i] + '</option>');
}
if(ADD_MORE_REDIRECT_VALUE == 1) {
document.write('<option value="' + MORE_LANG_ID + '">' + MORE_LANGUAGES + '</option>');
}
}
function write_platforms() {
for(var i=0; i < PLATFORM_IDS.length; i++ ) {
document.write('<option value="' + PLATFORM_IDS[i] + '">' + PLATFORM_LONG_NAMES[i] + '</option>');
}
}
function write_components() {
for (var i = 0; i < group_products.length; i++) {
// skip the first group name as it goes to the title of the table
if (i != 0) {
document.write('<tr class="row_hover bottom_border top_border">');
document.write(' <th class="onhover_change left">' + ((i==1) ? BUNDLED_SERVERS_GROUP_NAME : group_display_names[i]) + '</th>');
document.write(' <th class="onhover_change beige left_border"></th>');
document.write(' <th class="onhover_change left_border"></th>');
document.write(' <th class="onhover_change beige left_border"></th>');
document.write(' <th class="onhover_change left_border"></th>');
document.write(' <th class="onhover_change beige left_border"></th>');
document.write(' <th class="onhover_change left_border"></th>');
//document.write(' <th class="onhover_change left_border"></th>');
document.write(' <th class="onhover_change beige left_border right_border"></th>');
document.write('</tr>');
}
for (var j = 0; j < group_products[i].length; j++) {
var index = group_products[i][j];
if (product_properties[index] & PROPERTY_HIDDEN) {
continue;
}
document.write('<tr class="row_hover"' + (j % 2 ? ' class="even"' : '') + '>');
document.write(' <td class="onhover_change left">');
document.write('<div id="product_' + index + '_description" class="pop_up">' + '<span style="font-weight:bold">'+ product_display_names[index] + '</span><br><br>' + product_descriptions[index] + '</div>');
document.write('<img src="' + INFO_ICON + '" onmouseover="this.src=&quot;' + INFO_ICON_H + '&quot;;show_description(' + index + ');" onmouseout="this.src=&quot;' + INFO_ICON + '&quot;;hide_description(' + index + ');"></img>');
//document.write('<span id="product_' + index + '_display_name" onmouseover="show_description(' + index + ');" onmouseout="hide_description(' + index + ');"><a class="product_display_name">' + product_display_names[index] + '</a></span>');
document.write('<span id="product_' + index + '_display_name""><a class="product_display_name">' + product_display_names[index] + '</a></span>');
if (product_notes[j] != '') {
document.write('<br><span class="product_note">' + product_notes[index] + '</span>');
}
document.write(' </td>');
document.write(' <td class="onhover_change beige left_border" id="product_' + index + '_javase"></td>');
document.write(' <td class="onhover_change left_border" id="product_' + index + '_javafx"></td>');
document.write(' <td class="onhover_change beige left_border" id="product_' + index + '_java"></td>');
document.write(' <td class="onhover_change left_border" id="product_' + index + '_ruby"></td>');
document.write(' <td class="onhover_change beige left_border" id="product_' + index + '_cnd"></td>');
document.write(' <td class="onhover_change left_border" id="product_' + index + '_php"></td>');
document.write(' <td class="onhover_change beige left_border right_border" id="product_' + index + '_full"></td>');
document.write('</tr>');
}
}
}
function write_table_header() {
document.write('<tr class="no_hover">');
document.write('<td class="no_border no_padding"></td>');
document.write('<td class="no_border no_padding" colspan="6">');
document.write('<table class="components_table">');
document.write('<tr class="no_hover">');
document.write(' <td class="no_hover header" colspan="6">' + (COMMUNITY_BUILD == 1 ? (NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG + '<span class="community_note_number">' + NETBEANS_DOWNLOAD_BUNDLES_COMMUNITY_MSG_NUMBER + '</span>') : NETBEANS_DOWNLOAD_BUNDLES_MSG) + '</td>');
document.write('</tr></table>');
document.write('</td>');
document.write('</tr>');
document.write('<br><br>');
document.write('<tr class="no_hover">');
document.write('<th class="left no_border bottom_border wide bottom">' + NETBEANS_PACKS_MSG + '<a class="star">*</a></th>');
document.write('<td class="no_border bottom_border" id="javase_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("javase") + '</a></td>');
document.write('<td class="no_border bottom_border" id="javafx_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("javafx") + '</a></td>');
document.write('<td class="no_border bottom_border" id="java_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("java") + '</a></td>');
document.write('<td class="no_border bottom_border" id="ruby_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("ruby") + '</a></td>');
document.write('<td class="no_border bottom_border" id="cnd_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("cpp") + '</a></td>');
document.write('<td class="no_border bottom_border" id="php_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("php") + '</a></td>');
document.write('<td class="no_border bottom_border" id="full_bundle_name"> <a class="bundle_display_name">' + getBundleLongName("all") + '</a></td>');
document.write('</tr>');
}
function write_table_footer() {
document.write('<tr class="column_hover">');
document.write('<th class="no_hover left no_border wide bottom">&nbsp;</th>');
document.write('<td class="no_border download_button" id="javase_link"><a href="javascript: download(\'javase\')" id="javase_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="javafx_link"><a href="javascript: download(\'javafx\')" id="javafx_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="java_link"> <a href="javascript: download(\'java\')" id="java_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="ruby_link"> <a href="javascript: download(\'ruby\')" id="ruby_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="cnd_link"> <a href="javascript: download(\'cpp\')" id="cnd_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="php_link"> <a href="javascript: download(\'php\')" id="php_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('<td class="no_border download_button" id="full_link"> <a href="javascript: download(\'all\')" id="full_name"> ' + DOWNLOAD_IMG + '</a></td>');
document.write('</tr>');
}
function write_components_sizes() {
document.write('<tr class="no-hover">');
document.write('<td class="no_border"></td>');
document.write('<td class="no_border" id="javase_size"></td>');
document.write('<td class="no_border" id="javafx_size"></td>');
document.write('<td class="no_border" id="java_size"></td>');
document.write('<td class="no_border" id="ruby_size"></td>');
document.write('<td class="no_border" id="cnd_size"></td>');
document.write('<td class="no_border" id="php_size"></td>');
document.write('<td class="no_border" id="full_size"></td>');
document.write('</tr>');
}
function show_description(index) {
document.getElementById('product_' + index + '_description').style.visibility = 'visible';
}
function hide_description(index) {
document.getElementById('product_' + index + '_description').style.visibility = 'hidden';
}
<!-- HIGHLIGHTING STARTS -->
function highlight(){
var table = document.getElementById("components_table");
var tr = table.getElementsByTagName("tr");
var cells = new Array();
for (var i=0;i<tr.length;i++){
var arr = new Array();
for(var j=0;j<tr[i].childNodes.length;j++){
var node = tr[i].childNodes[j];
if(node.nodeType==1) arr.push(node);
}
cells.push(arr);
}
for (var i=0;i<tr.length;i++){
var arr = cells[i];
for (var j=0;j<arr.length;j++){
arr[j].row = i;
arr[j].col = j;
if(arr[j].innerHTML == "&nbsp;" || arr[j].innerHTML == "") arr[j].className += " empty";
arr[j].css = arr[j].className;
arr[j].hlCol = false;
arr[j].hlRow = false;
var classname = tr[i].className;
if( classname.indexOf("column_hover") != -1) {
arr[j].hlCol = true;
}
if(classname.indexOf("row_hover") != -1) {
arr[j].hlRow = true;
}
if(arr[j].className.indexOf("no_hover") != -1) {
arr[j].hlRow = false;
arr[j].hlCol = false;
}
if(arr[j].hlRow || arr[j].hlCol) {
arr[j].onmouseover = function(){
over(table,cells,this);
}
arr[j].onmouseout = function(){
out(table,cells,this);
}
}
}
}
}
function over(table,cells,obj){
if (!obj.hlCol && !obj.hlRow) obj.className = obj.css + " over";
if(!(obj.col == 0 && obj.className.indexOf("empty") != -1)) {
if(obj.hlRow) highlightRow(table,cells,obj.row);
if(obj.hlCol) highlightCol(table,cells,obj.col);
}
}
function out(table,cells,obj){
if (!obj.hlCol && !obj.hlRow) obj.className = obj.css;
unhighlightRow(table,cells,obj.row);
unhighlightCol(table,cells,obj.col);
}
function highlightCol(table,cells,col){
var css = "over";
for (var i=0;i<cells.length;i++){
var arr = cells[i];
if(col<arr.length) {
var obj = arr[col];
if (obj.className.indexOf("onhover_change")!=-1) {
obj.className = obj.css + " " + css;
}
}
}
}
function unhighlightCol(table,cells,col){
for (var i=0;i<cells.length;i++){
var arr = cells[i];
if(col<arr.length) {
var obj = arr[col];
obj.className = obj.css;
}
}
}
function highlightRow(table,cells,row){
var css = "over";
var tr = table.getElementsByTagName("tr")[row];
for (var i=0;i<tr.childNodes.length;i++){
var obj = tr.childNodes[i];
obj.className = obj.css + " " + css;
}
}
function unhighlightRow(table,cells,row){
var tr = table.getElementsByTagName("tr")[row];
for (var i=0;i<tr.childNodes.length;i++){
var obj = tr.childNodes[i];
obj.className = obj.css;
}
}
<!-- HIGHLIGHTING END -->
function detect_platform() {
var agent = navigator.userAgent;
if (agent.indexOf("Windows") != -1) {
document.getElementById("platform_select").selectedIndex = 0;
}
if (agent.indexOf("Linux") != -1) {
document.getElementById("platform_select").selectedIndex = 1;
}
if (agent.indexOf("SunOS i86pc") != -1) {
document.getElementById("platform_select").selectedIndex = 2;
}
if (agent.indexOf("SunOS sun4") != -1) {
document.getElementById("platform_select").selectedIndex = 3;
}
if (agent.indexOf("Intel Mac OS") != -1) {
document.getElementById("platform_select").selectedIndex = 4;
}
if (agent.indexOf("PPC Mac OS") != -1) {
document.getElementById("platform_select").selectedIndex = 4;
}
}
function select_language() {
var language = get_language(LANGUAGE_IDS);
var select = document.getElementById("language_select");
var languageOptions = select.options;
for(var i=0;i<languageOptions.length;i++) {
if(languageOptions[i].value == language) select.selectedIndex = i;
}
last_selected_lang = select.selectedIndex;
}
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" || platform == "linux" || platform == "solaris-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 && platform!="linux" && platform!="solaris-x86") {
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 sparc and zip
if (platform == "windows" || platform.indexOf("macosx")!=-1 || platform == "linux" || platform == "solaris-x86") {
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 = "";
}
}
function is_compatible(index, platform) {
if ( platform == "zip" && product_uids[index] != "nb-javafx") {
for (var i = 0; i < group_products.length; i++) {
for (var j = 0; j < group_products[i].length; j++) {
var idx = group_products[i][j];
if((idx==index) && (i == 0) ) {
return true;
}
}
}
} else {
for (var i = 0; i < product_platforms[index].length; i++) {
if (product_platforms[index][i] == platform) {
return true;
}
}
}
return false;
}
function get_file_size_mb(name,defaultValue) {
var size = getSize(name);
if(size=="") {
size = defaultValue;
} else {
size = Math.ceil(size / (1024 * 1024));
}
return size;
}
function add_download_tab(name, url) {
if(download_tabs_number!=0) {
document.write(" | ");
}
if(url) {
writeUrl(url,name);
} else {
message('<span class="download_tab_active">' + name + '</span>');
}
download_tabs_number++;
}
function write_files_list(title,directory) {
document.write('<h1>' + title + '</h1>');
document.write('<ul>');
var lst = get_file_list(directory);
for(var i=0;i<lst.length;i++) {
var item_display_name = lst[i];
var item_link = "javascript: download_file(\'" + directory + lst[i] + "\')";
document.write('<li><a href="' + item_link + '">' + item_display_name + '</a></li>');
}
document.write('</ul><br>');
}
function open_zip_link() {
var overriden_language=get_overridden_language();
var zip_url = ZIP_PAGE;
if(overriden_language!=DEFAULT_LANGUAGE) {
zip_url += "?" + PAGELANG_SEP + overriden_language;
}
window.location = zip_url;
}
function download_file(filename) {
var download_url = START_PAGE;
download_url += "?filename=" + filename;
var overriden_language=get_overridden_language();
if(overriden_language!=DEFAULT_LANGUAGE) {
download_url += "&" + PAGELANG_SEP + overriden_language;
}
if(ADD_VERSION_INFO_TO_URL == 1) {
download_url += "&version=" + BUILD_DISPLAY_VERSION_SHORT;
}
window.location = download_url;
}
function download(option) {
var select = document.getElementById("platform_select");
var platform = select.options[select.selectedIndex].value;
var download_url = START_PAGE;
download_url += "?platform=" + platform;
var language_select = document.getElementById("language_select");
var language = language_select.options[language_select.selectedIndex].value;
download_url += "&lang=" + language;
download_url += "&option=" + option;
var email = document.getElementById("emailfield").value;
if(email!="" && email.indexOf(".")!=-1 && email.indexOf("@")!=-1 && email.indexOf("&")==-1 && email.indexOf("?")==-1) {
var monthly = (document.getElementById("monthlycb").checked ? 1 : 0);
var weekly = (document.getElementById("weeklycb").checked ? 1 : 0);
var contact = (document.getElementById("contactcb").checked ? 1 : 0);
if(monthly==1 || weekly ==1 || contact==1) {
download_url+= "&email=" + email;
download_url+= "&monthly=" + monthly;
download_url+= "&weekly=" + weekly;
download_url+= "&contact=" + contact;
}
}
var overriden_language=get_overridden_language();
if(overriden_language!=DEFAULT_LANGUAGE) {
download_url += "&" + PAGELANG_SEP + overriden_language;
}
if(ADD_VERSION_INFO_TO_URL == 1) {
download_url += "&version=" + BUILD_DISPLAY_VERSION_SHORT;
}
/** download contest
* parse the page URL for 'fid', 'me' parameters, use them for calling the
* contest backend script using new Image() object
*/
var fid=getQueryVariable('fid');
var me=getQueryVariable('me');
if(fid && me) {
//var callBackend = new Image();
//callBackend.src = dlConntestBackedndUrl+'&fid='+fid+'&me='+me;
//callBackend.style.display="none";
download_url+='&fid='+fid+'&me='+me;
}
window.location = download_url;
}
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return null;
}