﻿
// general helper functions
function getElementFromID(id) {
  var el = (document.getElementById)? document.getElementById(id): (document.all)? document.all[id]: (document.layers)? document.layers[id]: null;
  if (el) el.css = (el.style)? el.style: el;
  return el;
}


// Featured Articles //
var FA_itemsPerPage = 3;
var FA_currentItem = 1;
var FA_totalItems = 0;
var FA_currentPage = 1;
var FA_totalPages = 1;
function FA_init(){
  // calculate the total items and pages
  var idx = 0;
  var elX = 1;
  while (elX) {
    elX = getElementFromID('FA_Item_' + (++idx));
    FA_unhighlightItem(idx);
  }
  FA_totalItems = idx - 1;
  FA_totalPages = Math.ceil(FA_totalItems / FA_itemsPerPage);
  // hide inactive page controls
  if (FA_totalPages > 1) {
    for (var idx = 2; idx <= FA_totalPages; ++idx){
      FA_hidePage(idx);
    }
  }
  // hide inactive articles
  if (FA_totalItems > 1) {
    for (var idx = 2; idx <= FA_totalItems; ++idx){
      FA_hideItem(idx);
    }
  }
  FA_setPage(1);
  FA_setItem(1);
}
function FA_back(){
  if (FA_currentPage > 1) {
    return FA_setPage(FA_currentPage-1);
  }
  else return true;
}
function FA_forward(){
  if (FA_currentPage < FA_totalPages) {
    return FA_setPage(FA_currentPage+1);
  }
  else return true;
}
function FA_setPage(page){
  // hide current page
  FA_hidePage(FA_currentPage);
  // show requested page
  FA_showPage(page);
  // set current page to requested page
  FA_currentPage = page;
  // show first item
  FA_setItem(1 + ((page - 1) * FA_itemsPerPage));
  return true;
}
function FA_setItem(item){
  // hide current page
  FA_hideItem(FA_currentItem);
  // show requested page
  FA_showItem(item);
  // set current page to requested page
  FA_currentItem = item;
  return true;
}
function FA_showPage(page){
  var X = getElementFromID('FA_Page_' + page);
  if (X && X.css) {
    X.css.display = 'block';
    X.css.visibility = 'visible';
  }
  FA_highlightItem(1 + ((page - 1) * FA_itemsPerPage));
  return true;
}
function FA_hidePage(page){
  var X = getElementFromID('FA_Page_' + page);
  if (X && X.css) {
    X.css.display = 'none';
    X.css.visibility = 'hidden';
  }
  FA_unhighlightItem(1 + ((page - 1) * FA_itemsPerPage));
  return true;
}
function FA_showItem(item){
  var X = getElementFromID('FA_' + item);
  if (X && X.css) {
    X.css.display = 'block';
    X.css.visibility = 'visible';
  }
  FA_highlightItem(item);
  return true;
}
function FA_hideItem(item){
  var X = getElementFromID('FA_' + item);
  if (X && X.css) {
    X.css.display = 'none';
    X.css.visibility = 'hidden';
  }
  FA_unhighlightItem(item);
  return true;
}
function FA_highlightItem(item) {
  var X = getElementFromID('FA_Item_' + item);
  if (X && X.setAttribute) {
    X.setAttribute('className', 'selected');
    X.setAttribute('class', 'selected');
  }
  return true;
}
function FA_unhighlightItem(item) {
  var X = getElementFromID('FA_Item_' + item);
  if (X && X.setAttribute) {
    X.setAttribute('className', '');
    X.setAttribute('class', '');
  }
  return true;
}
