﻿var gTewonderFlashDataObjectsArray = new Array();

function replaceHtmlWithFlash(iElementId, iFlashName, iUseRandomToSkipCache) {
	var theElement = document.getElementById(iElementId);
	var currentFlashDataObject = getFlashDataObject(iFlashName);
	currentFlashDataObject.theElement = theElement;
	currentFlashDataObject.replacedHtml = theElement.innerHTML;
	var appearanceDataObject = currentFlashDataObject.appearanceDataObject;
	var currentPath;
	if(iUseRandomToSkipCache) {
		currentPath = currentFlashDataObject.path + "?skipCacheRandom=" + Math.random();
	}
	else {
		currentPath = currentFlashDataObject.path;
	}
	var so = new SWFObject(
		currentPath,
		currentFlashDataObject.name,
		appearanceDataObject.width,
		appearanceDataObject.height,
		appearanceDataObject.version,
		appearanceDataObject.backgroundColor
	);
	
	so.addVariable("flashName", currentFlashDataObject.name);
	var flashVarsObject = currentFlashDataObject.flashVarsObject;
	for(var objectName in flashVarsObject) {
		so.addVariable(objectName, flashVarsObject[objectName]);
	}
	
	so.write(iElementId);
	
	switch(gTewonderGlobalFunctions["getUsedProgramIdName"]()) {
		case "ie":
			window[currentFlashDataObject.name] = document.getElementById(currentFlashDataObject.name);
			break;
		default:
			//MENOTE: do nothing
			break;
	}
	
}

function addFlashDataObject(iName, iPath, iAppearanceDataObject, iFlashVarsObject, iDataObject) {
	var newObject = new Object();
	newObject.name = iName;
	newObject.path = iPath;
	newObject.appearanceDataObject = iAppearanceDataObject;
	newObject.flashVarsObject = iFlashVarsObject;
	newObject.dataObject = iDataObject;
	newObject.replacedHtml = "";
	newObject.theElement = null;
	newObject.elementName = "";
	gTewonderFlashDataObjectsArray.push(newObject);
}

function getFlashDataObject(iName) {
	var currentArray = gTewonderFlashDataObjectsArray;
	for(var i = -1; ++i < currentArray.length;) {
		if(currentArray[i].name == iName) {
			return currentArray[i];
		}
	}
	return null;
}

function getFlashData(iName) {
	return getFlashDataObject(iName).dataObject;
}

function getFlashReplacedHtml(iName) {
	return getFlashDataObject(iName).replacedHtml;
}

function setFlashSize(iFlashName, iWidth, iHeight) {
	var currentFlashDataObject = getFlashDataObject(iFlashName);
	currentFlashDataObject.theElement.style.width = iWidth;				    
	currentFlashDataObject.theElement.style.height = iHeight;
}

function setFlashHeight(iFlashName, iHeight) {
	//trace("setFlashHeight");
	//alert(iFlashName + " " + iHeight);
	var currentFlashDataObject = getFlashDataObject(iFlashName);		    
	currentFlashDataObject.theElement.style.height = iHeight;	
	var theFlashElement = document.getElementById(currentFlashDataObject.name);
	theFlashElement.setAttribute("height", iHeight);
}

function setFlashWidth(iFlashName, iWidth) {
	var currentFlashDataObject = getFlashDataObject(iFlashName);		    
	currentFlashDataObject.theElement.style.width = iWidth;
	var theFlashElement = document.getElementById(currentFlashDataObject.name);
	theFlashElement.setAttribute("width", iWidth);
}