VBBootstrap = function() {
	var scriptList = new Array('http://www.bmitool.com/widgets/bmi/js/VBBMICalcv01.js',
							   'http://www.bmitool.com/widgets/bmi/js/prototype.js',
							   'http://www.bmitool.com/widgets/bmi/js/VBUIPanel.js');
	var totalScripts = scriptList.length;
	var loadedScripts = 0;
	var scriptCmdList = new Array([],[],[],[],[]);
	var scriptObjectList = new Array(totalScripts);
	var scriptStateList = new Array(totalScripts);
	
	function GetScriptUrl(index){
		var strUrl = scriptList[index];
		var len = scriptCmdList[index].length;
		for (var i = 0;i < len; ++i) {eval("strUrl = " + scriptCmdList[index][i] + "(strUrl);");}
		return strUrl;
	 };
	
	for (var i = 0; i < totalScripts; i++){
		scriptStateList[i] = new Object();
		scriptStateList[i].fileName = GetScriptUrl(i);
		scriptStateList[i].loadState = 'unload';

		scriptObjectList[i] = document.createElement('script');
		scriptObjectList[i].type = "text/javascript";
		scriptObjectList[i].src = scriptStateList[i].fileName;
		scriptObjectList[i].charset = "utf-8";
        scriptObjectList[i].onreadystatechange = new Function("ScriptObjectReadyCallback(" + i + ")");
		scriptObjectList[i].onload = new Function("ScriptObjectLoadCallback(" + i + ")");
		scriptObjectList[i].onerror = new Function("ScriptObjectErrorCallback(" + i + ")");
		
		document.getElementsByTagName('head')[0].appendChild(scriptObjectList[i]);
	}
	ScriptObjectReadyCallback = function(index) {
		if (scriptObjectList[index].readyState == 'loaded' || scriptObjectList[index].readyState == 'complete'){
			scriptStateList[index].loadState = 'loaded';
			++loadedScripts;
			if (loadedScripts == totalScripts){VBBMICalcScriptReady(scriptStateList);}
		}
	};
	ScriptObjectLoadCallback = function(index){
	scriptStateList[index].loadState = 'loaded';
		++loadedScripts;
		if (loadedScripts == totalScripts){VBBMICalcScriptReady(scriptStateList);}
	};
	ScriptObjectErrorCallback = function(index){
	scriptStateList[index].loadState = 'error';
		++loadedScripts;
		if (loadedScripts == totalScripts){VBBMICalcScriptReady(scriptStateList);}
	};
	try{window.detachEvent('onload', VBBMICalcLoadBootstrap);}
	catch (e){}
};

function VBBMICalcLoadBootstrap(){g_objVBBootstrap = new VBBootstrap();}

try{window.attachEvent('onload', VBBMICalcLoadBootstrap);}
catch (e){window.addEventListener('load', VBBMICalcLoadBootstrap, false);}
