
var currentIssueID = 0;
var yearSelect;
var monthSelect;
var daySelect;
var issueSelect;

var months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'); 

function initialise()
{
  printVar = getElement('printVar');
  printVar.name = 'i';
  printVar.value = '<?= $issueID ?>';
  yearSelect = getElement('year');
  monthSelect = getElement('month');
  daySelect = getElement('day');
  issueSelect = getElement('issueID');
  countMsg = getElement('countMsg');
}

function updateIssues()
{
  var year = yearSelect.options[yearSelect.selectedIndex].value;
  var month = parseInt(monthSelect.options[monthSelect.selectedIndex].value);
  var day = parseInt(daySelect.options[daySelect.selectedIndex].value);
  var i, last, issue, issueYear, issueMonth, issueDay, display;
  
  if (year || month && day)
  {
    issueSelect.length = 0;
    last = issues.length;
    for (i = 0, j = 0; i < last; i++)
    {
      issue = issues[i];
      issueYear = issue.substring(0, 2);
      issueMonth = parseInt(issue.substring(2, 4), 10);
      issueDay = parseInt(issue.substring(4, 6), 10);
      if (!year || year == issueYear)
      {
        if (!month || month == issueMonth)
        {
          if (!day || month && day == issueDay)
          {
            display = '19' + issueYear + ' ' + months[issueMonth - 1] + ' ' + issueDay;
            issueSelect.options[j++] = new Option(display, issue);
          }
        }
      }
    }
    countMsg.innerHTML = (j == 0) ? '(<em>none</em>)' : '(<b>' + j + '</b>)';
  }
}

function show(issueID)
{
  var spotlight = getElement('spotlight');
  var printVar = getElement('printVar');
    
  if (!issueID || issueID == currentIssueID || !spotlight || !printVar) return;
  
  spotlight.src = '/childrens-newspaper/issue.php?issueID=' + issueID;
  printVar.value = issueID;
  currentIssueID = issueID;
}

function resetSearch()
{
  yearSelect.selectedIndex = 0;
  monthSelect.selectedIndex = 0;
  daySelect.selectedIndex = 0;
  issueSelect.length = 0;
  countMsg.innerHTML = '';
}


function switchPreview($fileName, $page)
{
  var previewThumb = getElement('previewThumb');
  previewThumb.src = '/childrens-newspaper/thumbnails/' + $fileName + '/' + $fileName + '-' + $page + '.gif';
  var previewLink = getElement('previewLink');
  previewLink.href = '/childrens-newspaper/' + $fileName + '-' + $page + '.pdf';
}

function adjustIFrameSize()
{
  var iframeElement = getElement('spotlight');
  var iframeWindow = parent.frames[0];
  var height = 0;

  if (iframeElement.contentDocument && iframeElement.contentDocument.height)
  {  
    //alert("1: " + iframeElement.contentDocument.height);
    height = iframeElement.contentDocument.height;
  }
  else if (iframeWindow.document.height)
  {
    //alert("2: " + iframeWindow.document.height);
    height = iframeWindow.document.height;
  }
  else if (document.all)
  {
    if (iframeWindow.document.compatMode && iframeWindow.document.compatMode != 'BackCompat')
    {
      //alert("3: documentElement: " + iframeWindow.document.documentElement.scrollHeight);
      height = iframeWindow.document.documentElement.scrollHeight;
    }
    else
    {
      //alert("4: " + iframeWindow.document.body.scrollHeight);
      height = iframeWindow.document.body.scrollHeight;
    }
  }

  if (height > 0)
  {
    if (navigator.userAgent.indexOf('Firefox') >= 0)
      height += 20;
    
    if (height < 480)
      height = 480;

    iframeElement.style.height = height + 'px';
  }

/*
  if (iframeElement.contentDocument)
  {
    var doc = iframeElement.contentDocument;
    if (!doc.height)
    {
      return;
    }    
    spotlight.height = doc.height + 20;
    resized = true;
  }
  else if (spotlight.document && spotlight.document.compatMode && spotlight.document.compatMode != 'BackCompat')
  {
    iframeWindow.height = document.frames(0).document.body.scrollHeight;
    resized = true;
  }
*/

  return;
}
