/** 
 *	@Author: Nicholas Scheiber
 *	VoodooScript SWF Environment
 *	Version: 1.0.1
 *  Based on SWFObject v1.4.4 e3 (http://blog.deconcept.com/swfobject/)
 * 	
 * 	Version Changes:
 *  
 *  1.0 Major Update
 */

var rootDirectory = String("");
var debugMode = false;	
var swfRegister = new Array();
var csRegister = new Array();
var jsRegister = new Array();
var requiredIncludes = new Array("js/includes/dialogControlSet.js","js/includes/focusControlSet.js","js/includes/swfControlSet.js");

function setRootDirectory(rootDir){
	rootDirectory = rootDir;
}
	
function initialize(){
	var n=0;
	while (n<requiredIncludes.length){		
		include(rootDirectory+requiredIncludes[n]);
		n++;
	}		
}
function onInclude(scriptSrc){	
	jsRegister.push(scriptSrc);	
}
function init(){	
	window.onblur  = clearFocus();
	window.onfocus = setFocus();	
}
function systemStatus(){
	newDialog("status");
}
function include(scriptSrc){
	if (typeof scriptSrc == "string"){
		var scriptSrcArray = scriptSrc.split(".");
   	 	if (scriptSrcArray[scriptSrcArray.length-1] == "js"){
			if(window.XMLHttpRequest){
   	 			var request = new XMLHttpRequest();
			}else{
				var request = new ActiveXObject("Microsoft.XMLHTTP");
			}
    		request.open("GET",scriptSrc,false);
    		request.send(null);			
    		if( window.execScript){
    			window.execScript(request.responseText);
				onInclude(scriptSrc);
			}else{
    			window.eval(request.responseText);
				onInclude(scriptSrc);
			}
			
		}else{
			if(debugMode == true){
				var errorDetails="vdFlash.include\nFile-Extension != .js";
				newDialog("error.file",errorDetails);		
			}
		}		
	}else{
		if(debugMode == true){
			var errorDetails="vdFlash.include\nArguments != (scriptSrc:String)";
			newDialog("error.arguments",errorDetails);		
		}
	}	
}
function setDebugMode(value){
	if (typeof value == "boolean"){		
		debugMode = value;
	}else{		
		var errorDetails="vdFlash.setDebugMode\nArguments != (value:Boolean)";
		newDialog("error.arguments",errorDetails);			
	}
}
function writeFlashContent (objectId,objectUrl,divId,wmode){
	if ((typeof objectId == "string")&&(typeof objectUrl == "string")&&(typeof divId == "string")){	
		var swfUrl = rootDirectory+objectUrl;		
		var flashContent = new SWFObject(swfUrl,objectId, "100%", "100%", "9", "0x000000",wmode);
		flashContent.addVariable("width","100%");
		flashContent.addVariable("height","100%");
		flashContent.addVariable("allowScriptAccess","always");
		var n = 4;
		while (n<writeFlashContent.arguments.length){
			if (arguments[n].split(":").length == 2){
				flashContent.addVariable(arguments[n].split(":")[0],arguments[n].split(":")[1]);
				n++
			}else{
				if(debugMode == true){
					var errorDetails="vdFlash.writeFlashContent\nOptional Parameter Syntax != \"parameterName:parameterData\"";
					newDialog("error.mismatch",errorDetails);	
					break;
				}
			}
		}
		flashContent.write(divId);
		swfRegister.push(objectId);		
	}else{
		if(debugMode == true){
			var errorDetails="vdFlash.writeFlashContent\nArguments != (objectId:String, objectUrl:String, divId:String, wmode, [optionalParameters])";
			newDialog("error.arguments",errorDetails);		
		}
	}
}