Hemi.include("hemi.app.dwac");
Hemi.include("hemi.app.space");
Hemi.include("hemi.driver");
Hemi.include("hemi.app.comp");
Hemi.include("hemi.event");
Hemi.include("hemi.css");
Hemi.include("hemi.data.io");
Hemi.include("hemi.data.io.proxy");
Hemi.include("core.io", "/Scripts/");

var g_application_path = "/";
var g_startup = [];
function AddToStartup(f){
    g_startup[g_startup.length] = f;
}
function doConfirm() {
	var oManager = Hemi.app.getWindowManager();
	if (!oManager.CheckAllReadyToClose() && !confirm("You have unsaved changes.  Continue?")) {
		oManager.CheckAllReadyToClose(1);
		return 0;
	}
	return 1;
}
function ConfirmSubmit() {
	if(doConfirm()) document.forms[0].submit();    
}
function ConfirmNavigate(sUrl){
	if(doConfirm()) location.href = sUrl;
}
(function(){
	//Hemi.message.service.setReportThreshold("DEBUG");
	
	Hemi.include("hemi.web.security");

	Hemi.include("hemi.app");
	Hemi.include("hemi.app.comp");
	Hemi.include("hemi.app.module");
	Hemi.include("hemi.app.space");

	if(document.cookie.indexOf("CAuth=1") > -1){
		var oL = document.getElementById("oAuthStyle");
		if(oL){
			oL.disabled = true;
			oL.disabled = false;
		}
	}
	
	Hemi.message.service.subscribe("onspaceconfigload", function (s, v){
		if(!v.is_primary) return;
		var oSpace = Hemi.app.space.service.getPrimarySpace();
		
		var oSession = Hemi.app.createApplicationComponent("session",0, oSpace,"session");
		oSession.Initialize("/Data/SessionData.aspx");
		oSession.Refresh(1);
		
		for(var i = 0; i < g_startup.length; i++)
			g_startup[i]();

		CheckForUpgrades();
		CheckForInfo();
		
	});
	function CheckForInfo(){
		if(typeof Infomercial != "object") return;
		var aInfo = Hemi.app.space.service.getPrimarySpace().getSpaceObjectsByClass("infomercial");
		if(!aInfo.length) return;
		var oObj = aInfo[0].object.getContainer();
		oObj.style.display = "block";
		oObj.firstChild.style.fontStyle = "italic";
		oObj.firstChild.style.color = "#FFFF00";
		
	}
	function CheckForUpgrades(){
		if(typeof Upgradeable != "object") return;
		Hemi.app.createWindow(0, "/Templates/UpgradeAvailable.xml","Upgradeable",0,0,{old_project_name:Upgradeable.old_project_name,old_project_version:Upgradeable.old_project_version,new_project_name:Upgradeable.new_project_name,new_project_version:Upgradeable.new_project_version,new_project_path:Upgradeable.new_project_path,upgrade_notes:Upgradeable.upgrade_notes});
	}
}());

