var mSaveA;     
var mSaveTN = null;
var mSaveTNWidth = 0;
var mSaveTNHeight = 0;
var mSaveTNBorder = '';

function getPrevSibling(elm) {
  var sibling = elm.previousSibling;
  if (sibling==null) return null;
  
  while (sibling != null && sibling.nodeType != 1)
    sibling = sibling.previousSibling;

  return sibling;
}

function getNextSibling(elm) {
  var sibling = elm.nextSibling;
  if (sibling==null) return null;
  
  while (sibling != null && sibling.nodeType != 1)
    sibling = sibling.nextSibling;

  return sibling;
}

function showPrev() {
  var divElm = mSaveA.parentNode;
  var divSibling = getPrevSibling(divElm);

  if (!divSibling) { // No more siblings 
    var tnDivElm = divElm.parentNode;
    var prevTNDiv = getPrevSibling(tnDivElm);
    
    if (!prevTNDiv) {
      var divCol = tnDivElm.parentNode.childNodes;
      var i = divCol.length - 1;
      while (i>=0 && divCol[i].nodeType != 1) i--;
      prevTNDiv = divCol[i];
    }

    showDiv(prevTNDiv.getAttribute('id'),false);
    return;
  }
  showPic(divSibling.getElementsByTagName('a')[0]);
}

function showNext() {
  var divElm = mSaveA.parentNode;
  var divSibling = getNextSibling(divElm);
  
  if (!divSibling) { // No more siblings
    var tnDivElm = divElm.parentNode;
    var nextTNDiv = getNextSibling(tnDivElm);
    
    if (!nextTNDiv)
      nextTNDiv = tnDivElm.parentNode.getElementsByTagName('div')[0];

    showDiv(nextTNDiv.getAttribute('id'),true);
    return;
  }
  showPic(divSibling.getElementsByTagName('a')[0]);
}

function showPic(tnAnchor) {
  var tnImgElm = tnAnchor.getElementsByTagName('img')[0];

  if (mSaveTN != null) {
    mSaveTN.style.width = mSaveTNWidth + 'px';
    mSaveTN.style.height = mSaveTNHeight + 'px';
    mSaveTN.style.border = mSaveTNBorder;
    mSaveTN.style.margin = '0px 0px 0px 0px';
  }
  mSaveTN = tnImgElm;       
  mSaveA = tnAnchor;

  mSaveTNWidth = tnImgElm.scrollWidth;
  mSaveTNHeight = tnImgElm.scrollHeight;
  
  mSaveTNBorder = tnImgElm.style.border;

  tnImgElm.style.margin = '2px';
  tnImgElm.style.borderWidth = '2px';
  tnImgElm.style.width = (mSaveTNWidth - 8) + 'px';

  if ((navigator.appName.indexOf('Microsoft')+1)) {
    tnImgElm.style.height = (mSaveTNHeight - 8) + 'px';
  }
  else if ((navigator.appName.indexOf('Netscape')+1)) {
    tnImgElm.style.height = (mSaveTNHeight - 8) + 'px';
    tnImgElm.style.marginTop = '2px';
  }
	else {
    tnImgElm.style.height = (mSaveTNHeight - 6) + 'px';
    tnImgElm.style.marginTop = '2px';
    tnImgElm.style.marginBottom = '0px';
	}
  tnImgElm.style.borderTopColor = 'black';
  tnImgElm.style.borderLeftColor = 'black';
  tnImgElm.style.borderBottomColor = 'white';
  tnImgElm.style.borderRightColor = 'white';
  tnImgElm.style.borderStyle = 'solid';
  
  var cell = document.getElementById('ImgDescr');
  
  if (cell.hasChildNodes()) 
    cell.removeChild(cell.childNodes[0]);
    
  var altText = tnImgElm.getAttribute('alt');

  cell.appendChild(document.createTextNode(altText));

  var oMainImg = document.getElementById('mainImg');

  oMainImg.src = tnAnchor.getAttribute('href');
  oMainImg.setAttribute('alt', altText);
  oMainImg.setAttribute('title', altText);

  return false;
}

function boldLink(spanId, on) {
  var weight;
  if (on==true) {weight='bold';} else {weight='normal';}
  
  var catLink = document.getElementById(spanId);
  
  if (catLink) {
    catLink.style.fontWeight = weight;

    var cell = document.getElementById('CatDescr');

    if (cell) { 
      if (cell.hasChildNodes()) 
        cell.removeChild(cell.childNodes[0]);
      
      cell.appendChild(document.createTextNode(catLink.innerHTML));
    }
  }
}
function changeRadio(radioId, checked) {
  var oRadio = document.getElementById(radioId);
  oRadio.checked = checked;
}      

function showDiv(divId, showFirstPic) {
  var tnDivSiblings = document.getElementById(divId).parentNode.childNodes;

  for (var i=0; i<tnDivSiblings.length; i++) {
    var tnDivSibling = tnDivSiblings[i];
    
    if (tnDivSibling.nodeType == 1) {
      var tnDivSiblingId = tnDivSibling.getAttribute('id');
      
      if (tnDivSiblingId != divId) {
        document.getElementById(tnDivSiblingId).style.display = 'none';
        boldLink('A' + tnDivSiblingId, false);
//        changeRadio('R' + tnDivSiblingId, false); // Not necessary
      }
    }
  }
  document.getElementById(divId).style.display = 'block';
  boldLink('A' + divId, true);
  changeRadio('R' + divId, true);
  
  var divElm = document.getElementById(divId);
  var divChldCol = divElm.childNodes;
  var divChld;

  if (showFirstPic)
    divChld = divElm.getElementsByTagName('div')[0];
  else {
    var i = divChldCol.length - 1;
    while (i>=0 && divChldCol[i].nodeType != 1) i--;
    divChld = divChldCol[i];
  }
  showPic(divChld.getElementsByTagName('a')[0]);
}
