/**
*   flash.js writes flash and automatically detects flash version
*	Adapted from write_swf and plugins js
*   compatible: ns6+, ie4+
*	requires: no requirement but default page and 
*   default flash version should be set in settings.js
*	@author: David Burton
*	$Id: flash.js,v 1.0 2006/13/11 12:42:37 jonh Exp $
*/
var alerted=false;//variable to flag alert so that they only get one

function write_swf(){
	var version=(typeof(CTAD_SETTINGS)!='undefined')?CTAD_SETTINGS['minimum_flash_version']:'';
	if (!version)
		version=7; //default to version 7 if the variable is unset
	 var x = new pluginDetect(); 
 if (x.isPlugin("ShockwaveFlash.ShockwaveFlash."+version,"Shockwave Flash "+version)){		
		document.write(ObjectTag(write_swf.arguments[0],write_swf.arguments[1],write_swf.arguments[2],write_swf.arguments[3]));			// if we've detected an acceptable version
	} else {  
		var page=(typeof(CTAD_SETTINGS)!='undefined')?CTAD_SETTINGS['flash_download_page']:'';
		//default to web if variable is unset
		if(!page)page='https://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash';
		// flash is too old or we can't detect the plugin
		var msg="You need to install Flash Player to view some of the \ncontent on this page. \n\nWould you like to install it now? \n\nNOTE: Once Flash Player is installed you \nshould close all browser windows and start again."
		if(!alerted && confirm(msg)){
			window.open(page);
		}
		alerted=true;
			// Edit by Kris Harmer - If you need to explicitly set the path to "flashdownloadbutton.gif" you can set the variable "flashdownloadbuttonpath" in the relevant document; otherwise the default is used.
			if (undefined===window.flashdownloadbuttonpath) {
				document.write('<a href="'+page+'" target="_blank"><img src="../html/images/flashdownloadbutton.gif" border="0" alt="Download Flash player!"><\/a>');
			}else{
				document.write('<a href="'+page+'" target="_blank"><img src="'+flashdownloadbuttonpath+'" border="0" alt="Download Flash player!"><\/a>');
			}
	}	

};
function write_swf_ret(){
		return ObjectTag(write_swf_ret.arguments[0],write_swf_ret.arguments[1],write_swf_ret.arguments[2],write_swf_ret.arguments[3]);
};

function ObjectTag(){
	
	_a = ObjectTag.arguments;
	_b = new Array();
	_b['id'] = '';
	_b['width']= '100%';
	_b['height'] = '100%';
	_b['vspace'] = '';
	_b['hspace'] = '';
	_b['align']	= '';
	_b['id'] = '';
	_b['bgcolor'] = (document.bgColorFlash != null) ? document.bgColorFlash : "#8b80bc";
	_b['quality'] = 'high';
	_b['menu']='true';
		
	if (!_a[3]){
		_b['wmode']='window';
	}
	
	_c = (_a[1]) ? _a[1].split(',') : new Array();
	
	for(i = 0; i< _c.length; i++){
		_d = _c[i].split('=');
		_b[_d[0].replace(' ','')] = _d[1].replace(' ','');
	}
	
	if(_a[2] ) {
		_e = _a[2].split('&');
		_e = _e.join('&',escape(_e));
	} else {
		_e = '';
	}
	//if it isn't a colour, look for a class with that name
	if(_b['bgcolor'].substr(0,1)!="#")_b['bgcolor']=flashColor(_b['bgcolor']);
	if(!_b['bgcolor'])_b['bgcolor']="#8b80bc";
	
	swf_tag = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+_b['width']+'" height="'+_b['height']+'" vspace="'+_b['vspace']+'" hspace="'+_b['hspace']+'" align="'+_b['align']+'" id="'+_b['id']+'"><param name="movie" value="'+_a[0]+'"><param name="AllowScriptAccess" value="always"><param name="quality" value="'+_b['quality']+'"><param name="bgcolor" value="'+_b['bgcolor']+'"><param name="wmode" value="'+_b['wmode']+'"><param name="menu" value="'+_b['menu']+'"><param name="FlashVars" value="'+_e +'"><embed src="'+_a[0]+'" width="'+_b['width']+'" height="'+_b['height']+'" vspace="'+_b['vspace']+'" hspace="'+_b['hspace']+'" align="'+_b['align']+'" quality="'+_b['quality']+'" pluginspage="https://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash"  name="'+_b['id']+'" bgcolor="'+_b['bgcolor']+'" wmode="'+_b['wmode']+'" flashvars="'+_e+'" AllowScriptAccess="always" menu="'+_b['menu']+'"/></object>';
	
	return swf_tag; 
}
//function to read style from the stylesheet
function get_style(selector,style_attribute){

	if (!document.styleSheets){
		return (false);
	}
	for (var ss = 0; ss < document.styleSheets.length; ss++){
	     var tss = document.styleSheets[ss];
		if (!tss.cssRules){
			tss.cssRules = tss.rules;
		}	
	    for (var ru = 0; ru < tss.cssRules.length; ru++){
			if (typeof(tss.cssRules[ru].selectorText) != "undefined"){
				_match = new RegExp(selector,"gi"); 
				if (tss.cssRules[ru].selectorText.match(_match)) { 
					if (typeof(tss.cssRules[ru].style[style_attribute])!="undefined"){
						return (tss.cssRules[ru].style[style_attribute]);
					}	
				}				
			}		
		}
	}
	return(false);
}

//decimal to hexadecimal convertor for netscape
function decToHex(dec)
{
var hexStr = "0123456789ABCDEF";
var low = dec % 16;
var high = (dec - low)/16;
hex = "" + hexStr.charAt(high) + hexStr.charAt(low);
return hex;
}


//Function to return the background color of a class in a stylesheet
function flashColor(clas)
{
	var rgb=get_div_color(clas);
	if(!rgb)return false;
	//test for RGB or Hex
	if (rgb.substr(0, 3) == 'rgb'){
		rgb = rgb.replace(/rgb\(/g, "").replace(/\)/g, "");
		var rgbsplit=rgb.split(', ');
		return '#'+decToHex(rgbsplit[0])+decToHex(rgbsplit[1])+decToHex(rgbsplit[2]);
	}
	else return rgb;
}

//style from div itself
function get_div_color(clas){
		document.write('<div id="temp_flash" class="'+clas+'" style="display:none;">&nbsp;<\/div>');
		var temp_div=document.getElementById('temp_flash');
		var bgflash='';
		if(window.getComputedStyle)bgflash=window.getComputedStyle(temp_div, null).getPropertyValue("background-color");
		else if(temp_div.currentStyle)bgflash=temp_div.currentStyle.backgroundColor;
		else bgflash=get_style('.'+clas,'backgroundColor');
		temp_div.parentNode.removeChild(temp_div);
		return bgflash;
}

function FlashFix()
{
}

// fix flashy instances.. 
FlashFix.install = function() 
{ 
	var o = document.getElementsByTagName("object");
	
	for (var i = 0; i < o.length; i++) {
		var obj = o[i]; 
		
		// embed tag holds flashvars where as param doesn't 
		// see alert(obj.outerHTML)
		if (obj.outerHTML) {
			fv = obj.outerHTML.match(/flashvars="(.[^"]+)/i)[1]; 
			
			fv = fv.replace(/autoplay=1/i,"");
			
			//alert(fv); 
		
			// copy outer html on outerhtml 
			obj.outerHTML = obj.outerHTML.replace(/name="flashvars"\svalue=""/i,"NAME=\"FlashVars\" VALUE=\"" + fv+ "\""); 
		
		}
		

	}

}

/* uncomment this line to enable flashfixing */
//event_install(window,"onload", FlashFix.install); 




/** 
* Object which holds all the functions which are detecting plugins 
* 
* usage: 
* <pre>
* var x = new pluginDetect(); 
* 
* if (x.isPlugin("ShockwaveFlash.ShockwaveFlash.7","Shockwave Flash 7.0")) { 
* 	document.write("flash found.. flash developers are happy!\n"); 
* }
*
* if (x.isPlugin("MediaPlayer.MediaPlayer","Windows Media Player")) { 
*	document.write("media player found.. let's watch a movie?\n"); 
* }
* </pre>
* 
*/ 
function pluginDetect(){var nav=navigator.userAgent.toLowerCase();
this.mobileIE =  (nav.indexOf("msie") != -1 && nav.indexOf("windows ce") != -1) ? true : false; 
//alert(nav+'\n '+((this.mobileIE)?'is mobile IE':'is not mobile IE'));
}


/** 
* Function which determines the browser client is using 
* and returns true if the plugin is installed (else false) 
* 
* @argument classsID  object name to look for (i.e. ShockwaveFlash.ShockwaveFlash.7) 
* @argument pluginName the name to look for in plugin list 
*
*/ 
pluginDetect.prototype.isPlugin=function(classID,pluginName){
	//no detection works reliably on mobile IE!
	if(this.mobileIE) return true;
	
	
	var version=pluginName.split(' ');
	version=version[version.length-1];
	if(version.indexOf('.')!=-1){
		var major=version.substr(0,version.indexOf('.'));
		var minor=version.substr(version.indexOf('.')+1);
		if(swfobject.getFlashPlayerVersion().major>major ||
			(swfobject.getFlashPlayerVersion().major==major && swfobject.getFlashPlayerVersion().minor>=minor))
			return true;
	}
	else if(swfobject.getFlashPlayerVersion().major>=version)return true;
	return false;
}


/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();

/* ************************* FlashObject *************************
*
* This object is to make JS > Flash calls
* You need to pass Flash object ID in the HTML page in the constructor
*
*/

FlashObject = function(domID){
	
	this.domID = domID;
	this.param_token = "__[@]__";
	this.param_glue = "___";
	this.watchedVar = "jsCall";
	this.htmlObject = window.document[this.domID];
	
}

FlashObject.prototype.makeCall = function(func,params){
	
	var call_string = func;
	if(params){ call_string += this.param_token + params.join(this.param_token); }
	this.htmlObject.SetVariable(this.watchedVar,call_string);
	
}

FlashObject.prototype.updateVideo = function(videoPath,autoplay,subtitlesXML){
	this.makeCall("evUpdateVideo",["videoPath" + this.param_glue + videoPath,"autoPlay" + this.param_glue + autoplay,"subtitlesXMLPath" + this.param_glue + subtitlesXML]);
}

FlashObject.prototype.playCurrentVideo = function(){
	this.makeCall("evVideoPlay");
}

FlashObject.prototype.stopAllSounds = function(){
	this.makeCall("evStopAllSounds");
}

FlashObject.prototype.changeSound = function(soundPath,autoPlay){
	this.makeCall("evChangeSound",["soundPath" + this.param_glue + soundPath,"autoPlay" + this.param_glue + autoPlay]);
}

/* ************************* FlashAPI *************************
*
* This object is to receive Flash > JS calls
* There *MUST* be a "flashAPI" object in all pages
* Some of the methods are empty but need to be there anyway
*
*/

FlashAPI = function(){}
FlashAPI.prototype.evSoundStarted = function(element,soundPath,fromFlash){}
FlashAPI.prototype.evSoundStopped = function(element,soundPath,fromFlash){}
FlashAPI.prototype.evVideoStarted = function(element,videoPath){}
FlashAPI.prototype.evVideoStopped = function(element,videoPath){}
FlashAPI.prototype.evAppReady = function(element){}
FlashAPI.prototype.evAboutBox = function(element){}

// This function is used for the flash templates Scanning and WhatNext (it could perhaps belong elsewhere)
FlashAPI.prototype.evSetInstructionText = function(element,order)
{

	var instructions = instruction_text[qnum]; //passed from template (q number to get data from qdata)
		
	var brokenstring = instructions.split("^");
	
	var displayText = document.getElementById("instruction_text");
	
	if (!displayText){
		return; 
	}

	displayText.innerHTML = brokenstring[order]; 
	displayText = null; 
	
}

// ************* Watch Reflect methods

FlashAPI.prototype.evShowInitialText = function(){
	FlashAPI.prototype.evUpdateReflectText(qnum, "initial");
}

FlashAPI.prototype.evShowFinalText = function(){
	FlashAPI.prototype.evUpdateReflectText(qnum, "final");
}

FlashAPI.prototype.evClearText = function(){
	FlashAPI.prototype.evUpdateReflectText(qnum, "clear");
}

FlashObject.prototype.WN_skipToEnd = function(){
	this.makeCall("evSkipToEnd",["classpath" + this.param_glue + "uk.co.ctad.Projects.watchreflect.events"]);
}

FlashAPI.prototype.evUpdateReflectText = function(qnum, step){
	
	var instructions = instruction_text[qnum]; //passed from template (q number to get data from qdata)
	var brokenstring = instructions.split("^");
	var displayText = document.getElementById("reflect_text");						
	

	switch (step)
	{
		case "initial":
			 displayText.innerHTML = brokenstring[0];
			 break;
		case "final":
			 displayText.innerHTML = brokenstring[1];
			 break;
		default :
			 displayText.innerHTML = ''; 
	}
									
}

// ************* Watch Reflect calls

this.flashAPI = new FlashAPI();
