/****************************************************************
* Copyright (c) 2005, Peter Elst & Alexander McCabe,
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the
* following conditions are met:
*
* 1. Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
*
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* 3. The name of the author may not be used to endorse or
* promote products derived from this software without specific
* prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
****************************************************************/
/****************************************************************
* writeFlash Version 1.02
* USAGE
*
* Example
* writeFlash("thumb.swf","100%","100%",{menu:"false",align:"middle"},{flashvar1:"my value",flashvar2:"my value2"});
*
* Function signature
* writeFlash(swf,width,height,params,pairs)
*
* swf - the name of the Flash file to include
* Examples
* "myflash.swf"
* "flashfiles/banner.swf"
* "http://www.domain.com/myflash.swf"
*
* width / height - these can be pixel values or percentages
* Examples
* "600"
* "50%"
*
* Params - any number of parameters can be added as name/value pairs
* Examples
* {menu:"false",align:"middle"}
* {version:"7,0,21,0",align:"middle"}
* List of Possible parameters
* align - left, middle, right
* menu - true, false
* version - made up of 4 comma separated values
* quality - low, autolow, autohigh, high, best
* wmode - transparent, opaque, window
* base - URL of assets
* bgcolor - RGB, eg #FFFFFF
* align - L,R,T,B
* salign - L,R,T,B,TL,TR,BL,BR
* scale - showall, noborder, exactfit
* play - true/false
* loop - true/false
* swliveconnect - true/false
* AllowScriptAccess - always/never/samedomain
* name - set this for an identifying name - useful for fscommand
*
* pairs - flashvars should be added as name/value pairs
* Examples
* {flashvar1:"my value",flashvar2:"my value2"}
* {eyecolor:"green", haircolor:"brown"}
****************************************************************/
var DEFAULTBACKGROUNDCOLOR="#FFFFFF";
var DEFAULTFLASHVERSION="6,0,47,0";
var DEFAULTQUALITY="high";
var DEFAULTALIGNMENT="left";
var DEFAULTMENU="true";
var DEFAULTNAME="flash";
function writeFlash(swf,width,height,params,pairs) {
//parse flashvars pairs
var flashvars="";
var writeAmp=false;
for(var i in pairs){
if (writeAmp){flashvars=flashvars+"&";}else{writeAmp=true;}
if(window.encodeURIComponent){
//use encode if available - it is better for unicode characters
flashvars=flashvars+i+"="+encodeURIComponent(pairs[i]);
}else{
// use escape
flashvars=flashvars+i+"="+escape(pairs[i]);
}
}
if(!params){
params = new Object();
}
if(!params.version) {
params.version=DEFAULTFLASHVERSION;
}
if(!params.align){
params.align=DEFAULTALIGNMENT;
}
if(!params.bgcolor){
params.bgcolor=DEFAULTBACKGROUNDCOLOR;
}
if(!params.quality){
params.quality=DEFAULTQUALITY;
}
if(!params.menu){
params.menu=DEFAULTMENU;
}
if(!params.name){
params.name=DEFAULTNAME;
}
if(!params.flashvars){
params.flashvars=flashvars;
}
//if target is version 5 or less flashvars must be added to .swf string
if(parseInt(params.version.substring(0,1))<6){
swf=swf+"?"+params.flashvars;
params.flashvars="";
}
// parse parameters
var objectParams = "";
var embedParams = "";
for(var i in params) {
if(i!="version" && i!="align" && i!="name"){
objectParams += "\n";
embedParams += i+"=\""+params[i]+"\" ";
}
}
// write the object
document.write("");
}
function resizeRatio(ratio) {
//ratio should be width to height ratio. eg 4/3 - 1.333
self.moveTo(0,0);
self.resizeTo(screen.availWidth,screen.availHeight);
var ns4 = (document.layers)? true:false;
var ie4 = (document.all)? true:false;
var winW = (ie4)? document.body.offsetWidth : window.innerWidth ;
var winH = (ie4)? document.body.offsetHeight : window.innerHeight;
if(winW!=0 && winH!=0 && winW/winH>ratio){
self.resizeTo((screen.availWidth-winW)+(winH*ratio),screen.availHeight);
}
else if (winW!=0 && winH!=0 && winW/winH