
var FHTML_DEFAULT_INDEX_PAGE		= "index.php"
var FHTML_DIV 						= "fhtml";
var FHTML_SWF_NAME 					= "fhtml_main";
var FHTML_SWF_PATH					= "Fhtml.swf";
var FHTML_SWF_VERSION				= "9.0.6";
var FHTML_TRACE 					= "jsTrace";
var EXECUTE_FHTML 					= "executeFhtml";
var DEBUG_TEXTAREA					= "debug";

//Note: The various references to '100%' in here assume that the div containing our flash is set to 100% width and height.
//Just need to make a function to return its actual value (depending on browser - argh) instead.

//allow resize width and allow resize height.
var rsw 					= false;
var rsh 					= false

function loadFhtmlSwf(defaultLayout, swfPath, w, h, bgColor, modulePath, base) {
	var so = new SWFObject(swfPath, FHTML_SWF_NAME, w, h, FHTML_SWF_VERSION, bgColor);
	var path = defaultLayout == undefined ||defaultLayout == "" ? FHTML_DEFAULT_INDEX_PAGE : defaultLayout;
	FHTML_SWF_PATH = swfPath;
    so.useExpressInstall("javascript/swfobject/expressinstall.swf");
    so.addParam("allowFullScreen", "true");  
    so.addParam("flashVars", "defaultLayout=" + path + "&modulePath=" + modulePath);    
    if (base != undefined) so.addParam("base", base);
    //so.addVariable("defaultLayout", path);
    //if (modul != undefined) so.addVariable("frameworkPath", frameworkPath);
	so.write(FHTML_DIV);
	
	//WE DON'T CARE!!
	/* Syntax for SwfObject 2.0 - causing browser scrollbars to appear for unclear reason...
	FHTML_SWF_PATH = swfPath;
	var path = defaultLayout == undefined || defaultLayout == "" ? FHTML_DEFAULT_INDEX_PAGE : defaultLayout;
	var vars = {defaultLayout:path};
	var params = {bgcolor:bgColor, allowFullScreen:true};
	var attributes = {id:FHTML_SWF_NAME, name:FHTML_SWF_NAME}; 

	swfobject.embedSWF(swfPath, "fhtml", w, h, FHTML_SWF_VERSION, "javascript/swfobject/expressInstall.swf", vars, params, attributes);
	*/
}

function debug(val) {
	document.getElementById(DEBUG_TEXTAREA).value = val;
}
function getLocation() {
	return window.location.toString();
}
function getFlash(name) {
     if (navigator.appName.indexOf("Microsoft") != -1) return window[name];
     else return document[name];
}
function callFlash(swf, func, value) {
     getFlash(swf)[func](value);
}
function focusFlash() {
	window.document[FHTML_SWF_NAME].focus();
}
function trace(value) {
	callFlash(FHTML_SWF_NAME, FHTML_TRACE, "jsTrace: " + value);
}
//was called executeFhtml - wanted something...shorter...
function doFhtml(action) {
	callFlash(FHTML_SWF_NAME, EXECUTE_FHTML, action);
}
//Not sure if this matters anymore...
function fhtmlScript(val) {
	var a = val.split(";");
	for (var index = 0; index < a.length - 1; index++) callFlash(FHTML_SWF_NAME, EXECUTE_FHTML, a[index])
}
function onPageLoad() {
	//resets browser so flash can behave as "100%" h and w or fixed w and h that uses browser for overflow.  Called whenever a new layout loads at the top level.
	//NOT called manually.... Actually, might not need this anymore - onSwfResize will probably handle it...
	var fs = getFlashSize();
	var ws = getWindowSize();
	if (fs.w > ws.w || fs.h > ws.h) setFlashSize(ws.w, ws.h);
	else setFlashSize("100%", "100%");
}
function getWindowSize() {
	var w, h;
	if (parseInt(navigator.appVersion)>3) {
		if (navigator.appName=="Netscape") {
			w = window.innerWidth;
			h = window.innerHeight;
		}
		if (navigator.appName.indexOf("Microsoft")!=-1) {
			w = document.body.offsetWidth;
			h = document.body.offsetHeight;
		}
	}
	return {w:w, h:h};
}
function getFlashSize() {
	var w, h;
	if (document.all && !document.getElementById) {
		w = document.all[FHTML_DIV].offsetWidth;
		h = document.all[FHTML_DIV].offsetHeight;
	}
	else {
		w = document.getElementById(FHTML_DIV).offsetWidth;
		h = document.getElementById(FHTML_DIV).offsetHeight;
	}
	return {w:w, h:h};
}
function setFlashSize(w, h) {
	if (document.all && !document.getElementById) {
		document.all[FHTML_DIV].style.pixelWidth = w;
		document.all[FHTML_DIV].style.pixelHeight = h;
	}
	else {
		document.getElementById(FHTML_DIV).style.width = w;
		document.getElementById(FHTML_DIV).style.height = h;
	}
}
function setAllowedResizeAxes(w, h) {
	rsw = w;
	rsh = h;
}
function onPageResize() {
	var w, h;
	var fs = getFlashSize();
	var ws = getWindowSize();

	if (fs.w > ws.w && rsw) w = fs.w;
	else w = "100%";
	if (fs.h > ws.h && rsh) h = fs.h;
	else h = "100%";
	setFlashSize(w, h);
}
function onSwfExpand (w, h) {
	var nw, nh;
	var willChange = false;
	var ws = getWindowSize();
	var fs = getFlashSize();
	if (w > ws.w && rsw) {
		nw = w;
		willChange = true;
	}
	else nw = fs.w;
	if (h > ws.h && rsh) {
		nh = h;
		willChange = true;
	}
	else nh = fs.h;
	if (willChange == true) setFlashSize(nw, nh);
}









