/********** Static members **********/

var test_applet_load_timeout = 10; //seconds
var test_applet_is_started = false;
var test_applet_element_id = "TestAppletBox";

function TestAppletSetReady(jenvData)
{
	test_applet_is_started = true;
	TestAppletResultCallback(jenvData);
}

function TestAppletIsStarted()
{
	if(!test_applet_is_started)
	    TestAppletResultCallback(null);
}

/************ TestApplet Javascript Object ***************/

function TestApplet(elementid, width, height, message)
{
	this.applet_width = width;
	this.applet_height = height;
	
	this.jar_name = "TestApplet.jar";
	this.jar_folder = "js";
	this.jar_class = "com.mobilegov.TestApplet.class";
	
	this.element_id = elementid;
	this.load_message = message;
	
	this.start = TestAppletStart;
}

function TestAppletStart()
{
    //exit if the elements to fill cannot be found in the page
    var appletbox = document.getElementById(this.element_id);
	if(!appletbox)
    	return false;
        	
	test_applet_is_started = false;		
			
	//program Applet load verification
	setTimeout('TestAppletIsStarted()', test_applet_load_timeout*1000);
	
    //add loading bar
	if(window.opera){
	    var loading = '<div id="TestAppletLoadBox"><span id="TestAppletLoadMessage">'+this.load_message+'</span></div>';
		appletbox.innerHTML = applet;	
	}
	else{
	    //clean applet box content
        if(appletbox.hasChildNodes()) {
            while(appletbox.childNodes.length >= 1 )
                appletbox.removeChild(appletbox.firstChild);
        }
        
		//create loading text
		var loadtext = document.createElement('span');
		loadtext.setAttribute('id', 'TestAppletLoadMessage');
		loadtext.innerHTML = this.load_message;

		//create loading bar
		var loading = document.createElement('div');
		loading.setAttribute('id', 'TestAppletLoadBox');
		
		loading.appendChild(loadtext);
		
		//insert applet in the doc
		appletbox.appendChild(loading);
	}  	
	
	appletbox.style.display = 'block';
	this.jar_folder="uck-js-api/testapplet";
    //replace applet logo by the applet itself
	if(window.opera){
	    var applet = '<applet name="TestApplet" code="' + this.jar_class + '" codebase="' + this.jar_folder + '" archive="' + this.jar_name + '"';
        applet += ' width="' + this.applet_width + '" height="'+ this.applet_height + '" mayscript="true" id="TestApplet">';
		applet += '</applet>';
		appletbox.innerHTML += applet;	
	}
	else{       
		//create applet
		var applet = document.createElement('applet');
		applet.setAttribute('code', this.jar_class);
		applet.setAttribute('codebase', this.jar_folder);
		applet.setAttribute('archive', this.jar_name);
		applet.setAttribute('width', this.applet_width);
		applet.setAttribute('height', this.applet_height);
		applet.setAttribute('mayscript','true');
		applet.setAttribute('name', 'TestApplet');
		applet.setAttribute('id', 'TestApplet');

		//insert applet in the doc
		appletbox.appendChild(applet);		
	}  
   	return true;
}
