/*
  versie 1.5
*/

var _HILIGHTCOLOR = "#ffe7ce";
var _adt_id=34
var _syncTimer;
var _nextPageTimer;

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

function loadFragment(id, link, skip)
{
  // paginaskiptimers uitzetten
  clearTimeout(_nextPageTimer);
  _nextPageTimer = null;

  if (!skip)
  {
    skip = "";

    linkElements = getElementsByClassName(document, "a", "thumbLink");
    for (x=0; x<linkElements.length; x++)
    {
      linkElements[x].style.fontWeight = 'normal';
      linkElements[x].style.border = '1px solid #eee';
      linkElements[x].style.backgroundColor = '#fff';
      linkElements[x].sel = "";
    }

    link.style.fontWeight = 'bold'; 
    link.style.border = '1px solid #000';
    link.style.backgroundColor = _HILIGHTCOLOR;
    link.sel = 1;

    clearTimeout(_syncTimer);  // stop synctimer
  }
  else
  {
    // start de volgtimer opnieuw bij bekijken hele film vanaf fragment

    linkElements = getElementsByClassName(document, "a", "thumbLink");
    for (x=0; x<linkElements.length; x++)
    {
      if (linkElements[x].sel)
      {
        initSyncFragment(linkElements[x].id);
        break;
      }
    }    

  }

//  document.getElementById('filmContainer').innerHTML = '';
  Xget('zk2.pr_film?p_id=' + id + '&p_skip_eind=' + skip, 'filmContainer');
  Xget('zk2.pr_film_fragmentinfo?p_id=' + id, 'fragmentDesc');
}

function startFilm(id, link)
{
  loadFragment(id, link);
  initSyncFragment('00:00:00');
}

function hilightFragment(id)
{
  l = document.getElementById('link' + id);
  l.style.backgroundColor = _HILIGHTCOLOR;
}

function toMs(timestamp)
{
  var r = 0;
  timestamp = timestamp.split(":");
  r = parseInt(timestamp[0], 10)*3600 + parseInt(timestamp[1], 10)*60 + parseInt(timestamp[2], 10);
  return r * 600;
}

function hilightFragmentById(id)
{
  l = document.getElementById(id);

  linkElements = getElementsByClassName(document, "a", "thumbLink");
  for (x=0; x<linkElements.length; x++)
  {
    linkElements[x].style.fontWeight = 'normal';
    linkElements[x].style.border = '1px solid #eee';
    linkElements[x].style.backgroundColor = '#fff';
    linkElements[x].sel = "";
  }

  l.style.fontWeight = 'bold';
  l.style.border = '1px solid #000';
  l.style.backgroundColor = _HILIGHTCOLOR;
  l.sel = 1;
}

function getFragmentIdByTimestamp(t)
{
 t = document.getElementById(t);
 return t.childNodes[0].id;
}

function initSyncFragment(startTime)
{
  if (!startTime) startTime = "00:00:00"; 
  startTime = toMs(startTime);
  clearTimeout(_syncTimer);
  _syncTimer = window.setInterval("syncFragment("+(startTime)+")", 1000);
}

function syncFragment(startTime)
{
//  debug = document.getElementById('debug');

  playerTime = document.QTPlayer.GetTime() + startTime;  // corrigeren voor spelen vanaf fragment
  linkElements = getElementsByClassName(document, "a", "thumbLink");
  firstFragmentTime = toMs(linkElements[0].id);
  lastFragmentTime = toMs(linkElements[linkElements.length - 1].id);

  lastFragmentEnd = toMs(document.getElementById('eindcode').innerHTML);

// player bij laatste thumb?
  if (playerTime >= lastFragmentTime && playerTime <= lastFragmentEnd) // (ff blijven hangen)
  {
    Xget('zk2.pr_film_fragmentinfo?p_id=' + getFragmentIdByTimestamp(linkElements[linkElements.length - 1].id), 'fragmentDesc');
    hilightFragmentById (linkElements[linkElements.length - 1].id);
    initNextPage(); // trigger volgende pagina
  }
  else
  {
    for (x=0; x<linkElements.length; x++)
    {
      if (linkElements[x].id)
      {
        fragmentTime = toMs(linkElements[x].id);
        if (linkElements[x+1])
        {
          nextFragmentTime = toMs(linkElements[x+1].id);
          if (playerTime >= firstFragmentTime && playerTime >= fragmentTime && playerTime <= nextFragmentTime)
          {
// toon fragmentinfo en hilight fragment
            Xget('zk2.pr_film_fragmentinfo?p_id=' + getFragmentIdByTimestamp(linkElements[x].id), 'fragmentDesc');
            hilightFragmentById (linkElements[x].id);
            break;
          }
        }
      }
    }
  }
}

function initNextPage()
{
  clearTimeout(_nextPageTimer);
  _nextPageTimer = null;
  _nextPageTimer = window.setTimeout("nextPageEvent()", 2000);
}

function nextPageEvent()
{
  clearTimeout(_nextPageTimer);
  _nextPageTimer = null;
  pageLinks = getElementsByClassName(document, 'a', 'b');
  pageLinks[pageLinks.length-1].onclick();
}

function pageStart(p_id)
{
  Xget('zk2.pr_filmthumbs?p_vast=' + _adt_id + '&p_id=' + p_id,'fragmenten');
  initSyncFragment();
}

function fullScreen()
{
  w = screen.width - 100;
  h = screen.height - 100;

  document.QTPlayer.Stop();
  myWindow = window.open("", "QTPlayer", 'toolbar=no,width=800,height=600')
  myWindow.document.write('<html><body style="margin:0px"><center>');
  myWindow.document.write('<object id="QTPlayerFS" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="' + h + '" width="' + w + '">');
  myWindow.document.write('<param name="SRC" value="zk2.bouw_mov?p_vast=0&p_id=7990914&p_path=av.archieven.nl/5/films/2209/AV0155.mp4&p_adt_id=5&p_start=00:08:47:00&p_eind=00:08:55:00">');
  myWindow.document.write('<param name="AUTOHREF" value="FALSE">');
  myWindow.document.write('<param name="AUTOPLAY" value="TRUE">');
  myWindow.document.write('<param name="CONTROLLER" value="TRUE">');
  myWindow.document.write('<param name="HREF" value="">');
  myWindow.document.write('<param name="LOOP" value="FALSE">');
  myWindow.document.write('<param name="SCALE" value="ASPECT">');
  myWindow.document.write('<param name="TYPE" value="video/quicktime">');
  myWindow.document.write('<embed name="QTPlayer" src="zk2.bouw_mov?p_vast=0&p_id=7990914&p_path=av.archieven.nl/5/films/2209/AV0155.mp4&amp;p_adt_id=5&p_start=00:08:47:00&p_eind=00:08:55:00" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/" target="myself" autohref="FALSE" autoplay="TRUE" controller="TRUE" href="" loop="FALSE" scale="ASPECT" height="' + h + '" width="' + w + '">');
  myWindow.document.write('</object>');
  myWindow.document.write('</center></body></html>');
  myWindow.moveTo(0,0);
  myWindow.resizeTo(screen.width,screen.height);
} 
