/**
 * SWFEngine - Flash + Javascript Browser Integration Tool
 * 
 * Copyright 2008 by Factory Design Labs, All Rights Reserved.
 * <a href="http://www.factorylabs.com/">www.factorylabs.com</a>
 * 
 * @author Grant Davis
 * @version 1.0 :: May 28, 2008
 * @version 1.1 :: June 26, 2008
 */
var incRoot = '/html/includes/flash/';//added for adding path to other include files ..
var pagesTracked=0;function trackPage(pagename)
{pagesTracked++;}
function test(arg1,arg2)
{alert("swfengine.js :: test() \n\t tracked pages: "+pagesTracked+"\n\t\targ1: "+arg1+"\n\t\targ2: "+arg2);}
function SWFEngine(url,id,version,expressInstall,size,varsObj,paramObj,attObj,swfFit)
{this.swfUrl=url;this.elementId=id;this.swfVersion=version;this.dimensions=SWFEngine.checkObject(size);this.flashvarsObj=SWFEngine.checkObject(varsObj);this.parametersObj=SWFEngine.checkObject(paramObj);this.attributeObj=SWFEngine.checkObject(attObj);this.useSwfFit=(swfFit==undefined)?false:swfFit;if(navigator.appName&&navigator.appName.indexOf("Microsoft")!=-1&&navigator.userAgent.indexOf("Windows")!=-1&&navigator.userAgent.indexOf("Windows 3.1")==-1)
{document.write('<script type="text/javascript" event="FSCommand(command,args)" for="'+this.attributeObj.id+'"> \n');document.write('SWFEngine.handleFSCommand(command, args);');document.write('</script>');}
this.createSWF=function(url,id,version,expressInstall)
{var instanceId=SWFEngine.getRandomSeed();this.flashvarsObj["swfEngineId"]=instanceId;this.flashvarsObj=SWFEngine.addUrlVariables(this.flashvarsObj);SWFEngine.instances[instanceId]=this;swfobject.embedSWF(url,id,this.dimensions.maxWidth,this.dimensions.maxHeight,version,expressInstall,this.flashvarsObj,this.parametersObj,this.attributeObj);var mw=(this.dimensions.maxWidth=="100%")?null:this.dimensions.maxWidth;var mh=(this.dimensions.maxHeight=="100%")?null:this.dimensions.maxHeight;/*swffit(this.attributeObj.id,this.dimensions.minWidth,this.dimensions.minHeight,mw,mh,true);if(swfmacmousewheel!=null)swfmacmousewheel.registerObject(this.attributeObj.id);*/}
this.resizeSWF=function(minWidth,minHeight,maxWidth,maxHeight,center)
{if(this.useSwfFit==false)return;swffit(this.attributeObj.id,minWidth,minHeight,maxWidth,maxHeight,center);}
this.setBookmark=function(title,url)
{if(window.sidebar)window.sidebar.addPanel(title,url,'');else if(window.external)window.external.AddFavorite(url,title);else if(window.opera&&window.print)return true;else prompt('Create a bookmark and use this URL',url);}
this.createSWF(url,id,version,expressInstall);}
SWFEngine.initialized=false;SWFEngine.instances=new Object();SWFEngine.getInstance=function(id)
{return SWFEngine.instances[id];}
SWFEngine.init=function()
{if(SWFEngine.initialized==true)return;SWFEngine.initialized=true;/*this.includeScript('swfobject.js');this.includeScript('swfaddress.js');this.includeScript('swffit.js');this.includeScript('swfmacmousewheel2.js');*/}
SWFEngine.includeScript=function(path)
{document.write('<script type="text/javascript" src="'+incRoot+path+'"></script>');}
SWFEngine.checkObject=function(obj)
{if(obj==undefined)return new Object();else return obj;}
SWFEngine.getRandomSeed=function()
{var seed=SWFEngine.generateSeed();while(SWFEngine.getInstance(seed)!=undefined)
{seed=SWFEngine.generateSeed();}
return seed;}
SWFEngine.generateSeed=function()
{return Math.round(Math.random()*100000);}
SWFEngine.addUrlVariables=function(obj)
{var url=document.location.href;var values=url.substring(url.indexOf("?")+1,url.length).split("&");for(var i=0;i<values.length;i++)
{var valuePair=values[i];var varName=valuePair.substring(0,valuePair.indexOf("="));var varValue=valuePair.substring(valuePair.indexOf("=")+1,valuePair.length);obj[varName]=varValue;}
return obj}
SWFEngine.handleFSCommand=function(command)
{eval(command);}
SWFEngine.init();