var PresentationID = 0;
var RefreshDelay = 2000;
var CurrentSlide = -1;
var EndTime = 0;

var xmlHttp;

// Ajax object to get connection
function GetXmlHttpObject()
{
    var xmlHttp=null;
    try
      {
      // Firefox, Opera 8.0+, Safari
      xmlHttp=new XMLHttpRequest();
      }
    catch (e)
      {
      // Internet Explorer
      try
        {
        xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
      catch (e)
        {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
    return xmlHttp;
}

// Open Slide Viewer
function ShowSlides(IsLive, JobID)
{
    var WinWidth, WinHeight

    WinWidth = 808
    WinHeight = 645
    window.open("/app/blitz/ShowSlides.php?live=" + IsLive + "&jid=" + JobID, "slideswin", "width=" + WinWidth + ",height=" + WinHeight + ",status=no,resizable=yes,toolbar=no,addressbar=no,left=50,top=50")

  return false;
}

// Setup Master
function SetupMaster(SlideNum)
{
    PresentationID = document.all.PresID.value;

    var SlideName = "/files/pres/SlideShowID_" + PresentationID + "__Slide" + SlideNum + ".jpg";

    // Setup endtime based on time left
	var tm = Math.round(new Date().getTime()/1000.0);
    EndTime = tm + parseInt(document.all.TimeLeft.value);

    //alert(EndTime);

    document.all.CurSlide.innerHTML = "<img galleryimg=no width=800 height=600 src=" + SlideName + ">";

    window.setTimeout("UpdateTimeLeft();", 1000);
}

// Setup Viewer
function SetupViewer()
{
    PresentationID = document.all.PresID.value;

    // Setup endtime based on time left
	var tm = Math.round(new Date().getTime()/1000.0);
    EndTime = tm + parseInt(document.all.TimeLeft.value);

    window.setTimeout("UpdateTimeLeft();", 1000);
    RefreshSlide();
}

// Show a slide, then reload frame after delay
function ShowSlide(SlideNum)
{
    //alert(SlideNum);

    PresentationID = document.all.PresID.value;

    var SlideName = "/files/pres/SlideShowID_" + PresentationID + "__Slide" + SlideNum + ".jpg";

    // If no slide num given, give default backsplash
    if(SlideNum == 0) SlideName = "/images/WaitingforModerator.jpg";

    if(SlideNum != CurrentSlide)
    {
        CurrentSlide = SlideNum;
        document.all.CurSlide.innerHTML = "<img galleryimg=no width=800 height=600 src=" + SlideName + ">";
        document.all.SlideControls.innerHTML = "<font face=arial>" + document.all.FontClr.value + "<span style=\"font-size: 18px\"> Showing Slide:  </font><b>" + document.all.SelectedClr.value + SlideNum;
    }
    //alert(SlideNum);

    window.setTimeout("RefreshSlide();", RefreshDelay);
}

// Refresh the slidebar
function RefreshSlide()
{
	var tm = Math.round(new Date().getTime()/1000.0);
    /*
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
    {
      alert ("Your browser does not support AJAX!");
      return false;
    }
    var url = "/files/pres/SlideShowID_" + PresentationID + ".htm?uid=" + tm;
    xmlHttp.onreadystatechange=RefreshSlideReturn;
    xmlHttp.open("GET",url,true);
    xmlHttp.send(null);

    */
    //if(tm < EndTime)
        window.parent.databar.location.href = "/files/pres/SlideShowID_" + PresentationID + ".htm?uid=" + tm;
    //else
    //    document.all.CurSlide.innerHTML = "<a href=# onClick=\"window.parent.close();\"><img border=0 galleryimg=no width=800 height=600 src=/images/PresentationEnded.jpg></a>";

    return false;
}

// Update Time Left
function UpdateTimeLeft()
{
	var tm = Math.round(new Date().getTime()/1000.0);

    var TmLeft = EndTime - tm;

    var TmFont = "20B10A";

    // Set time font based on time left
    if(TmLeft < 60) TmFont = "D9CD3D";
    if(TmLeft < 30) TmFont = "B82424";

    var ShowTmLeft = " &nbsp;<font color=#" + TmFont + ">" + GetTimeString(TmLeft) + "</font>";

    //alert(EndTime + " -- " + tm);

    if(TmLeft > 0)
    {
        document.all.ShowTimeLeft.innerHTML = "<font face=arial>" + document.all.FontClr.value + "<span style=\"font-size: 18px\">Time Left: " + ShowTmLeft + "</span></font>";
        window.setTimeout("UpdateTimeLeft();", 1000);
    }
    else
        document.all.ShowTimeLeft.innerHTML = document.all.SelectedClr.value + "<span style=\"font-size: 18px\">Presentation Over.</span></font>";
}

// Convert seconds into days, hours, minutes, seconds
function GetTimeString(Tm)
{
    TmString = "";
    CurTm = Tm;
    var minutes, seconds;

    // First determine if it is days
    if(CurTm >= 86400)
    {
        TmString += parseInt(CurTm / 86400) + ":";
        CurTm -= (parseInt(CurTm / 86400) * 86400);
    }

    // Do we have hours?
    if(CurTm >= 3600)
    {
        if(TmString != "" && CurTm < 36000) TmString += "0";
        TmString += parseInt(CurTm / 3600) + ":";
        CurTm -= (parseInt(CurTm / 3600) * 3600);
    }
    else
        if(TmString != "") TmString += "00:";

    // Do we have minutes?
    if(CurTm >= 60)
    {
        if(TmString != "" && CurTm < 600) TmString += "0";
        TmString += parseInt(CurTm / 60) + ":";

        minutes = parseInt(CurTm / 60);
        if(minutes < 10) minutes = "0" + parseInt(CurTm / 60);

        CurTm -= (parseInt(CurTm / 60) * 60);
    }
    else
    {
        minutes = "00";
        if(TmString != "") TmString += "00:";
    }

    // Now add seconds to end
    seconds = CurTm;
    if(seconds < 10) seconds = "0" + CurTm;
    //if(TmString != "" && CurTm < 10) TmString += "0";
    //TmString += CurTm;

    //return TmString;
    TmString = minutes + ":" + seconds;

    //if(Tm < 60) alert(TmString);
    return TmString;
    //return TmString.replace(":", "");


}

/*
function RefreshSlideReturn()
{
	var tm = Math.round(new Date().getTime()/1000.0);

    // Wait until we get to ready state before processing
    if(xmlHttp.readyState != 4)
        window.setTimeout("RefreshSlideReturn();", 250);
    else
    {
        // Only refresh slideshow if it is still live
        if(tm < EndTime)
            ShowSlide(xmlHttp.responseText);
        else
            alert("Session Ended");
    }
    return false;
}
*/
