function update()

in src/content/images_www/v6/download/6.1/ml/final/js/download.js [368:649]


function update() {
    var select = document.getElementById("language_select");
    if(select.options[select.selectedIndex].value == MORE_LANG_ID) {
        select.selectedIndex = last_selected_lang;
        window.location = MORE_LANGUAGES_REDIRECT_URL;
    }
    last_selected_lang = select.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] = '<tr><td class="no_padding no_border"><img src="img/warning_badge_text_' + platform + '.gif"/></td><td class="no_padding no_border left"><span class="warning">' + product_display_names[i] + ' is not available for ' + platform_display_name + '.</span></td></tr>';
	     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_JAVAEE) {
            if (product_messages[i] == null) {
                document.getElementById("product_" + i + "_javaee").innerHTML = IMAGE_CHECKED_BEIGE;
            } else {
                document.getElementById("product_" + i + "_javaee").innerHTML = IMAGE_WARNING_BEIGE;
            }
        } else {
            document.getElementById("product_" + i + "_javaee").innerHTML = '';
        }        
		
	if (product_properties[i] & PROPERTY_JAVAME) {
            if (product_messages[i] == null) {
                if( product_uids [i] == "nb-javame" ) {
			document.getElementById("product_" + i + "_javame").innerHTML = IMG_ONE_LEFT + IMAGE_CHECKED_WHITE + IMG_ONE;
		} else {
			if( (platform == "linux") || (platform == "windows") || (platform == "zip")) {
                	    document.getElementById("product_" + i + "_javame").innerHTML = IMAGE_CHECKED_WHITE;
                        }
			else {                        
			     document.getElementById("product_" + i + "_javame").innerHTML = IMAGE_CHECKED_WHITE_NOT_AVAILABLE;
			}
		}
            } else {
                document.getElementById("product_" + i + "_javame").innerHTML = IMAGE_WARNING_WHITE;
            }
        } else {
            document.getElementById("product_" + i + "_javame").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_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;
    }


    document.getElementById("error_message").innerHTML = error_message;
    
    // update the sizes 
    var full_size   = 0;
    var javaee_size = 0;
    var javame_size = 0;
    var java_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_JAVAEE) {
            javaee_size += new Number(product_download_sizes[i]);
        }        	
		
	if (product_properties[i] & PROPERTY_JAVAME) {
            javame_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_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);
    java_size = Math.ceil(java_size / 1024.0);
    javaee_size = Math.ceil(javaee_size / 1024.0);
    javame_size = Math.ceil(javame_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 = 157;
       java_size = 51;
       javaee_size = 102;
       javame_size = 61;
       ruby_size = 40;
       cnd_size = 27;
       php_size = 28;
    } 

    if ((platform.indexOf("solaris")!=-1) || (platform.indexOf("macosx")!=-1)) {
		javame_size = NOT_AVAILABLE_SIZE;
    }   

    document.getElementById("full_size").innerHTML   = FREE_SIZE_MESSAGE.replace('{0}', full_size  );
    document.getElementById("javaee_size").innerHTML = FREE_SIZE_MESSAGE.replace('{0}', javaee_size);    
    document.getElementById("javame_size").innerHTML = FREE_SIZE_MESSAGE.replace('{0}', javame_size);
    document.getElementById("java_size").innerHTML   = FREE_SIZE_MESSAGE.replace('{0}', java_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 Mobility for Solaris and MacOS
    if ((platform.indexOf("solaris")!=-1) || (platform.indexOf("macosx")!=-1)) {
    	document.getElementById("javame_link").innerHTML = DOWNLOAD_IMG_DISABLED;
    	document.getElementById("javame_bundle_name").innerHTML = '<a class="bundle_display_name_no">' + getBundleLongName("mobility") + '</a>';
	document.getElementById("mobility_end2end_message").innerHTML = "";
	document.getElementById("mobility_end2end_number").innerHTML  = "";
    } else {
    	document.getElementById("javame_link").innerHTML = '<a href="javascript: download(\'mobility\')">' + DOWNLOAD_IMG + '</a>';
        document.getElementById("javame_bundle_name").innerHTML = '<a class="bundle_display_name">' + getBundleLongName("mobility") + '</a>';
	document.getElementById("mobility_end2end_number").innerHTML  = "<a class=\"special_message_number\">1</a>";
	document.getElementById("mobility_end2end_message").innerHTML = "<a class=\"special_message_text\">" + MOBILITY_E2E_MESSAGE + "</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}',JDK_DOWNLOAD_LINK).replace('{1}',NBJDK_DOWNLOAD_LINK).replace('{2}',JDK_LATEST_UPDATE);
    }
    if (COMMUNITY_BUILD == 1) {
	document.getElementById("community_number").innerHTML  = "<a class=\"special_message_number\">2</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  = "";
    }
}