//mshow01 simple ondemand
var gFXWorkaround=WIN()&&FX();//Avoid memory handling bugs in FX by creating player last.
var gAction=null;
var gScout=null;
var gStat=null;
var gServcom=null;
var gResize=null;
var gAdvertisement=null;
var gTicker=null;
var gPlayer;
var gSlide;
var gInteraction;
var gMenustrip;
var gImagescroll=null;
var gAnimate;

var gE;
var gExpiredCmdList="";
var oE;
var gINSTREAM=false;
var gHasUndefinedDuration=false;
function form_load(){
receiveMediaSrcParameter();
oE=grid(eventlist);

eventlist=removeRestartCmd(eventlist);
if(q_WOW.q_CHANNEL=="4"){
	optimizeUsingASX();
	eventlist=eventlist_ensureDefaultVideo(gStreamlist[gSTREAMID][3],eventlist);
}//end if
gE=eventlist;
//debug(true);
//initfade
resetYellowmessage();
gINSTREAM=(q_WOW.q_CHANNEL=="2");
if(q_WOW.q_CHANNEL=="7"){//||q_WOW.q_CHANNEL=="2"){
	q_WOW.q_CHANNEL="6";
}//end if
q_createObjects(q_WOW);
//lockDocumentScroll();
q_requestLiveId();
q_heartbeat();

setTimeout("startMedia()",(FX()||(q_WOW.q_FADEIN=="1"&&IE()))?3000:1000);//Allow 1 second for player to initiate.
if(gINSTREAM==true){
	q_WOW.q_CHANNEL="6";
}//end if

}//function

function receiveMediaSrcParameter(){
var newMediaSrc=request_querystring("MEDIASRC");
if(newMediaSrc>""){
	gStreamlist[gSTREAMID][3]=newMediaSrc;
	eventlist=new Array();
}//end if
}//function

function form_unload(){
if(q_WOW.q_REPORTEDCLOSE){
}else{
	q_notifyClose();
}//end if
}//function

function form_resize(){
if(gImagescroll){
	delayedResize();
}else{
	doResize();
}//end if
}//function

var gTimerResize=null;
function delayedResize(){
if(gTimerResize){
	clearTimeout(gTimerResize);
	gTimerResize=null;
}//end if
gTimerResize=setTimeout("doResize()",500);
}//function

function doResize(){
if(gResize){
	try{
		gResize.resizeForm();
	}catch(errObj){
		logga(errObj.message);
	}//end catch
	gTimerResize=null;
}//end if
}//function

function debug(debugon){
if(div("servcom")){div("servcom").style.visibility="visible";}//end if
if(div("stat")){div("stat").style.visibility="visible";}//end if
if(div("preload")){div("preload").style.visibility="visible";}//end if
}//end function

function q_createObjects(q_WOW){
//The html content decides the objects to use
gAnimate=new Animate();
if(typeof(Stat)!="undefined"){gStat=new Stat(q_WOW);gStat.init(q_WOW);logga("loaded Stat");}//end if
if(typeof(Servcom)!="undefined"){gServcom=new Servcom(Servcom_onResponse);gServcom.init(gStat);logga("loaded Servcom");}//end if
if(typeof(Menustrip)!="undefined"){q_CreateMenustrip(q_WOW,div("MenustripGraphic"));logga("loaded Menustrip");}//end if
if(typeof(Advertisement)!="undefined"){gAdvertisement=new Advertisement();logga("loaded Advertisement");}//end if
if(typeof(Interaction)!="undefined"){q_CreateInteraction(q_WOW,div("inter"));logga("loaded Interaction");}//end if
if(typeof(Slideframe)!="undefined"){q_CreateSlide(q_WOW,div("slide"));logga("loaded Slideframe");}else{q_disableSlidecommands();logga("disabled Slidecommands");}//end if
if(div("video"))if(!gFXWorkaround){q_CreatePlayer(q_WOW,div("video"),true);logga("loaded Player");}//end if
if(typeof(Action)!="undefined"){q_CreateAction(q_WOW);logga("loaded Action");}//end if
if(typeof(Action)!="undefined"){q_CreateScout(q_WOW);logga("loaded Scout");}//end if
if(typeof(Imagescroll)!="undefined"){q_CreateImagescroll(q_WOW,div("imagescroll"));logga("loaded Imagescroll");}//end if
if(div("video"))if(gFXWorkaround){q_CreatePlayer(q_WOW,div("video"),false);logga("loaded Player");}//end if
if(typeof(Resize)!="undefined"){q_CreateResize();}//end if
if(typeof(Ticker)!="undefined"){gTicker=new Ticker(div("ticker"));logga("loaded Ticker");}//end if
initKey();
}//function

function q_CreateResize(){
gResize=new Resize();gResize.init(gMenustrip,gSlide,gInteraction,gImagescroll);logga("loaded Resize");
}//function

function q_disableSlidecommands(){
setdoc=function(){};
setslide=function(){};
animate_Slide=function(){};
slidenextimg_Click=function(){};
slideprevimg_Click=function(){};
}//end function

//CLOCK---------------------------------------------------------------------------------------------
function q_heartbeat(){
//q_threads();
q_WOW.q_TIMERID = setTimeout("q_heartbeat()", 996);
try{
	q_threads();
}catch(errObj){
	logga(errObj.description);
	//throw(errObj);
}//end catch
}//end function

function q_threads(){
var q_showTime;
if(gPlayer){
	q_showTime=q_getShowtime();
	if(q_showTime<0){
		logga("Negative timevalue "+q_showTime);
		if(q_showTime<-10){
			gPlayer.setTime(0);
		}//end if
	}else if(q_showTime>0 && q_showTime<5){
		startingTasks();
	}//end if
	gPlayer.updateEvent();
}//end if
if(gAction){
	q_showTime=q_getShowtime();
	if(gScout){//all channels use scout
		gScout.setCmd(q_showTime+10);
	}//end if
	if(q_WOW.q_CHANNEL=="4"||q_WOW.q_CHANNEL=="6"){
		gAction.setCmd(q_showTime);
	}//end if
}//end if
if(div("Rollerstatus")){q_displayShowtime();}//end if
if(div("videobar")){q_updateVideobar(q_showTime);}//end if

if(gStat){q_doStats();}//end if

//	q_checkslideload();
}//end function

function startingTasks(){
if(gHasUndefinedDuration==true){
	gHasUndefinedDuration=false;
	setTimeLineDuration();
}//end if
}//end function

function setTimeLineDuration(){
logga("set timeline duration to "+gPlayer.getDuration());
setEndtime(eventlist,gPlayer.getDuration());
}//end function

function setEndtime(eventlist,endTime){
	eventlist[eventlist.length-1][0]=endTime;
}//end function

function q_updateVideobar(q_time){
div("videobar").onclick=videobar_onclick;
if(q_WOW.q_USECHAPTERPERCENTAGE==true){
	q_updateVideobarPercent(getChapterPercentage(q_time));
}else{
	q_updateVideobarPercent(getTotalPercentage(q_time));
}//end if
}//end function

function chapterPercentage2Time(q_time,q_percentage){
var a=getCurrentChapterStart(q_time);
var b=getNextChapterStart(q_time);
return a+q_percentage*(b-a);
}//end function

function getChapterPercentage(q_time){
var a=getCurrentChapterStart(q_time);
var b=getNextChapterStart(q_time);
return (q_time-a)/(b-a);
}//end function

function getCurrentChapterStart(q_time){
return seekChapterBoundary(q_time,-1);
}//end function

function getNextChapterStart(q_time){
return seekChapterBoundary(q_time,1);
}//end function

function seekChapterBoundary(q_time,step){
var ix=eventlist_getTimecmdindex(eventlist,q_time,2);
ix=ix+iif(step==1,1,0);
while(!isChapterBoundary(eventlist[ix])){
	ix=ix+step;
	if(ix<0){
		logga("seekChapterBoundary out of bounds");
		return getStarttime(eventlist);
	}else if(ix>=eventlist.length){
		logga("seekChapterBoundary out of bounds");
		return getEndtime(eventlist);
	}//end if
}//loop
return parseInt(eventlist[ix][0]);
}//end function

function isChapterBoundary(a){
return startswith(a[1],"setinter('chapter',")||startswith(a[1],"setinter('skipchapter',")||startswith(a[1],"eventlist_startmark(")||startswith(a[1],"eventlist_endmark(");//adjust to look for array bounds instead
}//end function

function getTotalPercentage(q_time){
if(getEndtime(eventlist)>0){
	return (q_time/getEndtime(eventlist));
}else{
	return 0;
}//end if
}//end function

function q_updateVideobarPercent(q_percent){
var q_p;
if(q_percent<0){
	q_p=0;
}else if(q_percent>1){
	q_p=1;
}else{
	q_p=q_percent;
}//end if

var q_left=div("videobar").offsetLeft;
var q_top=div("videobar").offsetTop;
var q_width=div("videobar").offsetWidth;
var q_height=div("videobar").offsetHeight;
var q_markwidth=div("videobarmark").offsetWidth;
var q_markheight=div("videobarmark").offsetHeight;
var q_marktop=(q_top+q_top+q_height-q_markheight)/2;
var q_markleft=q_left+(q_width-q_markwidth)*q_p;
div("videobarmark").style.left=q_markleft;
div("videobarmark").style.top=q_marktop;
if(div("Chapterpercent")){
	div("Chapterpercent").innerHTML=Math.floor(100*q_percent+0.5)+"%";
}//end if
}//end function

function videobar_onclick(q_evt){
var offsetX=getoffsetX(q_evt);
var q_width=div("videobar").offsetWidth;
if(q_WOW.q_USECHAPTERPERCENTAGE==true){
//	var q_playtime=(chapterPercentage2Time(q_getShowtime(),offsetX/q_width/0.99));
	var q_playtime=(chapterPercentage2Time(q_getShowtime(),offsetX/q_width));
}else{
	var q_playtime=getEndtime(eventlist)*offsetX/q_width;
}//end if
logga(timestring(q_playtime));
doGotoTime(eventlist,q_playtime);
}//end function

function q_doStats(){
if(gStat){
	if(gPlayer){
		var q_state=gPlayer.getState();
		gStat.reg(q_state);
		gStat.reg("bandwidth",gPlayer.getBandwidth());
		gStat.reg("framerate",gPlayer.getFramerate());
		try{
			gStat.regVersion(gPlayer.getVersion());
		}catch(errObj){
		}//end catch
	}else{
		gStat.reg("idle");
		gStat.reg("bandwidth",0);
		gStat.reg("framerate",0);
		gStat.regVersion(" no player");
	}//end if
	if(gStat.getField("LIVEID")>0){
		q_maincom();//Communicate with server when there is a liveid
	}//end if
}//end if
}//end function

//IMAGESCROLL---------------------------------------------------------------------------------------------
function q_CreateImagescroll(q_WOW,q_obj){
if(q_obj){
	gImagescroll=new Imagescroll(Imagescroll_onSelect);
	if(typeof(p_form)!="undefined"){
		var ix=p_form.seekCol(0,"imagescroll");
		if(ix>0){
			if(p_form[ix][1]!="hidden"){
				gImagescroll.qs=p_form[ix][6];
				setImagescrollValues(gImagescroll.qs);
				var actionType=gImagescroll.myActionType;
	//request_queryvalue(gImagescroll.qs,"actionType");
				if(actionType=="slide"||actionType=="gotoslide"){
					loadSlidelist(actionType,gImagescroll.qs);		
				}else if(actionType=="iframe"||actionType=="player"){
					var category=request_queryvalue(gImagescroll.qs,"dataSource");
					loadProjectlist(category);
				}//end if
			}//end if
		}//end if
	}else{
		logga("No imagescroll values in layout/p_form");
		return;
	}//end if
}else{
	logga("Missing imagescroll layer");
}//end if
}//end function

function setImagescrollValues(qs){
var propString="actionType,aspect,imageCount,imgWidth,imgHeight,reflect,scrollEasing,zoomEasing,behavior,zoomScale,producer_id";
propArray=propString.split(",");
for(var ix=0;ix<propArray.length;ix=ix+1){
	var value=request_queryvalue(qs,propArray[ix]);
	if(value>""){
		gImagescroll.setProperty(propArray[ix],value);
	}//end if
}//next
}//end function

function loadSlidelist(actionType,qs){
	var gIMAGEARRAY=getSlideData();
	gImagescroll.init(div("imagescroll"),gIMAGEARRAY);
	test=gImagescroll.paint();
//	gImagescroll.addCoord("imagescrollframe");
	if(typeof(addReflections)!="undefined"){
		addReflections();
	}//end if
	
}//end function

function loadProjectlist(category){
	gStat.CMDIMAGESCROLLDATA=gImagescroll.myActionType;
	gStat.SELECTEDIMAGESCROLLDATA=category;
	var temp=q_WOW.q_PRODUCERID;
	if(typeof(gImagescroll.myPRODUCER_ID)!="undefined"){
		q_WOW.q_PRODUCERID=gImagescroll.myPRODUCER_ID;
	}//end if
	gServcom.request(gStat.getUrl("getimagescrolllist"));
	q_WOW.q_PRODUCERID=temp;
}//end function

var gIMAGELIST;
function fillImagescroll(q_text){
//Called from servcom_onresponse (ajax data)
cmd=request_queryvalue(q_text,"CMDIMAGESCROLLDATA").toLowerCase();
if(cmd=="player"||cmd=="iframe"){
	gIMAGELIST=unescape(request_queryvalue(q_text,"IMAGESCROLLDATA"));
	var gIMAGEARRAY=tab2array(gIMAGELIST);
	gImagescroll.init(div("imagescroll"),gIMAGEARRAY);
	test=gImagescroll.paint();
	if(typeof(addReflections)!="undefined"){
		addReflections();
	}//end if
}//end if
}//end function

function Imagescroll_onSelect(ix,q_url,q_time){
switch(gImagescroll.myActionType){
case "iframe":
	div("movieframe").location.href=q_url;
	return;
case "player":
	setPlayerMetaFields(gImagescroll.myImageArray[ix]);
	changePlayerSource(gPlayer,q_url);
	return;
case "slide":
	setdoc(q_url,gImagescroll.myImageArray.length,1);
	return;
case "gotoslide":
	gPlayer.setTime(parseInt(q_time));
	return;
}//end switch
}//end function

function setPlayerMetaFields(playerItem){
setMetaField("EVENTNAME",playerItem[0]);
setMetaField("URL",playerItem[1]);
setMetaField("EVENTDESCRIPTION",playerItem[4]);
setMetaField("EVENTDURATION",playerItem[5]);
setMetaField("EVENTRATING",playerItem[6]);
if(div("LOGO_INTRO")){
	div("LOGO_INTRO").src=playerItem[2];
}//end if
}//end function

function setMetaField(id,value){
if(div(id)){
	div(id).innerHTML=value;
}//end if
}//end function

function changePlayerSource(gPlayer,q_url){
	if(isSamePlayerType(gPlayer,q_url)){
		if(gPlayer.getSrc()==q_url){
			gPlayer.setTime(0);
		}else{
			gPlayer.setSrc(q_url);
			gPlayer.play();
		}//end if
	}else{
		q_WOW.q_URL=q_url;
		q_WOW.q_SFORMAT=url_getPlayerformat(q_url);
		if(WIN()&&FX()&&q_WOW.q_SFORMAT=="WM"){//WIN/FX/WM
			//Firefox fails to create a dynamic WM player - we have to reload
			gPlayer.dispose();
			document.location.href="mainshow.asp?"+unescape(gStat.getQs("pageurl"));
			return 0;
		}//end if
		eventlist=new Array();
		eventlist=eventlist_ensureDefaultVideo(q_url,eventlist);
		q_reCreatePlayer(q_WOW,div("video"),true);
	}//end if
}//end function

function isSamePlayerType(gPlayer,q_url){
return gPlayer.myFormat==url_getPlayerformat(q_url);
}//end function

//NOTUSED
function getTimeForSlide(q_url){
var q_slideurl=WildFind(0,q_url.toLowerCase(),"slides/*.jpg");
var cmd="setdoc('slides/"+q_slideurl;
for(var ix=0;ix<eventlist.length;ix=ix+1){
if(startswith(eventlist[ix][1],cmd)){
	return parseInt(eventlist[ix][0]);
}//end if
}//next
return -1;
}//end function

function getSlideData(){
var q_thumburl="";
var arr=new Array();
var str="";
var sep="";
for(var ix=0;ix<eventlist.length;ix=ix+1){
	if(isSlideCmd(eventlist[ix][1])){
		var q_slideurl=getSlideUrl(eventlist[ix][1]);
		var q_stackName=WildFind(0,q_slideurl,"slides/*/");
		if(!inList(q_slideurl,str)){
			q_thumburl=replace(q_slideurl,"/"+q_stackName+"/", "/"+q_stackName+"/thumbnails/");
			arr.append(makeSlideDataRow(eventlist[ix][0],q_slideurl,q_thumburl));
			str=str+sep+q_slideurl;
			sep=",";
		}//end if
	}//end if
}//next
return arr;
}//end function

function isSlideCmd(cmd){
return startswith(cmd,"setdoc('slides/");
}//end function

function getSlideUrl(cmd){
return WildFind(0,cmd,"setdoc('*',");
}//end function

//SELECT SLIDENAME,DISTINCT(PPTURL),THUMBNAILSRC,CLASSNAME,ZOOMDESCRIPTION,ZOOMMOVIEDURATION,EVENTTIME FROM TIMELINE WHERE EVENTCMD IS SLIDE AND PPTNAME='z_PPTNAME' ORDER BY EVENTTIME
function makeSlideDataRow(q_eventtime,q_slideurl,q_thumburl){
return new Array("",q_slideurl,q_thumburl,"","",""+q_eventtime,"");
}//end function



//MENU---------------------------------------------------------------------------------------------
function q_CreateMenustrip(q_WOW,q_obj){
if(q_obj){
	gMenustrip=new Menustrip(Menustrip_OnSelectMenuitem);
	var q_includeRoller=(q_WOW.q_SHOWROLLER=="1");
	//if(q_WOW.q_SHOWMENU=="1"){//This attribute is evaluated server side
	if (q_WOW.q_ONLINE=="0"){
		q_WOW.q_MENULIST.length=1;
	}//end if
	gMenustrip.paint(q_obj,q_WOW.q_MENULIST,q_includeRoller,q_WOW.q_IMG);
	q_obj.style.visibility="visible";
}//end if
}//end function

//Menustrip Events
function Menustrip_OnSelectMenuitem(q_itemname){
switch (q_itemname){
case "Log Off":doNav(0,"a_login",q_WOW.q_PRODUCERID,"");break;
case "Quit":doExit();break;
case "Project Page":doNav(0,"a_projectpage",q_WOW.q_PRODUCERID,q_WOW.q_FOLDERNAME);break;
case "Ability Help":doViewerHelp(q_WOW.q_PRODUCERID,q_WOW.q_FOLDERNAME);break;
case "Help":doViewerHelp(q_WOW.q_PRODUCERID,q_WOW.q_FOLDERNAME);break;
case "Report Error":doReportError();break;
case "About Ability":doAbout(q_WOW.q_PRODUCERID);break;
case "Play":if(gPlayer){gPlayer.play();};break;
case "Pause":if(gPlayer){gPlayer.pause()};break;
case "Stop":if(gPlayer){gPlayer.stop()};break;
case "VolumeUp":if(gPlayer){gPlayer.up()};break;
case "VolumeDown":if(gPlayer){gPlayer.down()};break;
case "Fullscreen":if(gPlayer){gPlayer.setSize("full")};break;
case "NextSlide":if(gSlide){slidenextimg_Click()};break;
case "PrevSlide":if(gSlide){slideprevimg_Click()};break;
default:
}//end switch
}//end function

function onKey(k){
//called from general.js
if(k==123){
	doReportError();
}//end if
}//end function

//ROLLERSTATUS---------------------------------------------------------------------------------------------
function q_getShowtime(){
try{
if(q_WOW.q_CHANNEL=="6" && q_WOW.q_OFFSETIME){
	return Math.floor(0.5+now()/1000+q_WOW.q_OFFSETIME);
}else{
	if(gPlayer){
		return gPlayer.getTime();
	}else{
		return 0;
	}//end if
}//end if
}catch(errObj){
	logga("q_getShowtime "+errObj.message);
}//end catch
}//end function

function q_displayShowtime(){
if(q_WOW.q_CHANNEL=="6"){
	q_setstatus("Online "+q_timestring(q_getShowtime()),100);
	return 0;
}//end if

if(gPlayer){
	if(gPlayer.getState()=="play"){
		if(getEndtime(eventlist)>0){
			q_setstatus("Playing "+q_timestring(q_getShowtime())+" / "+q_timestring(getEndtime(eventlist)),100);
			q_setTimeLabel(durstring(q_getShowtime())+" / "+durstring(getEndtime(eventlist)));
		}else{
			q_setstatus("Playing "+q_timestring(q_getShowtime()),100);
			q_setTimeLabel(durstring(q_getShowtime()));
		}//end if
	}else{
		if(gPlayer.getState()=="pause"){
			q_setstatus("Paused "+q_timestring(q_getShowtime())+" / "+q_timestring(getEndtime(eventlist)),100);
			q_setTimeLabel(durstring(q_getShowtime())+" / "+durstring(getEndtime(eventlist)));
		}else if(gPlayer.getState()=="buffer"){
			q_setstatus("Buffering..." + gPlayer.getBuffering()+"%",gPlayer.getBuffering());
		}else if(gPlayer.getState()=="stop"){
			q_setstatus("Stopped");
		}else if(gPlayer.getState()=="connect"){
			q_setstatus("Connecting...");
		}else if(gPlayer.getState()=="idle"){
			q_setstatus("Ready. Click play to start.",0);
		}else{
//			q_setstatus(gPlayer.getState(),100);
		}//end if
	}//end if
}else{
	q_setstatus("No Mediaplayer",100);
}//end if
}//end function

function q_setstatus(q_str,q_progress){
try{
	if (gMenustrip){
		gMenustrip.setStatus(q_str);
		gMenustrip.setProgress(q_progress);
	}else{
		div("Rollerstatus").innerHTML=q_str;
	}//end if
}catch(errObj){
}//end catch
}//end function

function q_setTimeLabel(q_str){
try{
	if(div("TimeLabel")){
		div("TimeLabel").innerHTML=q_str;
	}//end if
}catch(errObj){
}//end catch
}//end function

function q_timestring(q_tpos){
	return timestring(q_tpos);
}//end function

function q_lz(q_anum){
if (q_anum<10){
   return "0"+q_anum;
}else{
   return q_anum;
   }//end if
}//end function

//ACTION---------------------------------------------------------------------------------------------
function q_CreateAction(q_WOW){
try{
gAction=new Action(Action_OnExecute);
gAction.init(eventlist,6);
gAction.setCmd(0);
}catch(errObj){
	alert(errObj.message);
}//end catch
}//end function

function Action_OnExecute(q_cmd,q_ix,q_cmdtime){
logga("Action_OnExecute "+q_cmd);
if(q_cmd.indexOf("setvideo(")>-1){
	if(gPlayer){
		verifyVideoEvent(q_ix,gPlayer.getTime());
	}//end if
}else if (isvalidcommand(q_cmd)){
	markCommandIndex(q_cmd,q_ix);
	eval(q_cmd);
}//end if
}//end function

function isvalidcommand(q_cmd){
return (q_cmd.indexOf("setdoc(")>-1)||(q_cmd.indexOf("setinter(")>-1)||(q_cmd.indexOf("setvideo(")>-1)||(q_cmd.indexOf("interaction(")>-1)||(q_cmd.indexOf("setslide(")>-1)||(q_cmd.indexOf("alert(")>-1||(q_cmd.indexOf("eventlist_endmark(")>-1));
}//end function

//SCOUT---------------------------------------------------------------------------------------------
function q_CreateScout(q_WOW){
q_WOW.q_SCOUT=new Array();
gScout=new Action(Scout_OnExecute);
gScout.init(eventlist,6);
preloadButtonImages();
}//end function

function preloadButtonImages(){
var imgid= ("videoplay,videopause,videostop,videoup,videodown,videofull,videoflip,videobar,videobarkmark,slidenext,slideprev,vieweremail,viewerchat,viewerhelp,viewerindex,viewercomment,imagescrollbackward,imagescrollforward").split(",");
for(var q_ix=0;q_ix<imgid.length;q_ix++){
	if(div(imgid[q_ix]+"img")){
		var q_src=div(imgid[q_ix]+"img").src;
		preloadImage(replace(q_src,".gif","_over.gif"));
		preloadImage(replace(q_src,".gif","_down.gif"));
	}//end if
}//next
q_WOW.q_PIC[q_WOW.q_PIC.length-1].onload=disposePic;
}//end function

function preloadImage(q_src){
var q_pic=new Image();
q_pic.src=q_src;
q_WOW.q_PIC[q_WOW.q_PIC.length]=q_pic;
}//end function

function disposePic(){
q_WOW.q_PIC=null;
}//end function

function Scout_OnExecute(q_cmd,q_ix,q_cmdtime){
if(q_cmd.indexOf("setdoc(")>-1){
//preload a document
if(gPlayer){
	q_WOW.q_SCOUT[q_WOW.q_SCOUT.length]=new Array(gPlayer.getTime(),gScout.eventlist[q_ix][0],q_cmd);
}//end if
}//end if
}//end function

//SLIDE---------------------------------------------------------------------------------------------
function q_CreateSlide(q_WOW,q_obj){
if(q_obj){
	gSlide=new Slideframe();
	var q_previewbutton=false;
	gSlide.init(q_WOW.q_JAVALOADIMAGES,q_previewbutton,q_WOW.q_PRESENTATIONFORMAT,q_WOW.q_SHOWANIMATION,q_WOW.q_PRESENTATIONNAMES,q_WOW.q_BASEURL,q_WOW.q_ADM,q_WOW.q_PRODUCERID,q_WOW.q_FOLDERNAME);
	gSlide.paint(q_obj,q_WOW.q_IMG+"loading.gif",q_WOW.q_USESCROLLBARS);
	gSlide.myFade=q_WOW.q_FADEIN;
}//end if
}//end function

function setdoc(q_url,q_count,q_target){
gSlide.setdoc(q_url,q_count,q_target);
}//end function

function setslide(q_filename,q_slidecount){
gSlide.setslide(q_filename,q_slidecount);
}//end function

function animate_Slide(){
gSlide.animate_Slide();
}//end function

function slidenextimg_Click(){
	executecommand(gSlide.getCommand("next"));
}//end function

function slideprevimg_Click(){
	executecommand(gSlide.getCommand("prev"));
}//end function

function executecommand(q_cmd){
if(isvalidcommand(q_cmd)){
	eval(q_cmd);
}//end if
}//end function

//INTERACTION---------------------------------------------------------------------------------------------
function q_CreateInteraction(q_WOW,q_obj){
if(q_obj){
	if(q_WOW.q_CHANNEL=="4"){
		var ev=eventlist;
	}else{
		q_WOW.q_CUELIST=extractChapters(eventlist);
		var ev=q_WOW.q_CUELIST;
		eventlist=extractNotChapters(eventlist);
	}//end if
	gInteraction=new Interaction(myInteraction_OnClick);
	gInteraction.init(q_WOW.q_PRODUCERID,q_WOW.q_FOLDERNAME,ev,q_WOW.q_EVENTNAME,q_WOW.q_EVENTDESCRIPTION,q_WOW.q_EVENTCONTACT,q_WOW.q_EVENTEMAIL,q_WOW.q_VIEWERNAME,q_WOW.q_AUTH_EMAIL,q_WOW.q_BASEURL,q_WOW.q_CHAPTERARROW,q_WOW.q_IMG,q_WOW.q_CHATSERVER);
	gInteraction.setShowChapterDuration((q_WOW.q_CHAPTERARROW=="1") && (q_WOW.q_CHANNEL=="4"));
}//end if
}//end function

function extractChapters(eventlist){
var str=new Array();
for(var q_ix=0;q_ix<eventlist.length;q_ix++){
if(eventlist[q_ix][1]){
	if(eventlist[q_ix][1].indexOf("setinter('chapter'")>-1 && eventlist[q_ix][0]>0){
		str[str.length]=eventlist[q_ix];
	}//end if
}//end if
}//next
return str;
}//end function

function extractNotChapters(eventlist){
var str=new Array();
for(var q_ix=0;q_ix<eventlist.length;q_ix++){
if(eventlist[q_ix][1]){
	if(eventlist[q_ix][1].indexOf("setinter('chapter'")==-1 || eventlist[q_ix][0]==0){
		str[str.length]=eventlist[q_ix];
	}//end if
}//end if
}//next
return str;
}//end function

function myInteraction_OnClick(q_inter,q_name,q_mail,q_value){
switch (q_inter){
case "chapter":changeChapter(q_mail,q_value);break;
case "email":sendEmail(q_name,q_mail,q_value);break;
//case "vote":sendVote(q_value,html2text(div("intertext").innerHTML));break;
case "vote":sendVote(q_value,gInteraction.myQuestion);break;
case "comment":sendComment(q_name,q_value);break;
}//end select
}//end function

function changeChapter(q_newpos,q_chaptername){
if(gResize){
	gResize.flip("0");
}//end if
if(gPlayer){
	if(isLiveBroadcast()){
		yellowmessage(uText(36,"Sorry, not possible to select chapters in a Live broadcast."),"Live Broadcast");
	}else{
		gPlayer.setTime(q_newpos);
	}//end if
}//end if
}//end function

function isLiveBroadcast(){
return (q_WOW.q_CHANNEL=="6"||q_WOW.q_CHANNEL=="2");
}//end function

function sendEmail(q_name,q_mail,q_value){
//try{
	q_submitFields("email",q_name+"<"+q_mail+">",q_WOW.q_EVENTEMAIL,q_value);
	setinter("infotext","Your mail has been sent.","",2);
//}catch(errObj){
//	setinter("infotext","Mail can not be sent now.","",2);
//}//end catch
}//end function

function sendVote(q_value,q_text){
if (q_WOW.q_ONLINE=="1"){
	try{
		q_submitFields("vote", q_value,"",q_text);
		   setinter("infotext","Your answer has been received.","",2);
	}catch(errObj){
		   setinter("infotext","Answers can not be received right now."+errObj.message,"",2);
	}//end catch
}else{//Exported show
	   setinter("infotext","This show is not connected to a voting server.","",2);
}//end if
}//end function

function sendComment(q_name,q_value){
if (q_WOW.q_ONLINE=="1"){
	try{
		q_submitFields("comment","","",q_value);
		setinter("infotext","Comment has been sent.","",2);
	}catch(errObj){
		setinter("infotext","Comment is not available right now.","",2);
	}//end catch
}else{
	   setinter("infotext","Thank you.","",2);
	   q_addcomment(q_value);
}//end if
}//end function

var gDefaultInfourl="";
function viewer_Control(q_Name){
switch (q_Name.toLowerCase()){
case "help":
	setinter("infourl",gDefaultInfourl,"Event Info",2);break;
case "comment":
	setinter("inputcomment","","Comment",2);break;
case "index":
	setinter("chapter","","Chapter",2);break;
case "chat":
	setinter("chat","","Chat",2);break;
case "email":
	setinter("email","","Email",2);break;
case "play":
	Menustrip_OnSelectMenuitem("Play");break;
case "flip":
	if(gResize){gResize.flip("");};break;
case "full":
	Menustrip_OnSelectMenuitem("Fullscreen");break;
case "pause":
	Menustrip_OnSelectMenuitem("Pause");break;
case "stop":
	Menustrip_OnSelectMenuitem("Stop");break;
case "up":
	Menustrip_OnSelectMenuitem("VolumeUp");break;
case "down":
	Menustrip_OnSelectMenuitem("VolumeDown");break;
case "nextslide":
	Menustrip_OnSelectMenuitem("NextSlide");break;
case "prevslide":
	Menustrip_OnSelectMenuitem("PrevSlide");break;
case "imagescrollbackward":
	if(gImagescroll)gImagescroll.scrollBackward();break;
case "imagescrollforward":
	if(gImagescroll)gImagescroll.scrollForward();break;
default:
}//end switch
}//end function

function setInteraction(q_inter,q_intertext,q_title,q_target){
if(q_WOW.q_USETITLES==1){
	var q_layout=1;
}else{
	var q_layout=0;
}//end if
q_inter=Interaction_updateId(q_inter);
if (q_target==2){
	var q_obj=div("inter");
}else if (q_target==3){
	var q_obj=div("ads");
}//end if
if(q_obj){
gInteraction.paint(q_obj,q_inter,q_intertext,q_title,q_layout);
	if (q_inter=="chapter"){
		q_chapterstatus=document.getElementById("Chapterstatus");
		if(q_chapterstatus){
			q_chapterstatus.innerHTML=gInteraction.myChapter;
		}//end if
	}else if (q_inter=="infourl"){
		gDefaultInfourl=q_intertext;
	}//end if
}//end if
}//end function

function setinter(q_inter,q_intertext,q_title,q_target){
logga("setinter("+q_inter+")");
if(!(q_inter=="")){
	switch (q_inter){
	case "flip":if(gResize)gResize.flip(q_intertext);return 0;
	case "sync":if(gPlayer)gPlayer.player2Sync();return 0;
	case "fullscreen":doFullscreen(q_intertext);return 0;
	case "script":doScript(unescape(q_intertext));return 0;
	case "goto":doGoto(q_intertext);return 0;
	case "advertisement":setinterAds(q_intertext,q_title,q_target);return 0;
	case "preload":if(gAdvertisement)gAdvertisement.preload(q_intertext);return 0;
	case "comment":if(gTicker)gTicker.paint(q_intertext);return 0;
	case "addcomment":if(gTicker)gTicker.add(q_intertext);return 0;
	case "animate":animate_Slide();return 0;
	case "openurl":window.open(q_intertext,'WebTour');return 0;
	case "redirectvideo":redirectvideo(q_intertext);return 0;
	case "abortviewers":doAbortviewers();return 0;
	case "reloadviewers":doreload();return 0;
	case "newchapterlist":doUpdateChapterlist();return 0;
	case "updatespeakerlist":doUpdateSpeakerlist();return 0;
	case "skipchapter":doSkipChapter(q_intertext,q_title,q_target);return 0;
	default:
	 if(gInteraction)setInteraction(q_inter,q_intertext,q_title,q_target);return 0;
	}//end switch
}//end if
}//end function

function doSkipChapter(q_intertext,q_title,q_target){
logga("skipping to "+timestring(getNextChapterStart(q_getShowtime())));
doGotoTime(eventlist,getNextChapterStart(q_getShowtime()));
}//end function

var gTimerFadeout;
function setinterAds(q_intertext,q_title,q_target){
logga("setinterAds");
if(gAdvertisement){
	if(q_WOW.q_FADEIN=="1"){
		if(q_intertext==""){
			fadeOut("ads");
logga("setTimeout setAds");
			setTimeout("gAdvertisement.setAds('')",1500);
		}else{
			gAdvertisement.setAds(q_intertext);
			fadeIn("ads");
			if(gTimerFadeout){
logga("clearTimeout fadeOut");
				clearTimeout(gTimerFadeout);
			}//end if
logga("setTimeout fadeOut");
			gTimerFadeout=setTimeout("fadeOut('ads')",31500);
		}//end if
	}else{
		gAdvertisement.setAds(q_intertext);
	}//end if
}//end if
}//end function

function markCommandIndex(q_cmd,q_ix){
if(gInteraction){
	if(contains(q_cmd,"setinter('chapter',")){
		gInteraction.myChapterMark=q_ix;
	}//end if
}//end if
}//end function

function doreload(){
if(now()-getRestarttime()>15000){//Wait at least 15 seconds before allowing another reload
	window.name=now();
	q_notifyClose();
	q_WOW.q_REPORTEDCLOSE=true;
	yellowmessage(uText(35,"Stand by, show is reloading..."),"Reloading Show");
	setTimeout("document.location.reload()",3000);
}//end if
}//end function

function doUpdateChapterlist(){
if(isLiveBroadcast()){
	gServcom.request(gStat.getUrl("getchapterlist"));
}//end if
}//end function

function getRestarttime(){
try{
	if(!isNaN(parseInt(window.name))){
		return parseInt(window.name);
	}else{
		return 0;
	}//end if
}catch(errObj){
	return 0;
}//end catch
}//end function

function doAbortviewers(){
q_notifyClose();
q_WOW.q_REPORTEDCLOSE=true;
yellowmessage(uText(34,"Closing Show...Thank you for watching!"),"Closing Show");
setTimeout("window.close()",3000);
clearTimeout(q_WOW.q_TIMERID);
q_WOW.q_TIMERID=-1;
}//end function

function doFullscreen(q_intertext){
if(gPlayer)gPlayer.setSize((q_intertext=="1")?"full":"normal");
}//end function

function doScript(q_intertext){
try{
	eval(antijssyntax(replace(q_intertext,"<br>"," ")));
}catch(errObj){
}//end catch
}//end function

//ADVERTISEMENT----------------------------------------------------------------------------------
//class ads
function Advertisement(){
this.q_CURADS="";
this.q_CURADINDEX=0;
this.q_ADSTIMERID=null;
this.q_PRELOADINPROGRESS=false;
}//end function

Advertisement.prototype.setAds=function q_setads(q_txt){
this.q_CURADS=q_txt;
this.q_CURADINDEX=0;
clearTimeout(this.q_ADSTIMERID);
gAdvertisement.showNextAd();
}//end function

Advertisement.prototype.showNextAd=function q_shownextad(){
var q_adlist;
var q_Obj=div("ads");
if (q_Obj){
	if (this.q_CURADS.indexOf("/")>-1){
		q_adlist=this.q_CURADS.split(";");
	}else{
		q_adlist=this.q_CURADS.split("#");
	}//end if
	if (this.q_CURADINDEX>=q_adlist.length){this.q_CURADINDEX=0;}//end if
	q_txt=q_adlist[this.q_CURADINDEX];
	this.q_CURADINDEX=this.q_CURADINDEX+1;
	q_Obj.style.visibility="visible";
	try{
		q_Obj.filters[0].Apply();
		q_Obj.innerHTML=this.getAdContent(q_txt,q_Obj.style.width,q_Obj.style.height);
		q_Obj.filters[0].Play();
	}catch(errObj){
		q_Obj.innerHTML=this.getAdContent(q_txt,q_Obj.style.width,q_Obj.style.height);
	}//catch
	this.q_ADSTIMERID=setTimeout("gAdvertisement.showNextAd()",29000);
	if (q_txt==""){
//		q_Obj.style.visibility="hidden";
	}//end if
}//end if
}//end function

Advertisement.prototype.getAdContent=function q_getadcontent(q_txt,q_width,q_height){
//get content for ads
if ((q_txt.substr(0,7)=="http://")||(q_txt.substr(0,8)=="banners/")||(q_txt.substr(0,10)=="documents/")){
	q_ext=q_fileextension(q_txt);
	if ((q_ext=="gif")||(q_ext=="jpg")){
		return "<img style='width:100%; height:100%;' src='"+q_txt+"'>";
	}else{
		return "<iframe id='adsframe' name='adsframe' frameborder='0' style='width:" + q_width + "; height:" + q_height + ";' src='" + q_txt + "' scrolling='no' onload='gAdvertisement.onload();'></iframe>";
	}//end if
}else if (q_txt==""){
	return "<div style='width:" + q_width + "; height:" + q_height + ";'>"+q_txt+"</div>";
}else{
	return "<div class='ads' style='width:100%; height:100%;vertical-align: middle;'>"+q_txt+"</div>";
	return "<div style='width:100%; height:100%;background-color: #FFFFFF;color:#000000;text-align: center; vertical-align: middle;'>"+q_txt+"</div>";
}//end if
}//end function

function q_fileextension(q_f){
var q_filename=trim(q_f);
   q_ix=q_filename.lastIndexOf(".");
   if (q_filename.lastIndexOf(".asp?")>=0){
      return "asp";
   }else if (q_ix>=0){
      return q_filename.substr(q_ix+1,q_filename.length-q_ix);
   }else{
      return "";
   }//end if
}//end function

Advertisement.prototype.onload=function q_adsframe_load(){
if (this.q_PRELOADINPROGRESS==true){
	this.q_PRELOADINPROGRESS=false;
	var q_Obj=div("ads");
	if (q_Obj){
		q_Obj.innerHTML="";
	}//end if
}//end if
}//end function

Advertisement.prototype.preload=function q_preloaditem(anURL){
var q_Obj=div("ads");
if (q_Obj){
	q_Obj.style.visibility="hidden";
	q_Obj.innerHTML=this.getAdContent(anURL,q_Obj.style.width,q_Obj.style.height);
	this.q_PRELOADINPROGRESS=true;
}//end if
}//end function

//PLAYER---------------------------------------------------------------------------------------------

function requestStarttime(){
if(request_querystring("STARTTIME")>"0"){
	return parseInt(request_querystring("STARTTIME"));
}else{
	return 0;
}//end if
}//end function

function q_CreatePlayer(q_WOW,q_obj,q_OVERWRITE){
if(q_obj){
	if(requestStarttime()>"0"){
		var q_STARTTIME=parseInt(requestStarttime());
	}else{
		var q_STARTTIME=0;
	}//end if
	var q_SSIZE=gStreamlist[gSTREAMID][4];
	var q_INSTREAM=(gINSTREAM);
	var q_CONTROL=(q_WOW.q_SHOWPOSITIONCONTROLS||q_WOW.q_NOTSCRIPTABLE);
	var q_ALLOWMENU=q_WOW.q_ALLOWCHANGESIZE;
	var q_AUTOSTART=!(WIN()&&IE()||(q_WOW.q_SFORMAT=="FL"));
	if(MAC()&&q_WOW.q_SFORMAT=="WM"){
		q_WOW.q_SFORMAT="QT";
	}//end if	
	logga("Setting video format to "+q_WOW.q_SFORMAT);
	gPlayer=Player_Factory(q_WOW.q_SFORMAT);
	if(gPlayer){
		gPlayer.backgroundColor=getVideoBackgroundColor();
		gPlayer.init("",q_SSIZE,q_INSTREAM,q_CONTROL,q_ALLOWMENU,q_AUTOSTART,eventlist,q_STARTTIME,q_WOW.q_LOGO_INTRO);

		gPlayer.paint(q_obj,q_OVERWRITE);
		q_WOW.q_SFORMAT=gPlayer.myFormat;
		q_WOW.q_WB_BANDWIDTH=gStreamlist[gSTREAMID][5];
	
		player_ensureDefaultVideo(gStreamlist[gSTREAMID][3],eventlist,gPlayer);
		q_WOW.q_URL=gStreamlist[gSTREAMID][3];
	}//end if
}//end if
}//end function

function q_reCreatePlayer(q_WOW,q_obj,q_overwrite){
if(gPlayer){
	gPlayer.dispose();
	gPlayer=null;
}//end function
if(q_obj){
	
	var q_URL=q_WOW.q_URL;
	var q_STARTTIME=0;
	var q_SSIZE=gStreamlist[gSTREAMID][4];
	var q_INSTREAM=(gINSTREAM);
	var q_CONTROL=(q_WOW.q_SHOWPOSITIONCONTROLS||q_WOW.q_NOTSCRIPTABLE);
	var q_ALLOWMENU=q_WOW.q_ALLOWCHANGESIZE;
	var q_AUTOSTART=true;
	if(MAC()&&q_WOW.q_SFORMAT=="WM"){
		q_WOW.q_SFORMAT="QT";
	}//end if	
	logga("Setting video format to "+q_WOW.q_SFORMAT);
	gPlayer=Player_Factory(q_WOW.q_SFORMAT);
	if(gPlayer){
		gPlayer.backgroundColor=getVideoBackgroundColor();
gPlayer.init(q_URL,q_SSIZE,q_INSTREAM,q_CONTROL,q_ALLOWMENU,q_AUTOSTART,eventlist,q_STARTTIME,q_WOW.q_LOGO_INTRO);

		gPlayer.paint(q_obj,true);
		q_WOW.q_SFORMAT=gPlayer.myFormat;
	}//end if
}//end if
}//end function

function getChannel(){
switch(q_WOW.q_CHANNEL){
case "2":return "instream";
case "6":return "direct";
case "7":return "direct";
case "4":return "ondemand";
default:return "channel "+q_WOW.q_CHANNEL;
}//end switch
}//end function

function Player_onCommand(q_cmd){
//instream action has no index or time
logga("instream ");
if(gINSTREAM==true && q_WOW.q_CHANNEL=="6"){
	q_WOW.q_CHANNEL="2";
	logga("Switching to instream:"+q_cmd);
}//end if
Action_OnExecute(q_cmd,null,null);
}//end function

function Player_onChange(q_newstate){
if(isLiveBroadcast()&&q_newstate=="idle"){
	if(q_WOW.q_RECONTIMER){
	}else{
		q_WOW.q_RECONTIMER=setTimeout("q_reconnect()",20000);
	}//end if
}else{
	if(q_WOW.q_RECONTIMER){
		clearTimeout(q_WOW.q_RECONTIMER);
		q_WOW.q_RECONTIMER=null;
	}//end if
}//end if
}//end function

function q_reconnect(){
q_WOW.q_RECONTIMER=null;
yellowmessage("");
if(gPlayer){
	yellowmessage(uText(33,"Trying To Reconnect...Please standby"),"Lost Video Signal");
	gPlayer.play();
}//end if
}//end function

function redirectvideo(q_streamlist){
var q_a,q_b;
var q_str=q_streamlist.split(",");
if(q_str.length>=2){
	for(q_i=0;q_i<(q_str.length/2);q_i++){
	q_a=q_str[q_i+q_i];
	q_b=q_str[q_i+q_i+1];
	if(gSTREAMID==q_a){
		gSTREAMID=q_b;
		q_setstatus("Redirecting Video..."+q_a+" to "+q_b,10);
		yellowmessage(uText(32,"Please Wait...<br>Redirecting Video"),"Changing Video Source");
		setTimeout("yellowmessage('')",5000);
		q_playRedirectedStream(gSTREAMID);
	}//end if
	}//next
}//end if
}//end function

function q_playRedirectedStream(q_streamid){
if(gPlayer){
	if(q_streamid<gStreamlist.length){
		gPlayer.setSrc(gStreamlist[q_streamid][3]);
		gPlayer.play();
	}//end if
}//end if
}//end function

function startMedia(){
logga("startMedia()");
dofadelayer(div("fadelayer"),"hidden");
verifyMedia();
var enabledAutostart=!(request_querystring("AUTOSTART")=="0");
var imageInFlash=true;
if(gPlayer && enabledAutostart){
	//if(gSFORMAT!="FL"){
		gPlayer.play();
	//}//end if
}else{
	//no autostart - show image instead
	if(gSFORMAT=="FL" && imageInFlash==true){
		logga("Show player background in Flash");
	}else{
		logga("Show startpicture");
		gPlayer.paintPicture(div("video"),q_WOW.q_BASEURL+q_WOW.q_LOGO_INTRO);
	}//end if
}//end if
setTimeout("hideLoadingGif()",2000);
}//end function

function hideLoadingGif(){
try{
	var currentDoc=window.slideimg.location.href;
	if(endswith(currentDoc,"loading.gif")){
		logga("hiding slide");
		if(gSlide.usingVideo==false){
			setdoc("../../../program/livepro/images/blank.gif",1,1);
		}//end if
	}//end if
}catch(errObj){
	logga("error checking loading.gif");
}//end catch
}//end function

function verifyMedia(){
if(gAction){
	if(gPlayer){
		if(gAction.needSync() && !gPlayer.canScript() && WIN() && FX() && gSFORMAT=="WM" ){
			yellowmessage(uText(32,"Make sure that you have the updated Windows Media plugin for Firefox!\n<a href=http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx target=_blank>Get Plugin</a>","Firefox Windows Media Plugin."));
		}else if(WIN()&&FX3()&&gSFORMAT=="WM"){
			//yellowmessage(uText(37,"Firefox version 3 is not fully compatible with Windows Media. Please use Firefox version 2 or Internet Explorer."),"Firefox 3.x");
		}//end if
	}//end if
}//end if
}//end function

//------OPTIMIZE USING ASX
function optimizeUsingASX(){
//return 0;//Conflict: The ASX field usage has been changed to contain the asx url, but previously stored data uses it as a boolean.
var q_asx=gStreamlist[gSTREAMID][11];
if(WIN()&&IE()&&gSFORMAT=="WM"){
	if(!hasASX(eventlist) && endswith(q_asx,".asx")){
	logga("optimizeUsingASX resetMediatrack");
		resetMediatrack(eventlist,q_asx);
	}else{
		logga("optimizeUsingASX 2 "+q_asx+"#");
	}//end if
}else{
	logga("optimizeUsingASX 3 "+q_asx);
}//end if
}//end function

function hasASX(q_ev){
for (var q_i=0;q_i<q_ev.length;q_i++){
	if(isVideocmd(q_ev[q_i][1])){
		var q_name=WildFind(0,q_ev[q_i][1],"setvideo('*',");
		return isASX(q_name);
	}//end if
}//next
}//end function

function removeRestartCmd(q_ev){
if(q_ev.length>0){
	for (var q_i=q_ev.length-1;q_i>=0;q_i--){
		if(isImmediateCmd(q_ev[q_i][1])){
			logga("removed "+q_ev[q_i][1]);
			appendExpiredCmd(q_ev[q_i][1]);
			q_ev.remove(q_i);
//			q_deleteitem(q_ev,q_i);
		}//end if
	}//next
}//end if
return eventlist;
}//end function

function inExpiredCmd(q_cmd){
return inList(trim(q_cmd),gExpiredCmdList);
}//end function

function appendExpiredCmd(q_cmd){
if(gExpiredCmdList==""){
	gExpiredCmdList=trim(q_cmd);
}else{
	gExpiredCmdList=gExpiredCmdList+","+trim(q_cmd);
}//end if
}//end function

function resetMediatrack(q_ev,q_asxurl){
var q_duration=getEndtime(eventlist);
for (var q_i=q_ev.length-1;q_i>=0;q_i--){
	if (q_ev[q_i][1].substr(0,9)=="setvideo("){
		if (q_ev[q_i][0]==0){
			q_ev[q_i][1]=videoCmdstr(q_asxurl,0,q_duration);
		}else{
			q_deleteitem(q_ev,q_i);
		}//end if
	}//end if
}//next
return eventlist;
}//end function

function player_ensureDefaultVideo(q_url,q_ev,gPlayer){
//add default video to the player
if(!hasvideo(q_ev)){//&&(q_markout>0)
	logga("empty mediatrack, setting player "+q_url);
	if(gPlayer.myPlayer){
		gPlayer.myPlayer.URL=q_url;
	}//end if
}//end if
}//end function

function eventlist_ensureDefaultVideo(q_url,q_ev){
//add default video to the eventlist
if(q_ev.length==0&&getChannel()=="ondemand"){//&&(q_markout>0)
	logga("empty eventlist, building new eventlist "+q_url);
	q_ev.append(new Array(0,"eventlist_startmark('theshow','WM','2.0',0)"));
	q_ev.append(new Array(0,videoCmdstr(q_url,0,3600)));
	q_ev.append(new Array(3600,"eventlist_endmark('theshow','WM','2.0',0)"));
	gHasUndefinedDuration=true;
}else if(!hasvideo(q_ev)){//&&(q_markout>0)
	logga("empty mediatrack, adding eventlist "+q_url);
	q_ev.insert(1,new Array(0,videoCmdstr(q_url,0,-1)));
	gHasUndefinedDuration=true;
}else if(getEndtime(q_ev)==gUnknownDuration){
	gHasUndefinedDuration=true;
}//end if
return q_ev;
}//end function

function hasvideo(q_ev){
for (q_i=0;q_i<q_ev.length;q_i++){
	if (q_ev[q_i][1].substr(0,9)=="setvideo("){
		return true;
	}//end if
}//next
return false;
}//end function

function q_deleteitem(eventlist,q_iy){
if ((q_iy>=0) && (q_iy<eventlist.length)){
   q_ix=q_iy;
   while (q_ix<eventlist.length-1){
      eventlist[q_ix]=eventlist[q_ix+1];
      q_ix=q_ix+1;
   }//loop
   eventlist.length=eventlist.length-1;
	return true;
}else{
	return false;
}//end if
}//end function
//----------------------------------

function dofadelayer(q_Obj,q_tovisibility){
try{
	if(q_Obj){
		if(q_Obj.style.visibility!=q_tovisibility){
			q_Obj.filters[0].Apply();
			q_Obj.style.visibility=q_tovisibility;
			q_Obj.filters[0].Play();
		}//end if
	}//end if
}catch(errObj){
	q_Obj.style.visibility=q_tovisibility;
}//catch
}//end function

function eventlist_startmark(){}//end function
function setvideo(q_url,q_markin,q_dummymarkout,q_target){
//See setvideoEvent
}//end function

function verifyVideoEvent(q_ix,q_time){
}//end function

function eventlist_endmark(){
if(gPlayer){
	gPlayer.pause();
}//end if
}//end function

function doGoto(q_intertext){
if(gPlayer){
	var q_playtime=stringtime(q_intertext);
	if(q_playtime==""){
		q_playtime=chapter2time(eventlist,q_intertext);
		if(q_playtime>-1){
			doGotoTime(eventlist,q_playtime);
		}//end if
	}else{
		doGotoTime(eventlist,q_playtime);
	}//end if
}//end if
}//end function

function doGotoTime(q_eventlist,q_playtime){
if(gPlayer){
	gPlayer.setTime(q_playtime);
}//end if
}//end function

function chapter2time(q_eventlist,q_title){
var q_str="";
if(q_eventlist){ 
	if(q_title==""){
		return -1;
	}else{ 
		for (var q_i=0;q_i<q_eventlist.length;q_i++){
			q_str=WildFind(0,q_eventlist[q_i][1],"setinter('chapter','*'");
			if(q_str==q_title){
				return q_eventlist[q_i][0];
			}//end if
		}//next
	}//end if
}//end if
return -1;
}//end function

//SERVCOM---------------------------------------------------------------------------------------------
function q_maincom(){
if(gServcom && gStat){
	gServcom.request(gStat.getTask());
}//end if
}//end function

function q_requestLiveId(){
if(gServcom && gStat){
	return gServcom.request(gStat.getUrl("requestliveid"));
}//end if
}//end function

function q_notifyClose(){
if(gStat){gStat.reg("close");}//end if
if(gServcom && gStat){
	return gServcom.request(gStat.getUrl("notifyclosing"));
}//end if
}//end function

function q_submitFields(q_REPLYTYPE,q_REPLYNAME,q_REPLYEMAIL,q_REPLYTEXT){
if(gServcom){
	return gServcom.request(gStat.getInteractionUrl(q_REPLYTYPE,q_REPLYNAME,q_REPLYEMAIL,escape(q_REPLYTEXT)));
}else{
	yellowmessage(uText(31,"No servcom is available"),"Failed to send "+q_REPLYTYPE);
}//end if
}//end function

var lastChapterlist,chapterSuccess,lastresponse;
function Servcom_onResponse(q_text){
lastresponse=now();
var q_LIVEID=request_queryvalue(q_text,"LIVEID");
if(q_LIVEID>""){
	q_registerLiveId(q_LIVEID);
	q_WOW.q_VIEWERNAME=request_queryvalue(q_text,"VIEWER_ID");
}//end if
var q_SHOWTIME=request_queryvalue(q_text,"SHOWTIME");
if(q_SHOWTIME=="IMAGESCROLL"){
	fillImagescroll(q_text);
}else if(q_SHOWTIME=="CHAPTERLIST"){
	var q_CLIST=unescape(request_queryvalue(q_text,"PACKAGE"));
	lastChapterlist=q_CLIST;
	var q_currentchaptertext=gInteraction.getChaptertext();
	gInteraction.setChapterlist(tab2array(q_CLIST));
	setinter('chapter',q_currentchaptertext,'',2);
}else if(q_SHOWTIME>""){
//	if(q_WOW.q_CHANNEL=="6"){
	if(q_WOW.q_CHANNEL=="6"||q_WOW.q_CHANNEL=="2"){//added scout support on channel 2
		if(q_SHOWTIME<1){
			//LiveControl is in STANDBY - Suspend the show?
			//alert("Show is suspended");
		}//end if 
		var q_DELAY=request_queryvalue(q_text,"DELAY");
		var q_PACKAGE=unescape(request_queryvalue(q_text,"PACKAGE"));
		q_receiveChannel6(q_SHOWTIME,q_DELAY,q_PACKAGE);
		//Delivered a package on channel 6
		q_WOW.q_SHOWTIME=q_SHOWTIME;
	}else if(q_WOW.q_CHANNEL=="2"){
		q_WOW.q_SHOWTIME=q_SHOWTIME;
	}//end if
}//end if
var q_ERROR=request_queryvalue(q_text,"ERROR");
if(q_ERROR>"" || q_text.indexOf("HTTP 500")){
	yellowmessage(q_ERROR,uText(30,"Error at server"));
}//end if
}//end function

function q_registerLiveId(q_liveid){
gStat.reg("liveid",q_liveid);
}//function

function q_receiveChannel6(q_SHOWTIME,q_DELAY,q_PACKAGE){
//lastshowtime=q_SHOWTIME;lastdelay=q_DELAY;
	q_WOW.q_OFFSETIME=q_SHOWTIME-q_DELAY-now()/1000;
	if(q_DELAY<4){
		gStat.q_REFRESH=2000;
	}else{
		gStat.q_REFRESH=(q_DELAY-2)*1000;
		if(gStat.q_REFRESH>100000){
			gStat.q_REFRESH=100000;
		}//end if
//		gStat.q_REFRESH=(q_DELAY-1-rnd()*q_DELAY/2)*1000;
	}//end if
	if(q_PACKAGE>"" && q_PACKAGE!=q_WOW.q_LASTPACKAGE){//append if new package
		q_appendPackage(eventlist,q_PACKAGE);
		q_WOW.q_LASTPACKAGE=q_PACKAGE;
		var q_time=q_getShowtime();
		gAction.setNextIndex(q_time);
	}//end if
}//end function

function q_appendPackage(eventlist,q_PACKAGE){
var q_evlasttime=getEndtime(eventlist);
var q_packarr=tab2array(q_PACKAGE);
for(var q_ix=0;q_ix<q_packarr.length;q_ix++){
	if(q_packarr[q_ix][0]>q_evlasttime){
		var q_cmd=q_packarr[q_ix][1];
		if(isImmediateCmd(q_cmd)){
			if(inExpiredCmd(q_cmd)){
			}else{
				logga("Immediate "+q_cmd);
				appendExpiredCmd(q_cmd);
				Action_OnExecute(q_cmd,null,null);
			}//end if
		}else{
			eventlist[eventlist.length]=q_packarr[q_ix];
		}//end if
	}//end if
}//next
}//end function

function isImmediateCmd(q_cmd){
if(q_cmd){
	var q_inter=WildFind(0,q_cmd,"setinter('*','");
	return inList(q_inter,"redirectvideo,abortviewers,reloadviewers");
}else{
	return false;
}//end if
}//end function

function uText(id,txt){
if(gLANG!="se"){
	return txt;
}else{
	switch(id){
	case 24:return "Firefox användare behöver<br><a href=http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx target=_blank>Port25 Windows Media Player Firefox Plugin</a>\n";
	case 30:return "Fel i serverkommunikationen.";
	case 31:return "Objektet Servcom saknas.";
	case 32:return "Vänligen vänta...<br>Ändrar videokanal";
	case 33:return "Försöker återansluta...vänligen vänta.";
	case 34:return "Stänger nu presentationsfönstret...Tack för att du tittade.";
	case 35:return "Vänligen vänta, showen laddas om.";
	case 36:return "Tyvärr är det inte möjligt att hoppa i en Live sändning.";
	case 37: return "Firefox version 3 har problem med att spela Windows Media. Använd istället Firefox version 2 eller Internet Explorer.";
	default:return txt;
	}//end switch
}//end if
}//end function