//mshow01 simple ondemand
//var gPlayer=null;
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 gE;
var gExpiredCmdList="";
var oE;
function form_load(){
oE=grid(eventlist);

eventlist=removeRestartCmd(eventlist);
optimizeUsingASX();
eventlist=eventlist_ensureDefaultVideo(gStreamlist[gSTREAMID][3],eventlist);
gE=eventlist;
//debug(true);
//initfade
resetYellowmessage();
if(q_WOW.q_CHANNEL=="7"||(MAC() && q_WOW.q_CHANNEL=="2")){
	q_WOW.q_CHANNEL="6";
}//end if
q_createObjects(q_WOW);
q_requestLiveId();
q_heartbeat();

setTimeout("startMedia()",(q_WOW.q_FADEIN=="1"&&IE())?3000:1000);//Allow 1 second for player to initiate.
}//function

function form_unload(){
if(q_WOW.q_REPORTEDCLOSE){
}else{
	q_notifyClose();
}//end if
}//function

function form_resize(){
if(gResize){
	gResize.resizeForm();
}//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
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"));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(Resize)!="undefined"){q_CreateResize();}//end if
if(typeof(Ticker)!="undefined"){gTicker=new Ticker(div("ticker"));logga("loaded Ticker");}//end if
if(div("video"))if(gFXWorkaround){q_CreatePlayer(q_WOW,div("video"));logga("loaded Player");}//end if
initKey();
}//function

function q_CreateResize(){
gResize=new Resize();gResize.init(q_WOW.q_MENUSTRIP,q_WOW.q_SLIDE,q_WOW.q_INTERACTION);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
	}//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(gStat){q_doStats();}//end if

//	q_checkslideload();
}//end function

function q_doStats(){
if(gPlayer){
	if(gStat){
		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
		if(gStat.getField("LIVEID")>0){
			q_maincom();//Communicate with server when there is a liveid
		}//end if
	}//end if
}//end if
}//end function

//MENU---------------------------------------------------------------------------------------------
function q_CreateMenustrip(q_WOW,q_obj){
if(q_obj){
	q_WOW.q_MENUSTRIP=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
	q_WOW.q_MENUSTRIP.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 "NextSlide":if(q_WOW.q_SLIDE){slidenextimg_Click()};break;
case "PrevSlide":if(q_WOW.q_SLIDE){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);
		}else{
			q_setstatus("Playing "+q_timestring(q_getShowtime()),100);
		}//end if
	}else{
		if(gPlayer.getState()=="pause"){
			q_setstatus("Paused "+q_timestring(q_getShowtime())+" / "+q_timestring(getEndtime(eventlist)),100);
		}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 (q_WOW.q_MENUSTRIP){
		q_WOW.q_MENUSTRIP.setStatus(q_str);
		q_WOW.q_MENUSTRIP.setProgress(q_progress);
	}else{
		div("Rollerstatus").innerHTML=q_str;
	}//end if
}catch(errObj){
}//end catch
}//end function

function q_timestring(q_tpos){
	return timestring(q_tpos);
//    return Math.floor(q_tpos/3600) + ":" + q_lz((Math.floor(q_tpos/60)%60)) + ":"  + q_lz((Math.floor(q_tpos)%60));// + "."  + Math.floor((q_tpos-Math.floor(q_tpos))*1000);
}//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)){
	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,slidenext,slideprev,vieweremail,viewerchat,viewerhelp,viewerindex,viewercomment").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){
	q_WOW.q_SLIDE=new Slideframe();
	var q_previewbutton=false;
	q_WOW.q_SLIDE.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_SLIDE.paint(q_obj,q_WOW.q_IMG+"loading.gif",q_WOW.q_USESCROLLBARS);
	q_WOW.q_SLIDE.myFade=q_WOW.q_FADEIN;
}//end if
}//end function

function setdoc(q_url,q_count,q_target){
q_WOW.q_SLIDE.setdoc(q_url,q_count,q_target);
}//end function

function setslide(q_filename,q_slidecount){
q_WOW.q_SLIDE.setslide(q_filename,q_slidecount);
}//end function

function animate_Slide(){
q_WOW.q_SLIDE.animate_Slide();
}//end function

function slidenextimg_Click(){
	executecommand(q_WOW.q_SLIDE.getCommand("next"));
}//end function

function slideprevimg_Click(){
	executecommand(q_WOW.q_SLIDE.getCommand("prev"));
}//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
	q_WOW.q_INTERACTION=new Interaction(myInteraction_OnClick);
	q_WOW.q_INTERACTION.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);
}//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,q_WOW.q_INTERACTION.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

function viewer_Control(q_Name){
switch (q_Name.toLowerCase()){
case "help":
	setinter("infourl","","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 "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;
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){
q_WOW.q_INTERACTION.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=q_WOW.q_INTERACTION.myChapter;
		}//end if
	}//end if
}//end if
}//end function

function setinter(q_inter,q_intertext,q_title,q_target){
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(q_intertext);return 0;
	case "goto":doGoto(q_intertext);return 0;
	case "advertisement":if(gAdvertisement)gAdvertisement.setAds(q_intertext);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;
	default:
	 if(q_WOW.q_INTERACTION)setInteraction(q_inter,q_intertext,q_title,q_target);return 0;
	}//end switch
}//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);
}//end function

function doFullscreen(q_intertext){
if(gPlayer)gPlayer.setSize((q_intertext=="1")?"full":"normal");
}//end function

function doScript(q_intertext){
try{
	eval(antijssyntax(q_intertext));
}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){
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=(q_WOW.q_CHANNEL=="2");
	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=gStreamlist[gSTREAMID][2];
	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);
	gPlayer.init("",q_SSIZE,q_INSTREAM,q_CONTROL,q_ALLOWMENU,q_AUTOSTART,eventlist,q_STARTTIME);
	var q_OVERWRITE=FX();//Firefox requires inline embedding of WM.
	q_OVERWRITE=false;
	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);
}//end if
}//end function

function Player_onCommand(q_cmd){
//instream action has no index or time
Action_OnExecute(q_cmd,null,null);
}//end function

function Player_onChange(q_newstate){
if((q_WOW.q_CHANNEL=="6"||q_WOW.q_CHANNEL=="2")&&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(){
dofadelayer(div("fadelayer"),"hidden");
verifyMedia();
if(gPlayer){
	logga("startMedia()");
	if(gSFORMAT!="FL"){
		gPlayer.play();
	}//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");
		setdoc("../../../program/livepro/images/blank.gif",1,1);
	}//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."));
		}//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")){
		resetMediatrack(eventlist,q_asx);
	}//end if
}//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(!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)));
}//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

function Servcom_onResponse(q_text){
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=="CHAPTERLIST"){
	var q_CLIST=unescape(request_queryvalue(q_text,"PACKAGE"));
	var q_currentchaptertext=q_WOW.q_INTERACTION.getChaptertext();
	q_WOW.q_INTERACTION.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;
//		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.";
	default:return txt;
	}//end switch
}//end if
}//end function