
// Media Player playstates
playstate = new Array("[---]","Stopped","Paused","Playing","FFwd","Rewind","Buffering","Waiting","Media Ended","Transitioning","Ready","Reconnecting","(unknown)");

// resolution settings
screenres = new Array();
screenres[0] = new Array("720x480",720,480,"player_components/display_720x480.jpg",812,560,48,31);
screenres[1] = new Array("640x480",640,480,"player_components/display_640x480.jpg",732,560,48,31);
screenres[2] = new Array("480x352",480,352,"player_components/display_480x352.jpg",544,414,33,26); // default
screenres[3] = new Array("320x240",320,240,"player_components/display_320x240.jpg",366,280,23,16);
screenres[4] = new Array("240x180",240,180,"player_components/display_240x180.jpg",275,210,18,12);
defres = 2;
residx = 0;     // current res idx


iptvch = new Array();
iptvchidx = 0;      // we start the array at 0
iptvchset = -1;     // none currently selected
showchannels = 0;   // 0 or 1
autores = 0;

res = screenres[defres][0]; // default
demo = "";
statto = 0;

/*
*/


// --- --- --- --- ---
// --- --- --- --- ---
// --- --- --- --- ---


function ShowStat() {
  if (!showchannels)
  {
    if (canvid.PlayState==6 || canvid.PlayState==9) {
      channel_display.style.display = "none";
      logo.style.display = "block";
      canvid.style.display = "none";
    }
    else {
      channel_display.style.display = "none";
      logo.style.display = "none";
      canvid.style.display = "block";
    }
  }
  window.status = "Media: "+playstate[canvid.PlayState];
  statto = setTimeout("ShowStat()",350); // update ~3 times per second
}


function SetCframe(res) {
  residx = -1;
  // set screenres index 
  for (i=0;i<screenres.length;i++) {
    if (res==screenres[i][0]) residx = i;
  }
  if (residx<0) {
    alert("Unsupported resolution ("+res+"), defaulting to "+screenres[defres][0]);
    residx = defres;
  }
  
  res = screenres[residx][0];
  //current_res.innerHTML = res;

  // set the dimensions of the channel selector
  channel_display.style.width = screenres[residx][1]+"px";
  channel_display.style.height = screenres[residx][2]+"px";
  
  // set the frame's image source and size and the video's offset within the frame
  cimg.src = screenres[residx][3];
  cframe.style.width = screenres[residx][4]+"px";     // set size of frame
  cframe.style.height = screenres[residx][5]+"px";
  cstage.style.left = screenres[residx][6]+"px";      // set position of stage within frame
  cstage.style.top = screenres[residx][7]+"px";
  
  // set the video dimensions 
  logo.width = screenres[residx][1];
  logo.height = screenres[residx][2];
  cstage.style.width = screenres[residx][1]+"px";     // set size of stage
  cstage.style.height = screenres[residx][2]+"px";
  SetSize(screenres[residx][1],screenres[residx][2]);
  
  if (showchannels) ShowChannels();
}
function ShowMovie(movieID) {
  if ( typeof("iptv") != "undefined" ) userID = "beta";
  else userID = "";
	if ( typeof(canvid) != "undefined" ) canvid.ShowMovie(movieID, userID, "");
}
function SetAddress(address) {
	if ( typeof(canvid) != "undefined" ) canvid.Address = address;
}
function SetFullscreen() {
	if ( typeof(canvid) != "undefined" ) canvid.SetFullscreen();
}
function Stop() {
	if ( typeof(canvid) != "undefined" ) canvid.Stop();
}
function Play() {
	if ( typeof(canvid) != "undefined" ) canvid.Play();
}
function Pause() {
	if ( typeof(canvid) != "undefined" ) canvid.Pause();
}
function FastReverse() {
	if ( typeof(canvid) != "undefined" ) canvid.FastReverse();
}
function FastForward() {
	if ( typeof(canvid) != "undefined" ) canvid.FastForward();
}
function Mute() {
	if ( typeof(canvid) != "undefined" ) canvid.Mute = !canvid.Mute;
}
function SetSize(x,y) {
	if ( typeof(canvid) != "undefined" ) canvid.width = x, canvid.height = y;
}
function AutoSize() {
  res = canvid.SourceImageWidth+"x"+canvid.SourceImageHeight;
  SetCframe(res);
}

function StartCanvid() {
  if ( typeof(canvid.Play) == "undefined" ) {
    screen_report.style.display = "block";
    cframe.style.display = "none";
  }
  else {
    screen_report.style.display = "none";
    cframe.style.display = "block";
    statto = setTimeout("ShowStat()",350); 
    SetCframe(res);
    ShowMovie(demo);
  }
}

