/*
                                ,_-=(!7(7/zs_.
                             .='  ' .`/,/!(=)Zm.
               .._,,._..  ,-`- `,\ ` -` -`\\7//WW.
          ,v=~/.-,-\- -!|V-s.)iT-|s|\-.'   `///mK%.
        v!`i!-.e]-g`bT/i(/[=.Z/m)K(YNYi..   /-]i44M.
      v`/,`|v]-DvLcfZ/eV/iDLN\D/ZK@%8W[Z..   `/d!Z8m	deployJMath3D.js
     //,c\(2(X/NYNY8]ZZ/bZd\()/\7WY%WKKW)   -'|(][%4.	23 mai 2010
   ,\\i\c(e)WX@WKKZKDKWMZ8(b5/ZK8]Z7%ffVM,   -.Y!bNMi
   /-iit5N)KWG%%8%%%%W8%ZWM(8YZvD)XN(@.  [   \]!/GXW[	reprend deployJava.js	
  / ))G8\NMN%W%%%%%%%%%%8KK@WZKYK*ZG5KMi,-   vi[NZGM[	de Sun Microsystems
 i\!(44Y8K%8%%%**~YZYZ@%%%%%4KWZ/PKN)ZDZ7   c=//WZK%!	en ajoutant l'objet
,\v\YtMZW8W%%f`,`.t/bNZZK%%W%%ZXb*K(K5DZ   -c\\/KM48	deployJMath3D qui a 4
-|c5PbM4DDW%f  v./c\[tMY8W%PMW%D@KW)Gbf   -/(=ZZKM8[	fonctions :
2(N8YXWK85@K   -'c|K4/KKK%@  V%@@WD8e~  .//ct)8ZK%8`
=)b%]Nd)@KM[  !'\cG!iWYK%%|   !M@KZf    -c\))ZDKW%`		·runApplet() pour lancer
YYKWZGNM4/Pb  '-VscP4]b@W%     'Mf`   -L\///KM(%W!		l'applet JMath3D
!KKW4ZK/W7)Z. '/cttbY)DKW%     -`  .',\v)K(5KW%%f
'W)KWKZZg)Z2/,!/L(-DYYb54%  ,,`, -\-/v(((KK5WW%f		·runInfoApplet() pour
 \M4NDDKZZ(e!/\7vNTtZd)8\Mi!\-,-/i-v((tKNGN%W%%			lancer une applet
 'M8M88(Zd))///((|D\tDY\\KK-`/-i(=)KtNNN@W%%%@%[		d'information sur la
  !8%@KW5KKN4///s(\Pd!ROBY8/=2(/4ZdzKD%K%%%M8@%%		configuration OpenGL
   '%%%W%dGNtPK(c\/2\[Z(ttNYZ2NZW8W8K%%%%YKM%M%%.
     *%%W%GW5@/%!e]_tZdY()v)ZXMZW%W%%%*5Y]K%ZK%8[		.getApplet() pour
      '*%%%%8%8WK\)[/ZmZ/Zi]!/M%%%%@f\ \Y/NNMK%%!		obtenir une référence
        'VM%%%%W%WN5Z/Gt5/b)((cV@f`  - |cZbMKW%%|		à l'applet et
           'V*M%%%WZ/ZG\t5((+)L'-,,/  -)X(NWW%%			communiquer avec elle.
                `~`MZ/DZGNZG5(((\,    ,t\\Z)KW%@
                   'M8K%8GN8\5(5///]i!v\K)85W%%f		.setAppletParameters()
                     YWWKKKKWZ8G54X/GGMeK@WM8%@			pour changer en bloc
                      !M8%8%48WG@KWYbW%WWW%%%@			les paramètres de
                        VM%WKWK%8K%%8WWWW%%%@`			l'applet.
                          ~*%%%%%%W%%%%%%%@~
                             ~*MM%%%%%%@f`
                                 '''''
*/

if(!deployJMath3D) {
var deployJMath3D = new function() {
	var appletCount = 0;
	var namePrefix = "JMath3DApplet";

	this.runApplet = function(width, height, parameters){ runApplet('JMath3D', width, height, parameters);	}
	this.runInfoApplet = function(width, height){ runApplet('OpenGLInfo', width, height, null);	};
	this.getApplet = function(n) {
		if(!n) n='0';
		var applet = document.getElementById(namePrefix+n);
		var sub;
		try { sub = applet.getSubApplet(); }		// via applet-launcher
		catch(e) {};
		if(sub) applet = applet.getSubApplet();
		return applet;
	};
	this.setAppletParameters = function(params, n) {
		if(!n) n = '0';
		var applet = this.getApplet(n);
		// change le fichier d'abord
		if(params && params.model)
			try {
				applet.setParameter('model', params.model);

				// Change les autres paramètres après
				// Les paramètres numériques doivent être convertis ici en chaînes de caractères,
				// sinon le nombre 0.5 peut être passé comme simplement "0" (FF 3.5.2)
				for(var paramName in params)
					if(paramName != 'model')
						applet.setParameter(paramName, params[paramName].toString());

				return true;
			} catch(e) { return false; }
	};
	// appletName = JMath3D ou OpenGLInfo
	var runApplet = function(appletName, width, height, parameters){
		// Crée les attributs de la balise <applet> correspondant aux dimensions indiquées et à l'appel de JNLPAppletLauncher.
		var attributes = {
			codebase:'http://jmath3d.aspirine.org/download/',
			code:'org.jdesktop.applet.util.JNLPAppletLauncher',
			archive:appletName+".jar, "
				+ "applet-launcher.jar, "		// sur le même seveur pour autoriser la communication avec JS
				+ "http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jar, "
				+ "http://download.java.net/media/gluegen/webstart/gluegen-rt.jar"
		}
		attributes.width = width;
		attributes.height = height;
		attributes.id = namePrefix + appletCount;
		appletCount++;

		// Crée les paramètres d'appel du fichier jnlp
		var launcherParameters = {};											// recopie les paramètres utilisateur
		for(var prop in parameters)
			launcherParameters[prop] = parameters[prop];						// uneval() et toSource() ne marchent que dans SpiderMonkey
		launcherParameters.jnlp_href = appletName+".jnlp";						// provoque le lancement par jnlp si un plugin 2 est installé
		launcherParameters.java_arguments = "-Dsun.java2d.noddraw=true";
		if(appletName == "JMath3D")
			launcherParameters.java_arguments += " -Xmx128m";
		launcherParameters.separate_jvm = 'true';

		// Crée les paramètres d'appel de JNLPAppletLauncher, si un ancien plugin est installé
		launcherParameters["subapplet.classname"] = "fr.geocube."+appletName;
		launcherParameters["subapplet.displayname"] = appletName;
		launcherParameters["noddraw.check"] = "true";
		launcherParameters.progressbar = "true";
		launcherParameters.jnlpNumExtensions = "1";
		launcherParameters.jnlpExtension1 = "http://download.java.net/media/jogl/builds/archive/jsr-231-webstart-current/jogl.jnlp";
		deployJava.runApplet(attributes, launcherParameters, '1.6');	// ça marche pas avec '1.6+'
	}
}

/*

 \|/ ____ \|/ 
  @~/ ,. \~@		Dessous : le fichier http://java.com/js/deployJava.js original.
 /_( \__/ )_\		À la fin, 2 versions modifiées de fonctions pour Opera.
----\__U_/----

*/
var deployJava={debug: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',getJREs:function(){var list=new Array();if(deployJava.isPluginInstalled()){var plugin=deployJava.getPlugin();var VMs=plugin.jvms;for(var i=0;i<VMs.getLength();i++){list[i]=VMs.get(i).version;}}else{var browser=deployJava.getBrowser();if(browser=='MSIE'){if(deployJava.testUsingActiveX('1.8.0')){list[0]='1.8.0';}else if(deployJava.testUsingActiveX('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingActiveX('1.6.0')){list[0]='1.6.0';}else if(deployJava.testUsingActiveX('1.5.0')){list[0]='1.5.0';}else if(deployJava.testUsingActiveX('1.4.2')){list[0]='1.4.2';}else if(deployJava.testForMSVM()){list[0]='1.1';}}
else if(browser=='Netscape Family'){if(deployJava.testUsingMimeTypes('1.8')){list[0]='1.8.0';}else if(deployJava.testUsingMimeTypes('1.7')){list[0]='1.7.0';}else if(deployJava.testUsingMimeTypes('1.6')){list[0]='1.6.0';}else if(deployJava.testUsingMimeTypes('1.5')){list[0]='1.5.0';}else if(deployJava.testUsingMimeTypes('1.4.2')){list[0]='1.4.2';}}else if(browser=='Safari'){if(deployJava.testUsingPluginsArray('1.8.0')){list[0]='1.8.0';}else if(deployJava.testUsingPluginsArray('1.7.0')){list[0]='1.7.0';}else if(deployJava.testUsingPluginsArray('1.6.0')){list[0]='1.6.0';}else if(deployJava.testUsingPluginsArray('1.5.0')){list[0]='1.5.0';}else if(deployJava.testUsingPluginsArray('1.4.2')){list[0]='1.4.2';}}}
if(deployJava.debug){for(var i=0;i<list.length;++i){alert('We claim to have detected Java SE '+list[i]);}}
return list;},installJRE:function(requestVersion){var ret=false;if(deployJava.isPluginInstalled()){if(deployJava.getPlugin().installJRE(requestVersion)){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 browser=deployJava.getBrowser();var platform=navigator.platform.toLowerCase();if((deployJava.EAInstallEnabled=='true')&&(platform.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(browser=='MSIE'){return deployJava.IEInstall();}else if((browser=='Netscape Family')&&(platform.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(attributes,parameters,minimumVersion){if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.1';}
var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(deployJava.returnPage==null){deployJava.returnPage=document.location;}
if(matchData!=null){var browser=deployJava.getBrowser();if((browser!='?')&&(browser!='Safari')){if(deployJava.versionCheck(minimumVersion+'+')){deployJava.writeAppletTag(attributes,parameters);}else if(deployJava.installJRE(minimumVersion+'+')){deployJava.refresh();location.href=document.location;deployJava.writeAppletTag(attributes,parameters);}}else{deployJava.writeAppletTag(attributes,parameters);}}else{if(deployJava.debug){alert('Invalid minimumVersion argument to runApplet():'+
minimumVersion);}}},writeAppletTag:function(attributes,parameters){var s='<'+'applet ';for(var attribute in attributes){s+=(' '+attribute+'="'+attributes[attribute]+'"');}
s+='>';document.write(s);if(parameters!='undefined'&&parameters!=null){var codebaseParam=false;for(var parameter in parameters){if(parameter=='codebase_lookup'){codebaseParam=true;}
s='<param name="'+parameter+'" value="'+
parameters[parameter]+'">';document.write(s);}
if(!codebaseParam){document.write('<param name="codebase_lookup" value="false">');}}
document.write('<'+'/'+'applet'+'>');},versionCheck:function(versionPattern)
{var index=0;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$";var matchData=versionPattern.match(regex);if(matchData!=null){var familyMatch=true;var patternArray=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!='')){patternArray[index]=matchData[i];index++;}}
if(patternArray[patternArray.length-1]=='+'){familyMatch=false;patternArray.length--;}else{if(patternArray[patternArray.length-1]=='*'){patternArray.length--;}}
var list=deployJava.getJREs();for(var i=0;i<list.length;++i){if(deployJava.compareVersionToPattern(list[i],patternArray,familyMatch)){return true;}}
return false;}else{alert('Invalid versionPattern passed to versionCheck: '+
versionPattern);return false;}},isWebStartInstalled:function(minimumVersion){var browser=deployJava.getBrowser();if((browser=='?')||(browser=='Safari')){return true;}
if(minimumVersion=='undefined'||minimumVersion==null){minimumVersion='1.4.2';}
var retval=false;var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=minimumVersion.match(regex);if(matchData!=null){retval=deployJava.versionCheck(minimumVersion+'+');}else{if(deployJava.debug){alert('Invalid minimumVersion argument to isWebStartInstalled(): '+minimumVersion);}
retval=deployJava.versionCheck('1.4.2+');}
return retval;},createWebStartLaunchButton:function(jnlp,minimumVersion){if(deployJava.returnPage==null){deployJava.returnPage=jnlp;}
var url='javascript:'+'if (!deployJava.isWebStartInstalled(&quot;'+
minimumVersion+'&quot;)) {'+'if (deployJava.installLatestJRE()) {'+'if (deployJava.launch(&quot;'+jnlp+'&quot;)) {}'+'}'+'} else {'+'if (deployJava.launch(&quot;'+jnlp+'&quot;)) {}'+'}';document.write('<'+'a href="'+url+'" onMouseOver="window.status=\'\'; '+'return true;"><'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>');},launch:function(jnlp){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().launch(jnlp);}else{document.location=jnlp;return true;}},isPluginInstalled:function(){var plugin=deployJava.getPlugin();if(plugin&&plugin.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(type){deployJava.installType=type;if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setInstallerType(type);}
return false;},setAdditionalPackages:function(packageList){if(deployJava.isPluginInstalled()){return deployJava.getPlugin().setAdditionalPackages(packageList);}
return false;},setEarlyAccess:function(enabled){deployJava.EAInstallEnabled=enabled;},isPlugin2:function(){if(deployJava.isPluginInstalled()){if(deployJava.versionCheck('1.6.0_10+')){try{return deployJava.getPlugin().isPlugin2();}catch(err){}}}
return false;},getPlugin:function(){deployJava.refresh();var ret=document.getElementById('deployJavaPlugin');return ret;},compareVersionToPattern:function(version,patternArray,familyMatch){var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$";var matchData=version.match(regex);if(matchData!=null){var index=0;var result=new Array();for(var i=1;i<matchData.length;++i){if((typeof matchData[i]=='string')&&(matchData[i]!=''))
{result[index]=matchData[i];index++;}}
var l=Math.min(result.length,patternArray.length);if(familyMatch){for(var i=0;i<l;++i){if(result[i]!=patternArray[i])return false;}
return true;}else{for(var i=0;i<l;++i){if(result[i]<patternArray[i]){return false;}else if(result[i]>patternArray[i]){return true;}}
return true;}}else{return false;}},getBrowser:function(){var browser=navigator.userAgent.toLowerCase();if(deployJava.debug){alert('userAgent -> '+browser);}
if((navigator.vendor)&&(navigator.vendor.toLowerCase().indexOf('apple')!=-1)&&(browser.indexOf('safari')!=-1)){if(deployJava.debug){alert('We claim to have detected "Safari".');}
return'Safari';}else if(browser.indexOf('msie')!=-1){if(deployJava.debug){alert('We claim to have detected "IE".');}
return'MSIE';}else if((browser.indexOf('mozilla')!=-1)||(browser.indexOf('firefox')!=-1)){if(deployJava.debug){alert('We claim to have detected a Netscape family browser.');}
return'Netscape Family';}else{if(deployJava.debug){alert('We claim to have failed to detect a browser.');}
return'?';}},testUsingActiveX:function(version){var objectName='JavaWebStart.isInstalled.'+version+'.0';if(!ActiveXObject){if(deployJava.debug){alert('Browser claims to be IE, but no ActiveXObject object?');}
return false;}
try{return(new ActiveXObject(objectName)!=null);}catch(exception){return false;}},testForMSVM:function(){var clsid='{08B0E5C0-4FCB-11CF-AAA5-00401C608500}';if(typeof oClientCaps!='undefined'){var v=oClientCaps.getComponentVersion(clsid,"ComponentID");if((v=='')||(v=='5,0,5000,0')){return false;}else{return true;}}else{return false;}},testUsingMimeTypes:function(version){if(!navigator.mimeTypes){if(deployJava.debug){alert('Browser claims to be Netscape family, but no mimeTypes[] array?');}
return false;}
for(var i=0;i<navigator.mimeTypes.length;++i){s=navigator.mimeTypes[i].type;var m=s.match(/^application\/x-java-applet\x3Bversion=(1\.8|1\.7|1\.6|1\.5|1\.4\.2)$/);if(m!=null){if(deployJava.compareVersions(m[1],version)){return true;}}}
return false;},testUsingPluginsArray:function(version){if((!navigator.plugins)||(!navigator.plugins.length)){return false;}
var platform=navigator.platform.toLowerCase();for(var i=0;i<navigator.plugins.length;++i){s=navigator.plugins[i].description;if(s.search(/^Java Switchable Plug-in (Cocoa)/)!=-1){if(deployJava.compareVersions("1.5.0",version)){return true;}}else if(s.search(/^Java/)!=-1){if(platform.indexOf('win')!=-1){if(deployJava.compareVersions("1.5.0",version)||deployJava.compareVersions("1.6.0",version)){return true;}}}}
if(deployJava.compareVersions("1.5.0",version)){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(name,result){},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(installed,required){var a=installed.split('.');var b=required.split('.');for(var i=0;i<a.length;++i){a[i]=Number(a[i]);}
for(var i=0;i<b.length;++i){b[i]=Number(b[i]);}
if(a.length==2){a[2]=0;}
if(a[0]>b[0])return true;if(a[0]<b[0])return false;if(a[1]>b[1])return true;if(a[1]<b[1])return false;if(a[2]>b[2])return true;if(a[2]<b[2])return false;return true;},enableAlerts:function(){deployJava.debug=true;},poll:function(){deployJava.refresh();var postInstallJREList=deployJava.getJREs();if((deployJava.preInstallJREList.length==0)&&(postInstallJREList.length!=0)){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;};}
if((deployJava.preInstallJREList.length!=0)&&(postInstallJREList.length!=0)&&(deployJava.preInstallJREList[0]!=postInstallJREList[0])){clearInterval(deployJava.myInterval);if(deployJava.returnPage!=null){location.href=deployJava.returnPage;}}},writePluginTag:function(){var browser=deployJava.getBrowser();if(browser=='MSIE'){document.write('<'+'object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+'<'+'/'+'object'+'>');}else if(browser=='Netscape Family'){deployJava.writeEmbedTag();}},refresh:function(){navigator.plugins.refresh(false);var browser=deployJava.getBrowser();if(browser=='Netscape Family'){var plugin=document.getElementById('deployJavaPlugin');if(plugin==null){deployJava.writeEmbedTag();}}},writeEmbedTag:function(){var written=false;if(navigator.mimeTypes!=null){for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.mimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+
deployJava.mimeType+'" hidden="true" />');written=true;}}}
if(!written)for(var i=0;i<navigator.mimeTypes.length;i++){if(navigator.mimeTypes[i].type==deployJava.oldMimeType){if(navigator.mimeTypes[i].enabledPlugin){document.write('<'+'embed id="deployJavaPlugin" type="'+
deployJava.oldMimeType+'" hidden="true" />');}}}}},do_initialize:function(){deployJava.writePluginTag();if(deployJava.locale==null){var loc=null;if(loc==null)try{loc=navigator.userLanguage;}catch(err){}
if(loc==null)try{loc=navigator.systemLanguage;}catch(err){}
if(loc==null)try{loc=navigator.language;}catch(err){}
if(loc!=null){loc.replace("-","_")
deployJava.locale=loc;}}}};
//deployJava.do_initialize();			// est replacée tout à la fin


/*

 \|/ ____ \|/ 
  @~/ ,. \~@		
 /_( \__/ )_\		Les 2 fonctions modifiées
----\__U_/----

*/
deployJava.writePluginTag = function(){
	var browser=deployJava.getBrowser();
	if(browser=='MSIE'){
		document.write('<'+'object classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" '+'id="deployJavaPlugin" width="0" height="0">'+'<'+'/'+'object'+'>');
	}
	else if((browser=='Netscape Family') || (navigator.userAgent.toLowerCase().indexOf('opera') >= 0)){
		deployJava.writeEmbedTag();
	}
}

// peut-être que la fonction refresh() mériterait d'être adaptée aussi pour Opera.

deployJava.compareVersionToPattern=function(version,patternArray,familyMatch){
	var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?";	// On a supprimé le $ final car sous Opera on a parfois des caractères bizarres à la fin.
	var matchData=version.match(regex);
	if(matchData!=null){
		var index=0;
		var result=new Array();
		for(var i=1;i<matchData.length;++i){
			if((typeof matchData[i]=='string')&&(matchData[i]!=''))
				{result[index]=matchData[i];index++;}
		}
		var l=Math.min(result.length,patternArray.length);
		if(familyMatch){
			for(var i=0;i<l;++i){if(result[i]!=patternArray[i])return false;}
			return true;
		}else{
			for(var i=0;i<l;++i){
				if(result[i]<patternArray[i]){return false;}
				else if(result[i]>patternArray[i]){return true;}
			}
			return true;
		}
	}
	else{return false;}
}

deployJava.do_initialize();			// On initialise après avoir modifié les deux fonctions
}