var deployJava={debug:null,firefoxJavaVersion:null,myInterval:null,preInstallJREList:null,returnPage:null,brand:null,locale:null,installType:null,EAInstallEnabled:false,EarlyAccessURL:null,getJavaURL:"http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com",appleRedirectPage:"http://www.apple.com/support/downloads/",oldMimeType:"application/npruntime-scriptable-plugin;DeploymentToolkit",mimeType:"application/java-deployment-toolkit",launchButtonPNG:"http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png",browserName:null,browserName2:null,getJREs:function(){var e=new Array();if(deployJava.isPluginInstalled()){var d=deployJava.getPlugin();var a=d.jvms;for(var c=0;c<a.getLength();c++){e[c]=a.get(c).version}}else{var b=deployJava.getBrowser();if(b=="MSIE"){if(deployJava.testUsingActiveX("1.7.0")){e[0]="1.7.0"}else{if(deployJava.testUsingActiveX("1.6.0")){e[0]="1.6.0"}else{if(deployJava.testUsingActiveX("1.5.0")){e[0]="1.5.0"}else{if(deployJava.testUsingActiveX("1.4.2")){e[0]="1.4.2"}else{if(deployJava.testForMSVM()){e[0]="1.1"}}}}}}else{if(b=="Netscape Family"){deployJava.getJPIVersionUsingMimeType();if(deployJava.firefoxJavaVersion!=null){e[0]=deployJava.firefoxJavaVersion}else{if(deployJava.testUsingMimeTypes("1.7")){e[0]="1.7.0"}else{if(deployJava.testUsingMimeTypes("1.6")){e[0]="1.6.0"}else{if(deployJava.testUsingMimeTypes("1.5")){e[0]="1.5.0"}else{if(deployJava.testUsingMimeTypes("1.4.2")){e[0]="1.4.2"}else{if(deployJava.browserName2=="Safari"){if(deployJava.testUsingPluginsArray("1.7.0")){e[0]="1.7.0"}else{if(deployJava.testUsingPluginsArray("1.6")){e[0]="1.6.0"}else{if(deployJava.testUsingPluginsArray("1.5")){e[0]="1.5.0"}else{if(deployJava.testUsingPluginsArray("1.4.2")){e[0]="1.4.2"}}}}}}}}}}}}}if(deployJava.debug){for(var c=0;c<e.length;++c){alert("We claim to have detected Java SE "+e[c])}}return e},installJRE:function(b){var a=false;if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installJRE(b)){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage}return true}else{return false}}else{return deployJava.installLatestJRE()}},installLatestJRE:function(){if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installLatestJRE()){deployJava.refresh();if(deployJava.returnPage!=null){document.location=deployJava.returnPage}return true}else{return false}}else{var b=deployJava.getBrowser();var a=navigator.platform.toLowerCase();if((deployJava.EAInstallEnabled=="true")&&(a.indexOf("win")!=-1)&&(deployJava.EarlyAccessURL!=null)){deployJava.preInstallJREList=deployJava.getJREs();if(deployJava.returnPage!=null){deployJava.myInterval=setInterval("deployJava.poll()",3000)}location.href=deployJava.EarlyAccessURL;return false}else{if(b=="MSIE"){return deployJava.IEInstall()}else{if((b=="Netscape Family")&&(a.indexOf("win32")!=-1)){return deployJava.FFInstall()}else{location.href=deployJava.getJavaURL+((deployJava.returnPage!=null)?("&returnPage="+deployJava.returnPage):"")+((deployJava.locale!=null)?("&locale="+deployJava.locale):"")+((deployJava.brand!=null)?("&brand="+deployJava.brand):"")}}return false}}},runApplet:function(b,f,d){if(d=="undefined"||d==null){d="1.1"}var e="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var a=d.match(e);if(deployJava.returnPage==null){deployJava.returnPage=document.location}if(a!=null){var c=deployJava.getBrowser();if((c!="?")&&("Safari"!=deployJava.browserName2)){if(deployJava.versionCheck(d+"+")){deployJava.writeAppletTag(b,f)}else{if(deployJava.installJRE(d+"+")){deployJava.refresh();location.href=document.location;deployJava.writeAppletTag(b,f)}}}else{deployJava.writeAppletTag(b,f)}}else{if(deployJava.debug){alert("Invalid minimumVersion argument to runApplet():"+d)}}},writeAppletTag:function(a,f){var d="<applet ";var c=false;for(var e in a){d+=(" "+e+'="'+a[e]+'"');if(e=="code"){c=true}}if(!c){d+=(' code="dummy"')}d+=">";document.write(d);if(f!="undefined"&&f!=null){var b=false;for(var g in f){if(g=="codebase_lookup"){b=true}d='<param name="'+g+'" value="'+f[g]+'">';document.write(d)}if(!b){document.write('<param name="codebase_lookup" value="false">')}}document.write("</applet>")},versionCheck:function(h){var c=0;var f="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var a=h.match(f);if(a!=null){var e=true;var b=new Array();for(var d=1;d<a.length;++d){if((typeof a[d]=="string")&&(a[d]!="")){b[c]=a[d];c++}}if(b[b.length-1]=="+"){e=false;b.length--}else{if(b[b.length-1]=="*"){b.length--}}var g=deployJava.getJREs();for(var d=0;d<g.length;++d){if(deployJava.compareVersionToPattern(g[d],b,e)){return true}}return false}else{alert("Invalid versionPattern passed to versionCheck: "+h);return false}},isWebStartInstalled:function(d){var c=deployJava.getBrowser();if((c=="?")||("Safari"==deployJava.browserName2)){return true}if(d=="undefined"||d==null){d="1.4.2"}var b=false;var e="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var a=d.match(e);if(a!=null){b=deployJava.versionCheck(d+"+")}else{if(deployJava.debug){alert("Invalid minimumVersion argument to isWebStartInstalled(): "+d)}b=deployJava.versionCheck("1.4.2+")}return b},getJPIVersionUsingMimeType:function(){for(var b=0;b<navigator.mimeTypes.length;++b){var c=navigator.mimeTypes[b].type;var a=c.match(/^application\/x-java-applet;jpi-version=(.*)$/);if(a!=null){deployJava.firefoxJavaVersion=a[1];if("Opera"!=deployJava.browserName2){break}}}},launchWebStartApplication:function(a){return false},createWebStartLaunchButtonEx:function(c,b){if(deployJava.returnPage==null){deployJava.returnPage=c}var a="javascript:deployJava.launchWebStartApplication('"+c+"');";document.write('<a href="'+a+'" onMouseOver="window.status=\'\'; return true;"><img src="'+deployJava.launchButtonPNG+'" border="0" /></a>')},createWebStartLaunchButton:function(c,b){if(deployJava.returnPage==null){deployJava.returnPage=c}var a="javascript:if (!deployJava.isWebStartInstalled(&quot;"+b+"&quot;)) {if (deployJava.installLatestJRE()) {if (deployJava.launch(&quot;"+c+"&quot;)) {}}} else {if (deployJava.launch(&quot;"+c+"&quot;)) {}}";document.write('<a href="'+a+'" onMouseOver="window.status=\'\'; return true;"><img src="'+deployJava.launchButtonPNG+'" border="0" /></a>')},launch:function(a){document.location=a;return true},isPluginInstalled:function(){var a=deployJava.getPlugin();if(a&&a.jvms){return true}else{return false}},isAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().isAutoUpdateEnabled()}return false},setAutoUpdateEnabled:function(){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAutoUpdateEnabled()}return false},setInstallerType:function(a){deployJava.installType=a;if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setInstallerType(a)}return false},setAdditionalPackages:function(a){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAdditionalPackages(a)}return false},setEarlyAccess:function(a){deployJava.EAInstallEnabled=a},isPlugin2:function(){if(deployJava.isPluginInstalled()){if(deployJava.versionCheck("1.6.0_10+")){try{return deployJava.getPlugin().isPlugin2()}catch(a){}}}return false},allowPlugin:function(){deployJava.getBrowser();var a=("Safari"!=deployJava.browserName2&&"Opera"!=deployJava.browserName2);return a},getPlugin:function(){deployJava.refresh();var a=null;if(deployJava.allowPlugin()){a=document.getElementById("deployJavaPlugin")}return a},compareVersionToPattern:function(f,b,c){var g="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var h=f.match(g);if(h!=null){var e=0;var j=new Array();for(var d=1;d<h.length;++d){if((typeof h[d]=="string")&&(h[d]!="")){j[e]=h[d];e++}}var a=Math.min(j.length,b.length);if(c){for(var d=0;d<a;++d){if(j[d]!=b[d]){return false}}return true}else{for(var d=0;d<a;++d){if(j[d]<b[d]){return false}else{if(j[d]>b[d]){return true}}}return true}}else{return false}},getBrowser:function(){if(deployJava.browserName==null){var a=navigator.userAgent.toLowerCase();if(deployJava.debug){alert("userAgent -> "+a)}if(a.indexOf("msie")!=-1){deployJava.browserName="MSIE";deployJava.browserName2="MSIE"}else{if(a.indexOf("firefox")!=-1){deployJava.browserName="Netscape Family";deployJava.browserName2="Firefox"}else{if(a.indexOf("chrome")!=-1){deployJava.browserName="Netscape Family";deployJava.browserName2="Chrome"}else{if(a.indexOf("safari")!=-1){deployJava.browserName="Netscape Family";deployJava.browserName2="Safari"}else{if(a.indexOf("mozilla")!=-1){deployJava.browserName="Netscape Family";deployJava.browserName2="Other"}else{if(a.indexOf("opera")!=-1){deployJava.browserName="Netscape Family";deployJava.browserName2="Opera"}else{deployJava.browserName="?";deployJava.browserName2="unknown"}}}}}}if(deployJava.debug){alert("Detected browser name:"+deployJava.browserName+", "+deployJava.browserName2)}}return deployJava.browserName},testUsingActiveX:function(a){var c="JavaWebStart.isInstalled."+a+".0";if(!ActiveXObject){if(deployJava.debug){alert("Browser claims to be IE, but no ActiveXObject object?")}return false}try{return(new ActiveXObject(c)!=null)}catch(b){return false}},testForMSVM:function(){var b="{08B0E5C0-4FCB-11CF-AAA5-00401C608500}";if(typeof oClientCaps!="undefined"){var a=oClientCaps.getComponentVersion(b,"ComponentID");if((a=="")||(a=="5,0,5000,0")){return false}else{return true}}else{return false}},testUsingMimeTypes:function(b){if(!navigator.mimeTypes){if(deployJava.debug){alert("Browser claims to be Netscape family, but no mimeTypes[] array?")}return false}for(var c=0;c<navigator.mimeTypes.length;++c){s=navigator.mimeTypes[c].type;var a=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(a!=null){if(deployJava.compareVersions(a[1],b)){return true}}}return false},testUsingPluginsArray:function(b){if((!navigator.plugins)||(!navigator.plugins.length)){return false}var a=navigator.platform.toLowerCase();for(var c=0;c<navigator.plugins.length;++c){s=navigator.plugins[c].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(deployJava.compareVersions("1.5.0",b)){return true}}else{if(s.search(/^Java/)!=-1){if(a.indexOf("win")!=-1){if(deployJava.compareVersions("1.5.0",b)||deployJava.compareVersions("1.6.0",b)){return true}}}}}if(deployJava.compareVersions("1.5.0",b)){return true}return false},IEInstall:function(){location.href=deployJava.getJavaURL+((deployJava.returnPage!=null)?("&returnPage="+deployJava.returnPage):"")+((deployJava.locale!=null)?("&locale="+deployJava.locale):"")+((deployJava.brand!=null)?("&brand="+deployJava.brand):"")+((deployJava.installType!=null)?("&type="+deployJava.installType):"");return false},done:function(b,a){},FFInstall:function(){location.href=deployJava.getJavaURL+((deployJava.returnPage!=null)?("&returnPage="+deployJava.returnPage):"")+((deployJava.locale!=null)?("&locale="+deployJava.locale):"")+((deployJava.brand!=null)?("&brand="+deployJava.brand):"")+((deployJava.installType!=null)?("&type="+deployJava.installType):"");return false},compareVersions:function(f,g){var d=f.split(".");var c=g.split(".");for(var e=0;e<d.length;++e){d[e]=Number(d[e])}for(var e=0;e<c.length;++e){c[e]=Number(c[e])}if(d.length==2){d[2]=0}if(d[0]>c[0]){return true}if(d[0]<c[0]){return false}if(d[1]>c[1]){return true}if(d[1]<c[1]){return false}if(d[2]>c[2]){return true}if(d[2]<c[2]){return false}return true},enableAlerts:function(){deployJava.browserName=null;deployJava.debug=true},poll:function(){deployJava.refresh();var a=deployJava.getJREs();if((deployJava.preInstallJREList.length==0)&&(a.length!=0)){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage}}if((deployJava.preInstallJREList.length!=0)&&(a.length!=0)&&(deployJava.preInstallJREList[0]!=a[0])){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage}}},writePluginTag:function(){var a=deployJava.getBrowser();if(a=="MSIE"){document.write('<object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" id="deployJavaPlugin" style="height:0px;width:0px;display:none;"></object>')}else{if(a=="Netscape Family"&&deployJava.allowPlugin()){deployJava.writeEmbedTag()}}},refresh:function(){navigator.plugins.refresh(false);var a=deployJava.getBrowser();if(a=="Netscape Family"&&deployJava.allowPlugin()){var b=document.getElementById("deployJavaPlugin");if(b==null){deployJava.writeEmbedTag()}}},writeEmbedTag:function(){var a=false;if(navigator.mimeTypes!=null){for(var b=0;b<navigator.mimeTypes.length;b++){if(navigator.mimeTypes[b].type==deployJava.mimeType){if(navigator.mimeTypes[b].enabledPlugin){document.write('<embed style="height:0px;width:0px;display:none;" id="deployJavaPlugin" type="'+deployJava.mimeType+'" hidden="true" />');a=true}}}if(!a){for(var b=0;b<navigator.mimeTypes.length;b++){if(navigator.mimeTypes[b].type==deployJava.oldMimeType){if(navigator.mimeTypes[b].enabledPlugin){document.write('<embed style="height:0px;width:0px;display:none;" id="deployJavaPlugin" type="'+deployJava.oldMimeType+'" hidden="true" />')}}}}}},do_initialize:function(){deployJava.writePluginTag();if(deployJava.locale==null){var b=null;if(b==null){try{b=navigator.userLanguage}catch(a){}}if(b==null){try{b=navigator.systemLanguage}catch(a){}}if(b==null){try{b=navigator.language}catch(a){}}if(b!=null){b.replace("-","_");deployJava.locale=b}}}};deployJava.do_initialize();function InitiateDrag(e,a){if(e!=null&&e.length>0){if(e.indexOf("http")==0){event.dataTransfer.setData("Text",e);event.dataTransfer.setData("URL",e)}else{if(isWebkitPluginInstalled()){event.dataTransfer.dropEffect="copyLink";if(a!=undefined&&a!=null&&document.getElementById(a)!=null){var d=document.getElementById(a);var c=d.width/2;var b=d.height/2;event.dataTransfer.setDragImage(d,c,b)}document.embeds.webkitDragPlugin.drag_(e)}else{event.dataTransfer.setData("URL",e)}}event.stopPropagation()}}function validateWebkitPlugin(){if(isWebkitPluginInstalled()){var a=document.createElement("embed");a.style.width="0px";a.style.height="0px";a.style.display="none";a.name="webkitDragPlugin";a.type="application/x-mbwebkitdrag";document.documentElement.appendChild(a)}}function getDndSetupUrl(){var a=null;var c=navigator.userAgent.indexOf("MSIE")>=0;var b=navigator.userAgent.toLowerCase().indexOf("firefox")>=0;var d=navigator.userAgent.toLowerCase().indexOf("safari")>=0;if(c&&!isPluginInstalled()){a="drag_setup_getplugin.jsp"}else{if(b&&!isFFPluginInstalled()){a="drag_setup_getplugin.jsp"}else{if(d&&!isWebkitPluginInstalled()){a="drag_setup_getplugin.jsp"}}}if(a==null){if(isJavaInstalled()){a="drag_setup_applet.jsp"}else{a="drag_setup_noapplet.jsp"}}return a}function isDndPluginInstalled(){var d=navigator.userAgent.indexOf("MSIE")>=0;if(d){return isPluginInstalled()}var e=navigator.userAgent.toLowerCase();var c=e.indexOf("firefox")>=0;if(c){return isFFPluginInstalled()}var a=e.indexOf("applewebkit/5")>=0&&e.indexOf("mac os x")>=0;if(a){return isWebkitPluginInstalled()}var b=e.indexOf("applewebkit/4")>=0&&e.indexOf("mac os x")>=0;if(b){return true}return false}var detectableWithVB=false;function isJavaInstalled(){return deployJava.versionCheck("1.5+")}function isWebkitPluginInstalled(){return navigator.mimeTypes["application/x-mbwebkitdrag"]!=undefined}function isFFPluginInstalled(){var a=document.getElementById("dnd-global");return a!=null&&a.getAttribute("FFpluginInstalled")!=null&&a.getAttribute("FFpluginInstalled")=="true"}function isPluginInstalled(){var a=detectPlugin("MBDragFile");if(!a&&detectableWithVB){a=detectActiveXControl("MBDragFile.MBDragFile.1")}return a}function setupDragNDrop(){if(!isPluginInstalled()){return}var j=document.getElementsByTagName("a");var b=j.length;var f=0;for(var d=0;d<b;d++){var e=j.item(d);var g=e.getAttribute("dragPath");if(g){var a=document.createElement("div");var k=createObjectDiv("drag_"+f,g);a.appendChild(k);var h=document.createElement("div");a.appendChild(h);h.style.textAlign="center";h.zIndex=1;e.parentNode.replaceChild(a,e);h.appendChild(e);e.onmouseover=new Function("MM_showHideLayers('drag_"+f+"','', 'show')");e.onmouseout=new Function("MM_showHideLayers('drag_"+f+"','', 'hide')");f++}}}function createObjectDiv(e,c){var a=document.createElement("div");a.id=e;a.name=a.id;a.style.position="relative";a.style.top="35px";a.style.zIndex=4;a.style.visibility="hidden";var b=document.createElement("object");a.appendChild(b);b.classid="CLSID:3ABCAA3C-4948-4DA5-9600-19B33CF39A30";b.style.height=24;b.style.width=24;var d=document.createElement("param");d.name="DragFile";d.value=c;b.appendChild(d);a.innerHTML=a.innerHTML;return a}if((navigator.userAgent.indexOf("MSIE")!=-1)&&(navigator.userAgent.indexOf("Win")!=-1)){document.writeln('<script language="VBscript">');document.writeln("'do a one-time test for a version of VBScript that can handle this code");document.writeln("detectableWithVB = False");document.writeln("If ScriptEngineMajorVersion >= 2 then");document.writeln("  detectableWithVB = True");document.writeln("End If");document.writeln("'this next function will detect most plugins");document.writeln("Function detectActiveXControl(activeXControlName)");document.writeln("  on error resume next");document.writeln("  detectActiveXControl = False");document.writeln("  If detectableWithVB Then");document.writeln("     detectActiveXControl = IsObject(CreateObject(activeXControlName))");document.writeln("  End If");document.writeln("End Function");document.writeln("'and the following function handles QuickTime");document.writeln("Function detectQuickTimeActiveXControl()");document.writeln("  on error resume next");document.writeln("  detectQuickTimeActiveXControl = False");document.writeln("  If detectableWithVB Then");document.writeln("    detectQuickTimeActiveXControl = False");document.writeln("    hasQuickTimeChecker = false");document.writeln('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');document.writeln("    If IsObject(hasQuickTimeChecker) Then");document.writeln("      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ");document.writeln("        detectQuickTimeActiveXControl = True");document.writeln("      End If");document.writeln("    End If");document.writeln("  End If");document.writeln("End Function");document.writeln("<\/script>")}function canDetectPlugins(){return detectableWithVB||(navigator.plugins&&navigator.plugins.length>0)}function detectPlugin(){var c=detectPlugin.arguments;var b=false;if(navigator.plugins&&navigator.plugins.length>0){var a=navigator.plugins.length;for(pluginsArrayCounter=0;pluginsArrayCounter<a;pluginsArrayCounter++){var d=0;for(namesCounter=0;namesCounter<c.length;namesCounter++){if((navigator.plugins[pluginsArrayCounter].name.indexOf(c[namesCounter])>=0)||(navigator.plugins[pluginsArrayCounter].description.indexOf(c[namesCounter])>=0)){d++}}if(d==c.length){b=true;break}}}return b};
