function installAppletUnsavedScriptWarning(applet_element)
{
	var prevobu = window.onbeforeunload;
	window.onbeforeunload=function()
	{
		var tmp = applet_element;
		var b = applet_element.isScriptChanged();
		if ( b )
		{
			return "Navigating away from this page will loose all the changes you've made to your script.  Continue?";
		}
		if ( prevobu ) return prevobu.apply(this);
	};
}

function startGUPIApplet_disabled(button, applet_textarea_id)
{
	var newdiv = document.createElement('div');
	button.appendChild( newdiv );
	newdiv.innerHTML = document.getElementById(applet_textarea_id).value;
	var applet_element = newdiv.childNodes[0];
	installAppletUnsavedScriptWarning(applet_element);
}

function startGUPIApplet(button, applet_textarea_id)
{
	var applet_text = document.getElementById(applet_textarea_id).value;
	var newwin = window.open("", "", "width=800,height=600,resizable=yes,location=no");
	newwin.document.write("<html><head><title>GUPI Applet Window</title>");
	$$("link").each( 
		function(el) 
		{
			if ( el.type == "text/css" && el.rel == "stylesheet" )
			{
				newwin.document.write("<link rel=\"" + el.rel + "\" media=\""+el.media+"\" type=\"text/css\" href=\""+el.href+"\"/>");
			}
		}
	);
	newwin.document.write("</head><body class=\"gupiapplet_popup\"><div id=\"applet_container\">");
	newwin.document.write(applet_text);
	//newwin.document.write("Close this window to close applet");
	newwin.document.write("</div></body></html>");
	newwin.document.close();
	//var applet = newwin.document.body.childNodes[0];
	var applet = newwin.document.body.getElementsByTagName("applet")[0];
	newwin.onbeforeunload = function() { if ( applet.isScriptChanged() ) return "You have not saved your GUPI script yet.  Continuing will discard any changes you have made."; };
}

//---
// Welcome page functions
//---

var fomExpanded = false;
function toggleFindOutMore()
{
	//console.log("toggle: " + fomExpanded);
	var idToShow, idToHide, finalClass;
	var options = {};
	if ( fomExpanded )
	{
		options = { top: 305, left: 185, width: 350, height: 290 };
		idToShow = "#mainPageContent";
		idToHide = "#findOutMoreContent";
		finalClass = "smallcontent";
	}
	else
	{
		options = { top: 50, left: 50, width: 800, height: 600 };
		idToHide = "#mainPageContent";
		idToShow = "#findOutMoreContent";
		finalClass = "bigcontent";
	}

	$$("#hiddenContent").adopt( $$(idToHide) );

	var fx = $("welcomeBox").effects();
	fx.start( options ).chain(
		function()
		{
			//$$("#hiddenContent").adopt( $$(idToHide) );
			$("welcomeBox").adopt( $$(idToShow) ); 
			$("welcomeBox").removeClass("bigcontent").removeClass("smallcontent").addClass(finalClass);
		}
	);
	fomExpanded = !fomExpanded;
}
var systemButtonsActionMap =
{
	"button_findOutMore": function()
	{
		toggleFindOutMore();
		return false; 
	}
};
function fixupSystemButtons()
{
	for(var key in systemButtonsActionMap)
	{
		var tmp = $$( "." + key + " a");
		tmp.each( 
			function(el)
			{
				el.onclick = systemButtonsActionMap[key];
				//console.log(el);
				el.href= "#";
			}
		);
	}
}

function animateLogo2()
{
	$("welcomeLetterBoxBG").effects({ duration: 1000 }).start( { backgroundColor: "#208803" } ).chain( animateLogo );
}

function animateLogo()
{
	$("welcomeLetterBoxBG").effects({ duration: 2000 } ).start( { backgroundColor: "#196803" } ).chain( animateLogo2 );
}
//---

