//BEGIN CLASS SLIDEFRAME---------------------------------------------------------------
//external object references:
//window.iframeslides.markslide() (thumbnail marking)

//external SCRIPT references:
//a_slidepreviewbutton.htm?SLIDEPATH=
//a_slideview.htm?SLIDEPATH=
//a_slideflash.htm?SLIDEPATH= 
//previewmanager.asp?LIBRARY=videoslave...
//blank.gif
function Slideframe(){
this.usingVideo=false;
}//end function

//rudimentary init function
Slideframe.prototype.init=function Slideframe_init(q_xSlidelist,q_xPreviewButton,q_xPRESENTATIONFORMAT,q_xSHOWANIMATION,q_xPRESENTATIONNAMES,q_xBASEURL,q_xIMG,q_xPRODUCER_ID,q_xFOLDERNAME){
this.mySlidelist=q_xSlidelist;
this.myPREVIEWBUTTON=q_xPreviewButton;
this.myPRESENTATIONFORMAT=q_xPRESENTATIONFORMAT;
this.mySHOWANIMATION=q_xSHOWANIMATION;
this.myPRESENTATIONNAMES=q_xPRESENTATIONNAMES;
this.myBASEURL=q_xBASEURL;
this.myAdminbase=q_xIMG;
this.myCURPRES="";
this.se="";
this.myLASTSLIDE=1;
this.myFade=0;//Prepared attribute for fade transition of slides
this.myPRODUCER_ID=q_xPRODUCER_ID;
this.myFOLDERNAME=q_xFOLDERNAME;
this.myFULLSCREENWINDOW=null;
}//end function

//public
Slideframe.prototype.paint=function Slideframe_paint(q_obj,q_src,q_scrollbar){
//initializes the Slideframe graphics
if(Slideframe_paint_ok(q_obj,q_src,q_scrollbar)){
	//create the object in the target region
	q_obj.mainobject=this;
	this.myContainer=q_obj;
	this.myWidth=parseInt(q_obj.style.width);
	this.myHeight=parseInt(q_obj.style.height);
	this.myLASTFILE=q_src;
	var graphicshtml=this.getIframeHtmlTag(q_obj,this.myLASTFILE,q_scrollbar);
	q_obj.innerHTML=graphicshtml;
	return "";
}//end if
}//end function
function Slideframe_paint_ok(q_obj,q_src,q_scrollbar){
//initializes the Slideframe graphics
//matches with _html function
if(q_obj){
}else{
	alert("Slideframe_paint error: Destination layer must be present before initializing.");
	return false;
}//end if
if(q_src.length==0){
	alert("Slideframe_paint error: Slideframe content URL needs to be defined.");
	return false;
}//end if
return true;
}//end function

Slideframe.prototype.setFormat=function Slideframe_setFormat(q_xPRESENTATIONFORMAT){
this.myPRESENTATIONFORMAT=q_xPRESENTATIONFORMAT;
}//end function

Slideframe.prototype.getFormat=function Slideframe_getFormat(){
return this.myPRESENTATIONFORMAT.toLowerCase();
}//end function

Slideframe.prototype.setdoc=function Slideframe_setdoc(q_url,q_count,q_target){
this.setslide(q_url,q_count);
}//end function

Slideframe.prototype.setslide=function Slideframe_setslide(afilename,slidecount){
var q_obj;
var q_ext=fileextension(afilename).toLowerCase();
this.myLASTSLIDE=slidecount;
this.setslideframe(afilename,this.myBASEURL,this.myPRESENTATIONFORMAT,this.myPRESENTATIONNAMES,slidecount);
q_obj=document.getElementById("Slidestatus");
if(q_obj){
	var q_nlast=this.myLASTSLIDE;	
	var q_nthis=parseInt(getSlidenumber(afilename));
	document.getElementById("Slidestatus").innerHTML="Slide "+q_nthis+" of "+q_nlast;
}//end if
if(window.iframeslides){
try{
	getFrameByName("iframeslides").markslide(afilename);
}catch(errObj){}//end catch
}//end if
}//end function

Slideframe.prototype.setslideframe=function Slideframe_setslideframe(q_filename,q_baseurl,q_presentationformat,q_presentationnames,q_offset){
//try{
if(this.usingVideo==true){
return;//disabled slide while using video
}//end if

if(q_filename==""){
	q_filename=this.myAdminbase+"blank.gif";
}//end if
this.myLASTFILE=q_filename;
var q_ext=fileextension(q_filename).toLowerCase();
var q_pre=q_filename.substr(0,7);
var q_filecategory=this.getFileCategory(q_filename);
logga("setdoc "+q_filecategory);
switch(q_filecategory){
case "document":
	this.setslideDocument(q_baseurl,q_filename);break;
case "video":
	var q_url=this.getVideoPreviewUrl(q_filename,this.myContainer,q_offset);
	this.myVideoUrl=this.myAdminbase+q_url;
	this.setslideDocument(this.myAdminbase,q_url);
	return ;
	if(this.myPREVIEWBUTTON==true){
		this.setslidePreview(q_baseurl,q_filename);
	}else{
		this.setslideVideo(this.myAdminbase,q_filename,q_offset);
		this.usingVideo=true;
	}//end if
	break;
case "blank":
	this.setSlideIframe(this.myAdminbase+"a_slideview.htm?SLIDEPATH=" +q_baseurl+ q_filename);
	this.myCURPRES="blank.gif";
	break;
case "image":
	if(q_pre=="http://"){
		this.setSlideIframe(this.myAdminbase+"a_slideview.htm?SLIDEPATH=" +q_filename);
		this.myCURPRES=q_filename;
		if(this.myFULLSCREENWINDOW){
			this.myFULLSCREENWINDOW.updateSlide(q_filename);
		}//end if
	}else{
		this.setslideImage(q_filename,q_baseurl,q_presentationformat, q_presentationnames);
		if(this.myFULLSCREENWINDOW){
			this.myFULLSCREENWINDOW.updateSlide(q_baseurl+q_filename);
		}//end if
	}//end if

	break;
case "html":
	this.setslideDocument(this.myBASEURL,q_filename);
	this.myCURPRES=q_ext;
	break;
default:
	if(q_pre=="http://"){
		this.setslideDocument(this.myBASEURL,q_filename);
		this.myCURPRES=q_ext;
	}//end if
	break;
}//end switch
//}catch(errObj){
//}//end catch
}//end function

Slideframe.prototype.setslideVideo=function Slideframe_setslideVideo(q_baseurl,q_filename,q_offset){
	var q_url=this.getVideoPreviewUrl(q_filename,this.myContainer,q_offset);
	this.setslideDocument(q_baseurl,q_url);
}//end function

Slideframe.prototype.setslideVideoOLD=function Slideframe_setslideVideoOLD(afilename,q_offset){
	var q_obj=div("slide");
	if(gPlayer){
		if(this.usingVideo==false){
			this.usingVideo=true;
			if(this.myPREVIEWBUTTON!=true){
				q_obj.innerHTML=setPlayerHtml(afilename,q_obj);
				gSyncVideoObject=div(q_obj.id+"player");
				gSyncVideoOffset=parseInt(q_offset);
			}else{
				q_obj.innerHTML="<center><br>"+afilename+"<br>Offset:"+q_offset+"</center>";
			}//end if
		}//end if
	}else{
		alert("gPlayer not defined");
	}//end if
}//end function

Slideframe.prototype.setslideDocument=function Slideframe_setslideDocument(q_baseurl,q_filename){
var q_pre=q_filename.substr(0,7);
if(this.myPREVIEWBUTTON==true){
	this.setslidePreview(q_baseurl,q_filename);
}else if(q_pre=="http://"){
	this.setSlideIframe(q_filename);
}else{
	this.setSlideIframe(q_baseurl+q_filename);
}//end if
this.myCURPRES=fileextension(q_filename).toLowerCase();
}//end function

Slideframe.prototype.setslidePreview=function Slideframe_setslidePreview(q_baseurl,q_filename){
if(this.myPREVIEWBUTTON==true){
	if(contains(q_filename,"://")){	this.setSlideIframe(this.myAdminbase+"a_slidepreviewbutton.htm?SLIDEPATH="+q_filename);
	}else{
this.setSlideIframe(this.myAdminbase+"a_slidepreviewbutton.htm?SLIDEPATH="+q_baseurl+q_filename);
	}//end if
}//end if
}//end function

Slideframe.prototype.setslideImage=function Slideframe_setslideImage(q_filename,q_baseurl,q_presentationformat,q_presentationnames){
	var q_ix=q_filename.toLowerCase().indexOf("/slide")+1;
	var q_iy=q_filename.indexOf("/",7);
	var q_presname=q_filename.substr(7,q_iy-7);
	var q_ext=fileextension(q_filename).toLowerCase();
	if((q_ext!="png")&&(q_presentationformat=="html") && (q_presentationnames.indexOf(q_presname + ".htm#")>=0)){
		if(this.myCURPRES==q_presname + ".htm"){
			try{
				window.slideimg.PPTSld.location.href=q_baseurl + "slides/" + q_presname + "/" + q_presname + "_files/"+window.slideimg.PPTSld.GetHrefObj(getSlidenumber(q_filename)).mSldHref;
			}catch(errObj){
			}//end catch
		}else{
			this.myCURPRES=q_presname + ".htm";
		}//end if
		this.setSlideIframe(q_baseurl + "slides/" + q_presname + "/" + q_presname + "_files/fullscreen2.htm?SLIDEPATH="+q_filename);
	}else if((q_presentationformat=="swf") && (q_presentationnames.indexOf(q_presname + ".swf#")>=0)){
		if(this.myCURPRES==q_presname){
			window.slideimg.setslidefile(q_filename);
		}else{//optimize this to use setflashslide() when viewer is loaded.
			this.setSlideIframe(this.myAdminbase+"a_slideflash.htm?SLIDEPATH=" +q_baseurl+ q_filename);
			this.myCURPRES=q_presname;
		}//end if
	}else{//Do plain jpg, png or gif
		this.setPlainImage(q_baseurl,q_filename);
	}//end if
}//end function

Slideframe.prototype.setSlideIframe=function setSlideIframe(q_inSrc){
var q_src=q_inSrc;
if(this.isIframeTag()){
	window.slideimg.location.href=q_src;
}else{
	this.myContainer.innerHTML=this.getIframeHtmlTag(this.myContainer,q_src,"no");
}//end if
}//end function

Slideframe.prototype.getVideoPreviewUrl=function Slideframe_getVideoPreviewUrl(afilename,q_obj,q_offset){
if(q_obj){
	var q_width=q_obj.offsetWidth;
	var q_height=q_obj.offsetHeight;
	var q_URL= "previewmanager.asp?LIBRARY=videoslave&FOLDERNAME="+this.myFOLDERNAME+"&PRODUCER_ID="+this.myPRODUCER_ID+"&SESSIONID=&ITEMNAME="+afilename+"&TEMPLATENAME=&SFORMAT="+url_getPlayerformat(afilename)+"&WIDTH="+q_width+"&HEIGHT="+q_height+"&OFFSET="+q_offset+"&AUTOSTART=1";
	return q_URL;
}else{
	return "";
}//end if
}//end function

Slideframe.prototype.getImgHtmlTag=function Slideframe_getImgHtmlTag(q_obj,q_src,q_scrollbar){
	return "<img id='slideimg' ondblclick='gSlide.openimgviewer(this)' name='slideimg' width='" + q_obj.style.width + "' height='" + q_obj.style.height + "' src='" + q_src + "'>\n";
	return "<img id='slideimg' name='slideimg' width='" + q_obj.style.width + "' height='" + q_obj.style.height + "' src='" + q_src + "'>\n";
}//end function

Slideframe.prototype.openimgviewer=function Slideframe_openimgviewer(q_obj){
var SLIDEFORMAT=this.myPRESENTATIONFORMAT;
if(SLIDEFORMAT.indexOf("html")>=0){
	var q_presname=WildFind(0,q_obj.src,"slides/*/");
	q_url=gBASEURL + "slides/" + q_presname + "/" + q_presname + "_files/fullscreen2.htm?SLIDEPATH="+q_obj.src;
}else if(SLIDEFORMAT.indexOf("png")>=0){
	q_url=this.myAdminbase+"fullscreen.htm?SLIDEPATH="+replace(q_obj.src,".jpg",".png");
}else if(SLIDEFORMAT.indexOf("gif")>=0){
	q_url=this.myAdminbase+"fullscreen.htm?SLIDEPATH="+replace(q_obj.src,".jpg",".gif");
}else{
	q_url=this.myAdminbase+"fullscreen.htm?SLIDEPATH="+q_obj.src;
}//end if
this.myFULLSCREENWINDOW=window.open(q_url,"Fullscreen","resizable=1,left=0,top=0,width="+screen.width+", height="+screen.height+"");
this.myFULLSCREENWINDOW.focus();
}//end function

Slideframe.prototype.getIframeHtmlTag=function Slideframe_getIframeHtmlTag(q_obj,q_src,q_scrollbar){
var q_scrollvalue=iif(""+q_scrollbar=="1"||q_scrollbar=="yes","yes","no");
	return "<iframe id='slideimg' name='slideimg' frameborder='0' width='" + q_obj.style.width + "' height='" + q_obj.style.height + "' src='" + q_src + "' scrolling='" + q_scrollvalue + "' onload='try{Slideframe_slideimgload(this)}catch(errObj){};'></iframe>\n";
}//end function

Slideframe.prototype.hasInnerSlideImg=function Slideframe_hasInnerSlideImg(){
try{
	if(window.slideimg.document.slideimg){
		return contains(div("slideimg").src,"slideview.htm");
	}else{
		return false;
	}//end if
}catch(errObj){
	return false;
}//end catch	
}//end function

Slideframe.prototype.setPlainImage=function Slideframe_setPlainImage(q_baseurl,q_filename){
var q_Obj;
if(this.isIframeTag()&&this.hasInnerSlideImg()){
	logga("has inner slide img");
	q_Obj=window.slideimg.document.slideimg;
		//this.myContainer.innerHTML=this.getIframeHtmlTag(this.myContainer,q_baseurl+q_filename,"no");
	//this.setSlideIframe(this.myAdminbase+"a_slideview.htm?SLIDEPATH=" +q_baseurl+q_filename);
}else{
	if(false && this.isImgTag()){
		q_Obj=div("slideimg");
	}else{
		this.myContainer.innerHTML=this.getImgHtmlTag(div("slide"),q_baseurl+q_filename,"no");
		return;
	}//end if
}//end if
if(this.myFade==1 && IE()){
	q_Obj.filters[0].Apply();
	q_Obj.src=q_baseurl+this.slidelookup(q_filename,this.mySlidelist);
	q_Obj.filters[0].Play();
}else{
	q_Obj.src=q_baseurl+this.slidelookup(q_filename,this.mySlidelist);
}//end if
}//end function

Slideframe.prototype.isImgTag=function Slideframe_isImgTag(){
return (div("slideimg").tagName.toLowerCase()=="img");
}//end function

Slideframe.prototype.isIframeTag=function Slideframe_isIframeTag(){
return (div("slideimg").tagName.toLowerCase()=="iframe");
}//end function

Slideframe.prototype.getFileCategory=function Slideframe_getFileCategory(q_filename){
if((endswith(q_filename,"blank.gif"))){
	return "blank";
}//end if
var q_ext=fileextension(q_filename).toLowerCase();
if(inList(q_ext,"jpg,gif,png")){
	return "image";
}else if(inList(q_ext,"swf,pdf,doc,xls")){
	return "document";
}else if(inList(q_ext,"htm,html,asp")){
	return "html";
}else if(inList(q_ext,validMediaExtensions())){
	return "video";
}else if(startswith(q_filename,"mms://")||startswith(q_filename,"rtmp://")||startswith(q_filename,"rtsp://")){
	return "video";
}else{
	return "document";
}//end if
}//end function

Slideframe.prototype.resize=function Slideframe_resize(q_width,q_height){
try{
	var q_Obj=window.slideimg.document.getElementById("slideimg");
	if(q_Obj){
	q_Obj.style.width=q_width+"px";
	q_Obj.style.height=q_height+"px";
	logga("resized slide to "+q_width+"x"+q_height);
	}//end if
}catch(errObj){
//alert("Slideframe_resize:"+errObj.message);
}//end catch
}//end function

Slideframe.prototype.slidelookup=function Slideframe_slidelookup(q_filename,q_slidelist){
if(q_slidelist.length>1){
	var q_find=q_filename.substr(0,q_filename.indexOf(".")).toLowerCase();
	for (var q_i=0;q_i<q_slidelist.length;q_i++){
		if (startswith(q_slidelist[q_i].toLowerCase(),q_find)){
			return q_slidelist[q_i];
		}//end if
	}//next
	return q_filename;
}else{
	return q_filename;
}//end if
}//end function

Slideframe.prototype.animate_Slide=function Slideframe_animate_Slide(){
if(window.slideimg.PPTSld){
	if(window.slideimg.PPTSld.g_animManager){
		return window.slideimg.PPTSld.g_animManager.Next();
	}//end if
}//end if
return 0;
}//end function

Slideframe.prototype.endOfAnimation=function Slideframe_endOfAnimation(){
if(window.slideimg.PPTSld){
	if(window.slideimg.PPTSld.g_animManager){
		return this.AM_endOfAnimation(window.slideimg.PPTSld.g_animManager);
	}//end if
}//end if
return true;
}//end function

Slideframe.prototype.AM_endOfAnimation=function Slideframe_AM_endOfAnimation(g_animManager){
try{
	return !(g_animManager.m_curBuild > 0 && 0 < g_animManager.m_numBuilds);
}catch(errObj){
	return true;
}//end catch
}//end function

function Slideframe_slideimgload(q_obj){
if(window.slideimg){
	if(window.slideimg.PPTSld){
		var q_sframe=q_obj.parentNode.mainobject;
		if(q_sframe.mySHOWANIMATION!="1"){
			setTimeout("Slideframe_initanimation()",500);
		}//end if
		setTimeout( "Slideframe_clickoff()",2000);	
	}//end if
}//end if
}//end function

//private
function Slideframe_initanimation(){
try{
window.slideimg.PPTSld.g_showAnimation=false;
window.slideimg.PPTSld.g_animManager.ShowShapes();
}catch(errObj){}//end catch
}//end function

//private
function Slideframe_clickoff(){
try{window.slideimg.PPTSld.document.body.onclick='';}catch(errObj){}//end catch
}//end function

Slideframe.prototype.getCommand=function Slideframe_getCommand(q_arg){
var q_slidenumber=parseInt(getSlidenumber(this.myLASTFILE));
if((q_arg=="prev")&&((q_slidenumber-1)>0)){
	var q_filename=this.myLASTFILE.toLowerCase().replace("slide" +q_slidenumber,"slide" +(q_slidenumber-1));
	return "setdoc('"+q_filename+"',"+this.myLASTSLIDE+",1)";
}else if((q_arg=="next")&&((q_slidenumber+1)<=this.myLASTSLIDE)){
	var q_filename=this.myLASTFILE.toLowerCase().replace("slide" +q_slidenumber,"slide" +(q_slidenumber+1));
	return "setdoc('"+q_filename+"',"+this.myLASTSLIDE+",1)";
}else{
	return "";
}//end if
}//end function
//END CLASS

loadedSlide=true;
